diff --git a/.generation/config.ini b/.generation/config.ini index 403c5154..a431796a 100644 --- a/.generation/config.ini +++ b/.generation/config.ini @@ -1,17 +1,12 @@ [input] -backendCommit = 6d70b3157a7ab5f8d53037260f9b918ee47d9bf2 +backendCommit = dccacebf2d2ef63a976cd133d6b3ea4852acd1dc [general] -version = 0.0.32 +version = 0.0.33 +homepageUrl = https://www.geoengine.io [git] host = github.com user = geo-engine repo = openapi-client -[python] -name = geoengine_openapi_client - -[typescript] -name = @geoengine/openapi-client - diff --git a/.generation/config/python.yaml b/.generation/config/python.yaml deleted file mode 100644 index 65f6df4e..00000000 --- a/.generation/config/python.yaml +++ /dev/null @@ -1,13 +0,0 @@ -inputSpec: .generation/input/openapi.json -outputDir: python -generatorName: python -gitHost: github.com -gitUserId: geo-engine -gitRepoId: openapi-client -additionalProperties: - useOneOfDiscriminatorLookup: true - packageName: "geoengine_openapi_client" - packageVersion: 0.0.32 - packageUrl: "https://github.com/geo-engine/openapi-client" -openapiNormalizer: - REF_AS_PARENT_IN_ALLOF: true \ No newline at end of file diff --git a/.generation/config/typescript.yaml b/.generation/config/typescript.yaml deleted file mode 100644 index cba9dd7b..00000000 --- a/.generation/config/typescript.yaml +++ /dev/null @@ -1,12 +0,0 @@ -inputSpec: .generation/input/openapi.json -outputDir: typescript -generatorName: typescript-fetch -gitHost: github.com -gitUserId: geo-engine -gitRepoId: openapi-client -additionalProperties: - supportsES6: true - npmName: "@geoengine/openapi-client" - npmVersion: 0.0.32 -openapiNormalizer: - REF_AS_PARENT_IN_ALLOF: true \ No newline at end of file diff --git a/.generation/input/openapi.json b/.generation/input/openapi.json index 110c5281..152bb735 100644 --- a/.generation/input/openapi.json +++ b/.generation/input/openapi.json @@ -5256,37 +5256,6 @@ } } }, - "AddDatasetTile": { - "type": "object", - "required": [ - "time", - "spatial_partition", - "band", - "z_index", - "params" - ], - "properties": { - "band": { - "type": "integer", - "format": "int32", - "minimum": 0 - }, - "params": { - "$ref": "#/components/schemas/GdalDatasetParameters" - }, - "spatial_partition": { - "$ref": "#/components/schemas/SpatialPartition2D" - }, - "time": { - "$ref": "#/components/schemas/TimeInterval" - }, - "z_index": { - "type": "integer", - "format": "int32", - "minimum": 0 - } - } - }, "AddLayer": { "type": "object", "required": [ @@ -5506,13 +5475,6 @@ "eastNorth" ] }, - "BandSelection": { - "type": "array", - "items": { - "type": "integer", - "minimum": 0 - } - }, "BoundingBox2D": { "type": "object", "description": "A bounding box that includes all border points.\nNote: may degenerate to a point!", @@ -5641,6 +5603,69 @@ } } }, + "ColumnNames": { + "oneOf": [ + { + "type": "object", + "title": "Default", + "required": [ + "type" + ], + "properties": { + "type": { + "type": "string", + "enum": [ + "default" + ] + } + } + }, + { + "type": "object", + "title": "Suffix", + "required": [ + "values", + "type" + ], + "properties": { + "type": { + "type": "string", + "enum": [ + "suffix" + ] + }, + "values": { + "type": "array", + "items": { + "type": "string" + } + } + } + }, + { + "type": "object", + "title": "Names", + "required": [ + "values", + "type" + ], + "properties": { + "type": { + "type": "string", + "enum": [ + "names" + ] + }, + "values": { + "type": "array", + "items": { + "type": "string" + } + } + } + } + ] + }, "ComputationQuota": { "type": "object", "required": [ @@ -5843,6 +5868,9 @@ "auto" ] }, + "Data": { + "default": null + }, "DataId": { "oneOf": [ { @@ -6233,9 +6261,6 @@ "DateTimeParseFormat": { "type": "string" }, - "DateTimeString": { - "type": "string" - }, "DerivedColor": { "type": "object", "required": [ @@ -6436,6 +6461,87 @@ } } }, + "Expression": { + "type": "object", + "title": "Raster Expression", + "description": "The `Expression` operator performs a pixel-wise mathematical expression on one or more bands of a raster source.\nThe expression is specified as a user-defined script in a very simple language.\nThe output is a raster time series with the result of the expression and with time intervals that are the same as for the inputs.\nUsers can specify an output data type.\nInternally, the expression is evaluated using floating-point numbers.\n\nAn example usage scenario is to calculate NDVI for a red and a near-infrared raster channel.\nThe expression uses a raster source with two bands, referred to as A and B, and calculates the formula `(A - B) / (A + B)`.\nWhen the temporal resolution is months, our output NDVI will also be a monthly time series.\n\n## Types\n\nThe following describes the types used in the parameters.\n\n### Expression\n\nExpressions are simple scripts to perform pixel-wise computations.\nOne can refer to the raster inputs as `A` for the first raster band, `B` for the second, and so on.\nFurthermore, expressions can check with `A IS NODATA`, `B IS NODATA`, etc. for NO DATA values.\nThis is important if `mapNoData` is set to true.\nOtherwise, NO DATA values are mapped automatically to the output NO DATA value.\nFinally, the value `NODATA` can be used to output NO DATA.\n\nUsers can think of this implicit function signature for, e.g., two inputs:\n\n```Rust\nfn (A: f64, B: f64) -> f64\n```\n\nAs a start, expressions contain algebraic operations and mathematical functions.\n\n```Rust\n(A + B) / 2\n```\n\nIn addition, branches can be used to check for conditions.\n\n```Rust\nif A IS NODATA {\n B\n} else {\n A\n}\n```\n\nFunction calls can be used to access utility functions.\n\n```Rust\nmax(A, 0)\n```\n\nCurrently, the following functions are available:\n\n- `abs(a)`: absolute value\n- `min(a, b)`, `min(a, b, c)`: minimum value\n- `max(a, b)`, `max(a, b, c)`: maximum value\n- `sqrt(a)`: square root\n- `ln(a)`: natural logarithm\n- `log10(a)`: base 10 logarithm\n- `cos(a)`, `sin(a)`, `tan(a)`, `acos(a)`, `asin(a)`, `atan(a)`: trigonometric functions\n- `pi()`, `e()`: mathematical constants\n- `round(a)`, `ceil(a)`, `floor(a)`: rounding functions\n- `mod(a, b)`: division remainder\n- `to_degrees(a)`, `to_radians(a)`: conversion to degrees or radians\n\nTo generate more complex expressions, it is possible to have variable assignments.\n\n```Rust\nlet mean = (A + B) / 2;\nlet coefficient = 0.357;\nmean * coefficient\n```\n\nNote, that all assignments are separated by semicolons.\nHowever, the last expression must be without a semicolon.", + "required": [ + "type", + "params", + "sources" + ], + "properties": { + "params": { + "$ref": "#/components/schemas/ExpressionParameters" + }, + "sources": { + "$ref": "#/components/schemas/SingleRasterSource" + }, + "type": { + "type": "string", + "enum": [ + "Expression" + ] + } + }, + "examples": [ + { + "type": "Expression", + "params": { + "expression": "(A - B) / (A + B)", + "outputType": "F32", + "outputBand": { + "name": "NDVI", + "measurement": { + "type": "unitless" + } + }, + "mapNoData": true + }, + "sources": { + "raster": { + "type": "GdalSource", + "params": { + "data": "ndvi" + } + } + } + } + ] + }, + "ExpressionParameters": { + "type": "object", + "description": "## Types\n\nThe following describes the types used in the parameters.", + "required": [ + "expression", + "outputType", + "mapNoData" + ], + "properties": { + "expression": { + "type": "string", + "description": "Expression script\n\nExample: `\"(A - B) / (A + B)\"`", + "examples": [ + "(A - B) / (A + B)" + ] + }, + "mapNoData": { + "type": "boolean", + "description": "Should NO DATA values be mapped with the `expression`? Otherwise, they are mapped automatically to NO DATA.", + "examples": [ + true + ] + }, + "outputBand": { + "$ref": "#/components/schemas/RasterBandDescriptor", + "description": "Description about the output" + }, + "outputType": { + "$ref": "#/components/schemas/RasterDataType", + "description": "A raster data type for the output" + } + } + }, "ExternalDataId": { "type": "object", "required": [ @@ -6458,6 +6564,13 @@ } } }, + "FeatureAggregationMethod": { + "type": "string", + "enum": [ + "first", + "mean" + ] + }, "FeatureDataType": { "type": "string", "enum": [ @@ -6829,6 +6942,63 @@ } } }, + "GdalSource": { + "type": "object", + "title": "GDAL Source", + "description": "The [`GdalSource`] is a source operator that reads raster data using GDAL.\nThe counterpart for vector data is the [`OgrSource`].\n\n## Errors\n\nIf the given dataset does not exist or is not readable, an error is thrown.\n", + "required": [ + "type", + "params" + ], + "properties": { + "params": { + "$ref": "#/components/schemas/GdalSourceParameters" + }, + "type": { + "type": "string", + "enum": [ + "GdalSource" + ] + } + }, + "examples": [ + { + "type": "GdalSource", + "params": { + "data": "ndvi", + "overviewLevel": null + } + } + ] + }, + "GdalSourceParameters": { + "type": "object", + "description": "Parameters for the [`GdalSource`] operator.", + "required": [ + "data" + ], + "properties": { + "data": { + "type": "string", + "description": "Dataset name or identifier to be loaded.", + "examples": [ + "ndvi" + ] + }, + "overviewLevel": { + "type": [ + "integer", + "null" + ], + "format": "int32", + "description": "*Optional*: overview level to use.\n\nIf not provided, the data source will determine the resolution, i.e., uses its native resolution.", + "examples": [ + 3 + ], + "minimum": 0 + } + } + }, "GdalSourceTimePlaceholder": { "type": "object", "required": [ @@ -7010,71 +7180,236 @@ } } }, - "InternalDataId": { + "Histogram": { "type": "object", + "title": "Histogram", + "description": "The `Histogram` is a _plot operator_ that computes a histogram plot either over attributes of a vector dataset or values of a raster source.\nThe output is a plot in [Vega-Lite](https://vega.github.io/vega-lite/) specification.\n\nFor instance, you want to plot the data distribution of numeric attributes of a feature collection.\nThen you can use a histogram with a suitable number of buckets to visualize and assess this.\n\n## Errors\n\nThe operator returns an error if the selected column (`columnName`) does not exist or is not numeric.\n\n## Notes\n\nIf `bounds` or `buckets` are not defined, the operator will determine these values by itself which requires processing the data twice.\n\nIf the `buckets` parameter is set to `squareRootChoiceRule`, the operator estimates it using the square root of the number of elements in the data.\n", "required": [ "type", - "datasetId" + "params", + "sources" ], "properties": { - "datasetId": { - "$ref": "#/components/schemas/DatasetId" + "params": { + "$ref": "#/components/schemas/HistogramParameters" + }, + "sources": { + "$ref": "#/components/schemas/SingleRasterOrVectorSource" }, "type": { "type": "string", "enum": [ - "internal" + "Histogram" ] } - } + }, + "examples": [ + { + "type": "Histogram", + "params": { + "columnName": "foobar", + "bounds": { + "min": 5.0, + "max": 10.0 + }, + "buckets": { + "type": "number", + "value": 15 + }, + "interactive": false + }, + "sources": { + "vector": { + "type": "OgrSource", + "params": { + "data": "ndvi" + } + } + } + } + ] }, - "Layer": { - "type": "object", - "required": [ - "id", - "name", - "description", - "workflow" - ], - "properties": { - "description": { - "type": "string" - }, - "id": { - "$ref": "#/components/schemas/ProviderLayerId" - }, - "metadata": { + "HistogramBounds": { + "oneOf": [ + { "type": "object", - "description": "metadata used for loading the data", - "additionalProperties": { - "type": "string" - }, - "propertyNames": { - "type": "string" + "required": [ + "data" + ], + "properties": { + "data": { + "$ref": "#/components/schemas/Data" + } } }, - "name": { - "type": "string" - }, - "properties": { - "type": "array", - "items": { - "$ref": "#/components/schemas/Property" - }, - "description": "properties, for instance, to be rendered in the UI" - }, - "symbology": { - "oneOf": [ - { - "type": "null" - }, - { - "$ref": "#/components/schemas/Symbology" + { + "type": "object", + "required": [ + "values" + ], + "properties": { + "values": { + "type": "object", + "required": [ + "min", + "max" + ], + "properties": { + "max": { + "type": "number", + "format": "double" + }, + "min": { + "type": "number", + "format": "double" + } + } } - ] - }, - "workflow": { - "$ref": "#/components/schemas/Workflow" + } + } + ] + }, + "HistogramBuckets": { + "oneOf": [ + { + "type": "object", + "required": [ + "value", + "type" + ], + "properties": { + "type": { + "type": "string", + "enum": [ + "number" + ] + }, + "value": { + "type": "integer", + "format": "int32", + "minimum": 0 + } + } + }, + { + "type": "object", + "required": [ + "type" + ], + "properties": { + "maxNumberOfBuckets": { + "type": "integer", + "format": "int32", + "minimum": 0 + }, + "type": { + "type": "string", + "enum": [ + "squareRootChoiceRule" + ] + } + } + } + ] + }, + "HistogramParameters": { + "type": "object", + "description": "The parameter spec for `Histogram`", + "required": [ + "attributeName", + "bounds", + "buckets" + ], + "properties": { + "attributeName": { + "type": "string", + "description": "Name of the (numeric) vector attribute or raster band to compute the histogram on.", + "examples": [ + "temperature" + ] + }, + "bounds": { + "$ref": "#/components/schemas/HistogramBounds", + "description": "If `data`, it computes the bounds of the underlying data. If `values`, one can specify custom bounds." + }, + "buckets": { + "$ref": "#/components/schemas/HistogramBuckets", + "description": "The number of buckets. The value can be specified or calculated." + }, + "interactive": { + "type": "boolean", + "description": "Flag, if the histogram should have user interactions for a range selection. It is `false` by default.", + "examples": [ + true + ] + } + } + }, + "InternalDataId": { + "type": "object", + "required": [ + "type", + "datasetId" + ], + "properties": { + "datasetId": { + "$ref": "#/components/schemas/DatasetId" + }, + "type": { + "type": "string", + "enum": [ + "internal" + ] + } + } + }, + "Layer": { + "type": "object", + "required": [ + "id", + "name", + "description", + "workflow" + ], + "properties": { + "description": { + "type": "string" + }, + "id": { + "$ref": "#/components/schemas/ProviderLayerId" + }, + "metadata": { + "type": "object", + "description": "metadata used for loading the data", + "additionalProperties": { + "type": "string" + }, + "propertyNames": { + "type": "string" + } + }, + "name": { + "type": "string" + }, + "properties": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Property" + }, + "description": "properties, for instance, to be rendered in the UI" + }, + "symbology": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/Symbology" + } + ] + }, + "workflow": { + "$ref": "#/components/schemas/Workflow" } } }, @@ -7260,6 +7595,58 @@ } } }, + "LegacyTypedOperator": { + "type": "object", + "description": "An enum to differentiate between `Operator` variants", + "required": [ + "type", + "operator" + ], + "properties": { + "operator": { + "type": "object", + "required": [ + "type" + ], + "properties": { + "params": { + "type": "object" + }, + "sources": { + "type": "object" + }, + "type": { + "type": "string" + } + } + }, + "type": { + "type": "string", + "enum": [ + "Vector", + "Raster", + "Plot" + ] + } + }, + "examples": [ + { + "type": "MockPointSource", + "params": { + "points": [ + { + "x": 0.0, + "y": 0.1 + }, + { + "x": 1.0, + "y": 1.1 + } + ] + } + } + ] + }, "LineSymbology": { "type": "object", "required": [ @@ -7466,10 +7853,6 @@ } } }, - "MlModelId": { - "type": "string", - "format": "uuid" - }, "MlModelInputNoDataHandling": { "type": "object", "required": [ @@ -7645,6 +8028,67 @@ } } }, + "MockPointSource": { + "type": "object", + "title": "Mock Point Source", + "description": "The [`MockPointSource`] is a source operator that provides mock vector point data for testing and development purposes.\n", + "required": [ + "type", + "params" + ], + "properties": { + "params": { + "$ref": "#/components/schemas/MockPointSourceParameters" + }, + "type": { + "type": "string", + "enum": [ + "MockPointSource" + ] + } + }, + "examples": [ + { + "type": "MockPointSource", + "params": { + "points": [ + { + "x": 1.0, + "y": 2.0 + }, + { + "x": 3.0, + "y": 4.0 + } + ], + "spatialBounds": { + "type": "derive" + } + } + } + ] + }, + "MockPointSourceParameters": { + "type": "object", + "description": "Parameters for the [`MockPointSource`] operator.", + "required": [ + "points", + "spatialBounds" + ], + "properties": { + "points": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Coordinate2D" + }, + "description": "Points to be output by the mock point source.\n" + }, + "spatialBounds": { + "$ref": "#/components/schemas/SpatialBoundsDerive", + "description": "Defines how the spatial bounds of the source are derived.\n\nDefaults to `None`." + } + } + }, "MultiBandRasterColorizer": { "type": "object", "required": [ @@ -7786,8 +8230,31 @@ } } }, - "NamedData": { - "type": "string" + "MultipleRasterOrSingleVectorOperator": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/components/schemas/RasterOperator" + } + }, + { + "$ref": "#/components/schemas/VectorOperator" + } + ], + "description": "It is either a set of `RasterOperator` or a single `VectorOperator`" + }, + "MultipleRasterOrSingleVectorSource": { + "type": "object", + "description": "Either one or more raster operators or a single vector operator as source for this operator.", + "required": [ + "source" + ], + "properties": { + "source": { + "$ref": "#/components/schemas/MultipleRasterOrSingleVectorOperator" + } + } }, "NetCdfCfDataProviderDefinition": { "type": "object", @@ -8397,25 +8864,6 @@ "Owner" ] }, - "PermissionListOptions": { - "type": "object", - "required": [ - "limit", - "offset" - ], - "properties": { - "limit": { - "type": "integer", - "format": "int32", - "minimum": 0 - }, - "offset": { - "type": "integer", - "format": "int32", - "minimum": 0 - } - } - }, "PermissionListing": { "type": "object", "required": [ @@ -8470,6 +8918,24 @@ } } }, + "PlotOperator": { + "oneOf": [ + { + "$ref": "#/components/schemas/Histogram" + }, + { + "$ref": "#/components/schemas/Statistics" + } + ], + "description": "An operator that produces plot data.", + "discriminator": { + "propertyName": "type", + "mapping": { + "Histogram": "#/components/schemas/Histogram", + "Statistics": "#/components/schemas/Statistics" + } + } + }, "PlotOutputFormat": { "type": "string", "enum": [ @@ -8782,26 +9248,6 @@ } } }, - "ProvenanceOutput": { - "type": "object", - "required": [ - "data" - ], - "properties": { - "data": { - "$ref": "#/components/schemas/DataId" - }, - "provenance": { - "type": [ - "array", - "null" - ], - "items": { - "$ref": "#/components/schemas/Provenance" - } - } - } - }, "Provenances": { "type": "object", "required": [ @@ -8989,19 +9435,21 @@ } } }, - "RasterDatasetFromWorkflowResult": { - "type": "object", - "description": "response of the dataset from workflow handler", - "required": [ - "dataset", - "upload" - ], - "properties": { - "dataset": { - "$ref": "#/components/schemas/DatasetName" + "RasterOperator": { + "oneOf": [ + { + "$ref": "#/components/schemas/Expression" }, - "upload": { - "$ref": "#/components/schemas/UploadId" + { + "$ref": "#/components/schemas/GdalSource" + } + ], + "description": "An operator that produces raster data.", + "discriminator": { + "propertyName": "type", + "mapping": { + "Expression": "#/components/schemas/Expression", + "GdalSource": "#/components/schemas/GdalSource" } } }, @@ -9103,6 +9551,95 @@ } } }, + "RasterVectorJoin": { + "type": "object", + "title": "Raster Vector Join", + "description": "The `RasterVectorJoin` operator allows combining a single vector input and multiple raster inputs.\nFor each raster input, a new column is added to the collection from the vector input.\nThe new column contains the value of the raster at the location of the vector feature.\nFor features covering multiple pixels like `MultiPoints` or `MultiPolygons`, the value is calculated using an aggregation function selected by the user.\nThe same is true if the temporal extent of a vector feature covers multiple raster time steps.\nMore details are described below.\n\n**Example**:\nYou have a collection of agricultural fields (`Polygons`) and a collection of raster images containing each pixel's monthly NDVI value.\nFor your application, you want to know the NDVI value of each field.\nThe `RasterVectorJoin` operator allows you to combine the vector and raster data and offers multiple spatial and temporal aggregation strategies.\nFor example, you can use the `first` aggregation function to get the NDVI value of the first pixel that intersects with each field.\nThis is useful for exploratory analysis since the computation is very fast.\nTo calculate the mean NDVI value of all pixels that intersect with the field you should use the `mean` aggregation function.\nSince the NDVI data is a monthly time series, you have to specify the temporal aggregation function as well.\nThe default is `none` which will create a new feature for each month.\nOther options are `first` and `mean` which will calculate the first or mean NDVI value for each field over time.\n\n## Inputs\n\nThe `RasterVectorJoin` operator expects one _vector_ input and one or more _raster_ inputs.\n\n| Parameter | Type |\n| --------- | ----------------------------------- |\n| `sources` | `SingleVectorMultipleRasterSources` |\n\n## Errors\n\nIf the length of `names` is not equal to the number of raster inputs, an error is thrown.\n", + "required": [ + "type", + "params", + "sources" + ], + "properties": { + "params": { + "$ref": "#/components/schemas/RasterVectorJoinParameters" + }, + "sources": { + "$ref": "#/components/schemas/SingleVectorMultipleRasterSources" + }, + "type": { + "type": "string", + "enum": [ + "RasterVectorJoin" + ] + } + }, + "examples": [ + { + "type": "RasterVectorJoin", + "params": { + "names": [ + "NDVI" + ], + "featureAggregation": "first", + "temporalAggregation": "mean", + "temporalAggregationIgnoreNoData": true + }, + "sources": { + "vector": { + "type": "OgrSource", + "params": { + "data": "places" + } + }, + "rasters": [ + { + "type": "GdalSource", + "params": { + "data": "ndvi" + } + } + ] + } + } + ] + }, + "RasterVectorJoinParameters": { + "type": "object", + "required": [ + "names", + "featureAggregation", + "temporalAggregation" + ], + "properties": { + "featureAggregation": { + "$ref": "#/components/schemas/FeatureAggregationMethod", + "description": "The aggregation function to use for features covering multiple pixels." + }, + "featureAggregationIgnoreNoData": { + "type": "boolean", + "description": "Whether to ignore no data values in the aggregation. Defaults to `false`.", + "examples": [ + true + ] + }, + "names": { + "$ref": "#/components/schemas/ColumnNames", + "description": "Specify how the new column names are derived from the raster band names.\n\nThe `ColumnNames` type is used to specify how the new column names are derived from the raster band names.\n\n- **default**: Appends \" (n)\" to the band name with the smallest `n` that avoids a conflict.\n- **suffix**: Specifies a suffix for each input, to be appended to the band names.\n- **rename**: A list of names for each new column.\n" + }, + "temporalAggregation": { + "$ref": "#/components/schemas/TemporalAggregationMethod", + "description": "The aggregation function to use for features covering multiple (raster) time steps." + }, + "temporalAggregationIgnoreNoData": { + "type": "boolean", + "description": "Whether to ignore no data values in the aggregation. Defaults to `false`.", + "examples": [ + true + ] + } + } + }, "RegularTimeDimension": { "type": "object", "required": [ @@ -9364,6 +9901,131 @@ } } }, + "SingleRasterOrVectorOperator": { + "oneOf": [ + { + "$ref": "#/components/schemas/RasterOperator" + }, + { + "$ref": "#/components/schemas/VectorOperator" + } + ], + "description": "It is either a set of `RasterOperator` or a single `VectorOperator`" + }, + "SingleRasterOrVectorSource": { + "type": "object", + "description": "A single vector operator or a single raster operators as source for this operator.", + "required": [ + "source" + ], + "properties": { + "source": { + "$ref": "#/components/schemas/SingleRasterOrVectorOperator" + } + } + }, + "SingleRasterSource": { + "type": "object", + "description": "A single raster operator as a source for this operator.", + "required": [ + "raster" + ], + "properties": { + "raster": { + "$ref": "#/components/schemas/RasterOperator" + } + } + }, + "SingleVectorMultipleRasterSources": { + "type": "object", + "description": "A single vector operator and one or more raster operators as source for this operator.", + "required": [ + "vector", + "rasters" + ], + "properties": { + "rasters": { + "type": "array", + "items": { + "$ref": "#/components/schemas/RasterOperator" + } + }, + "vector": { + "$ref": "#/components/schemas/VectorOperator" + } + } + }, + "SpatialBoundsDerive": { + "oneOf": [ + { + "$ref": "#/components/schemas/SpatialBoundsDeriveDerive" + }, + { + "$ref": "#/components/schemas/SpatialBoundsDeriveBounds" + }, + { + "$ref": "#/components/schemas/SpatialBoundsDeriveNone" + } + ], + "description": "Spatial bounds derivation options for the [`MockPointSource`].", + "discriminator": { + "propertyName": "type", + "mapping": { + "bounds": "#/components/schemas/SpatialBoundsDeriveBounds", + "derive": "#/components/schemas/SpatialBoundsDeriveDerive", + "none": "#/components/schemas/SpatialBoundsDeriveNone" + } + } + }, + "SpatialBoundsDeriveBounds": { + "allOf": [ + { + "$ref": "#/components/schemas/BoundingBox2D" + }, + { + "type": "object", + "required": [ + "type" + ], + "properties": { + "type": { + "type": "string", + "enum": [ + "bounds" + ] + } + } + } + ] + }, + "SpatialBoundsDeriveDerive": { + "type": "object", + "required": [ + "type" + ], + "properties": { + "type": { + "type": "string", + "enum": [ + "derive" + ] + } + } + }, + "SpatialBoundsDeriveNone": { + "type": "object", + "required": [ + "type" + ], + "properties": { + "type": { + "type": "string", + "enum": [ + "none" + ] + } + } + }, "SpatialGridDefinition": { "type": "object", "required": [ @@ -9417,16 +10079,6 @@ } } }, - "SpatialReferenceAuthority": { - "type": "string", - "description": "A spatial reference authority that is part of a spatial reference definition", - "enum": [ - "EPSG", - "SR-ORG", - "IAU2000", - "ESRI" - ] - }, "SpatialReferenceSpecification": { "type": "object", "description": "The specification of a spatial reference, where extent and axis labels are given\nin natural order (x, y) = (east, north)", @@ -9471,24 +10123,6 @@ } } }, - "SpatialResolution": { - "type": "object", - "description": "The spatial resolution in SRS units", - "required": [ - "x", - "y" - ], - "properties": { - "x": { - "type": "number", - "format": "double" - }, - "y": { - "type": "number", - "format": "double" - } - } - }, "StacApiRetries": { "type": "object", "required": [ @@ -9567,6 +10201,89 @@ } } }, + "Statistics": { + "type": "object", + "title": "Statistics", + "description": "The `Statistics` operator is a _plot operator_ that computes count statistics over\n\n- a selection of numerical columns of a single vector dataset, or\n- multiple raster datasets.\n\nThe output is a JSON description.\n\nFor instance, you want to get an overview of a raster data source.\nThen, you can use this operator to get basic count statistics.\n\n## Vector Data\n\nIn the case of vector data, the operator generates one statistic for each of the selected numerical attributes.\nThe operator returns an error if one of the selected attributes is not numeric.\n\n## Raster Data\n\nFor raster data, the operator generates one statistic for each input raster.\n\n## Inputs\n\nThe operator consumes exactly one _vector_ or multiple _raster_ operators.\n\n| Parameter | Type |\n| --------- | ------------------------------------ |\n| `source` | `MultipleRasterOrSingleVectorSource` |\n\n## Errors\n\nThe operator returns an error in the following cases.\n\n- Vector data: The `attribute` for one of the given `columnNames` is not numeric.\n- Vector data: The `attribute` for one of the given `columnNames` does not exist.\n- Raster data: The length of the `columnNames` parameter does not match the number of input rasters.\n\n### Example Output\n\n```json\n{\n \"A\": {\n \"valueCount\": 6,\n \"validCount\": 6,\n \"min\": 1.0,\n \"max\": 6.0,\n \"mean\": 3.5,\n \"stddev\": 1.707,\n \"percentiles\": [\n {\n \"percentile\": 0.25,\n \"value\": 2.0\n },\n {\n \"percentile\": 0.5,\n \"value\": 3.5\n },\n {\n \"percentile\": 0.75,\n \"value\": 5.0\n }\n ]\n }\n}\n```\n", + "required": [ + "type", + "params", + "sources" + ], + "properties": { + "params": { + "$ref": "#/components/schemas/StatisticsParameters" + }, + "sources": { + "$ref": "#/components/schemas/MultipleRasterOrSingleVectorSource" + }, + "type": { + "type": "string", + "enum": [ + "Statistics" + ] + } + }, + "examples": [ + { + "type": "Statistics", + "params": { + "columnNames": [ + "A" + ], + "percentiles": [ + 0.25, + 0.5, + 0.75 + ] + }, + "sources": { + "source": [ + { + "type": "GdalSource", + "params": { + "data": "ndvi" + } + } + ] + } + } + ] + }, + "StatisticsParameters": { + "type": "object", + "description": "The parameter spec for `Statistics`", + "properties": { + "columnNames": { + "type": "array", + "items": { + "type": "string", + "examples": [ + [ + "x", + "y" + ] + ] + }, + "description": "# Vector data\nThe names of the attributes to generate statistics for.\n\n# Raster data\n_Optional_: An alias for each input source.\nThe operator will automatically name the rasters `Raster-1`, `Raster-2`, … if this parameter is empty.\nIf aliases are given, the number of aliases must match the number of input rasters.\nOtherwise an error is returned." + }, + "percentiles": { + "type": "array", + "items": { + "type": "number", + "format": "double", + "examples": [ + [ + 0.25, + 0.5, + 0.75 + ] + ] + }, + "description": "The percentiles to compute for each attribute." + } + } + }, "StringPair": { "type": "array", "items": { @@ -9638,14 +10355,6 @@ } } }, - "TaskAbortOptions": { - "type": "object", - "properties": { - "force": { - "type": "boolean" - } - } - }, "TaskFilter": { "type": "string", "enum": [ @@ -9659,31 +10368,6 @@ "type": "string", "format": "uuid" }, - "TaskListOptions": { - "type": "object", - "properties": { - "filter": { - "oneOf": [ - { - "type": "null" - }, - { - "$ref": "#/components/schemas/TaskFilter" - } - ] - }, - "limit": { - "type": "integer", - "format": "int32", - "minimum": 0 - }, - "offset": { - "type": "integer", - "format": "int32", - "minimum": 0 - } - } - }, "TaskResponse": { "type": "object", "description": "Create a task somewhere and respond with a task id to query the task status.", @@ -9829,6 +10513,14 @@ } ] }, + "TemporalAggregationMethod": { + "type": "string", + "enum": [ + "none", + "first", + "mean" + ] + }, "TextSymbology": { "type": "object", "required": [ @@ -10074,56 +10766,66 @@ ] }, "TypedOperator": { - "type": "object", - "description": "An enum to differentiate between `Operator` variants", - "required": [ - "type", - "operator" - ], - "properties": { - "operator": { + "oneOf": [ + { "type": "object", + "title": "TypedVectorOperator", "required": [ + "operator", "type" ], "properties": { - "params": { - "type": "object" + "operator": { + "$ref": "#/components/schemas/VectorOperator" }, - "sources": { - "type": "object" + "type": { + "type": "string", + "enum": [ + "Vector" + ] + } + } + }, + { + "type": "object", + "title": "TypedRasterOperator", + "required": [ + "operator", + "type" + ], + "properties": { + "operator": { + "$ref": "#/components/schemas/RasterOperator" }, "type": { - "type": "string" + "type": "string", + "enum": [ + "Raster" + ] } } }, - "type": { - "type": "string", - "enum": [ - "Vector", - "Raster", - "Plot" - ] - } - }, - "examples": [ { - "type": "MockPointSource", - "params": { - "points": [ - { - "x": 0.0, - "y": 0.1 - }, - { - "x": 1.0, - "y": 1.1 - } - ] + "type": "object", + "title": "TypedPlotOperator", + "required": [ + "operator", + "type" + ], + "properties": { + "operator": { + "$ref": "#/components/schemas/PlotOperator" + }, + "type": { + "type": "string", + "enum": [ + "Plot" + ] + } } } - ] + ], + "description": "Operator outputs are distinguished by their data type.\nThere are `raster`, `vector` and `plot` operators." }, "TypedPlotResultDescriptor": { "allOf": [ @@ -10658,6 +11360,24 @@ "MultiPolygon" ] }, + "VectorOperator": { + "oneOf": [ + { + "$ref": "#/components/schemas/MockPointSource" + }, + { + "$ref": "#/components/schemas/RasterVectorJoin" + } + ], + "description": "An operator that produces vector data.", + "discriminator": { + "propertyName": "type", + "mapping": { + "MockPointSource": "#/components/schemas/MockPointSource", + "RasterVectorJoin": "#/components/schemas/RasterVectorJoin" + } + } + }, "VectorResultDescriptor": { "type": "object", "required": [ @@ -10737,27 +11457,6 @@ "VolumeName": { "type": "string" }, - "WcsBoundingbox": { - "type": "object", - "required": [ - "bbox" - ], - "properties": { - "bbox": { - "type": "array", - "items": { - "type": "number", - "format": "double" - } - }, - "spatial_reference": { - "type": [ - "string", - "null" - ] - } - } - }, "WcsRequest": { "type": "string", "enum": [ @@ -10884,9 +11583,12 @@ ] }, "Workflow": { - "allOf": [ + "oneOf": [ { "$ref": "#/components/schemas/TypedOperator" + }, + { + "$ref": "#/components/schemas/LegacyTypedOperator" } ] }, diff --git a/.generation/openapitools.json b/.generation/openapitools.json new file mode 100644 index 00000000..46654359 --- /dev/null +++ b/.generation/openapitools.json @@ -0,0 +1,56 @@ +{ + "$schema": "./node_modules/@openapitools/openapi-generator-cli/config.schema.json", + "spaces": 2, + "generator-cli": { + "version": "7.20.0", + "generators": { + "typescript": { + "generatorName": "typescript-fetch", + "inputSpec": ".generation/input/openapi.json", + "output": "typescript", + "gitHost": "github.com", + "gitUserId": "geo-engine", + "gitRepoId": "openapi-client", + "additionalProperties": { + "supportsES6": true, + "npmName": "@geoengine/openapi-client", + "npmVersion": "0.0.33" + }, + "openapiNormalizer": { + "REF_AS_PARENT_IN_ALLOF": true + } + }, + "python": { + "generatorName": "python", + "inputSpec": ".generation/input/openapi.json", + "output": "python", + "gitHost": "github.com", + "gitUserId": "geo-engine", + "gitRepoId": "openapi-client", + "additionalProperties": { + "useOneOfDiscriminatorLookup": true, + "packageName": "geoengine_openapi_client", + "packageVersion": "0.0.33", + "packageUrl": "https://github.com/geo-engine/openapi-client" + }, + "openapiNormalizer": { + "REF_AS_PARENT_IN_ALLOF": true + } + }, + "rust": { + "generatorName": "rust", + "inputSpec": ".generation/input/openapi.json", + "output": "rust", + "gitHost": "github.com", + "gitUserId": "geo-engine", + "gitRepoId": "openapi-client", + "additionalProperties": { + "packageName": "geoengine-api-client", + "packageVersion": "0.0.33", + "homePageUrl": "https://www.geoengine.io", + "repositoryUrl": "https://github.com/geo-engine/openapi-client" + } + } + } + } +} diff --git a/.generation/post-process/python.py b/.generation/post-process/python.py index 522e506f..8b18524f 100755 --- a/.generation/post-process/python.py +++ b/.generation/post-process/python.py @@ -6,9 +6,10 @@ from pathlib import Path from typing import Literal -from collections.abc import Callable, Generator +from collections.abc import Generator from textwrap import dedent, indent from util import FileModifier, modify_files, version +from enum import Flag, auto INDENT = " " HALF_INDENT = " " @@ -19,8 +20,6 @@ def file_modifications() -> Generator[tuple[Path, FileModifier], None, None]: yield Path("api_client.py"), api_client_py yield Path("api/layers_api.py"), layers_api_py - yield Path("api/ogcwfs_api.py"), ogc_xyz_api_py("wfs") - yield Path("api/ogcwms_api.py"), ogc_xyz_api_py("wms") yield Path("api/tasks_api.py"), tasks_api_py yield Path("exceptions.py"), exceptions_py yield Path("models/plot_result_descriptor.py"), plot_result_descriptor_py @@ -28,11 +27,46 @@ def file_modifications() -> Generator[tuple[Path, FileModifier], None, None]: yield Path("models/task_status_with_id.py"), task_status_with_id_py yield Path("models/time_step.py"), time_step_py yield Path("models/vector_result_descriptor.py"), vector_result_descriptor_py + yield Path("models/workflow.py"), workflow_py def main(): """Main function to perform file modifications.""" - modify_files(file_modifications(), Path("python/geoengine_openapi_client")) + modify_files( + file_modifications(), + Path("python/geoengine_openapi_client"), + Path("python/diffs"), + ) + + +def workflow_py(file_contents: list[str]) -> Generator[str, None, None]: + """Modify the workflow.py file.""" + + class Method(Flag): + ACTUAL_INSTANCE_MUST_VALIDATE_ONEOF = auto() + FROM_JSON = auto() + OTHER = auto() + + method = Method.OTHER + + for line in file_contents: + dedented_line = dedent(line) + + if dedented_line.startswith("def actual_instance_must_validate_oneof"): + method = Method.ACTUAL_INSTANCE_MUST_VALIDATE_ONEOF + elif dedented_line.startswith("def from_json("): + method = Method.FROM_JSON + elif dedented_line.startswith("def "): + method = Method.OTHER + elif ( + method == Method.ACTUAL_INSTANCE_MUST_VALIDATE_ONEOF + and dedented_line.startswith("match += 1") + ): + line = indent("return v", 3 * INDENT) + "\n" + elif method == Method.FROM_JSON and dedented_line.startswith("match += 1"): + line = indent("return instance", 3 * INDENT) + "\n" + + yield line def api_client_py(file_contents: list[str]) -> Generator[str, None, None]: @@ -178,31 +212,6 @@ def layers_api_py(file_contents: list[str]) -> Generator[str, None, None]: yield line -def ogc_xyz_api_py( - ogc_api: Literal["wfs", "wms"], -) -> Callable[[list[str]], Generator[str, None, None]]: - """Modify the ogc_xyz_api.py file.""" - - def _ogc_xyz_api_py(file_contents: list[str]) -> Generator[str, None, None]: - """Modify the ogc_wfs_api.py file.""" - for line in file_contents: - dedented_line = dedent(line) - if dedented_line.startswith( - f"resource_path='/{ogc_api}/{{workflow}}?request=" - ): - line = indent( - dedent(f"""\ - # Note: remove query string in path part for ogc endpoints - resource_path='/{ogc_api}/{{workflow}}', - """), - 3 * INDENT, - ) - - yield line - - return _ogc_xyz_api_py - - def raster_result_descriptor_py(file_contents: list[str]) -> Generator[str, None, None]: """ Modify the raster_result_descriptor.py file. diff --git a/.generation/post-process/rust.py b/.generation/post-process/rust.py new file mode 100755 index 00000000..3b96c33a --- /dev/null +++ b/.generation/post-process/rust.py @@ -0,0 +1,242 @@ +#!/bin/python3 + +""" +Post-processing of generated code. +""" + +from pathlib import Path +from collections.abc import Generator +from textwrap import dedent, indent +from util import FileModifier, modify_files + +INDENT = " " +HALF_INDENT = " " + + +def file_modifications() -> Generator[tuple[Path, FileModifier], None, None]: + """Return a generator of file paths and their corresponding modification functions.""" + + yield Path("src/apis/projects_api.rs"), projects_api_rs + yield Path("src/apis/tasks_api.rs"), tasks_api_rs + yield Path("src/models/default.rs"), default_rs + yield Path("src/models/spatial_partition2_d.rs"), spatial_partition2_d_rs + yield ( + Path("src/models/multiple_raster_or_single_vector_operator.rs"), + multiple_raster_or_single_vector_operator_rs, + ) + + for file_path in [ + Path("src/models/raster_operator.rs"), + Path("src/models/vector_operator.rs"), + Path("src/models/spatial_bounds_derive.rs"), + Path("src/models/measurement.rs"), + ]: + yield file_path, make_untagged + + +def main(): + """Main function to perform file modifications.""" + modify_files( + file_modifications(), + Path("rust"), + Path("rust/diffs"), + ) + + +# cf. +def make_untagged(file_contents: list[str]) -> Generator[str, None, None]: + """Make the enum untagged by replacing the serde attribute.""" + for line in file_contents: + dedented_line = dedent(line) + if dedented_line.startswith('#[serde(tag = "type")]'): + line = "#[serde(untagged)]" + "\n" + + yield line + + +def multiple_raster_or_single_vector_operator_rs( + file_contents: list[str], +) -> Generator[str, None, None]: + """Modify the multiple_raster_or_single_vector_operator.rs file.""" + for line in file_contents: + dedented_line = dedent(line) + if dedented_line.startswith("ArrayVecmodels::RasterOperator"): + line = indent("RasterOperator(Vec),", INDENT) + "\n" + elif dedented_line.startswith("Self::ArrayVecmodels::RasterOperator"): + line = indent("Self::RasterOperator(Default::default())", 2 * INDENT) + "\n" + + yield line + + +def spatial_resolution_rs(file_contents: list[str]) -> Generator[str, None, None]: + """Modify the spatial_resolution.rs file.""" + for line in file_contents: + yield line + + yield dedent("""\ + impl std::fmt::Display for SpatialResolution { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(f, "{},{}", self.x, self.y) + } + } + """) + + +def spatial_partition2_d_rs(file_contents: list[str]) -> Generator[str, None, None]: + """Modify the SpatialPartition2D.rs file.""" + for line in file_contents: + yield line + + yield dedent("""\ + impl std::fmt::Display for SpatialPartition2D { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!( + f, + "{xmin},{ymin},{xmax},{ymax}", + xmin = self.upper_left_coordinate.x, + ymin = self.lower_right_coordinate.y, + xmax = self.lower_right_coordinate.x, + ymax = self.upper_left_coordinate.y + ) + } + } + """) + + +def uploads_api_rs(file_contents: list[str]) -> Generator[str, None, None]: + """Modify the uploads_api.rs file.""" + for line in file_contents: + dedented_line = dedent(line) + + if dedented_line.startswith( + 'multipart_form = multipart_form.file("files[]", ' + "p_form_files_left_square_bracket_right_square_bracket.as_os_str()).await?;" + ): + line = indent( + "for form_file in p_form_files_left_square_bracket_right_square_bracket {\n", + INDENT, + ) + line += indent( + 'multipart_form = multipart_form.file("files[]", form_file).await?;\n', + 2 * INDENT, + ) + line += indent("}\n", INDENT) + + yield line + + +def tasks_api_rs(file_contents: list[str]) -> Generator[str, None, None]: + """Modify the tasks_api.rs file.""" + for line in file_contents: + dedented_line = dedent(line) + + if dedented_line.startswith('let uri_str = format!("{}/tasks/list"'): + line = indent( + """\ + let uri_str = format!( + "{}/tasks/list?filter={}&offset={}&limit={}", + configuration.base_path, + p_path_filter.unwrap().to_string(), + p_path_offset, + p_path_limit + ); + """, + INDENT, + ) + + yield line + + +def projects_api_rs(file_contents: list[str]) -> Generator[str, None, None]: + """Modify the projects_api.rs file.""" + for line in file_contents: + dedented_line = dedent(line) + + if dedented_line.startswith('let uri_str = format!("{}/projects"'): + line = indent( + """\ + let uri_str = format!( + "{}/projects?order={}&offset={}&limit={}", + configuration.base_path, + p_path_order.to_string(), + p_path_offset, + p_path_limit + ); + """, + INDENT, + ) + + yield line + + +def ogcwms_api_rs(file_contents: list[str]) -> Generator[str, None, None]: + """Modify the ogcwms_api.rs file.""" + for line in file_contents: + dedented_line = dedent(line) + + if dedented_line.startswith( + 'let uri_str = format!("{}/wms/{workflow}?request=GetLegendGraphic"' + ): + line = indent( + """\ + let uri_str = format!( + "{}/wms/{workflow}?request={request}&version={version}&service={service}&layer={layer}", + configuration.base_path, + workflow = crate::apis::urlencode(p_path_workflow), + version = p_path_version.to_string(), + service = p_path_service.to_string(), + request = p_path_request.to_string(), + layer = crate::apis::urlencode(p_path_layer) + ); + """, + INDENT, + ) + elif dedented_line.startswith( + 'let uri_str = format!("{}/wms/{workflow}?request=GetCapabilities"' + ): + line = indent( + """\ + let uri_str = format!( + "{}/wms/{workflow}?request={request}&service={service}&version={version}&format={format}", + configuration.base_path, + workflow = crate::apis::urlencode(p_path_workflow), + version = p_path_version.unwrap().to_string(), + service = p_path_service.to_string(), + request = p_path_request.to_string(), + format = p_path_format.unwrap().to_string() + ); + """, + INDENT, + ) + + yield line + + +def ogcwfs_api_rs(file_contents: list[str]) -> Generator[str, None, None]: + """Modify the ogcwfs_api.rs file.""" + for line in file_contents: + dedented_line = dedent(line) + + if dedented_line.startswith( + 'req_builder = req_builder.query(&[("service", &serde_json::to_string(param_value)?)]);' + ): + line = indent( + 'req_builder = req_builder.query(&[("service", ¶m_value.to_string())]);' + "\n", + 2 * INDENT, + ) + + yield line + + +def default_rs(file_contents: list[str]) -> Generator[str, None, None]: + """Modify the default.rs file.""" + for line in file_contents: + if line.startswith("impl Default for Type {"): + line = "impl std::default::Default for Type {\n" + + yield line + + +if __name__ == "__main__": + main() diff --git a/.generation/post-process/typescript.py b/.generation/post-process/typescript.py index cf3f0e83..e8bb39f0 100755 --- a/.generation/post-process/typescript.py +++ b/.generation/post-process/typescript.py @@ -15,16 +15,82 @@ def file_modifications() -> Generator[tuple[Path, FileModifier], None, None]: """Return a generator of file paths and their corresponding modification functions.""" - # yield Path("models/LayerUpdate.ts"), layer_update_ts - # yield Path("models/PlotUpdate.ts"), plot_update_ts + yield Path("models/RasterOperator.ts"), raster_operator_ts + yield Path("models/VectorOperator.ts"), vector_operator_ts yield Path("models/TaskStatusWithId.ts"), task_status_with_id_ts yield Path("models/VecUpdate.ts"), vec_update_ts + yield Path("models/TypedOperator.ts"), typed_operator_ts yield Path("runtime.ts"), runtime_ts def main(): """Main function to perform file modifications.""" - modify_files(file_modifications(), Path("typescript/src")) + modify_files(file_modifications(), Path("typescript/src"), Path("typescript/diffs")) + + +def raster_operator_ts( + file_contents: list[str], +) -> Generator[str, None, None]: + """Modify the RasterOperator.ts file.""" + for line in file_contents: + yield line + + new_lines = dedent("""\ + + /** + * Check if a given object implements the RasterOperator interface. + */ + export function instanceOfRasterOperator(value: object): value is RasterOperator { + return instanceOfExpression(value) + || instanceOfGdalSource(value); + } + """).splitlines(keepends=True) + + for line in new_lines: + yield line + + +def vector_operator_ts( + file_contents: list[str], +) -> Generator[str, None, None]: + """Modify the VectorOperator.ts file.""" + for line in file_contents: + yield line + + new_lines = dedent("""\ + + /** + * Check if a given object implements the VectorOperator interface. + */ + export function instanceOfVectorOperator(value: object): value is VectorOperator { + return instanceOfMockPointSource(value) + || instanceOfRasterVectorJoin(value); + } + """).splitlines(keepends=True) + + for line in new_lines: + yield line + + +def typed_operator_ts(file_contents: list[str]) -> Generator[str, None, None]: + """Modify the TypedOperator.ts file.""" + for line in file_contents: + yield line + + new_lines = dedent("""\ + + /** + * Check if a given object implements the TypedOperator interface. + */ + export function instanceOfTypedOperator(value: object): value is TypedOperator { + return instanceOfTypedPlotOperator(value) + || instanceOfTypedRasterOperator(value) + || instanceOfTypedVectorOperator(value); + } + """).splitlines(keepends=True) + + for line in new_lines: + yield line def runtime_ts(file_contents: list[str]) -> Generator[str, None, None]: diff --git a/.generation/post-process/util.py b/.generation/post-process/util.py index 4a3d2493..4481d5f0 100644 --- a/.generation/post-process/util.py +++ b/.generation/post-process/util.py @@ -8,6 +8,7 @@ from pathlib import Path from collections.abc import Callable, Generator from typing import TypeAlias +from difflib import unified_diff CWD = Path(".generation/") INI_FILE = CWD / "config.ini" @@ -16,7 +17,9 @@ def modify_files( - modifiers: Generator[tuple[Path, FileModifier], None, None], subdir: Path + modifiers: Generator[tuple[Path, FileModifier], None, None], + subdir: Path, + diffdir: Path, ) -> None: """Modify files by applying the given modifiers.""" @@ -26,14 +29,34 @@ def modify_files( logging.info("Modifying %s…", file_path) file_path = subdir / file_path + diff_path = diffdir / file_path.with_suffix(file_path.suffix + ".diff") + + # Ensure all parent directories for diff_path exist + diff_path.parent.mkdir(parents=True, exist_ok=True) try: with open(file_path, "r", encoding="utf-8") as f: - file_contents = f.readlines() + file_contents: list[str] = f.readlines() + + new_file_contents: list[str] = list(modify_fn(file_contents)) + + diff_file_contents: list[str] = list( + unified_diff( + file_contents, + new_file_contents, + fromfile=str(file_path), + tofile=str(file_path), + ) + ) + + if len(diff_file_contents) == 0: + logging.error("No changes made to %s.", file_path) with open(file_path, "w", encoding="utf-8") as f: - for line in modify_fn(file_contents): - f.write(line) + f.writelines(new_file_contents) + + with open(diff_path, "w", encoding="utf-8") as f: + f.writelines(diff_file_contents) except Exception as e: # pylint: disable=broad-exception-caught logging.error("Error modifying %s: %s", file_path, e) diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index a1c48bc5..6705fc5c 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -77,3 +77,27 @@ jobs: run: npm publish --access public env: NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }} + + rust: + name: Publish Rust Package + + runs-on: ubuntu-latest + + strategy: + matrix: + rust-version: ["1.80.0"] # use lowest supported Rust version + + defaults: + run: + working-directory: rust + + steps: + - uses: actions/checkout@v4 + - name: Set up Rust ${{ matrix.rust-version }} + uses: actions-rs/toolchain@v1 + with: + toolchain: ${{ matrix.rust-version }} + - name: Install dependencies + run: cargo fetch + - name: Publish + run: cargo publish --token ${{ secrets.CARGO_TOKEN }} diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index b6a19d98..467ba0f6 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -44,20 +44,27 @@ jobs: matrix: node-version: [20.19.x, 22.12.x, 24.0.x] - defaults: - run: - working-directory: typescript - steps: - uses: actions/checkout@v6 + - uses: extractions/setup-just@v3 - name: Use Node.js ${{ matrix.node-version }} uses: actions/setup-node@v4 with: node-version: ${{ matrix.node-version }} - - name: Install dependencies - run: npm install - - name: Build - run: npm run build + - name: Install and build + run: just test-typescript + + rust: + runs-on: ubuntu-latest + + steps: + - uses: actions/checkout@v5 + - uses: extractions/setup-just@v3 + - uses: actions-rust-lang/setup-rust-toolchain@v1 + with: + toolchain: stable + - name: Build and test + run: just test-rust idempotency: name: Idempotency of Code Generation @@ -68,10 +75,6 @@ jobs: permissions: contents: read - defaults: - run: - working-directory: python - steps: - uses: actions/checkout@v6 - uses: extractions/setup-just@v3 diff --git a/justfile b/justfile index a664014b..dbd10266 100644 --- a/justfile +++ b/justfile @@ -1,6 +1,6 @@ # OpenApi Client CLI -OPENAPI_GENERATOR_PACKAGE := "@openapitools/openapi-generator-cli@2.28.3" +OPENAPI_GENERATOR_CLI := "npx @openapitools/openapi-generator-cli --openapitools .generation/openapitools.json" _default: @just --list @@ -9,27 +9,47 @@ _default: _clear: @-clear + # Build all API clients by executing the build steps for each language. [group('build')] -build: _clear _build-python _build-typescript +build: _clear \ + _build-python-preprocess _build-rust-preprocess _build-typescript-preprocess \ + _build_call \ + _build-python-postprocess _build-rust-postprocess _build-typescript-postprocess + +_build_call generator="": + {{ OPENAPI_GENERATOR_CLI }} generate {{ if generator == "" { "" } else { "--generator-key " + generator } }} # Build the API clients for Python by generating code with the OpenAPI Generator and applying post-processing steps. [group('build')] -build-python: _clear _build-python +build-python: _clear _build-python-preprocess (_build_call "python") _build-python-postprocess -_build-python: _clean_dirs_python - npx {{ OPENAPI_GENERATOR_PACKAGE }} batch .generation/config/python.yaml +# Remove some directories because they are not be overwritten by the generator. +_build-python-preprocess: + rm -rf \ + python/geoengine_openapi_client \ + python/.mypy_cache \ + python/test \ + python/diffs + +_build-python-postprocess: .generation/post-process/python.py rm -rf \ - python/docs \ - openapitools.json + python/docs # Build the API clients for TypeScript by generating code with the OpenAPI Generator and applying post-processing steps. Also install npm dependencies and set up .gitignore. [group('build')] -build-typescript: _clear _build-typescript +build-typescript: _clear (_build_call "typescript") _build-typescript-postprocess + +# Remove some directories because they are not be overwritten by the generator. +_build-typescript-preprocess: + rm -rf \ + typescript/src \ + typescript/dist \ + typescript/node_modules \ + typescript/diffs -_build-typescript: _clean_dirs_typescript - npx {{ OPENAPI_GENERATOR_PACKAGE }} batch .generation/config/typescript.yaml +_build-typescript-postprocess: .generation/post-process/typescript.py echo "wwwroot/*.js" > typescript/.gitignore echo "node_modules" > typescript/.gitignore @@ -37,88 +57,66 @@ _build-typescript: _clean_dirs_typescript cd typescript && npm install rm \ typescript/.openapi-generator/FILES \ - openapitools.json \ package-lock.json -[group('config')] -lint-openapi-spec: _clear - npx {{ OPENAPI_GENERATOR_PACKAGE }} validate -i .generation/input/openapi.json --recommend - rm openapitools.json - -# Remove some directories because they are not be overwritten by the generator. -[arg('language', pattern='python|typescript')] -_clean_dirs language: - @echo "Cleaning {{ language }} directory…" - - @just _clean_dirs_{{ language }} +# Build the API clients for Rust by generating code with the OpenAPI Generator and applying post-processing steps. +[group('build')] +build-rust: _clear _build-rust-preprocess (_build_call "rust") _build-rust-postprocess -# Remove some directories because they are not be overwritten by the generator. -_clean_dirs_python: +_build-rust-preprocess: rm -rf \ - python/geoengine_openapi_client \ - python/.mypy_cache \ - python/test + rust/diffs -# Remove some directories because they are not be overwritten by the generator. -_clean_dirs_typescript: - rm -rf \ - typescript/src \ - typescript/dist \ - typescript/node_modules +_build-rust-postprocess: + .generation/post-process/rust.py + +[group('config')] +lint-openapi-spec: _clear + {{ OPENAPI_GENERATOR_CLI }} validate \ + -i .generation/input/openapi.json \ + --recommend # Generate the OpenAPI Generator configuration files from the config.ini. [group('config'), script("python3")] -generate-configs: - from textwrap import dedent +update-generator-configs: import configparser + import json config = configparser.ConfigParser() config.optionxform = str # do not convert keys to lowercase config.read('.generation/config.ini') - typescript_config = dedent(f""" - inputSpec: .generation/input/openapi.json - outputDir: typescript - generatorName: typescript-fetch - gitHost: {config['git']['host']} - gitUserId: {config['git']['user']} - gitRepoId: {config['git']['repo']} - additionalProperties: - supportsES6: true - npmName: "{config['typescript']['name']}" - npmVersion: {config['general']['version']} - openapiNormalizer: - REF_AS_PARENT_IN_ALLOF: true - """).strip() - - python_config = dedent(f""" - inputSpec: .generation/input/openapi.json - outputDir: python - generatorName: python - gitHost: {config['git']['host']} - gitUserId: {config['git']['user']} - gitRepoId: {config['git']['repo']} - additionalProperties: - useOneOfDiscriminatorLookup: true - packageName: "{config['python']['name']}" - packageVersion: {config['general']['version']} - packageUrl: "https://{config['git']['host']}/{config['git']['user']}/{config['git']['repo']}" - openapiNormalizer: - REF_AS_PARENT_IN_ALLOF: true - """).strip() - - with open(".generation/config/typescript.yaml", "w") as f: - f.write(typescript_config) - - with open(".generation/config/python.yaml", "w") as f: - f.write(python_config) - - print("Generated OpenAPI Generator configuration files for TypeScript and Python.") + with open('.generation/openapitools.json', 'r', encoding='utf-8') as f: + generator_config = json.load(f) + + spaces = generator_config['spaces'] + + generators = generator_config['generator-cli']['generators'] + for generator in ['typescript', 'python', 'rust']: + generators[generator]['gitHost'] = config['git']['host'] + generators[generator]['gitUserId'] = config['git']['user'] + generators[generator]['gitRepoId'] = config['git']['repo'] + + repository_url = f"https://{config['git']['host']}/{config['git']['user']}/{config['git']['repo']}" + + generators['typescript']['additionalProperties']['npmVersion'] = config['general']['version'] + + generators['python']['additionalProperties']['packageVersion'] = config['general']['version'] + generators['python']['additionalProperties']['packageUrl'] = repository_url + + generators['rust']['additionalProperties']['packageVersion'] = config['general']['version'] + generators['rust']['additionalProperties']['homePageUrl'] = config['general']['homepageUrl'] + generators['rust']['additionalProperties']['repositoryUrl'] = repository_url + + with open('.generation/openapitools.json', 'w', encoding='utf-8') as f: + json.dump(generator_config, f, indent=spaces) + + print("Generated OpenAPI Generator configuration for TypeScript, Python, and Rust.") # Update the backend commit in the config.ini and increment the version. [group('config')] [arg("backendCommit", long="backendCommit", help="The commit hash of the backend for which to fetch the OpenAPI specification.")] -update-config backendCommit: _clear (_update-config backendCommit) generate-configs (fetch-openapi-spec backendCommit) lint-openapi-spec +update-config backendCommit: _clear (_update-config backendCommit) update-generator-configs (fetch-openapi-spec backendCommit) lint-openapi-spec [script("python3")] _update-config backendCommit: @@ -165,4 +163,23 @@ check-no-changes-in-git-repo: exit 1 else echo "No uncommitted changes found in git repository." - fi \ No newline at end of file + fi + +# [group('test')] +# [working-directory("python")] +# test-python: +# python3 -m venv .venv && source .venv/bin/activate || source .venv/bin/activate +# pip install -e .[dev] +# pytest + +[group('test')] +[working-directory("rust")] +test-rust: + cargo build + cargo test + +[group('test')] +[working-directory("typescript")] +test-typescript: + npm install + npm run build \ No newline at end of file diff --git a/python/.openapi-generator/FILES b/python/.openapi-generator/FILES index 1efe6238..2d4f9775 100644 --- a/python/.openapi-generator/FILES +++ b/python/.openapi-generator/FILES @@ -4,7 +4,6 @@ .travis.yml README.md docs/AddDataset.md -docs/AddDatasetTile.md docs/AddLayer.md docs/AddLayerCollection.md docs/AddRole.md @@ -20,6 +19,7 @@ docs/CollectionItem.md docs/CollectionType.md docs/ColorParam.md docs/Colorizer.md +docs/ColumnNames.md docs/ComputationQuota.md docs/ContinuousMeasurement.md docs/Coordinate2D.md @@ -43,13 +43,17 @@ docs/DatasetListing.md docs/DatasetNameResponse.md docs/DatasetResource.md docs/DatasetsApi.md +docs/Default.md docs/DerivedColor.md docs/DerivedNumber.md docs/EbvPortalDataProviderDefinition.md docs/EdrDataProviderDefinition.md docs/EdrVectorSpec.md docs/ErrorResponse.md +docs/Expression.md +docs/ExpressionParameters.md docs/ExternalDataId.md +docs/FeatureAggregationMethod.md docs/FeatureDataType.md docs/FileNotFoundHandling.md docs/FormatSpecifics.md @@ -63,6 +67,8 @@ docs/GdalMetaDataStatic.md docs/GdalMetadataMapping.md docs/GdalMetadataNetCdfCf.md docs/GdalMultiBand.md +docs/GdalSource.md +docs/GdalSourceParameters.md docs/GdalSourceTimePlaceholder.md docs/GeneralApi.md docs/GeoJson.md @@ -73,6 +79,15 @@ docs/GfbioAbcdDataProviderDefinition.md docs/GfbioCollectionsDataProviderDefinition.md docs/GridBoundingBox2D.md docs/GridIdx2D.md +docs/Histogram.md +docs/HistogramBounds.md +docs/HistogramBoundsOneOf.md +docs/HistogramBoundsOneOf1.md +docs/HistogramBoundsOneOf1Values.md +docs/HistogramBuckets.md +docs/HistogramBucketsOneOf.md +docs/HistogramBucketsOneOf1.md +docs/HistogramParameters.md docs/IdResponse.md docs/InternalDataId.md docs/Layer.md @@ -84,6 +99,8 @@ docs/LayerProviderListing.md docs/LayerResource.md docs/LayerVisibility.md docs/LayersApi.md +docs/LegacyTypedOperator.md +docs/LegacyTypedOperatorOperator.md docs/LineSymbology.md docs/LinearGradient.md docs/LogarithmicGradient.md @@ -102,10 +119,15 @@ docs/MlModelResource.md docs/MlTensorShape3D.md docs/MockDatasetDataSourceLoadingInfo.md docs/MockMetaData.md +docs/MockPointSource.md +docs/MockPointSourceParameters.md docs/MultiBandRasterColorizer.md docs/MultiLineString.md docs/MultiPoint.md docs/MultiPolygon.md +docs/MultipleRasterOrSingleVectorOperator.md +docs/MultipleRasterOrSingleVectorSource.md +docs/Names.md docs/NetCdfCfDataProviderDefinition.md docs/NumberParam.md docs/OGCWCSApi.md @@ -133,11 +155,11 @@ docs/OrderBy.md docs/PaletteColorizer.md docs/PangaeaDataProviderDefinition.md docs/Permission.md -docs/PermissionListOptions.md docs/PermissionListing.md docs/PermissionRequest.md docs/PermissionsApi.md docs/Plot.md +docs/PlotOperator.md docs/PlotOutputFormat.md docs/PlotResultDescriptor.md docs/PlotsApi.md @@ -152,7 +174,6 @@ docs/ProjectVersion.md docs/ProjectsApi.md docs/Provenance.md docs/ProvenanceEntry.md -docs/ProvenanceOutput.md docs/Provenances.md docs/ProviderCapabilities.md docs/ProviderLayerCollectionId.md @@ -162,13 +183,15 @@ docs/RasterBandDescriptor.md docs/RasterColorizer.md docs/RasterDataType.md docs/RasterDatasetFromWorkflow.md -docs/RasterDatasetFromWorkflowResult.md +docs/RasterOperator.md docs/RasterPropertiesEntryType.md docs/RasterPropertiesKey.md docs/RasterResultDescriptor.md docs/RasterStreamWebsocketResultType.md docs/RasterSymbology.md docs/RasterToDatasetQueryRectangle.md +docs/RasterVectorJoin.md +docs/RasterVectorJoinParameters.md docs/RegularTimeDimension.md docs/Resource.md docs/Role.md @@ -181,24 +204,31 @@ docs/SentinelS2L2ACogsProviderDefinition.md docs/ServerInfo.md docs/SessionApi.md docs/SingleBandRasterColorizer.md +docs/SingleRasterOrVectorOperator.md +docs/SingleRasterOrVectorSource.md +docs/SingleRasterSource.md +docs/SingleVectorMultipleRasterSources.md +docs/SpatialBoundsDerive.md +docs/SpatialBoundsDeriveBounds.md +docs/SpatialBoundsDeriveDerive.md +docs/SpatialBoundsDeriveNone.md docs/SpatialGridDefinition.md docs/SpatialGridDescriptor.md docs/SpatialGridDescriptorState.md docs/SpatialPartition2D.md -docs/SpatialReferenceAuthority.md docs/SpatialReferenceSpecification.md docs/SpatialReferencesApi.md -docs/SpatialResolution.md docs/StacApiRetries.md docs/StacQueryBuffer.md docs/StaticColor.md docs/StaticNumber.md +docs/Statistics.md +docs/StatisticsParameters.md docs/StrokeParam.md +docs/Suffix.md docs/SuggestMetaData.md docs/Symbology.md -docs/TaskAbortOptions.md docs/TaskFilter.md -docs/TaskListOptions.md docs/TaskResponse.md docs/TaskStatus.md docs/TaskStatusAborted.md @@ -207,6 +237,7 @@ docs/TaskStatusFailed.md docs/TaskStatusRunning.md docs/TaskStatusWithId.md docs/TasksApi.md +docs/TemporalAggregationMethod.md docs/TextSymbology.md docs/TimeDescriptor.md docs/TimeDimension.md @@ -223,10 +254,12 @@ docs/TypedGeometryOneOf1.md docs/TypedGeometryOneOf2.md docs/TypedGeometryOneOf3.md docs/TypedOperator.md -docs/TypedOperatorOperator.md +docs/TypedPlotOperator.md docs/TypedPlotResultDescriptor.md +docs/TypedRasterOperator.md docs/TypedRasterResultDescriptor.md docs/TypedResultDescriptor.md +docs/TypedVectorOperator.md docs/TypedVectorResultDescriptor.md docs/UnitlessMeasurement.md docs/UnixTimeStampType.md @@ -247,10 +280,10 @@ docs/UserSession.md docs/VecUpdate.md docs/VectorColumnInfo.md docs/VectorDataType.md +docs/VectorOperator.md docs/VectorResultDescriptor.md docs/Volume.md docs/VolumeFileLayersResponse.md -docs/WcsBoundingbox.md docs/WcsRequest.md docs/WcsService.md docs/WcsVersion.md @@ -289,7 +322,6 @@ geoengine_openapi_client/configuration.py geoengine_openapi_client/exceptions.py geoengine_openapi_client/models/__init__.py geoengine_openapi_client/models/add_dataset.py -geoengine_openapi_client/models/add_dataset_tile.py geoengine_openapi_client/models/add_layer.py geoengine_openapi_client/models/add_layer_collection.py geoengine_openapi_client/models/add_role.py @@ -305,6 +337,7 @@ geoengine_openapi_client/models/collection_item.py geoengine_openapi_client/models/collection_type.py geoengine_openapi_client/models/color_param.py geoengine_openapi_client/models/colorizer.py +geoengine_openapi_client/models/column_names.py geoengine_openapi_client/models/computation_quota.py geoengine_openapi_client/models/continuous_measurement.py geoengine_openapi_client/models/coordinate2_d.py @@ -327,13 +360,17 @@ geoengine_openapi_client/models/dataset_layer_listing_provider_definition.py geoengine_openapi_client/models/dataset_listing.py geoengine_openapi_client/models/dataset_name_response.py geoengine_openapi_client/models/dataset_resource.py +geoengine_openapi_client/models/default.py geoengine_openapi_client/models/derived_color.py geoengine_openapi_client/models/derived_number.py geoengine_openapi_client/models/ebv_portal_data_provider_definition.py geoengine_openapi_client/models/edr_data_provider_definition.py geoengine_openapi_client/models/edr_vector_spec.py geoengine_openapi_client/models/error_response.py +geoengine_openapi_client/models/expression.py +geoengine_openapi_client/models/expression_parameters.py geoengine_openapi_client/models/external_data_id.py +geoengine_openapi_client/models/feature_aggregation_method.py geoengine_openapi_client/models/feature_data_type.py geoengine_openapi_client/models/file_not_found_handling.py geoengine_openapi_client/models/format_specifics.py @@ -347,6 +384,8 @@ geoengine_openapi_client/models/gdal_meta_data_static.py geoengine_openapi_client/models/gdal_metadata_mapping.py geoengine_openapi_client/models/gdal_metadata_net_cdf_cf.py geoengine_openapi_client/models/gdal_multi_band.py +geoengine_openapi_client/models/gdal_source.py +geoengine_openapi_client/models/gdal_source_parameters.py geoengine_openapi_client/models/gdal_source_time_placeholder.py geoengine_openapi_client/models/geo_json.py geoengine_openapi_client/models/geo_transform.py @@ -356,6 +395,15 @@ geoengine_openapi_client/models/gfbio_abcd_data_provider_definition.py geoengine_openapi_client/models/gfbio_collections_data_provider_definition.py geoengine_openapi_client/models/grid_bounding_box2_d.py geoengine_openapi_client/models/grid_idx2_d.py +geoengine_openapi_client/models/histogram.py +geoengine_openapi_client/models/histogram_bounds.py +geoengine_openapi_client/models/histogram_bounds_one_of.py +geoengine_openapi_client/models/histogram_bounds_one_of1.py +geoengine_openapi_client/models/histogram_bounds_one_of1_values.py +geoengine_openapi_client/models/histogram_buckets.py +geoengine_openapi_client/models/histogram_buckets_one_of.py +geoengine_openapi_client/models/histogram_buckets_one_of1.py +geoengine_openapi_client/models/histogram_parameters.py geoengine_openapi_client/models/id_response.py geoengine_openapi_client/models/internal_data_id.py geoengine_openapi_client/models/layer.py @@ -366,6 +414,8 @@ geoengine_openapi_client/models/layer_listing.py geoengine_openapi_client/models/layer_provider_listing.py geoengine_openapi_client/models/layer_resource.py geoengine_openapi_client/models/layer_visibility.py +geoengine_openapi_client/models/legacy_typed_operator.py +geoengine_openapi_client/models/legacy_typed_operator_operator.py geoengine_openapi_client/models/line_symbology.py geoengine_openapi_client/models/linear_gradient.py geoengine_openapi_client/models/logarithmic_gradient.py @@ -383,10 +433,15 @@ geoengine_openapi_client/models/ml_model_resource.py geoengine_openapi_client/models/ml_tensor_shape3_d.py geoengine_openapi_client/models/mock_dataset_data_source_loading_info.py geoengine_openapi_client/models/mock_meta_data.py +geoengine_openapi_client/models/mock_point_source.py +geoengine_openapi_client/models/mock_point_source_parameters.py geoengine_openapi_client/models/multi_band_raster_colorizer.py geoengine_openapi_client/models/multi_line_string.py geoengine_openapi_client/models/multi_point.py geoengine_openapi_client/models/multi_polygon.py +geoengine_openapi_client/models/multiple_raster_or_single_vector_operator.py +geoengine_openapi_client/models/multiple_raster_or_single_vector_source.py +geoengine_openapi_client/models/names.py geoengine_openapi_client/models/net_cdf_cf_data_provider_definition.py geoengine_openapi_client/models/number_param.py geoengine_openapi_client/models/ogr_meta_data.py @@ -411,10 +466,10 @@ geoengine_openapi_client/models/order_by.py geoengine_openapi_client/models/palette_colorizer.py geoengine_openapi_client/models/pangaea_data_provider_definition.py geoengine_openapi_client/models/permission.py -geoengine_openapi_client/models/permission_list_options.py geoengine_openapi_client/models/permission_listing.py geoengine_openapi_client/models/permission_request.py geoengine_openapi_client/models/plot.py +geoengine_openapi_client/models/plot_operator.py geoengine_openapi_client/models/plot_output_format.py geoengine_openapi_client/models/plot_result_descriptor.py geoengine_openapi_client/models/point_symbology.py @@ -427,7 +482,6 @@ geoengine_openapi_client/models/project_update_token.py geoengine_openapi_client/models/project_version.py geoengine_openapi_client/models/provenance.py geoengine_openapi_client/models/provenance_entry.py -geoengine_openapi_client/models/provenance_output.py geoengine_openapi_client/models/provenances.py geoengine_openapi_client/models/provider_capabilities.py geoengine_openapi_client/models/provider_layer_collection_id.py @@ -437,13 +491,15 @@ geoengine_openapi_client/models/raster_band_descriptor.py geoengine_openapi_client/models/raster_colorizer.py geoengine_openapi_client/models/raster_data_type.py geoengine_openapi_client/models/raster_dataset_from_workflow.py -geoengine_openapi_client/models/raster_dataset_from_workflow_result.py +geoengine_openapi_client/models/raster_operator.py geoengine_openapi_client/models/raster_properties_entry_type.py geoengine_openapi_client/models/raster_properties_key.py geoengine_openapi_client/models/raster_result_descriptor.py geoengine_openapi_client/models/raster_stream_websocket_result_type.py geoengine_openapi_client/models/raster_symbology.py geoengine_openapi_client/models/raster_to_dataset_query_rectangle.py +geoengine_openapi_client/models/raster_vector_join.py +geoengine_openapi_client/models/raster_vector_join_parameters.py geoengine_openapi_client/models/regular_time_dimension.py geoengine_openapi_client/models/resource.py geoengine_openapi_client/models/role.py @@ -454,24 +510,31 @@ geoengine_openapi_client/models/search_types.py geoengine_openapi_client/models/sentinel_s2_l2_a_cogs_provider_definition.py geoengine_openapi_client/models/server_info.py geoengine_openapi_client/models/single_band_raster_colorizer.py +geoengine_openapi_client/models/single_raster_or_vector_operator.py +geoengine_openapi_client/models/single_raster_or_vector_source.py +geoengine_openapi_client/models/single_raster_source.py +geoengine_openapi_client/models/single_vector_multiple_raster_sources.py +geoengine_openapi_client/models/spatial_bounds_derive.py +geoengine_openapi_client/models/spatial_bounds_derive_bounds.py +geoengine_openapi_client/models/spatial_bounds_derive_derive.py +geoengine_openapi_client/models/spatial_bounds_derive_none.py geoengine_openapi_client/models/spatial_grid_definition.py geoengine_openapi_client/models/spatial_grid_descriptor.py geoengine_openapi_client/models/spatial_grid_descriptor_state.py geoengine_openapi_client/models/spatial_partition2_d.py -geoengine_openapi_client/models/spatial_reference_authority.py geoengine_openapi_client/models/spatial_reference_specification.py -geoengine_openapi_client/models/spatial_resolution.py geoengine_openapi_client/models/st_rectangle.py geoengine_openapi_client/models/stac_api_retries.py geoengine_openapi_client/models/stac_query_buffer.py geoengine_openapi_client/models/static_color.py geoengine_openapi_client/models/static_number.py +geoengine_openapi_client/models/statistics.py +geoengine_openapi_client/models/statistics_parameters.py geoengine_openapi_client/models/stroke_param.py +geoengine_openapi_client/models/suffix.py geoengine_openapi_client/models/suggest_meta_data.py geoengine_openapi_client/models/symbology.py -geoengine_openapi_client/models/task_abort_options.py geoengine_openapi_client/models/task_filter.py -geoengine_openapi_client/models/task_list_options.py geoengine_openapi_client/models/task_response.py geoengine_openapi_client/models/task_status.py geoengine_openapi_client/models/task_status_aborted.py @@ -479,6 +542,7 @@ geoengine_openapi_client/models/task_status_completed.py geoengine_openapi_client/models/task_status_failed.py geoengine_openapi_client/models/task_status_running.py geoengine_openapi_client/models/task_status_with_id.py +geoengine_openapi_client/models/temporal_aggregation_method.py geoengine_openapi_client/models/text_symbology.py geoengine_openapi_client/models/time_descriptor.py geoengine_openapi_client/models/time_dimension.py @@ -495,10 +559,12 @@ geoengine_openapi_client/models/typed_geometry_one_of1.py geoengine_openapi_client/models/typed_geometry_one_of2.py geoengine_openapi_client/models/typed_geometry_one_of3.py geoengine_openapi_client/models/typed_operator.py -geoengine_openapi_client/models/typed_operator_operator.py +geoengine_openapi_client/models/typed_plot_operator.py geoengine_openapi_client/models/typed_plot_result_descriptor.py +geoengine_openapi_client/models/typed_raster_operator.py geoengine_openapi_client/models/typed_raster_result_descriptor.py geoengine_openapi_client/models/typed_result_descriptor.py +geoengine_openapi_client/models/typed_vector_operator.py geoengine_openapi_client/models/typed_vector_result_descriptor.py geoengine_openapi_client/models/unitless_measurement.py geoengine_openapi_client/models/unix_time_stamp_type.py @@ -517,10 +583,10 @@ geoengine_openapi_client/models/user_session.py geoengine_openapi_client/models/vec_update.py geoengine_openapi_client/models/vector_column_info.py geoengine_openapi_client/models/vector_data_type.py +geoengine_openapi_client/models/vector_operator.py geoengine_openapi_client/models/vector_result_descriptor.py geoengine_openapi_client/models/volume.py geoengine_openapi_client/models/volume_file_layers_response.py -geoengine_openapi_client/models/wcs_boundingbox.py geoengine_openapi_client/models/wcs_request.py geoengine_openapi_client/models/wcs_service.py geoengine_openapi_client/models/wcs_version.py @@ -544,7 +610,6 @@ setup.py test-requirements.txt test/__init__.py test/test_add_dataset.py -test/test_add_dataset_tile.py test/test_add_layer.py test/test_add_layer_collection.py test/test_add_role.py @@ -560,6 +625,7 @@ test/test_collection_item.py test/test_collection_type.py test/test_color_param.py test/test_colorizer.py +test/test_column_names.py test/test_computation_quota.py test/test_continuous_measurement.py test/test_coordinate2_d.py @@ -583,13 +649,17 @@ test/test_dataset_listing.py test/test_dataset_name_response.py test/test_dataset_resource.py test/test_datasets_api.py +test/test_default.py test/test_derived_color.py test/test_derived_number.py test/test_ebv_portal_data_provider_definition.py test/test_edr_data_provider_definition.py test/test_edr_vector_spec.py test/test_error_response.py +test/test_expression.py +test/test_expression_parameters.py test/test_external_data_id.py +test/test_feature_aggregation_method.py test/test_feature_data_type.py test/test_file_not_found_handling.py test/test_format_specifics.py @@ -603,6 +673,8 @@ test/test_gdal_meta_data_static.py test/test_gdal_metadata_mapping.py test/test_gdal_metadata_net_cdf_cf.py test/test_gdal_multi_band.py +test/test_gdal_source.py +test/test_gdal_source_parameters.py test/test_gdal_source_time_placeholder.py test/test_general_api.py test/test_geo_json.py @@ -613,6 +685,15 @@ test/test_gfbio_abcd_data_provider_definition.py test/test_gfbio_collections_data_provider_definition.py test/test_grid_bounding_box2_d.py test/test_grid_idx2_d.py +test/test_histogram.py +test/test_histogram_bounds.py +test/test_histogram_bounds_one_of.py +test/test_histogram_bounds_one_of1.py +test/test_histogram_bounds_one_of1_values.py +test/test_histogram_buckets.py +test/test_histogram_buckets_one_of.py +test/test_histogram_buckets_one_of1.py +test/test_histogram_parameters.py test/test_id_response.py test/test_internal_data_id.py test/test_layer.py @@ -624,6 +705,8 @@ test/test_layer_provider_listing.py test/test_layer_resource.py test/test_layer_visibility.py test/test_layers_api.py +test/test_legacy_typed_operator.py +test/test_legacy_typed_operator_operator.py test/test_line_symbology.py test/test_linear_gradient.py test/test_logarithmic_gradient.py @@ -642,10 +725,15 @@ test/test_ml_model_resource.py test/test_ml_tensor_shape3_d.py test/test_mock_dataset_data_source_loading_info.py test/test_mock_meta_data.py +test/test_mock_point_source.py +test/test_mock_point_source_parameters.py test/test_multi_band_raster_colorizer.py test/test_multi_line_string.py test/test_multi_point.py test/test_multi_polygon.py +test/test_multiple_raster_or_single_vector_operator.py +test/test_multiple_raster_or_single_vector_source.py +test/test_names.py test/test_net_cdf_cf_data_provider_definition.py test/test_number_param.py test/test_ogcwcs_api.py @@ -673,11 +761,11 @@ test/test_order_by.py test/test_palette_colorizer.py test/test_pangaea_data_provider_definition.py test/test_permission.py -test/test_permission_list_options.py test/test_permission_listing.py test/test_permission_request.py test/test_permissions_api.py test/test_plot.py +test/test_plot_operator.py test/test_plot_output_format.py test/test_plot_result_descriptor.py test/test_plots_api.py @@ -692,7 +780,6 @@ test/test_project_version.py test/test_projects_api.py test/test_provenance.py test/test_provenance_entry.py -test/test_provenance_output.py test/test_provenances.py test/test_provider_capabilities.py test/test_provider_layer_collection_id.py @@ -702,13 +789,15 @@ test/test_raster_band_descriptor.py test/test_raster_colorizer.py test/test_raster_data_type.py test/test_raster_dataset_from_workflow.py -test/test_raster_dataset_from_workflow_result.py +test/test_raster_operator.py test/test_raster_properties_entry_type.py test/test_raster_properties_key.py test/test_raster_result_descriptor.py test/test_raster_stream_websocket_result_type.py test/test_raster_symbology.py test/test_raster_to_dataset_query_rectangle.py +test/test_raster_vector_join.py +test/test_raster_vector_join_parameters.py test/test_regular_time_dimension.py test/test_resource.py test/test_role.py @@ -720,25 +809,32 @@ test/test_sentinel_s2_l2_a_cogs_provider_definition.py test/test_server_info.py test/test_session_api.py test/test_single_band_raster_colorizer.py +test/test_single_raster_or_vector_operator.py +test/test_single_raster_or_vector_source.py +test/test_single_raster_source.py +test/test_single_vector_multiple_raster_sources.py +test/test_spatial_bounds_derive.py +test/test_spatial_bounds_derive_bounds.py +test/test_spatial_bounds_derive_derive.py +test/test_spatial_bounds_derive_none.py test/test_spatial_grid_definition.py test/test_spatial_grid_descriptor.py test/test_spatial_grid_descriptor_state.py test/test_spatial_partition2_d.py -test/test_spatial_reference_authority.py test/test_spatial_reference_specification.py test/test_spatial_references_api.py -test/test_spatial_resolution.py test/test_st_rectangle.py test/test_stac_api_retries.py test/test_stac_query_buffer.py test/test_static_color.py test/test_static_number.py +test/test_statistics.py +test/test_statistics_parameters.py test/test_stroke_param.py +test/test_suffix.py test/test_suggest_meta_data.py test/test_symbology.py -test/test_task_abort_options.py test/test_task_filter.py -test/test_task_list_options.py test/test_task_response.py test/test_task_status.py test/test_task_status_aborted.py @@ -747,6 +843,7 @@ test/test_task_status_failed.py test/test_task_status_running.py test/test_task_status_with_id.py test/test_tasks_api.py +test/test_temporal_aggregation_method.py test/test_text_symbology.py test/test_time_descriptor.py test/test_time_dimension.py @@ -763,10 +860,12 @@ test/test_typed_geometry_one_of1.py test/test_typed_geometry_one_of2.py test/test_typed_geometry_one_of3.py test/test_typed_operator.py -test/test_typed_operator_operator.py +test/test_typed_plot_operator.py test/test_typed_plot_result_descriptor.py +test/test_typed_raster_operator.py test/test_typed_raster_result_descriptor.py test/test_typed_result_descriptor.py +test/test_typed_vector_operator.py test/test_typed_vector_result_descriptor.py test/test_unitless_measurement.py test/test_unix_time_stamp_type.py @@ -787,10 +886,10 @@ test/test_user_session.py test/test_vec_update.py test/test_vector_column_info.py test/test_vector_data_type.py +test/test_vector_operator.py test/test_vector_result_descriptor.py test/test_volume.py test/test_volume_file_layers_response.py -test/test_wcs_boundingbox.py test/test_wcs_request.py test/test_wcs_service.py test/test_wcs_version.py diff --git a/python/README.md b/python/README.md index 915cc6a6..411acfaf 100644 --- a/python/README.md +++ b/python/README.md @@ -4,7 +4,7 @@ No description provided (generated by Openapi Generator https://github.com/opena This Python package is automatically generated by the [OpenAPI Generator](https://openapi-generator.tech) project: - API version: 0.9.0 -- Package version: 0.0.32 +- Package version: 0.0.33 - Generator version: 7.20.0 - Build package: org.openapitools.codegen.languages.PythonClientCodegen @@ -190,7 +190,6 @@ Class | Method | HTTP request | Description ## Documentation For Models - [AddDataset](docs/AddDataset.md) - - [AddDatasetTile](docs/AddDatasetTile.md) - [AddLayer](docs/AddLayer.md) - [AddLayerCollection](docs/AddLayerCollection.md) - [AddRole](docs/AddRole.md) @@ -206,6 +205,7 @@ Class | Method | HTTP request | Description - [CollectionType](docs/CollectionType.md) - [ColorParam](docs/ColorParam.md) - [Colorizer](docs/Colorizer.md) + - [ColumnNames](docs/ColumnNames.md) - [ComputationQuota](docs/ComputationQuota.md) - [ContinuousMeasurement](docs/ContinuousMeasurement.md) - [Coordinate2D](docs/Coordinate2D.md) @@ -228,13 +228,17 @@ Class | Method | HTTP request | Description - [DatasetListing](docs/DatasetListing.md) - [DatasetNameResponse](docs/DatasetNameResponse.md) - [DatasetResource](docs/DatasetResource.md) + - [Default](docs/Default.md) - [DerivedColor](docs/DerivedColor.md) - [DerivedNumber](docs/DerivedNumber.md) - [EbvPortalDataProviderDefinition](docs/EbvPortalDataProviderDefinition.md) - [EdrDataProviderDefinition](docs/EdrDataProviderDefinition.md) - [EdrVectorSpec](docs/EdrVectorSpec.md) - [ErrorResponse](docs/ErrorResponse.md) + - [Expression](docs/Expression.md) + - [ExpressionParameters](docs/ExpressionParameters.md) - [ExternalDataId](docs/ExternalDataId.md) + - [FeatureAggregationMethod](docs/FeatureAggregationMethod.md) - [FeatureDataType](docs/FeatureDataType.md) - [FileNotFoundHandling](docs/FileNotFoundHandling.md) - [FormatSpecifics](docs/FormatSpecifics.md) @@ -248,6 +252,8 @@ Class | Method | HTTP request | Description - [GdalMetadataMapping](docs/GdalMetadataMapping.md) - [GdalMetadataNetCdfCf](docs/GdalMetadataNetCdfCf.md) - [GdalMultiBand](docs/GdalMultiBand.md) + - [GdalSource](docs/GdalSource.md) + - [GdalSourceParameters](docs/GdalSourceParameters.md) - [GdalSourceTimePlaceholder](docs/GdalSourceTimePlaceholder.md) - [GeoJson](docs/GeoJson.md) - [GeoTransform](docs/GeoTransform.md) @@ -257,6 +263,15 @@ Class | Method | HTTP request | Description - [GfbioCollectionsDataProviderDefinition](docs/GfbioCollectionsDataProviderDefinition.md) - [GridBoundingBox2D](docs/GridBoundingBox2D.md) - [GridIdx2D](docs/GridIdx2D.md) + - [Histogram](docs/Histogram.md) + - [HistogramBounds](docs/HistogramBounds.md) + - [HistogramBoundsOneOf](docs/HistogramBoundsOneOf.md) + - [HistogramBoundsOneOf1](docs/HistogramBoundsOneOf1.md) + - [HistogramBoundsOneOf1Values](docs/HistogramBoundsOneOf1Values.md) + - [HistogramBuckets](docs/HistogramBuckets.md) + - [HistogramBucketsOneOf](docs/HistogramBucketsOneOf.md) + - [HistogramBucketsOneOf1](docs/HistogramBucketsOneOf1.md) + - [HistogramParameters](docs/HistogramParameters.md) - [IdResponse](docs/IdResponse.md) - [InternalDataId](docs/InternalDataId.md) - [Layer](docs/Layer.md) @@ -267,6 +282,8 @@ Class | Method | HTTP request | Description - [LayerProviderListing](docs/LayerProviderListing.md) - [LayerResource](docs/LayerResource.md) - [LayerVisibility](docs/LayerVisibility.md) + - [LegacyTypedOperator](docs/LegacyTypedOperator.md) + - [LegacyTypedOperatorOperator](docs/LegacyTypedOperatorOperator.md) - [LineSymbology](docs/LineSymbology.md) - [LinearGradient](docs/LinearGradient.md) - [LogarithmicGradient](docs/LogarithmicGradient.md) @@ -284,10 +301,15 @@ Class | Method | HTTP request | Description - [MlTensorShape3D](docs/MlTensorShape3D.md) - [MockDatasetDataSourceLoadingInfo](docs/MockDatasetDataSourceLoadingInfo.md) - [MockMetaData](docs/MockMetaData.md) + - [MockPointSource](docs/MockPointSource.md) + - [MockPointSourceParameters](docs/MockPointSourceParameters.md) - [MultiBandRasterColorizer](docs/MultiBandRasterColorizer.md) - [MultiLineString](docs/MultiLineString.md) - [MultiPoint](docs/MultiPoint.md) - [MultiPolygon](docs/MultiPolygon.md) + - [MultipleRasterOrSingleVectorOperator](docs/MultipleRasterOrSingleVectorOperator.md) + - [MultipleRasterOrSingleVectorSource](docs/MultipleRasterOrSingleVectorSource.md) + - [Names](docs/Names.md) - [NetCdfCfDataProviderDefinition](docs/NetCdfCfDataProviderDefinition.md) - [NumberParam](docs/NumberParam.md) - [OgrMetaData](docs/OgrMetaData.md) @@ -312,10 +334,10 @@ Class | Method | HTTP request | Description - [PaletteColorizer](docs/PaletteColorizer.md) - [PangaeaDataProviderDefinition](docs/PangaeaDataProviderDefinition.md) - [Permission](docs/Permission.md) - - [PermissionListOptions](docs/PermissionListOptions.md) - [PermissionListing](docs/PermissionListing.md) - [PermissionRequest](docs/PermissionRequest.md) - [Plot](docs/Plot.md) + - [PlotOperator](docs/PlotOperator.md) - [PlotOutputFormat](docs/PlotOutputFormat.md) - [PlotResultDescriptor](docs/PlotResultDescriptor.md) - [PointSymbology](docs/PointSymbology.md) @@ -328,7 +350,6 @@ Class | Method | HTTP request | Description - [ProjectVersion](docs/ProjectVersion.md) - [Provenance](docs/Provenance.md) - [ProvenanceEntry](docs/ProvenanceEntry.md) - - [ProvenanceOutput](docs/ProvenanceOutput.md) - [Provenances](docs/Provenances.md) - [ProviderCapabilities](docs/ProviderCapabilities.md) - [ProviderLayerCollectionId](docs/ProviderLayerCollectionId.md) @@ -338,13 +359,15 @@ Class | Method | HTTP request | Description - [RasterColorizer](docs/RasterColorizer.md) - [RasterDataType](docs/RasterDataType.md) - [RasterDatasetFromWorkflow](docs/RasterDatasetFromWorkflow.md) - - [RasterDatasetFromWorkflowResult](docs/RasterDatasetFromWorkflowResult.md) + - [RasterOperator](docs/RasterOperator.md) - [RasterPropertiesEntryType](docs/RasterPropertiesEntryType.md) - [RasterPropertiesKey](docs/RasterPropertiesKey.md) - [RasterResultDescriptor](docs/RasterResultDescriptor.md) - [RasterStreamWebsocketResultType](docs/RasterStreamWebsocketResultType.md) - [RasterSymbology](docs/RasterSymbology.md) - [RasterToDatasetQueryRectangle](docs/RasterToDatasetQueryRectangle.md) + - [RasterVectorJoin](docs/RasterVectorJoin.md) + - [RasterVectorJoinParameters](docs/RasterVectorJoinParameters.md) - [RegularTimeDimension](docs/RegularTimeDimension.md) - [Resource](docs/Resource.md) - [Role](docs/Role.md) @@ -356,23 +379,30 @@ Class | Method | HTTP request | Description - [SentinelS2L2ACogsProviderDefinition](docs/SentinelS2L2ACogsProviderDefinition.md) - [ServerInfo](docs/ServerInfo.md) - [SingleBandRasterColorizer](docs/SingleBandRasterColorizer.md) + - [SingleRasterOrVectorOperator](docs/SingleRasterOrVectorOperator.md) + - [SingleRasterOrVectorSource](docs/SingleRasterOrVectorSource.md) + - [SingleRasterSource](docs/SingleRasterSource.md) + - [SingleVectorMultipleRasterSources](docs/SingleVectorMultipleRasterSources.md) + - [SpatialBoundsDerive](docs/SpatialBoundsDerive.md) + - [SpatialBoundsDeriveBounds](docs/SpatialBoundsDeriveBounds.md) + - [SpatialBoundsDeriveDerive](docs/SpatialBoundsDeriveDerive.md) + - [SpatialBoundsDeriveNone](docs/SpatialBoundsDeriveNone.md) - [SpatialGridDefinition](docs/SpatialGridDefinition.md) - [SpatialGridDescriptor](docs/SpatialGridDescriptor.md) - [SpatialGridDescriptorState](docs/SpatialGridDescriptorState.md) - [SpatialPartition2D](docs/SpatialPartition2D.md) - - [SpatialReferenceAuthority](docs/SpatialReferenceAuthority.md) - [SpatialReferenceSpecification](docs/SpatialReferenceSpecification.md) - - [SpatialResolution](docs/SpatialResolution.md) - [StacApiRetries](docs/StacApiRetries.md) - [StacQueryBuffer](docs/StacQueryBuffer.md) - [StaticColor](docs/StaticColor.md) - [StaticNumber](docs/StaticNumber.md) + - [Statistics](docs/Statistics.md) + - [StatisticsParameters](docs/StatisticsParameters.md) - [StrokeParam](docs/StrokeParam.md) + - [Suffix](docs/Suffix.md) - [SuggestMetaData](docs/SuggestMetaData.md) - [Symbology](docs/Symbology.md) - - [TaskAbortOptions](docs/TaskAbortOptions.md) - [TaskFilter](docs/TaskFilter.md) - - [TaskListOptions](docs/TaskListOptions.md) - [TaskResponse](docs/TaskResponse.md) - [TaskStatus](docs/TaskStatus.md) - [TaskStatusAborted](docs/TaskStatusAborted.md) @@ -380,6 +410,7 @@ Class | Method | HTTP request | Description - [TaskStatusFailed](docs/TaskStatusFailed.md) - [TaskStatusRunning](docs/TaskStatusRunning.md) - [TaskStatusWithId](docs/TaskStatusWithId.md) + - [TemporalAggregationMethod](docs/TemporalAggregationMethod.md) - [TextSymbology](docs/TextSymbology.md) - [TimeDescriptor](docs/TimeDescriptor.md) - [TimeDimension](docs/TimeDimension.md) @@ -396,10 +427,12 @@ Class | Method | HTTP request | Description - [TypedGeometryOneOf2](docs/TypedGeometryOneOf2.md) - [TypedGeometryOneOf3](docs/TypedGeometryOneOf3.md) - [TypedOperator](docs/TypedOperator.md) - - [TypedOperatorOperator](docs/TypedOperatorOperator.md) + - [TypedPlotOperator](docs/TypedPlotOperator.md) - [TypedPlotResultDescriptor](docs/TypedPlotResultDescriptor.md) + - [TypedRasterOperator](docs/TypedRasterOperator.md) - [TypedRasterResultDescriptor](docs/TypedRasterResultDescriptor.md) - [TypedResultDescriptor](docs/TypedResultDescriptor.md) + - [TypedVectorOperator](docs/TypedVectorOperator.md) - [TypedVectorResultDescriptor](docs/TypedVectorResultDescriptor.md) - [UnitlessMeasurement](docs/UnitlessMeasurement.md) - [UnixTimeStampType](docs/UnixTimeStampType.md) @@ -418,10 +451,10 @@ Class | Method | HTTP request | Description - [VecUpdate](docs/VecUpdate.md) - [VectorColumnInfo](docs/VectorColumnInfo.md) - [VectorDataType](docs/VectorDataType.md) + - [VectorOperator](docs/VectorOperator.md) - [VectorResultDescriptor](docs/VectorResultDescriptor.md) - [Volume](docs/Volume.md) - [VolumeFileLayersResponse](docs/VolumeFileLayersResponse.md) - - [WcsBoundingbox](docs/WcsBoundingbox.md) - [WcsRequest](docs/WcsRequest.md) - [WcsService](docs/WcsService.md) - [WcsVersion](docs/WcsVersion.md) diff --git a/python/diffs/python/geoengine_openapi_client/api/layers_api.py.diff b/python/diffs/python/geoengine_openapi_client/api/layers_api.py.diff new file mode 100644 index 00000000..772c48ac --- /dev/null +++ b/python/diffs/python/geoengine_openapi_client/api/layers_api.py.diff @@ -0,0 +1,67 @@ +--- python/geoengine_openapi_client/api/layers_api.py ++++ python/geoengine_openapi_client/api/layers_api.py +@@ -401,7 +401,7 @@ + _request_timeout=_request_timeout + ) + response_data.read() +- return self.api_client.response_deserialize( ++ # Note: fixed handling of empty responses + if response_data.data is None: + return None + + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data +@@ -667,7 +667,7 @@ + _request_timeout=_request_timeout + ) + response_data.read() +- return self.api_client.response_deserialize( ++ # Note: fixed handling of empty responses + if response_data.data is None: + return None + + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data +@@ -4274,7 +4274,7 @@ + _request_timeout=_request_timeout + ) + response_data.read() +- return self.api_client.response_deserialize( ++ # Note: fixed handling of empty responses + if response_data.data is None: + return None + + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data +@@ -4529,7 +4529,7 @@ + _request_timeout=_request_timeout + ) + response_data.read() +- return self.api_client.response_deserialize( ++ # Note: fixed handling of empty responses + if response_data.data is None: + return None + + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data +@@ -5046,7 +5046,7 @@ + _request_timeout=_request_timeout + ) + response_data.read() +- return self.api_client.response_deserialize( ++ # Note: fixed handling of empty responses + if response_data.data is None: + return None + + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data diff --git a/python/diffs/python/geoengine_openapi_client/api/tasks_api.py.diff b/python/diffs/python/geoengine_openapi_client/api/tasks_api.py.diff new file mode 100644 index 00000000..b07d04fe --- /dev/null +++ b/python/diffs/python/geoengine_openapi_client/api/tasks_api.py.diff @@ -0,0 +1,15 @@ +--- python/geoengine_openapi_client/api/tasks_api.py ++++ python/geoengine_openapi_client/api/tasks_api.py +@@ -106,7 +106,7 @@ + _request_timeout=_request_timeout + ) + response_data.read() +- return self.api_client.response_deserialize( ++ # Note: fixed handling of empty responses + if response_data.data is None: + return None + + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data diff --git a/python/diffs/python/geoengine_openapi_client/api_client.py.diff b/python/diffs/python/geoengine_openapi_client/api_client.py.diff new file mode 100644 index 00000000..d217473c --- /dev/null +++ b/python/diffs/python/geoengine_openapi_client/api_client.py.diff @@ -0,0 +1,11 @@ +--- python/geoengine_openapi_client/api_client.py ++++ python/geoengine_openapi_client/api_client.py +@@ -91,7 +91,7 @@ + self.default_headers[header_name] = header_value + self.cookie = cookie + # Set default User-Agent. +- self.user_agent = 'OpenAPI-Generator/0.0.33/python' ++ self.user_agent = 'geoengine/openapi-client/python/0.0.33' + self.client_side_validation = configuration.client_side_validation + + def __enter__(self): diff --git a/python/diffs/python/geoengine_openapi_client/exceptions.py.diff b/python/diffs/python/geoengine_openapi_client/exceptions.py.diff new file mode 100644 index 00000000..e8f6db7f --- /dev/null +++ b/python/diffs/python/geoengine_openapi_client/exceptions.py.diff @@ -0,0 +1,17 @@ +--- python/geoengine_openapi_client/exceptions.py ++++ python/geoengine_openapi_client/exceptions.py +@@ -162,7 +162,7 @@ + raise ApiException(http_resp=http_resp, body=body, data=data) + + def __str__(self): +- """Custom error messages for exception""" ++ """Custom error messages for exception""" + + # Note: changed message formatting + import json + parsed_body = json.loads(self.body) + return f'{parsed_body["error"]}: {parsed_body["message"]}' + + error_message = "({0})\n"\ + "Reason: {1}\n".format(self.status, self.reason) + if self.headers: diff --git a/python/diffs/python/geoengine_openapi_client/models/plot_result_descriptor.py.diff b/python/diffs/python/geoengine_openapi_client/models/plot_result_descriptor.py.diff new file mode 100644 index 00000000..00581742 --- /dev/null +++ b/python/diffs/python/geoengine_openapi_client/models/plot_result_descriptor.py.diff @@ -0,0 +1,24 @@ +--- python/geoengine_openapi_client/models/plot_result_descriptor.py ++++ python/geoengine_openapi_client/models/plot_result_descriptor.py +@@ -93,6 +93,6 @@ + + @classmethod + def from_dict(cls, obj: Dict[str, Any]) -> Optional[Self]: +- """Create an instance of PlotResultDescriptor from a dict""" ++ """Create an instance of PlotResultDescriptor from a dict""" + + # Note: fixed + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "bbox": BoundingBox2D.from_dict(obj["bbox"]) if obj.get("bbox") is not None else None, + "spatialReference": obj.get("spatialReference"), + "time": TimeInterval.from_dict(obj["time"]) if obj.get("time") is not None else None, + }) + return _obj + + diff --git a/python/diffs/python/geoengine_openapi_client/models/raster_result_descriptor.py.diff b/python/diffs/python/geoengine_openapi_client/models/raster_result_descriptor.py.diff new file mode 100644 index 00000000..822437f7 --- /dev/null +++ b/python/diffs/python/geoengine_openapi_client/models/raster_result_descriptor.py.diff @@ -0,0 +1,26 @@ +--- python/geoengine_openapi_client/models/raster_result_descriptor.py ++++ python/geoengine_openapi_client/models/raster_result_descriptor.py +@@ -94,6 +94,6 @@ + + @classmethod + def from_dict(cls, obj: Dict[str, Any]) -> Optional[Self]: +- """Create an instance of RasterResultDescriptor from a dict""" ++ """Create an instance of RasterResultDescriptor from a dict""" + + # Note: fixed + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "bands": [RasterBandDescriptor.from_dict(_item) for _item in obj["bands"]] if obj.get("bands") is not None else None, + "spatialGrid": SpatialGridDescriptor.from_dict(obj["spatialGrid"]) if obj.get("spatialGrid") is not None else None, + "dataType": obj.get("dataType"), + "spatialReference": obj.get("spatialReference"), + "time": TimeDescriptor.from_dict(obj["time"]) if obj.get("time") is not None else None, + }) + return _obj + + diff --git a/python/diffs/python/geoengine_openapi_client/models/task_status_with_id.py.diff b/python/diffs/python/geoengine_openapi_client/models/task_status_with_id.py.diff new file mode 100644 index 00000000..c5f50332 --- /dev/null +++ b/python/diffs/python/geoengine_openapi_client/models/task_status_with_id.py.diff @@ -0,0 +1,42 @@ +--- python/geoengine_openapi_client/models/task_status_with_id.py ++++ python/geoengine_openapi_client/models/task_status_with_id.py +@@ -73,17 +73,17 @@ + ) + # set to None if info (nullable) is None + # and model_fields_set contains the field +- if self.info is None and "info" in self.model_fields_set: ++ # Note: fixed handling of actual_instance + if getattr(self.actual_instance, "info", None) is None and "info" in self.actual_instance.__fields_set__: + _dict['info'] = None + + # set to None if clean_up (nullable) is None + # and model_fields_set contains the field +- if self.clean_up is None and "clean_up" in self.model_fields_set: ++ # Note: fixed handling of actual_instance + if getattr(self.actual_instance, "clean_up", None) is None and "clean_up" in self.actual_instance.__fields_set__: + _dict['cleanUp'] = None + + # set to None if error (nullable) is None + # and model_fields_set contains the field +- if self.error is None and "error" in self.model_fields_set: ++ # Note: fixed handling of actual_instance + if getattr(self.actual_instance, "error", None) is None and "error" in self.actual_instance.__fields_set__: + _dict['error'] = None + + return _dict +@@ -97,7 +97,7 @@ + if not isinstance(obj, dict): + return cls.model_validate(obj) + +- _obj = cls.model_validate({ ++ # Note: fixed handling of actual_instance + _obj = cls.model_validate({ + "actual_instance": TaskStatus.from_dict(obj).actual_instance, + "task_id": obj.get("taskId") + }) + return _obj + + _obj = cls.model_validate({ + "description": obj.get("description"), + "estimatedTimeRemaining": obj.get("estimatedTimeRemaining"), + "info": obj.get("info"), diff --git a/python/diffs/python/geoengine_openapi_client/models/time_step.py.diff b/python/diffs/python/geoengine_openapi_client/models/time_step.py.diff new file mode 100644 index 00000000..37794c2b --- /dev/null +++ b/python/diffs/python/geoengine_openapi_client/models/time_step.py.diff @@ -0,0 +1,23 @@ +--- python/geoengine_openapi_client/models/time_step.py ++++ python/geoengine_openapi_client/models/time_step.py +@@ -76,6 +76,6 @@ + + @classmethod + def from_dict(cls, obj: Dict[str, Any]) -> Optional[Self]: +- """Create an instance of TimeStep from a dict""" ++ """Create an instance of TimeStep from a dict""" + + # Note: fixed handling of TimeGranularity enum + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "granularity": TimeGranularity(obj["granularity"]) if obj.get("granularity") is not None else None, + "step": obj.get("step"), + }) + return _obj + + diff --git a/python/diffs/python/geoengine_openapi_client/models/vector_result_descriptor.py.diff b/python/diffs/python/geoengine_openapi_client/models/vector_result_descriptor.py.diff new file mode 100644 index 00000000..d6a4ab85 --- /dev/null +++ b/python/diffs/python/geoengine_openapi_client/models/vector_result_descriptor.py.diff @@ -0,0 +1,31 @@ +--- python/geoengine_openapi_client/models/vector_result_descriptor.py ++++ python/geoengine_openapi_client/models/vector_result_descriptor.py +@@ -104,6 +104,6 @@ + + @classmethod + def from_dict(cls, obj: Dict[str, Any]) -> Optional[Self]: +- """Create an instance of VectorResultDescriptor from a dict""" ++ """Create an instance of VectorResultDescriptor from a dict""" + + # Note: fixed + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "bbox": BoundingBox2D.from_dict(obj["bbox"]) if obj.get("bbox") is not None else None, + "columns": dict( + (_k, VectorColumnInfo.from_dict(_v)) + for _k, _v in obj["columns"].items() + ) + if obj.get("columns") is not None + else None, + "dataType": obj.get("dataType"), + "spatialReference": obj.get("spatialReference"), + "time": TimeInterval.from_dict(obj["time"]) if obj.get("time") is not None else None, + }) + return _obj + + diff --git a/python/diffs/python/geoengine_openapi_client/models/workflow.py.diff b/python/diffs/python/geoengine_openapi_client/models/workflow.py.diff new file mode 100644 index 00000000..43d8d6a2 --- /dev/null +++ b/python/diffs/python/geoengine_openapi_client/models/workflow.py.diff @@ -0,0 +1,33 @@ +--- python/geoengine_openapi_client/models/workflow.py ++++ python/geoengine_openapi_client/models/workflow.py +@@ -62,12 +62,12 @@ + if not isinstance(v, TypedOperator): + error_messages.append(f"Error! Input type `{type(v)}` is not `TypedOperator`") + else: +- match += 1 ++ return v + # validate data type: LegacyTypedOperator + if not isinstance(v, LegacyTypedOperator): + error_messages.append(f"Error! Input type `{type(v)}` is not `LegacyTypedOperator`") + else: +- match += 1 ++ return v + if match > 1: + # more than 1 match + raise ValueError("Multiple matches found when setting `actual_instance` in Workflow with oneOf schemas: LegacyTypedOperator, TypedOperator. Details: " + ", ".join(error_messages)) +@@ -91,13 +91,13 @@ + # deserialize data into TypedOperator + try: + instance.actual_instance = TypedOperator.from_json(json_str) +- match += 1 ++ return instance + except (ValidationError, ValueError) as e: + error_messages.append(str(e)) + # deserialize data into LegacyTypedOperator + try: + instance.actual_instance = LegacyTypedOperator.from_json(json_str) +- match += 1 ++ return instance + except (ValidationError, ValueError) as e: + error_messages.append(str(e)) + diff --git a/python/geoengine_openapi_client/__init__.py b/python/geoengine_openapi_client/__init__.py index edd4bf8a..9f4437c4 100644 --- a/python/geoengine_openapi_client/__init__.py +++ b/python/geoengine_openapi_client/__init__.py @@ -15,7 +15,7 @@ """ # noqa: E501 -__version__ = "0.0.32" +__version__ = "0.0.33" # Define package exports __all__ = [ @@ -45,7 +45,6 @@ "ApiAttributeError", "ApiException", "AddDataset", - "AddDatasetTile", "AddLayer", "AddLayerCollection", "AddRole", @@ -61,6 +60,7 @@ "CollectionType", "ColorParam", "Colorizer", + "ColumnNames", "ComputationQuota", "ContinuousMeasurement", "Coordinate2D", @@ -83,13 +83,17 @@ "DatasetListing", "DatasetNameResponse", "DatasetResource", + "Default", "DerivedColor", "DerivedNumber", "EbvPortalDataProviderDefinition", "EdrDataProviderDefinition", "EdrVectorSpec", "ErrorResponse", + "Expression", + "ExpressionParameters", "ExternalDataId", + "FeatureAggregationMethod", "FeatureDataType", "FileNotFoundHandling", "FormatSpecifics", @@ -103,6 +107,8 @@ "GdalMetadataMapping", "GdalMetadataNetCdfCf", "GdalMultiBand", + "GdalSource", + "GdalSourceParameters", "GdalSourceTimePlaceholder", "GeoJson", "GeoTransform", @@ -112,6 +118,15 @@ "GfbioCollectionsDataProviderDefinition", "GridBoundingBox2D", "GridIdx2D", + "Histogram", + "HistogramBounds", + "HistogramBoundsOneOf", + "HistogramBoundsOneOf1", + "HistogramBoundsOneOf1Values", + "HistogramBuckets", + "HistogramBucketsOneOf", + "HistogramBucketsOneOf1", + "HistogramParameters", "IdResponse", "InternalDataId", "Layer", @@ -122,6 +137,8 @@ "LayerProviderListing", "LayerResource", "LayerVisibility", + "LegacyTypedOperator", + "LegacyTypedOperatorOperator", "LineSymbology", "LinearGradient", "LogarithmicGradient", @@ -139,10 +156,15 @@ "MlTensorShape3D", "MockDatasetDataSourceLoadingInfo", "MockMetaData", + "MockPointSource", + "MockPointSourceParameters", "MultiBandRasterColorizer", "MultiLineString", "MultiPoint", "MultiPolygon", + "MultipleRasterOrSingleVectorOperator", + "MultipleRasterOrSingleVectorSource", + "Names", "NetCdfCfDataProviderDefinition", "NumberParam", "OgrMetaData", @@ -167,10 +189,10 @@ "PaletteColorizer", "PangaeaDataProviderDefinition", "Permission", - "PermissionListOptions", "PermissionListing", "PermissionRequest", "Plot", + "PlotOperator", "PlotOutputFormat", "PlotResultDescriptor", "PointSymbology", @@ -183,7 +205,6 @@ "ProjectVersion", "Provenance", "ProvenanceEntry", - "ProvenanceOutput", "Provenances", "ProviderCapabilities", "ProviderLayerCollectionId", @@ -193,13 +214,15 @@ "RasterColorizer", "RasterDataType", "RasterDatasetFromWorkflow", - "RasterDatasetFromWorkflowResult", + "RasterOperator", "RasterPropertiesEntryType", "RasterPropertiesKey", "RasterResultDescriptor", "RasterStreamWebsocketResultType", "RasterSymbology", "RasterToDatasetQueryRectangle", + "RasterVectorJoin", + "RasterVectorJoinParameters", "RegularTimeDimension", "Resource", "Role", @@ -211,23 +234,30 @@ "SentinelS2L2ACogsProviderDefinition", "ServerInfo", "SingleBandRasterColorizer", + "SingleRasterOrVectorOperator", + "SingleRasterOrVectorSource", + "SingleRasterSource", + "SingleVectorMultipleRasterSources", + "SpatialBoundsDerive", + "SpatialBoundsDeriveBounds", + "SpatialBoundsDeriveDerive", + "SpatialBoundsDeriveNone", "SpatialGridDefinition", "SpatialGridDescriptor", "SpatialGridDescriptorState", "SpatialPartition2D", - "SpatialReferenceAuthority", "SpatialReferenceSpecification", - "SpatialResolution", "StacApiRetries", "StacQueryBuffer", "StaticColor", "StaticNumber", + "Statistics", + "StatisticsParameters", "StrokeParam", + "Suffix", "SuggestMetaData", "Symbology", - "TaskAbortOptions", "TaskFilter", - "TaskListOptions", "TaskResponse", "TaskStatus", "TaskStatusAborted", @@ -235,6 +265,7 @@ "TaskStatusFailed", "TaskStatusRunning", "TaskStatusWithId", + "TemporalAggregationMethod", "TextSymbology", "TimeDescriptor", "TimeDimension", @@ -251,10 +282,12 @@ "TypedGeometryOneOf2", "TypedGeometryOneOf3", "TypedOperator", - "TypedOperatorOperator", + "TypedPlotOperator", "TypedPlotResultDescriptor", + "TypedRasterOperator", "TypedRasterResultDescriptor", "TypedResultDescriptor", + "TypedVectorOperator", "TypedVectorResultDescriptor", "UnitlessMeasurement", "UnixTimeStampType", @@ -273,10 +306,10 @@ "VecUpdate", "VectorColumnInfo", "VectorDataType", + "VectorOperator", "VectorResultDescriptor", "Volume", "VolumeFileLayersResponse", - "WcsBoundingbox", "WcsRequest", "WcsService", "WcsVersion", @@ -323,7 +356,6 @@ # import models into sdk package from geoengine_openapi_client.models.add_dataset import AddDataset as AddDataset -from geoengine_openapi_client.models.add_dataset_tile import AddDatasetTile as AddDatasetTile from geoengine_openapi_client.models.add_layer import AddLayer as AddLayer from geoengine_openapi_client.models.add_layer_collection import AddLayerCollection as AddLayerCollection from geoengine_openapi_client.models.add_role import AddRole as AddRole @@ -339,6 +371,7 @@ from geoengine_openapi_client.models.collection_type import CollectionType as CollectionType from geoengine_openapi_client.models.color_param import ColorParam as ColorParam from geoengine_openapi_client.models.colorizer import Colorizer as Colorizer +from geoengine_openapi_client.models.column_names import ColumnNames as ColumnNames from geoengine_openapi_client.models.computation_quota import ComputationQuota as ComputationQuota from geoengine_openapi_client.models.continuous_measurement import ContinuousMeasurement as ContinuousMeasurement from geoengine_openapi_client.models.coordinate2_d import Coordinate2D as Coordinate2D @@ -361,13 +394,17 @@ from geoengine_openapi_client.models.dataset_listing import DatasetListing as DatasetListing from geoengine_openapi_client.models.dataset_name_response import DatasetNameResponse as DatasetNameResponse from geoengine_openapi_client.models.dataset_resource import DatasetResource as DatasetResource +from geoengine_openapi_client.models.default import Default as Default from geoengine_openapi_client.models.derived_color import DerivedColor as DerivedColor from geoengine_openapi_client.models.derived_number import DerivedNumber as DerivedNumber from geoengine_openapi_client.models.ebv_portal_data_provider_definition import EbvPortalDataProviderDefinition as EbvPortalDataProviderDefinition from geoengine_openapi_client.models.edr_data_provider_definition import EdrDataProviderDefinition as EdrDataProviderDefinition from geoengine_openapi_client.models.edr_vector_spec import EdrVectorSpec as EdrVectorSpec from geoengine_openapi_client.models.error_response import ErrorResponse as ErrorResponse +from geoengine_openapi_client.models.expression import Expression as Expression +from geoengine_openapi_client.models.expression_parameters import ExpressionParameters as ExpressionParameters from geoengine_openapi_client.models.external_data_id import ExternalDataId as ExternalDataId +from geoengine_openapi_client.models.feature_aggregation_method import FeatureAggregationMethod as FeatureAggregationMethod from geoengine_openapi_client.models.feature_data_type import FeatureDataType as FeatureDataType from geoengine_openapi_client.models.file_not_found_handling import FileNotFoundHandling as FileNotFoundHandling from geoengine_openapi_client.models.format_specifics import FormatSpecifics as FormatSpecifics @@ -381,6 +418,8 @@ from geoengine_openapi_client.models.gdal_metadata_mapping import GdalMetadataMapping as GdalMetadataMapping from geoengine_openapi_client.models.gdal_metadata_net_cdf_cf import GdalMetadataNetCdfCf as GdalMetadataNetCdfCf from geoengine_openapi_client.models.gdal_multi_band import GdalMultiBand as GdalMultiBand +from geoengine_openapi_client.models.gdal_source import GdalSource as GdalSource +from geoengine_openapi_client.models.gdal_source_parameters import GdalSourceParameters as GdalSourceParameters from geoengine_openapi_client.models.gdal_source_time_placeholder import GdalSourceTimePlaceholder as GdalSourceTimePlaceholder from geoengine_openapi_client.models.geo_json import GeoJson as GeoJson from geoengine_openapi_client.models.geo_transform import GeoTransform as GeoTransform @@ -390,6 +429,15 @@ from geoengine_openapi_client.models.gfbio_collections_data_provider_definition import GfbioCollectionsDataProviderDefinition as GfbioCollectionsDataProviderDefinition from geoengine_openapi_client.models.grid_bounding_box2_d import GridBoundingBox2D as GridBoundingBox2D from geoengine_openapi_client.models.grid_idx2_d import GridIdx2D as GridIdx2D +from geoengine_openapi_client.models.histogram import Histogram as Histogram +from geoengine_openapi_client.models.histogram_bounds import HistogramBounds as HistogramBounds +from geoengine_openapi_client.models.histogram_bounds_one_of import HistogramBoundsOneOf as HistogramBoundsOneOf +from geoengine_openapi_client.models.histogram_bounds_one_of1 import HistogramBoundsOneOf1 as HistogramBoundsOneOf1 +from geoengine_openapi_client.models.histogram_bounds_one_of1_values import HistogramBoundsOneOf1Values as HistogramBoundsOneOf1Values +from geoengine_openapi_client.models.histogram_buckets import HistogramBuckets as HistogramBuckets +from geoengine_openapi_client.models.histogram_buckets_one_of import HistogramBucketsOneOf as HistogramBucketsOneOf +from geoengine_openapi_client.models.histogram_buckets_one_of1 import HistogramBucketsOneOf1 as HistogramBucketsOneOf1 +from geoengine_openapi_client.models.histogram_parameters import HistogramParameters as HistogramParameters from geoengine_openapi_client.models.id_response import IdResponse as IdResponse from geoengine_openapi_client.models.internal_data_id import InternalDataId as InternalDataId from geoengine_openapi_client.models.layer import Layer as Layer @@ -400,6 +448,8 @@ from geoengine_openapi_client.models.layer_provider_listing import LayerProviderListing as LayerProviderListing from geoengine_openapi_client.models.layer_resource import LayerResource as LayerResource from geoengine_openapi_client.models.layer_visibility import LayerVisibility as LayerVisibility +from geoengine_openapi_client.models.legacy_typed_operator import LegacyTypedOperator as LegacyTypedOperator +from geoengine_openapi_client.models.legacy_typed_operator_operator import LegacyTypedOperatorOperator as LegacyTypedOperatorOperator from geoengine_openapi_client.models.line_symbology import LineSymbology as LineSymbology from geoengine_openapi_client.models.linear_gradient import LinearGradient as LinearGradient from geoengine_openapi_client.models.logarithmic_gradient import LogarithmicGradient as LogarithmicGradient @@ -417,10 +467,15 @@ from geoengine_openapi_client.models.ml_tensor_shape3_d import MlTensorShape3D as MlTensorShape3D from geoengine_openapi_client.models.mock_dataset_data_source_loading_info import MockDatasetDataSourceLoadingInfo as MockDatasetDataSourceLoadingInfo from geoengine_openapi_client.models.mock_meta_data import MockMetaData as MockMetaData +from geoengine_openapi_client.models.mock_point_source import MockPointSource as MockPointSource +from geoengine_openapi_client.models.mock_point_source_parameters import MockPointSourceParameters as MockPointSourceParameters from geoengine_openapi_client.models.multi_band_raster_colorizer import MultiBandRasterColorizer as MultiBandRasterColorizer from geoengine_openapi_client.models.multi_line_string import MultiLineString as MultiLineString from geoengine_openapi_client.models.multi_point import MultiPoint as MultiPoint from geoengine_openapi_client.models.multi_polygon import MultiPolygon as MultiPolygon +from geoengine_openapi_client.models.multiple_raster_or_single_vector_operator import MultipleRasterOrSingleVectorOperator as MultipleRasterOrSingleVectorOperator +from geoengine_openapi_client.models.multiple_raster_or_single_vector_source import MultipleRasterOrSingleVectorSource as MultipleRasterOrSingleVectorSource +from geoengine_openapi_client.models.names import Names as Names from geoengine_openapi_client.models.net_cdf_cf_data_provider_definition import NetCdfCfDataProviderDefinition as NetCdfCfDataProviderDefinition from geoengine_openapi_client.models.number_param import NumberParam as NumberParam from geoengine_openapi_client.models.ogr_meta_data import OgrMetaData as OgrMetaData @@ -445,10 +500,10 @@ from geoengine_openapi_client.models.palette_colorizer import PaletteColorizer as PaletteColorizer from geoengine_openapi_client.models.pangaea_data_provider_definition import PangaeaDataProviderDefinition as PangaeaDataProviderDefinition from geoengine_openapi_client.models.permission import Permission as Permission -from geoengine_openapi_client.models.permission_list_options import PermissionListOptions as PermissionListOptions from geoengine_openapi_client.models.permission_listing import PermissionListing as PermissionListing from geoengine_openapi_client.models.permission_request import PermissionRequest as PermissionRequest from geoengine_openapi_client.models.plot import Plot as Plot +from geoengine_openapi_client.models.plot_operator import PlotOperator as PlotOperator from geoengine_openapi_client.models.plot_output_format import PlotOutputFormat as PlotOutputFormat from geoengine_openapi_client.models.plot_result_descriptor import PlotResultDescriptor as PlotResultDescriptor from geoengine_openapi_client.models.point_symbology import PointSymbology as PointSymbology @@ -461,7 +516,6 @@ from geoengine_openapi_client.models.project_version import ProjectVersion as ProjectVersion from geoengine_openapi_client.models.provenance import Provenance as Provenance from geoengine_openapi_client.models.provenance_entry import ProvenanceEntry as ProvenanceEntry -from geoengine_openapi_client.models.provenance_output import ProvenanceOutput as ProvenanceOutput from geoengine_openapi_client.models.provenances import Provenances as Provenances from geoengine_openapi_client.models.provider_capabilities import ProviderCapabilities as ProviderCapabilities from geoengine_openapi_client.models.provider_layer_collection_id import ProviderLayerCollectionId as ProviderLayerCollectionId @@ -471,13 +525,15 @@ from geoengine_openapi_client.models.raster_colorizer import RasterColorizer as RasterColorizer from geoengine_openapi_client.models.raster_data_type import RasterDataType as RasterDataType from geoengine_openapi_client.models.raster_dataset_from_workflow import RasterDatasetFromWorkflow as RasterDatasetFromWorkflow -from geoengine_openapi_client.models.raster_dataset_from_workflow_result import RasterDatasetFromWorkflowResult as RasterDatasetFromWorkflowResult +from geoengine_openapi_client.models.raster_operator import RasterOperator as RasterOperator from geoengine_openapi_client.models.raster_properties_entry_type import RasterPropertiesEntryType as RasterPropertiesEntryType from geoengine_openapi_client.models.raster_properties_key import RasterPropertiesKey as RasterPropertiesKey from geoengine_openapi_client.models.raster_result_descriptor import RasterResultDescriptor as RasterResultDescriptor from geoengine_openapi_client.models.raster_stream_websocket_result_type import RasterStreamWebsocketResultType as RasterStreamWebsocketResultType from geoengine_openapi_client.models.raster_symbology import RasterSymbology as RasterSymbology from geoengine_openapi_client.models.raster_to_dataset_query_rectangle import RasterToDatasetQueryRectangle as RasterToDatasetQueryRectangle +from geoengine_openapi_client.models.raster_vector_join import RasterVectorJoin as RasterVectorJoin +from geoengine_openapi_client.models.raster_vector_join_parameters import RasterVectorJoinParameters as RasterVectorJoinParameters from geoengine_openapi_client.models.regular_time_dimension import RegularTimeDimension as RegularTimeDimension from geoengine_openapi_client.models.resource import Resource as Resource from geoengine_openapi_client.models.role import Role as Role @@ -489,23 +545,30 @@ from geoengine_openapi_client.models.sentinel_s2_l2_a_cogs_provider_definition import SentinelS2L2ACogsProviderDefinition as SentinelS2L2ACogsProviderDefinition from geoengine_openapi_client.models.server_info import ServerInfo as ServerInfo from geoengine_openapi_client.models.single_band_raster_colorizer import SingleBandRasterColorizer as SingleBandRasterColorizer +from geoengine_openapi_client.models.single_raster_or_vector_operator import SingleRasterOrVectorOperator as SingleRasterOrVectorOperator +from geoengine_openapi_client.models.single_raster_or_vector_source import SingleRasterOrVectorSource as SingleRasterOrVectorSource +from geoengine_openapi_client.models.single_raster_source import SingleRasterSource as SingleRasterSource +from geoengine_openapi_client.models.single_vector_multiple_raster_sources import SingleVectorMultipleRasterSources as SingleVectorMultipleRasterSources +from geoengine_openapi_client.models.spatial_bounds_derive import SpatialBoundsDerive as SpatialBoundsDerive +from geoengine_openapi_client.models.spatial_bounds_derive_bounds import SpatialBoundsDeriveBounds as SpatialBoundsDeriveBounds +from geoengine_openapi_client.models.spatial_bounds_derive_derive import SpatialBoundsDeriveDerive as SpatialBoundsDeriveDerive +from geoengine_openapi_client.models.spatial_bounds_derive_none import SpatialBoundsDeriveNone as SpatialBoundsDeriveNone from geoengine_openapi_client.models.spatial_grid_definition import SpatialGridDefinition as SpatialGridDefinition from geoengine_openapi_client.models.spatial_grid_descriptor import SpatialGridDescriptor as SpatialGridDescriptor from geoengine_openapi_client.models.spatial_grid_descriptor_state import SpatialGridDescriptorState as SpatialGridDescriptorState from geoengine_openapi_client.models.spatial_partition2_d import SpatialPartition2D as SpatialPartition2D -from geoengine_openapi_client.models.spatial_reference_authority import SpatialReferenceAuthority as SpatialReferenceAuthority from geoengine_openapi_client.models.spatial_reference_specification import SpatialReferenceSpecification as SpatialReferenceSpecification -from geoengine_openapi_client.models.spatial_resolution import SpatialResolution as SpatialResolution from geoengine_openapi_client.models.stac_api_retries import StacApiRetries as StacApiRetries from geoengine_openapi_client.models.stac_query_buffer import StacQueryBuffer as StacQueryBuffer from geoengine_openapi_client.models.static_color import StaticColor as StaticColor from geoengine_openapi_client.models.static_number import StaticNumber as StaticNumber +from geoengine_openapi_client.models.statistics import Statistics as Statistics +from geoengine_openapi_client.models.statistics_parameters import StatisticsParameters as StatisticsParameters from geoengine_openapi_client.models.stroke_param import StrokeParam as StrokeParam +from geoengine_openapi_client.models.suffix import Suffix as Suffix from geoengine_openapi_client.models.suggest_meta_data import SuggestMetaData as SuggestMetaData from geoengine_openapi_client.models.symbology import Symbology as Symbology -from geoengine_openapi_client.models.task_abort_options import TaskAbortOptions as TaskAbortOptions from geoengine_openapi_client.models.task_filter import TaskFilter as TaskFilter -from geoengine_openapi_client.models.task_list_options import TaskListOptions as TaskListOptions from geoengine_openapi_client.models.task_response import TaskResponse as TaskResponse from geoengine_openapi_client.models.task_status import TaskStatus as TaskStatus from geoengine_openapi_client.models.task_status_aborted import TaskStatusAborted as TaskStatusAborted @@ -513,6 +576,7 @@ from geoengine_openapi_client.models.task_status_failed import TaskStatusFailed as TaskStatusFailed from geoengine_openapi_client.models.task_status_running import TaskStatusRunning as TaskStatusRunning from geoengine_openapi_client.models.task_status_with_id import TaskStatusWithId as TaskStatusWithId +from geoengine_openapi_client.models.temporal_aggregation_method import TemporalAggregationMethod as TemporalAggregationMethod from geoengine_openapi_client.models.text_symbology import TextSymbology as TextSymbology from geoengine_openapi_client.models.time_descriptor import TimeDescriptor as TimeDescriptor from geoengine_openapi_client.models.time_dimension import TimeDimension as TimeDimension @@ -529,10 +593,12 @@ from geoengine_openapi_client.models.typed_geometry_one_of2 import TypedGeometryOneOf2 as TypedGeometryOneOf2 from geoengine_openapi_client.models.typed_geometry_one_of3 import TypedGeometryOneOf3 as TypedGeometryOneOf3 from geoengine_openapi_client.models.typed_operator import TypedOperator as TypedOperator -from geoengine_openapi_client.models.typed_operator_operator import TypedOperatorOperator as TypedOperatorOperator +from geoengine_openapi_client.models.typed_plot_operator import TypedPlotOperator as TypedPlotOperator from geoengine_openapi_client.models.typed_plot_result_descriptor import TypedPlotResultDescriptor as TypedPlotResultDescriptor +from geoengine_openapi_client.models.typed_raster_operator import TypedRasterOperator as TypedRasterOperator from geoengine_openapi_client.models.typed_raster_result_descriptor import TypedRasterResultDescriptor as TypedRasterResultDescriptor from geoengine_openapi_client.models.typed_result_descriptor import TypedResultDescriptor as TypedResultDescriptor +from geoengine_openapi_client.models.typed_vector_operator import TypedVectorOperator as TypedVectorOperator from geoengine_openapi_client.models.typed_vector_result_descriptor import TypedVectorResultDescriptor as TypedVectorResultDescriptor from geoengine_openapi_client.models.unitless_measurement import UnitlessMeasurement as UnitlessMeasurement from geoengine_openapi_client.models.unix_time_stamp_type import UnixTimeStampType as UnixTimeStampType @@ -551,10 +617,10 @@ from geoengine_openapi_client.models.vec_update import VecUpdate as VecUpdate from geoengine_openapi_client.models.vector_column_info import VectorColumnInfo as VectorColumnInfo from geoengine_openapi_client.models.vector_data_type import VectorDataType as VectorDataType +from geoengine_openapi_client.models.vector_operator import VectorOperator as VectorOperator from geoengine_openapi_client.models.vector_result_descriptor import VectorResultDescriptor as VectorResultDescriptor from geoengine_openapi_client.models.volume import Volume as Volume from geoengine_openapi_client.models.volume_file_layers_response import VolumeFileLayersResponse as VolumeFileLayersResponse -from geoengine_openapi_client.models.wcs_boundingbox import WcsBoundingbox as WcsBoundingbox from geoengine_openapi_client.models.wcs_request import WcsRequest as WcsRequest from geoengine_openapi_client.models.wcs_service import WcsService as WcsService from geoengine_openapi_client.models.wcs_version import WcsVersion as WcsVersion diff --git a/python/geoengine_openapi_client/api_client.py b/python/geoengine_openapi_client/api_client.py index afbdb448..8acdfada 100644 --- a/python/geoengine_openapi_client/api_client.py +++ b/python/geoengine_openapi_client/api_client.py @@ -91,7 +91,7 @@ def __init__( self.default_headers[header_name] = header_value self.cookie = cookie # Set default User-Agent. - self.user_agent = 'geoengine/openapi-client/python/0.0.32' + self.user_agent = 'geoengine/openapi-client/python/0.0.33' self.client_side_validation = configuration.client_side_validation def __enter__(self): diff --git a/python/geoengine_openapi_client/configuration.py b/python/geoengine_openapi_client/configuration.py index 25058c38..3901af33 100644 --- a/python/geoengine_openapi_client/configuration.py +++ b/python/geoengine_openapi_client/configuration.py @@ -515,7 +515,7 @@ def to_debug_report(self) -> str: "OS: {env}\n"\ "Python Version: {pyversion}\n"\ "Version of the API: 0.9.0\n"\ - "SDK Package Version: 0.0.32".\ + "SDK Package Version: 0.0.33".\ format(env=sys.platform, pyversion=sys.version) def get_host_settings(self) -> List[HostSetting]: diff --git a/python/geoengine_openapi_client/models/__init__.py b/python/geoengine_openapi_client/models/__init__.py index 0d03d5ae..f2a9ff60 100644 --- a/python/geoengine_openapi_client/models/__init__.py +++ b/python/geoengine_openapi_client/models/__init__.py @@ -15,7 +15,6 @@ # import models into model package from geoengine_openapi_client.models.add_dataset import AddDataset -from geoengine_openapi_client.models.add_dataset_tile import AddDatasetTile from geoengine_openapi_client.models.add_layer import AddLayer from geoengine_openapi_client.models.add_layer_collection import AddLayerCollection from geoengine_openapi_client.models.add_role import AddRole @@ -31,6 +30,7 @@ from geoengine_openapi_client.models.collection_type import CollectionType from geoengine_openapi_client.models.color_param import ColorParam from geoengine_openapi_client.models.colorizer import Colorizer +from geoengine_openapi_client.models.column_names import ColumnNames from geoengine_openapi_client.models.computation_quota import ComputationQuota from geoengine_openapi_client.models.continuous_measurement import ContinuousMeasurement from geoengine_openapi_client.models.coordinate2_d import Coordinate2D @@ -53,13 +53,17 @@ from geoengine_openapi_client.models.dataset_listing import DatasetListing from geoengine_openapi_client.models.dataset_name_response import DatasetNameResponse from geoengine_openapi_client.models.dataset_resource import DatasetResource +from geoengine_openapi_client.models.default import Default from geoengine_openapi_client.models.derived_color import DerivedColor from geoengine_openapi_client.models.derived_number import DerivedNumber from geoengine_openapi_client.models.ebv_portal_data_provider_definition import EbvPortalDataProviderDefinition from geoengine_openapi_client.models.edr_data_provider_definition import EdrDataProviderDefinition from geoengine_openapi_client.models.edr_vector_spec import EdrVectorSpec from geoengine_openapi_client.models.error_response import ErrorResponse +from geoengine_openapi_client.models.expression import Expression +from geoengine_openapi_client.models.expression_parameters import ExpressionParameters from geoengine_openapi_client.models.external_data_id import ExternalDataId +from geoengine_openapi_client.models.feature_aggregation_method import FeatureAggregationMethod from geoengine_openapi_client.models.feature_data_type import FeatureDataType from geoengine_openapi_client.models.file_not_found_handling import FileNotFoundHandling from geoengine_openapi_client.models.format_specifics import FormatSpecifics @@ -73,6 +77,8 @@ from geoengine_openapi_client.models.gdal_metadata_mapping import GdalMetadataMapping from geoengine_openapi_client.models.gdal_metadata_net_cdf_cf import GdalMetadataNetCdfCf from geoengine_openapi_client.models.gdal_multi_band import GdalMultiBand +from geoengine_openapi_client.models.gdal_source import GdalSource +from geoengine_openapi_client.models.gdal_source_parameters import GdalSourceParameters from geoengine_openapi_client.models.gdal_source_time_placeholder import GdalSourceTimePlaceholder from geoengine_openapi_client.models.geo_json import GeoJson from geoengine_openapi_client.models.geo_transform import GeoTransform @@ -82,6 +88,15 @@ from geoengine_openapi_client.models.gfbio_collections_data_provider_definition import GfbioCollectionsDataProviderDefinition from geoengine_openapi_client.models.grid_bounding_box2_d import GridBoundingBox2D from geoengine_openapi_client.models.grid_idx2_d import GridIdx2D +from geoengine_openapi_client.models.histogram import Histogram +from geoengine_openapi_client.models.histogram_bounds import HistogramBounds +from geoengine_openapi_client.models.histogram_bounds_one_of import HistogramBoundsOneOf +from geoengine_openapi_client.models.histogram_bounds_one_of1 import HistogramBoundsOneOf1 +from geoengine_openapi_client.models.histogram_bounds_one_of1_values import HistogramBoundsOneOf1Values +from geoengine_openapi_client.models.histogram_buckets import HistogramBuckets +from geoengine_openapi_client.models.histogram_buckets_one_of import HistogramBucketsOneOf +from geoengine_openapi_client.models.histogram_buckets_one_of1 import HistogramBucketsOneOf1 +from geoengine_openapi_client.models.histogram_parameters import HistogramParameters from geoengine_openapi_client.models.id_response import IdResponse from geoengine_openapi_client.models.internal_data_id import InternalDataId from geoengine_openapi_client.models.layer import Layer @@ -92,6 +107,8 @@ from geoengine_openapi_client.models.layer_provider_listing import LayerProviderListing from geoengine_openapi_client.models.layer_resource import LayerResource from geoengine_openapi_client.models.layer_visibility import LayerVisibility +from geoengine_openapi_client.models.legacy_typed_operator import LegacyTypedOperator +from geoengine_openapi_client.models.legacy_typed_operator_operator import LegacyTypedOperatorOperator from geoengine_openapi_client.models.line_symbology import LineSymbology from geoengine_openapi_client.models.linear_gradient import LinearGradient from geoengine_openapi_client.models.logarithmic_gradient import LogarithmicGradient @@ -109,10 +126,15 @@ from geoengine_openapi_client.models.ml_tensor_shape3_d import MlTensorShape3D from geoengine_openapi_client.models.mock_dataset_data_source_loading_info import MockDatasetDataSourceLoadingInfo from geoengine_openapi_client.models.mock_meta_data import MockMetaData +from geoengine_openapi_client.models.mock_point_source import MockPointSource +from geoengine_openapi_client.models.mock_point_source_parameters import MockPointSourceParameters from geoengine_openapi_client.models.multi_band_raster_colorizer import MultiBandRasterColorizer from geoengine_openapi_client.models.multi_line_string import MultiLineString from geoengine_openapi_client.models.multi_point import MultiPoint from geoengine_openapi_client.models.multi_polygon import MultiPolygon +from geoengine_openapi_client.models.multiple_raster_or_single_vector_operator import MultipleRasterOrSingleVectorOperator +from geoengine_openapi_client.models.multiple_raster_or_single_vector_source import MultipleRasterOrSingleVectorSource +from geoengine_openapi_client.models.names import Names from geoengine_openapi_client.models.net_cdf_cf_data_provider_definition import NetCdfCfDataProviderDefinition from geoengine_openapi_client.models.number_param import NumberParam from geoengine_openapi_client.models.ogr_meta_data import OgrMetaData @@ -137,10 +159,10 @@ from geoengine_openapi_client.models.palette_colorizer import PaletteColorizer from geoengine_openapi_client.models.pangaea_data_provider_definition import PangaeaDataProviderDefinition from geoengine_openapi_client.models.permission import Permission -from geoengine_openapi_client.models.permission_list_options import PermissionListOptions from geoengine_openapi_client.models.permission_listing import PermissionListing from geoengine_openapi_client.models.permission_request import PermissionRequest from geoengine_openapi_client.models.plot import Plot +from geoengine_openapi_client.models.plot_operator import PlotOperator from geoengine_openapi_client.models.plot_output_format import PlotOutputFormat from geoengine_openapi_client.models.plot_result_descriptor import PlotResultDescriptor from geoengine_openapi_client.models.point_symbology import PointSymbology @@ -153,7 +175,6 @@ from geoengine_openapi_client.models.project_version import ProjectVersion from geoengine_openapi_client.models.provenance import Provenance from geoengine_openapi_client.models.provenance_entry import ProvenanceEntry -from geoengine_openapi_client.models.provenance_output import ProvenanceOutput from geoengine_openapi_client.models.provenances import Provenances from geoengine_openapi_client.models.provider_capabilities import ProviderCapabilities from geoengine_openapi_client.models.provider_layer_collection_id import ProviderLayerCollectionId @@ -163,13 +184,15 @@ from geoengine_openapi_client.models.raster_colorizer import RasterColorizer from geoengine_openapi_client.models.raster_data_type import RasterDataType from geoengine_openapi_client.models.raster_dataset_from_workflow import RasterDatasetFromWorkflow -from geoengine_openapi_client.models.raster_dataset_from_workflow_result import RasterDatasetFromWorkflowResult +from geoengine_openapi_client.models.raster_operator import RasterOperator from geoengine_openapi_client.models.raster_properties_entry_type import RasterPropertiesEntryType from geoengine_openapi_client.models.raster_properties_key import RasterPropertiesKey from geoengine_openapi_client.models.raster_result_descriptor import RasterResultDescriptor from geoengine_openapi_client.models.raster_stream_websocket_result_type import RasterStreamWebsocketResultType from geoengine_openapi_client.models.raster_symbology import RasterSymbology from geoengine_openapi_client.models.raster_to_dataset_query_rectangle import RasterToDatasetQueryRectangle +from geoengine_openapi_client.models.raster_vector_join import RasterVectorJoin +from geoengine_openapi_client.models.raster_vector_join_parameters import RasterVectorJoinParameters from geoengine_openapi_client.models.regular_time_dimension import RegularTimeDimension from geoengine_openapi_client.models.resource import Resource from geoengine_openapi_client.models.role import Role @@ -181,23 +204,30 @@ from geoengine_openapi_client.models.sentinel_s2_l2_a_cogs_provider_definition import SentinelS2L2ACogsProviderDefinition from geoengine_openapi_client.models.server_info import ServerInfo from geoengine_openapi_client.models.single_band_raster_colorizer import SingleBandRasterColorizer +from geoengine_openapi_client.models.single_raster_or_vector_operator import SingleRasterOrVectorOperator +from geoengine_openapi_client.models.single_raster_or_vector_source import SingleRasterOrVectorSource +from geoengine_openapi_client.models.single_raster_source import SingleRasterSource +from geoengine_openapi_client.models.single_vector_multiple_raster_sources import SingleVectorMultipleRasterSources +from geoengine_openapi_client.models.spatial_bounds_derive import SpatialBoundsDerive +from geoengine_openapi_client.models.spatial_bounds_derive_bounds import SpatialBoundsDeriveBounds +from geoengine_openapi_client.models.spatial_bounds_derive_derive import SpatialBoundsDeriveDerive +from geoengine_openapi_client.models.spatial_bounds_derive_none import SpatialBoundsDeriveNone from geoengine_openapi_client.models.spatial_grid_definition import SpatialGridDefinition from geoengine_openapi_client.models.spatial_grid_descriptor import SpatialGridDescriptor from geoengine_openapi_client.models.spatial_grid_descriptor_state import SpatialGridDescriptorState from geoengine_openapi_client.models.spatial_partition2_d import SpatialPartition2D -from geoengine_openapi_client.models.spatial_reference_authority import SpatialReferenceAuthority from geoengine_openapi_client.models.spatial_reference_specification import SpatialReferenceSpecification -from geoengine_openapi_client.models.spatial_resolution import SpatialResolution from geoengine_openapi_client.models.stac_api_retries import StacApiRetries from geoengine_openapi_client.models.stac_query_buffer import StacQueryBuffer from geoengine_openapi_client.models.static_color import StaticColor from geoengine_openapi_client.models.static_number import StaticNumber +from geoengine_openapi_client.models.statistics import Statistics +from geoengine_openapi_client.models.statistics_parameters import StatisticsParameters from geoengine_openapi_client.models.stroke_param import StrokeParam +from geoengine_openapi_client.models.suffix import Suffix from geoengine_openapi_client.models.suggest_meta_data import SuggestMetaData from geoengine_openapi_client.models.symbology import Symbology -from geoengine_openapi_client.models.task_abort_options import TaskAbortOptions from geoengine_openapi_client.models.task_filter import TaskFilter -from geoengine_openapi_client.models.task_list_options import TaskListOptions from geoengine_openapi_client.models.task_response import TaskResponse from geoengine_openapi_client.models.task_status import TaskStatus from geoengine_openapi_client.models.task_status_aborted import TaskStatusAborted @@ -205,6 +235,7 @@ from geoengine_openapi_client.models.task_status_failed import TaskStatusFailed from geoengine_openapi_client.models.task_status_running import TaskStatusRunning from geoengine_openapi_client.models.task_status_with_id import TaskStatusWithId +from geoengine_openapi_client.models.temporal_aggregation_method import TemporalAggregationMethod from geoengine_openapi_client.models.text_symbology import TextSymbology from geoengine_openapi_client.models.time_descriptor import TimeDescriptor from geoengine_openapi_client.models.time_dimension import TimeDimension @@ -221,10 +252,12 @@ from geoengine_openapi_client.models.typed_geometry_one_of2 import TypedGeometryOneOf2 from geoengine_openapi_client.models.typed_geometry_one_of3 import TypedGeometryOneOf3 from geoengine_openapi_client.models.typed_operator import TypedOperator -from geoengine_openapi_client.models.typed_operator_operator import TypedOperatorOperator +from geoengine_openapi_client.models.typed_plot_operator import TypedPlotOperator from geoengine_openapi_client.models.typed_plot_result_descriptor import TypedPlotResultDescriptor +from geoengine_openapi_client.models.typed_raster_operator import TypedRasterOperator from geoengine_openapi_client.models.typed_raster_result_descriptor import TypedRasterResultDescriptor from geoengine_openapi_client.models.typed_result_descriptor import TypedResultDescriptor +from geoengine_openapi_client.models.typed_vector_operator import TypedVectorOperator from geoengine_openapi_client.models.typed_vector_result_descriptor import TypedVectorResultDescriptor from geoengine_openapi_client.models.unitless_measurement import UnitlessMeasurement from geoengine_openapi_client.models.unix_time_stamp_type import UnixTimeStampType @@ -243,10 +276,10 @@ from geoengine_openapi_client.models.vec_update import VecUpdate from geoengine_openapi_client.models.vector_column_info import VectorColumnInfo from geoengine_openapi_client.models.vector_data_type import VectorDataType +from geoengine_openapi_client.models.vector_operator import VectorOperator from geoengine_openapi_client.models.vector_result_descriptor import VectorResultDescriptor from geoengine_openapi_client.models.volume import Volume from geoengine_openapi_client.models.volume_file_layers_response import VolumeFileLayersResponse -from geoengine_openapi_client.models.wcs_boundingbox import WcsBoundingbox from geoengine_openapi_client.models.wcs_request import WcsRequest from geoengine_openapi_client.models.wcs_service import WcsService from geoengine_openapi_client.models.wcs_version import WcsVersion diff --git a/python/geoengine_openapi_client/models/bounding_box2_d.py b/python/geoengine_openapi_client/models/bounding_box2_d.py index 7cd779e7..0f4440b3 100644 --- a/python/geoengine_openapi_client/models/bounding_box2_d.py +++ b/python/geoengine_openapi_client/models/bounding_box2_d.py @@ -80,18 +80,7 @@ def to_dict(self) -> Dict[str, Any]: return _dict @classmethod - def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + def from_dict(cls, obj: Dict[str, Any]) -> Optional[Self]: """Create an instance of BoundingBox2D from a dict""" - if obj is None: - return None - - if not isinstance(obj, dict): - return cls.model_validate(obj) - - _obj = cls.model_validate({ - "lowerLeftCoordinate": Coordinate2D.from_dict(obj["lowerLeftCoordinate"]) if obj.get("lowerLeftCoordinate") is not None else None, - "upperRightCoordinate": Coordinate2D.from_dict(obj["upperRightCoordinate"]) if obj.get("upperRightCoordinate") is not None else None - }) - return _obj diff --git a/python/geoengine_openapi_client/models/column_names.py b/python/geoengine_openapi_client/models/column_names.py new file mode 100644 index 00000000..423f633f --- /dev/null +++ b/python/geoengine_openapi_client/models/column_names.py @@ -0,0 +1,152 @@ +# coding: utf-8 + +""" + Geo Engine API + + No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + + The version of the OpenAPI document: 0.9.0 + Contact: dev@geoengine.de + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import json +import pprint +from pydantic import BaseModel, ConfigDict, Field, StrictStr, ValidationError, field_validator +from typing import Any, List, Optional +from geoengine_openapi_client.models.default import Default +from geoengine_openapi_client.models.names import Names +from geoengine_openapi_client.models.suffix import Suffix +from pydantic import StrictStr, Field +from typing import Union, List, Set, Optional, Dict +from typing_extensions import Literal, Self + +COLUMNNAMES_ONE_OF_SCHEMAS = ["Default", "Names", "Suffix"] + +class ColumnNames(BaseModel): + """ + ColumnNames + """ + # data type: Default + oneof_schema_1_validator: Optional[Default] = None + # data type: Suffix + oneof_schema_2_validator: Optional[Suffix] = None + # data type: Names + oneof_schema_3_validator: Optional[Names] = None + actual_instance: Optional[Union[Default, Names, Suffix]] = None + one_of_schemas: Set[str] = { "Default", "Names", "Suffix" } + + model_config = ConfigDict( + validate_assignment=True, + protected_namespaces=(), + ) + + + def __init__(self, *args, **kwargs) -> None: + if args: + if len(args) > 1: + raise ValueError("If a position argument is used, only 1 is allowed to set `actual_instance`") + if kwargs: + raise ValueError("If a position argument is used, keyword arguments cannot be used.") + super().__init__(actual_instance=args[0]) + else: + super().__init__(**kwargs) + + @field_validator('actual_instance') + def actual_instance_must_validate_oneof(cls, v): + instance = ColumnNames.model_construct() + error_messages = [] + match = 0 + # validate data type: Default + if not isinstance(v, Default): + error_messages.append(f"Error! Input type `{type(v)}` is not `Default`") + else: + match += 1 + # validate data type: Suffix + if not isinstance(v, Suffix): + error_messages.append(f"Error! Input type `{type(v)}` is not `Suffix`") + else: + match += 1 + # validate data type: Names + if not isinstance(v, Names): + error_messages.append(f"Error! Input type `{type(v)}` is not `Names`") + else: + match += 1 + if match > 1: + # more than 1 match + raise ValueError("Multiple matches found when setting `actual_instance` in ColumnNames with oneOf schemas: Default, Names, Suffix. Details: " + ", ".join(error_messages)) + elif match == 0: + # no match + raise ValueError("No match found when setting `actual_instance` in ColumnNames with oneOf schemas: Default, Names, Suffix. Details: " + ", ".join(error_messages)) + else: + return v + + @classmethod + def from_dict(cls, obj: Union[str, Dict[str, Any]]) -> Self: + return cls.from_json(json.dumps(obj)) + + @classmethod + def from_json(cls, json_str: str) -> Self: + """Returns the object represented by the json string""" + instance = cls.model_construct() + error_messages = [] + match = 0 + + # deserialize data into Default + try: + instance.actual_instance = Default.from_json(json_str) + match += 1 + except (ValidationError, ValueError) as e: + error_messages.append(str(e)) + # deserialize data into Suffix + try: + instance.actual_instance = Suffix.from_json(json_str) + match += 1 + except (ValidationError, ValueError) as e: + error_messages.append(str(e)) + # deserialize data into Names + try: + instance.actual_instance = Names.from_json(json_str) + match += 1 + except (ValidationError, ValueError) as e: + error_messages.append(str(e)) + + if match > 1: + # more than 1 match + raise ValueError("Multiple matches found when deserializing the JSON string into ColumnNames with oneOf schemas: Default, Names, Suffix. Details: " + ", ".join(error_messages)) + elif match == 0: + # no match + raise ValueError("No match found when deserializing the JSON string into ColumnNames with oneOf schemas: Default, Names, Suffix. Details: " + ", ".join(error_messages)) + else: + return instance + + def to_json(self) -> str: + """Returns the JSON representation of the actual instance""" + if self.actual_instance is None: + return "null" + + if hasattr(self.actual_instance, "to_json") and callable(self.actual_instance.to_json): + return self.actual_instance.to_json() + else: + return json.dumps(self.actual_instance) + + def to_dict(self) -> Optional[Union[Dict[str, Any], Default, Names, Suffix]]: + """Returns the dict representation of the actual instance""" + if self.actual_instance is None: + return None + + if hasattr(self.actual_instance, "to_dict") and callable(self.actual_instance.to_dict): + return self.actual_instance.to_dict() + else: + # primitive type + return self.actual_instance + + def to_str(self) -> str: + """Returns the string representation of the actual instance""" + return pprint.pformat(self.model_dump()) + + diff --git a/python/geoengine_openapi_client/models/raster_dataset_from_workflow_result.py b/python/geoengine_openapi_client/models/default.py similarity index 79% rename from python/geoengine_openapi_client/models/raster_dataset_from_workflow_result.py rename to python/geoengine_openapi_client/models/default.py index 0e70e231..438ac1bd 100644 --- a/python/geoengine_openapi_client/models/raster_dataset_from_workflow_result.py +++ b/python/geoengine_openapi_client/models/default.py @@ -18,19 +18,24 @@ import re # noqa: F401 import json -from pydantic import BaseModel, ConfigDict, StrictStr +from pydantic import BaseModel, ConfigDict, StrictStr, field_validator from typing import Any, ClassVar, Dict, List -from uuid import UUID from typing import Optional, Set from typing_extensions import Self -class RasterDatasetFromWorkflowResult(BaseModel): +class Default(BaseModel): """ - response of the dataset from workflow handler + Default """ # noqa: E501 - dataset: StrictStr - upload: UUID - __properties: ClassVar[List[str]] = ["dataset", "upload"] + type: StrictStr + __properties: ClassVar[List[str]] = ["type"] + + @field_validator('type') + def type_validate_enum(cls, value): + """Validates the enum""" + if value not in set(['default']): + raise ValueError("must be one of enum values ('default')") + return value model_config = ConfigDict( populate_by_name=True, @@ -50,7 +55,7 @@ def to_json(self) -> str: @classmethod def from_json(cls, json_str: str) -> Optional[Self]: - """Create an instance of RasterDatasetFromWorkflowResult from a JSON string""" + """Create an instance of Default from a JSON string""" return cls.from_dict(json.loads(json_str)) def to_dict(self) -> Dict[str, Any]: @@ -75,7 +80,7 @@ def to_dict(self) -> Dict[str, Any]: @classmethod def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: - """Create an instance of RasterDatasetFromWorkflowResult from a dict""" + """Create an instance of Default from a dict""" if obj is None: return None @@ -83,8 +88,7 @@ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: return cls.model_validate(obj) _obj = cls.model_validate({ - "dataset": obj.get("dataset"), - "upload": obj.get("upload") + "type": obj.get("type") }) return _obj diff --git a/python/geoengine_openapi_client/models/expression.py b/python/geoengine_openapi_client/models/expression.py new file mode 100644 index 00000000..cda72403 --- /dev/null +++ b/python/geoengine_openapi_client/models/expression.py @@ -0,0 +1,109 @@ +# coding: utf-8 + +""" + Geo Engine API + + No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + + The version of the OpenAPI document: 0.9.0 + Contact: dev@geoengine.de + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, StrictStr, field_validator +from typing import Any, ClassVar, Dict, List +from geoengine_openapi_client.models.expression_parameters import ExpressionParameters +from typing import Optional, Set +from typing_extensions import Self + +class Expression(BaseModel): + """ + The `Expression` operator performs a pixel-wise mathematical expression on one or more bands of a raster source. The expression is specified as a user-defined script in a very simple language. The output is a raster time series with the result of the expression and with time intervals that are the same as for the inputs. Users can specify an output data type. Internally, the expression is evaluated using floating-point numbers. An example usage scenario is to calculate NDVI for a red and a near-infrared raster channel. The expression uses a raster source with two bands, referred to as A and B, and calculates the formula `(A - B) / (A + B)`. When the temporal resolution is months, our output NDVI will also be a monthly time series. ## Types The following describes the types used in the parameters. ### Expression Expressions are simple scripts to perform pixel-wise computations. One can refer to the raster inputs as `A` for the first raster band, `B` for the second, and so on. Furthermore, expressions can check with `A IS NODATA`, `B IS NODATA`, etc. for NO DATA values. This is important if `mapNoData` is set to true. Otherwise, NO DATA values are mapped automatically to the output NO DATA value. Finally, the value `NODATA` can be used to output NO DATA. Users can think of this implicit function signature for, e.g., two inputs: ```Rust fn (A: f64, B: f64) -> f64 ``` As a start, expressions contain algebraic operations and mathematical functions. ```Rust (A + B) / 2 ``` In addition, branches can be used to check for conditions. ```Rust if A IS NODATA { B } else { A } ``` Function calls can be used to access utility functions. ```Rust max(A, 0) ``` Currently, the following functions are available: - `abs(a)`: absolute value - `min(a, b)`, `min(a, b, c)`: minimum value - `max(a, b)`, `max(a, b, c)`: maximum value - `sqrt(a)`: square root - `ln(a)`: natural logarithm - `log10(a)`: base 10 logarithm - `cos(a)`, `sin(a)`, `tan(a)`, `acos(a)`, `asin(a)`, `atan(a)`: trigonometric functions - `pi()`, `e()`: mathematical constants - `round(a)`, `ceil(a)`, `floor(a)`: rounding functions - `mod(a, b)`: division remainder - `to_degrees(a)`, `to_radians(a)`: conversion to degrees or radians To generate more complex expressions, it is possible to have variable assignments. ```Rust let mean = (A + B) / 2; let coefficient = 0.357; mean * coefficient ``` Note, that all assignments are separated by semicolons. However, the last expression must be without a semicolon. + """ # noqa: E501 + params: ExpressionParameters + sources: SingleRasterSource + type: StrictStr + __properties: ClassVar[List[str]] = ["params", "sources", "type"] + + @field_validator('type') + def type_validate_enum(cls, value): + """Validates the enum""" + if value not in set(['Expression']): + raise ValueError("must be one of enum values ('Expression')") + return value + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of Expression from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of params + if self.params: + _dict['params'] = self.params.to_dict() + # override the default output from pydantic by calling `to_dict()` of sources + if self.sources: + _dict['sources'] = self.sources.to_dict() + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of Expression from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "params": ExpressionParameters.from_dict(obj["params"]) if obj.get("params") is not None else None, + "sources": SingleRasterSource.from_dict(obj["sources"]) if obj.get("sources") is not None else None, + "type": obj.get("type") + }) + return _obj + +from geoengine_openapi_client.models.single_raster_source import SingleRasterSource +# TODO: Rewrite to not use raise_errors +Expression.model_rebuild(raise_errors=False) + diff --git a/python/geoengine_openapi_client/models/expression_parameters.py b/python/geoengine_openapi_client/models/expression_parameters.py new file mode 100644 index 00000000..42d536f3 --- /dev/null +++ b/python/geoengine_openapi_client/models/expression_parameters.py @@ -0,0 +1,99 @@ +# coding: utf-8 + +""" + Geo Engine API + + No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + + The version of the OpenAPI document: 0.9.0 + Contact: dev@geoengine.de + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from geoengine_openapi_client.models.raster_band_descriptor import RasterBandDescriptor +from geoengine_openapi_client.models.raster_data_type import RasterDataType +from typing import Optional, Set +from typing_extensions import Self + +class ExpressionParameters(BaseModel): + """ + ## Types The following describes the types used in the parameters. + """ # noqa: E501 + expression: StrictStr = Field(description="Expression script Example: `\"(A - B) / (A + B)\"`") + map_no_data: StrictBool = Field(description="Should NO DATA values be mapped with the `expression`? Otherwise, they are mapped automatically to NO DATA.", alias="mapNoData") + output_band: Optional[RasterBandDescriptor] = Field(default=None, description="Description about the output", alias="outputBand") + output_type: RasterDataType = Field(description="A raster data type for the output", alias="outputType") + __properties: ClassVar[List[str]] = ["expression", "mapNoData", "outputBand", "outputType"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of ExpressionParameters from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of output_band + if self.output_band: + _dict['outputBand'] = self.output_band.to_dict() + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of ExpressionParameters from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "expression": obj.get("expression"), + "mapNoData": obj.get("mapNoData"), + "outputBand": RasterBandDescriptor.from_dict(obj["outputBand"]) if obj.get("outputBand") is not None else None, + "outputType": obj.get("outputType") + }) + return _obj + + diff --git a/python/geoengine_openapi_client/models/feature_aggregation_method.py b/python/geoengine_openapi_client/models/feature_aggregation_method.py new file mode 100644 index 00000000..15484515 --- /dev/null +++ b/python/geoengine_openapi_client/models/feature_aggregation_method.py @@ -0,0 +1,38 @@ +# coding: utf-8 + +""" + Geo Engine API + + No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + + The version of the OpenAPI document: 0.9.0 + Contact: dev@geoengine.de + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import json +from enum import Enum +from typing_extensions import Self + + +class FeatureAggregationMethod(str, Enum): + """ + FeatureAggregationMethod + """ + + """ + allowed enum values + """ + FIRST = 'first' + MEAN = 'mean' + + @classmethod + def from_json(cls, json_str: str) -> Self: + """Create an instance of FeatureAggregationMethod from a JSON string""" + return cls(json.loads(json_str)) + + diff --git a/python/geoengine_openapi_client/models/gdal_source.py b/python/geoengine_openapi_client/models/gdal_source.py new file mode 100644 index 00000000..99f97ade --- /dev/null +++ b/python/geoengine_openapi_client/models/gdal_source.py @@ -0,0 +1,101 @@ +# coding: utf-8 + +""" + Geo Engine API + + No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + + The version of the OpenAPI document: 0.9.0 + Contact: dev@geoengine.de + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, StrictStr, field_validator +from typing import Any, ClassVar, Dict, List +from geoengine_openapi_client.models.gdal_source_parameters import GdalSourceParameters +from typing import Optional, Set +from typing_extensions import Self + +class GdalSource(BaseModel): + """ + The [`GdalSource`] is a source operator that reads raster data using GDAL. The counterpart for vector data is the [`OgrSource`]. ## Errors If the given dataset does not exist or is not readable, an error is thrown. + """ # noqa: E501 + params: GdalSourceParameters + type: StrictStr + __properties: ClassVar[List[str]] = ["params", "type"] + + @field_validator('type') + def type_validate_enum(cls, value): + """Validates the enum""" + if value not in set(['GdalSource']): + raise ValueError("must be one of enum values ('GdalSource')") + return value + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of GdalSource from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of params + if self.params: + _dict['params'] = self.params.to_dict() + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of GdalSource from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "params": GdalSourceParameters.from_dict(obj["params"]) if obj.get("params") is not None else None, + "type": obj.get("type") + }) + return _obj + + diff --git a/python/geoengine_openapi_client/models/gdal_source_parameters.py b/python/geoengine_openapi_client/models/gdal_source_parameters.py new file mode 100644 index 00000000..44e7c8de --- /dev/null +++ b/python/geoengine_openapi_client/models/gdal_source_parameters.py @@ -0,0 +1,96 @@ +# coding: utf-8 + +""" + Geo Engine API + + No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + + The version of the OpenAPI document: 0.9.0 + Contact: dev@geoengine.de + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from typing_extensions import Annotated +from typing import Optional, Set +from typing_extensions import Self + +class GdalSourceParameters(BaseModel): + """ + Parameters for the [`GdalSource`] operator. + """ # noqa: E501 + data: StrictStr = Field(description="Dataset name or identifier to be loaded.") + overview_level: Optional[Annotated[int, Field(strict=True, ge=0)]] = Field(default=None, description="*Optional*: overview level to use. If not provided, the data source will determine the resolution, i.e., uses its native resolution.", alias="overviewLevel") + __properties: ClassVar[List[str]] = ["data", "overviewLevel"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of GdalSourceParameters from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # set to None if overview_level (nullable) is None + # and model_fields_set contains the field + if self.overview_level is None and "overview_level" in self.model_fields_set: + _dict['overviewLevel'] = None + + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of GdalSourceParameters from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "data": obj.get("data"), + "overviewLevel": obj.get("overviewLevel") + }) + return _obj + + diff --git a/python/geoengine_openapi_client/models/histogram.py b/python/geoengine_openapi_client/models/histogram.py new file mode 100644 index 00000000..215b7e43 --- /dev/null +++ b/python/geoengine_openapi_client/models/histogram.py @@ -0,0 +1,107 @@ +# coding: utf-8 + +""" + Geo Engine API + + No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + + The version of the OpenAPI document: 0.9.0 + Contact: dev@geoengine.de + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, StrictStr, field_validator +from typing import Any, ClassVar, Dict, List +from geoengine_openapi_client.models.histogram_parameters import HistogramParameters +from geoengine_openapi_client.models.single_raster_or_vector_source import SingleRasterOrVectorSource +from typing import Optional, Set +from typing_extensions import Self + +class Histogram(BaseModel): + """ + The `Histogram` is a _plot operator_ that computes a histogram plot either over attributes of a vector dataset or values of a raster source. The output is a plot in [Vega-Lite](https://vega.github.io/vega-lite/) specification. For instance, you want to plot the data distribution of numeric attributes of a feature collection. Then you can use a histogram with a suitable number of buckets to visualize and assess this. ## Errors The operator returns an error if the selected column (`columnName`) does not exist or is not numeric. ## Notes If `bounds` or `buckets` are not defined, the operator will determine these values by itself which requires processing the data twice. If the `buckets` parameter is set to `squareRootChoiceRule`, the operator estimates it using the square root of the number of elements in the data. + """ # noqa: E501 + params: HistogramParameters + sources: SingleRasterOrVectorSource + type: StrictStr + __properties: ClassVar[List[str]] = ["params", "sources", "type"] + + @field_validator('type') + def type_validate_enum(cls, value): + """Validates the enum""" + if value not in set(['Histogram']): + raise ValueError("must be one of enum values ('Histogram')") + return value + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of Histogram from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of params + if self.params: + _dict['params'] = self.params.to_dict() + # override the default output from pydantic by calling `to_dict()` of sources + if self.sources: + _dict['sources'] = self.sources.to_dict() + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of Histogram from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "params": HistogramParameters.from_dict(obj["params"]) if obj.get("params") is not None else None, + "sources": SingleRasterOrVectorSource.from_dict(obj["sources"]) if obj.get("sources") is not None else None, + "type": obj.get("type") + }) + return _obj + + diff --git a/python/geoengine_openapi_client/models/histogram_bounds.py b/python/geoengine_openapi_client/models/histogram_bounds.py new file mode 100644 index 00000000..3e3be9e5 --- /dev/null +++ b/python/geoengine_openapi_client/models/histogram_bounds.py @@ -0,0 +1,138 @@ +# coding: utf-8 + +""" + Geo Engine API + + No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + + The version of the OpenAPI document: 0.9.0 + Contact: dev@geoengine.de + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import json +import pprint +from pydantic import BaseModel, ConfigDict, Field, StrictStr, ValidationError, field_validator +from typing import Any, List, Optional +from geoengine_openapi_client.models.histogram_bounds_one_of import HistogramBoundsOneOf +from geoengine_openapi_client.models.histogram_bounds_one_of1 import HistogramBoundsOneOf1 +from pydantic import StrictStr, Field +from typing import Union, List, Set, Optional, Dict +from typing_extensions import Literal, Self + +HISTOGRAMBOUNDS_ONE_OF_SCHEMAS = ["HistogramBoundsOneOf", "HistogramBoundsOneOf1"] + +class HistogramBounds(BaseModel): + """ + HistogramBounds + """ + # data type: HistogramBoundsOneOf + oneof_schema_1_validator: Optional[HistogramBoundsOneOf] = None + # data type: HistogramBoundsOneOf1 + oneof_schema_2_validator: Optional[HistogramBoundsOneOf1] = None + actual_instance: Optional[Union[HistogramBoundsOneOf, HistogramBoundsOneOf1]] = None + one_of_schemas: Set[str] = { "HistogramBoundsOneOf", "HistogramBoundsOneOf1" } + + model_config = ConfigDict( + validate_assignment=True, + protected_namespaces=(), + ) + + + def __init__(self, *args, **kwargs) -> None: + if args: + if len(args) > 1: + raise ValueError("If a position argument is used, only 1 is allowed to set `actual_instance`") + if kwargs: + raise ValueError("If a position argument is used, keyword arguments cannot be used.") + super().__init__(actual_instance=args[0]) + else: + super().__init__(**kwargs) + + @field_validator('actual_instance') + def actual_instance_must_validate_oneof(cls, v): + instance = HistogramBounds.model_construct() + error_messages = [] + match = 0 + # validate data type: HistogramBoundsOneOf + if not isinstance(v, HistogramBoundsOneOf): + error_messages.append(f"Error! Input type `{type(v)}` is not `HistogramBoundsOneOf`") + else: + match += 1 + # validate data type: HistogramBoundsOneOf1 + if not isinstance(v, HistogramBoundsOneOf1): + error_messages.append(f"Error! Input type `{type(v)}` is not `HistogramBoundsOneOf1`") + else: + match += 1 + if match > 1: + # more than 1 match + raise ValueError("Multiple matches found when setting `actual_instance` in HistogramBounds with oneOf schemas: HistogramBoundsOneOf, HistogramBoundsOneOf1. Details: " + ", ".join(error_messages)) + elif match == 0: + # no match + raise ValueError("No match found when setting `actual_instance` in HistogramBounds with oneOf schemas: HistogramBoundsOneOf, HistogramBoundsOneOf1. Details: " + ", ".join(error_messages)) + else: + return v + + @classmethod + def from_dict(cls, obj: Union[str, Dict[str, Any]]) -> Self: + return cls.from_json(json.dumps(obj)) + + @classmethod + def from_json(cls, json_str: str) -> Self: + """Returns the object represented by the json string""" + instance = cls.model_construct() + error_messages = [] + match = 0 + + # deserialize data into HistogramBoundsOneOf + try: + instance.actual_instance = HistogramBoundsOneOf.from_json(json_str) + match += 1 + except (ValidationError, ValueError) as e: + error_messages.append(str(e)) + # deserialize data into HistogramBoundsOneOf1 + try: + instance.actual_instance = HistogramBoundsOneOf1.from_json(json_str) + match += 1 + except (ValidationError, ValueError) as e: + error_messages.append(str(e)) + + if match > 1: + # more than 1 match + raise ValueError("Multiple matches found when deserializing the JSON string into HistogramBounds with oneOf schemas: HistogramBoundsOneOf, HistogramBoundsOneOf1. Details: " + ", ".join(error_messages)) + elif match == 0: + # no match + raise ValueError("No match found when deserializing the JSON string into HistogramBounds with oneOf schemas: HistogramBoundsOneOf, HistogramBoundsOneOf1. Details: " + ", ".join(error_messages)) + else: + return instance + + def to_json(self) -> str: + """Returns the JSON representation of the actual instance""" + if self.actual_instance is None: + return "null" + + if hasattr(self.actual_instance, "to_json") and callable(self.actual_instance.to_json): + return self.actual_instance.to_json() + else: + return json.dumps(self.actual_instance) + + def to_dict(self) -> Optional[Union[Dict[str, Any], HistogramBoundsOneOf, HistogramBoundsOneOf1]]: + """Returns the dict representation of the actual instance""" + if self.actual_instance is None: + return None + + if hasattr(self.actual_instance, "to_dict") and callable(self.actual_instance.to_dict): + return self.actual_instance.to_dict() + else: + # primitive type + return self.actual_instance + + def to_str(self) -> str: + """Returns the string representation of the actual instance""" + return pprint.pformat(self.model_dump()) + + diff --git a/python/geoengine_openapi_client/models/task_abort_options.py b/python/geoengine_openapi_client/models/histogram_bounds_one_of.py similarity index 79% rename from python/geoengine_openapi_client/models/task_abort_options.py rename to python/geoengine_openapi_client/models/histogram_bounds_one_of.py index 9eb150a9..1db3a940 100644 --- a/python/geoengine_openapi_client/models/task_abort_options.py +++ b/python/geoengine_openapi_client/models/histogram_bounds_one_of.py @@ -18,17 +18,17 @@ import re # noqa: F401 import json -from pydantic import BaseModel, ConfigDict, StrictBool +from pydantic import BaseModel, ConfigDict from typing import Any, ClassVar, Dict, List, Optional from typing import Optional, Set from typing_extensions import Self -class TaskAbortOptions(BaseModel): +class HistogramBoundsOneOf(BaseModel): """ - TaskAbortOptions + HistogramBoundsOneOf """ # noqa: E501 - force: Optional[StrictBool] = None - __properties: ClassVar[List[str]] = ["force"] + data: Optional[Any] + __properties: ClassVar[List[str]] = ["data"] model_config = ConfigDict( populate_by_name=True, @@ -48,7 +48,7 @@ def to_json(self) -> str: @classmethod def from_json(cls, json_str: str) -> Optional[Self]: - """Create an instance of TaskAbortOptions from a JSON string""" + """Create an instance of HistogramBoundsOneOf from a JSON string""" return cls.from_dict(json.loads(json_str)) def to_dict(self) -> Dict[str, Any]: @@ -69,11 +69,16 @@ def to_dict(self) -> Dict[str, Any]: exclude=excluded_fields, exclude_none=True, ) + # set to None if data (nullable) is None + # and model_fields_set contains the field + if self.data is None and "data" in self.model_fields_set: + _dict['data'] = None + return _dict @classmethod def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: - """Create an instance of TaskAbortOptions from a dict""" + """Create an instance of HistogramBoundsOneOf from a dict""" if obj is None: return None @@ -81,7 +86,7 @@ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: return cls.model_validate(obj) _obj = cls.model_validate({ - "force": obj.get("force") + "data": obj.get("data") }) return _obj diff --git a/python/geoengine_openapi_client/models/histogram_bounds_one_of1.py b/python/geoengine_openapi_client/models/histogram_bounds_one_of1.py new file mode 100644 index 00000000..b188a555 --- /dev/null +++ b/python/geoengine_openapi_client/models/histogram_bounds_one_of1.py @@ -0,0 +1,92 @@ +# coding: utf-8 + +""" + Geo Engine API + + No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + + The version of the OpenAPI document: 0.9.0 + Contact: dev@geoengine.de + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict +from typing import Any, ClassVar, Dict, List +from geoengine_openapi_client.models.histogram_bounds_one_of1_values import HistogramBoundsOneOf1Values +from typing import Optional, Set +from typing_extensions import Self + +class HistogramBoundsOneOf1(BaseModel): + """ + HistogramBoundsOneOf1 + """ # noqa: E501 + values: HistogramBoundsOneOf1Values + __properties: ClassVar[List[str]] = ["values"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of HistogramBoundsOneOf1 from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of values + if self.values: + _dict['values'] = self.values.to_dict() + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of HistogramBoundsOneOf1 from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "values": HistogramBoundsOneOf1Values.from_dict(obj["values"]) if obj.get("values") is not None else None + }) + return _obj + + diff --git a/python/geoengine_openapi_client/models/spatial_resolution.py b/python/geoengine_openapi_client/models/histogram_bounds_one_of1_values.py similarity index 83% rename from python/geoengine_openapi_client/models/spatial_resolution.py rename to python/geoengine_openapi_client/models/histogram_bounds_one_of1_values.py index e7518a75..4c01d766 100644 --- a/python/geoengine_openapi_client/models/spatial_resolution.py +++ b/python/geoengine_openapi_client/models/histogram_bounds_one_of1_values.py @@ -23,13 +23,13 @@ from typing import Optional, Set from typing_extensions import Self -class SpatialResolution(BaseModel): +class HistogramBoundsOneOf1Values(BaseModel): """ - The spatial resolution in SRS units + HistogramBoundsOneOf1Values """ # noqa: E501 - x: Union[StrictFloat, StrictInt] - y: Union[StrictFloat, StrictInt] - __properties: ClassVar[List[str]] = ["x", "y"] + max: Union[StrictFloat, StrictInt] + min: Union[StrictFloat, StrictInt] + __properties: ClassVar[List[str]] = ["max", "min"] model_config = ConfigDict( populate_by_name=True, @@ -49,7 +49,7 @@ def to_json(self) -> str: @classmethod def from_json(cls, json_str: str) -> Optional[Self]: - """Create an instance of SpatialResolution from a JSON string""" + """Create an instance of HistogramBoundsOneOf1Values from a JSON string""" return cls.from_dict(json.loads(json_str)) def to_dict(self) -> Dict[str, Any]: @@ -74,7 +74,7 @@ def to_dict(self) -> Dict[str, Any]: @classmethod def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: - """Create an instance of SpatialResolution from a dict""" + """Create an instance of HistogramBoundsOneOf1Values from a dict""" if obj is None: return None @@ -82,8 +82,8 @@ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: return cls.model_validate(obj) _obj = cls.model_validate({ - "x": obj.get("x"), - "y": obj.get("y") + "max": obj.get("max"), + "min": obj.get("min") }) return _obj diff --git a/python/geoengine_openapi_client/models/histogram_buckets.py b/python/geoengine_openapi_client/models/histogram_buckets.py new file mode 100644 index 00000000..4ac21a42 --- /dev/null +++ b/python/geoengine_openapi_client/models/histogram_buckets.py @@ -0,0 +1,138 @@ +# coding: utf-8 + +""" + Geo Engine API + + No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + + The version of the OpenAPI document: 0.9.0 + Contact: dev@geoengine.de + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import json +import pprint +from pydantic import BaseModel, ConfigDict, Field, StrictStr, ValidationError, field_validator +from typing import Any, List, Optional +from geoengine_openapi_client.models.histogram_buckets_one_of import HistogramBucketsOneOf +from geoengine_openapi_client.models.histogram_buckets_one_of1 import HistogramBucketsOneOf1 +from pydantic import StrictStr, Field +from typing import Union, List, Set, Optional, Dict +from typing_extensions import Literal, Self + +HISTOGRAMBUCKETS_ONE_OF_SCHEMAS = ["HistogramBucketsOneOf", "HistogramBucketsOneOf1"] + +class HistogramBuckets(BaseModel): + """ + HistogramBuckets + """ + # data type: HistogramBucketsOneOf + oneof_schema_1_validator: Optional[HistogramBucketsOneOf] = None + # data type: HistogramBucketsOneOf1 + oneof_schema_2_validator: Optional[HistogramBucketsOneOf1] = None + actual_instance: Optional[Union[HistogramBucketsOneOf, HistogramBucketsOneOf1]] = None + one_of_schemas: Set[str] = { "HistogramBucketsOneOf", "HistogramBucketsOneOf1" } + + model_config = ConfigDict( + validate_assignment=True, + protected_namespaces=(), + ) + + + def __init__(self, *args, **kwargs) -> None: + if args: + if len(args) > 1: + raise ValueError("If a position argument is used, only 1 is allowed to set `actual_instance`") + if kwargs: + raise ValueError("If a position argument is used, keyword arguments cannot be used.") + super().__init__(actual_instance=args[0]) + else: + super().__init__(**kwargs) + + @field_validator('actual_instance') + def actual_instance_must_validate_oneof(cls, v): + instance = HistogramBuckets.model_construct() + error_messages = [] + match = 0 + # validate data type: HistogramBucketsOneOf + if not isinstance(v, HistogramBucketsOneOf): + error_messages.append(f"Error! Input type `{type(v)}` is not `HistogramBucketsOneOf`") + else: + match += 1 + # validate data type: HistogramBucketsOneOf1 + if not isinstance(v, HistogramBucketsOneOf1): + error_messages.append(f"Error! Input type `{type(v)}` is not `HistogramBucketsOneOf1`") + else: + match += 1 + if match > 1: + # more than 1 match + raise ValueError("Multiple matches found when setting `actual_instance` in HistogramBuckets with oneOf schemas: HistogramBucketsOneOf, HistogramBucketsOneOf1. Details: " + ", ".join(error_messages)) + elif match == 0: + # no match + raise ValueError("No match found when setting `actual_instance` in HistogramBuckets with oneOf schemas: HistogramBucketsOneOf, HistogramBucketsOneOf1. Details: " + ", ".join(error_messages)) + else: + return v + + @classmethod + def from_dict(cls, obj: Union[str, Dict[str, Any]]) -> Self: + return cls.from_json(json.dumps(obj)) + + @classmethod + def from_json(cls, json_str: str) -> Self: + """Returns the object represented by the json string""" + instance = cls.model_construct() + error_messages = [] + match = 0 + + # deserialize data into HistogramBucketsOneOf + try: + instance.actual_instance = HistogramBucketsOneOf.from_json(json_str) + match += 1 + except (ValidationError, ValueError) as e: + error_messages.append(str(e)) + # deserialize data into HistogramBucketsOneOf1 + try: + instance.actual_instance = HistogramBucketsOneOf1.from_json(json_str) + match += 1 + except (ValidationError, ValueError) as e: + error_messages.append(str(e)) + + if match > 1: + # more than 1 match + raise ValueError("Multiple matches found when deserializing the JSON string into HistogramBuckets with oneOf schemas: HistogramBucketsOneOf, HistogramBucketsOneOf1. Details: " + ", ".join(error_messages)) + elif match == 0: + # no match + raise ValueError("No match found when deserializing the JSON string into HistogramBuckets with oneOf schemas: HistogramBucketsOneOf, HistogramBucketsOneOf1. Details: " + ", ".join(error_messages)) + else: + return instance + + def to_json(self) -> str: + """Returns the JSON representation of the actual instance""" + if self.actual_instance is None: + return "null" + + if hasattr(self.actual_instance, "to_json") and callable(self.actual_instance.to_json): + return self.actual_instance.to_json() + else: + return json.dumps(self.actual_instance) + + def to_dict(self) -> Optional[Union[Dict[str, Any], HistogramBucketsOneOf, HistogramBucketsOneOf1]]: + """Returns the dict representation of the actual instance""" + if self.actual_instance is None: + return None + + if hasattr(self.actual_instance, "to_dict") and callable(self.actual_instance.to_dict): + return self.actual_instance.to_dict() + else: + # primitive type + return self.actual_instance + + def to_str(self) -> str: + """Returns the string representation of the actual instance""" + return pprint.pformat(self.model_dump()) + + diff --git a/python/geoengine_openapi_client/models/histogram_buckets_one_of.py b/python/geoengine_openapi_client/models/histogram_buckets_one_of.py new file mode 100644 index 00000000..8d8c2db7 --- /dev/null +++ b/python/geoengine_openapi_client/models/histogram_buckets_one_of.py @@ -0,0 +1,98 @@ +# coding: utf-8 + +""" + Geo Engine API + + No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + + The version of the OpenAPI document: 0.9.0 + Contact: dev@geoengine.de + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field, StrictStr, field_validator +from typing import Any, ClassVar, Dict, List +from typing_extensions import Annotated +from typing import Optional, Set +from typing_extensions import Self + +class HistogramBucketsOneOf(BaseModel): + """ + HistogramBucketsOneOf + """ # noqa: E501 + type: StrictStr + value: Annotated[int, Field(strict=True, ge=0)] + __properties: ClassVar[List[str]] = ["type", "value"] + + @field_validator('type') + def type_validate_enum(cls, value): + """Validates the enum""" + if value not in set(['number']): + raise ValueError("must be one of enum values ('number')") + return value + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of HistogramBucketsOneOf from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of HistogramBucketsOneOf from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "type": obj.get("type"), + "value": obj.get("value") + }) + return _obj + + diff --git a/python/geoengine_openapi_client/models/task_list_options.py b/python/geoengine_openapi_client/models/histogram_buckets_one_of1.py similarity index 71% rename from python/geoengine_openapi_client/models/task_list_options.py rename to python/geoengine_openapi_client/models/histogram_buckets_one_of1.py index 661a3e1f..369341d9 100644 --- a/python/geoengine_openapi_client/models/task_list_options.py +++ b/python/geoengine_openapi_client/models/histogram_buckets_one_of1.py @@ -18,21 +18,26 @@ import re # noqa: F401 import json -from pydantic import BaseModel, ConfigDict, Field +from pydantic import BaseModel, ConfigDict, Field, StrictStr, field_validator from typing import Any, ClassVar, Dict, List, Optional from typing_extensions import Annotated -from geoengine_openapi_client.models.task_filter import TaskFilter from typing import Optional, Set from typing_extensions import Self -class TaskListOptions(BaseModel): +class HistogramBucketsOneOf1(BaseModel): """ - TaskListOptions + HistogramBucketsOneOf1 """ # noqa: E501 - filter: Optional[TaskFilter] = None - limit: Optional[Annotated[int, Field(strict=True, ge=0)]] = None - offset: Optional[Annotated[int, Field(strict=True, ge=0)]] = None - __properties: ClassVar[List[str]] = ["filter", "limit", "offset"] + max_number_of_buckets: Optional[Annotated[int, Field(strict=True, ge=0)]] = Field(default=None, alias="maxNumberOfBuckets") + type: StrictStr + __properties: ClassVar[List[str]] = ["maxNumberOfBuckets", "type"] + + @field_validator('type') + def type_validate_enum(cls, value): + """Validates the enum""" + if value not in set(['squareRootChoiceRule']): + raise ValueError("must be one of enum values ('squareRootChoiceRule')") + return value model_config = ConfigDict( populate_by_name=True, @@ -52,7 +57,7 @@ def to_json(self) -> str: @classmethod def from_json(cls, json_str: str) -> Optional[Self]: - """Create an instance of TaskListOptions from a JSON string""" + """Create an instance of HistogramBucketsOneOf1 from a JSON string""" return cls.from_dict(json.loads(json_str)) def to_dict(self) -> Dict[str, Any]: @@ -73,16 +78,11 @@ def to_dict(self) -> Dict[str, Any]: exclude=excluded_fields, exclude_none=True, ) - # set to None if filter (nullable) is None - # and model_fields_set contains the field - if self.filter is None and "filter" in self.model_fields_set: - _dict['filter'] = None - return _dict @classmethod def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: - """Create an instance of TaskListOptions from a dict""" + """Create an instance of HistogramBucketsOneOf1 from a dict""" if obj is None: return None @@ -90,9 +90,8 @@ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: return cls.model_validate(obj) _obj = cls.model_validate({ - "filter": obj.get("filter"), - "limit": obj.get("limit"), - "offset": obj.get("offset") + "maxNumberOfBuckets": obj.get("maxNumberOfBuckets"), + "type": obj.get("type") }) return _obj diff --git a/python/geoengine_openapi_client/models/histogram_parameters.py b/python/geoengine_openapi_client/models/histogram_parameters.py new file mode 100644 index 00000000..92eb7979 --- /dev/null +++ b/python/geoengine_openapi_client/models/histogram_parameters.py @@ -0,0 +1,102 @@ +# coding: utf-8 + +""" + Geo Engine API + + No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + + The version of the OpenAPI document: 0.9.0 + Contact: dev@geoengine.de + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from geoengine_openapi_client.models.histogram_bounds import HistogramBounds +from geoengine_openapi_client.models.histogram_buckets import HistogramBuckets +from typing import Optional, Set +from typing_extensions import Self + +class HistogramParameters(BaseModel): + """ + The parameter spec for `Histogram` + """ # noqa: E501 + attribute_name: StrictStr = Field(description="Name of the (numeric) vector attribute or raster band to compute the histogram on.", alias="attributeName") + bounds: HistogramBounds = Field(description="If `data`, it computes the bounds of the underlying data. If `values`, one can specify custom bounds.") + buckets: HistogramBuckets = Field(description="The number of buckets. The value can be specified or calculated.") + interactive: Optional[StrictBool] = Field(default=None, description="Flag, if the histogram should have user interactions for a range selection. It is `false` by default.") + __properties: ClassVar[List[str]] = ["attributeName", "bounds", "buckets", "interactive"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of HistogramParameters from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of bounds + if self.bounds: + _dict['bounds'] = self.bounds.to_dict() + # override the default output from pydantic by calling `to_dict()` of buckets + if self.buckets: + _dict['buckets'] = self.buckets.to_dict() + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of HistogramParameters from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "attributeName": obj.get("attributeName"), + "bounds": HistogramBounds.from_dict(obj["bounds"]) if obj.get("bounds") is not None else None, + "buckets": HistogramBuckets.from_dict(obj["buckets"]) if obj.get("buckets") is not None else None, + "interactive": obj.get("interactive") + }) + return _obj + + diff --git a/python/geoengine_openapi_client/models/legacy_typed_operator.py b/python/geoengine_openapi_client/models/legacy_typed_operator.py new file mode 100644 index 00000000..aa25c475 --- /dev/null +++ b/python/geoengine_openapi_client/models/legacy_typed_operator.py @@ -0,0 +1,101 @@ +# coding: utf-8 + +""" + Geo Engine API + + No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + + The version of the OpenAPI document: 0.9.0 + Contact: dev@geoengine.de + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, StrictStr, field_validator +from typing import Any, ClassVar, Dict, List +from geoengine_openapi_client.models.legacy_typed_operator_operator import LegacyTypedOperatorOperator +from typing import Optional, Set +from typing_extensions import Self + +class LegacyTypedOperator(BaseModel): + """ + An enum to differentiate between `Operator` variants + """ # noqa: E501 + operator: LegacyTypedOperatorOperator + type: StrictStr + __properties: ClassVar[List[str]] = ["operator", "type"] + + @field_validator('type') + def type_validate_enum(cls, value): + """Validates the enum""" + if value not in set(['Vector', 'Raster', 'Plot']): + raise ValueError("must be one of enum values ('Vector', 'Raster', 'Plot')") + return value + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of LegacyTypedOperator from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of operator + if self.operator: + _dict['operator'] = self.operator.to_dict() + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of LegacyTypedOperator from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "operator": LegacyTypedOperatorOperator.from_dict(obj["operator"]) if obj.get("operator") is not None else None, + "type": obj.get("type") + }) + return _obj + + diff --git a/python/geoengine_openapi_client/models/typed_operator_operator.py b/python/geoengine_openapi_client/models/legacy_typed_operator_operator.py similarity index 91% rename from python/geoengine_openapi_client/models/typed_operator_operator.py rename to python/geoengine_openapi_client/models/legacy_typed_operator_operator.py index d9e16832..21d11bca 100644 --- a/python/geoengine_openapi_client/models/typed_operator_operator.py +++ b/python/geoengine_openapi_client/models/legacy_typed_operator_operator.py @@ -23,9 +23,9 @@ from typing import Optional, Set from typing_extensions import Self -class TypedOperatorOperator(BaseModel): +class LegacyTypedOperatorOperator(BaseModel): """ - TypedOperatorOperator + LegacyTypedOperatorOperator """ # noqa: E501 params: Optional[Dict[str, Any]] = None sources: Optional[Dict[str, Any]] = None @@ -50,7 +50,7 @@ def to_json(self) -> str: @classmethod def from_json(cls, json_str: str) -> Optional[Self]: - """Create an instance of TypedOperatorOperator from a JSON string""" + """Create an instance of LegacyTypedOperatorOperator from a JSON string""" return cls.from_dict(json.loads(json_str)) def to_dict(self) -> Dict[str, Any]: @@ -75,7 +75,7 @@ def to_dict(self) -> Dict[str, Any]: @classmethod def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: - """Create an instance of TypedOperatorOperator from a dict""" + """Create an instance of LegacyTypedOperatorOperator from a dict""" if obj is None: return None diff --git a/python/geoengine_openapi_client/models/mock_point_source.py b/python/geoengine_openapi_client/models/mock_point_source.py new file mode 100644 index 00000000..f505dc24 --- /dev/null +++ b/python/geoengine_openapi_client/models/mock_point_source.py @@ -0,0 +1,101 @@ +# coding: utf-8 + +""" + Geo Engine API + + No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + + The version of the OpenAPI document: 0.9.0 + Contact: dev@geoengine.de + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, StrictStr, field_validator +from typing import Any, ClassVar, Dict, List +from geoengine_openapi_client.models.mock_point_source_parameters import MockPointSourceParameters +from typing import Optional, Set +from typing_extensions import Self + +class MockPointSource(BaseModel): + """ + The [`MockPointSource`] is a source operator that provides mock vector point data for testing and development purposes. + """ # noqa: E501 + params: MockPointSourceParameters + type: StrictStr + __properties: ClassVar[List[str]] = ["params", "type"] + + @field_validator('type') + def type_validate_enum(cls, value): + """Validates the enum""" + if value not in set(['MockPointSource']): + raise ValueError("must be one of enum values ('MockPointSource')") + return value + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of MockPointSource from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of params + if self.params: + _dict['params'] = self.params.to_dict() + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of MockPointSource from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "params": MockPointSourceParameters.from_dict(obj["params"]) if obj.get("params") is not None else None, + "type": obj.get("type") + }) + return _obj + + diff --git a/python/geoengine_openapi_client/models/add_dataset_tile.py b/python/geoengine_openapi_client/models/mock_point_source_parameters.py similarity index 59% rename from python/geoengine_openapi_client/models/add_dataset_tile.py rename to python/geoengine_openapi_client/models/mock_point_source_parameters.py index cb483295..d5eb0b00 100644 --- a/python/geoengine_openapi_client/models/add_dataset_tile.py +++ b/python/geoengine_openapi_client/models/mock_point_source_parameters.py @@ -20,23 +20,18 @@ from pydantic import BaseModel, ConfigDict, Field from typing import Any, ClassVar, Dict, List -from typing_extensions import Annotated -from geoengine_openapi_client.models.gdal_dataset_parameters import GdalDatasetParameters -from geoengine_openapi_client.models.spatial_partition2_d import SpatialPartition2D -from geoengine_openapi_client.models.time_interval import TimeInterval +from geoengine_openapi_client.models.coordinate2_d import Coordinate2D +from geoengine_openapi_client.models.spatial_bounds_derive import SpatialBoundsDerive from typing import Optional, Set from typing_extensions import Self -class AddDatasetTile(BaseModel): +class MockPointSourceParameters(BaseModel): """ - AddDatasetTile + Parameters for the [`MockPointSource`] operator. """ # noqa: E501 - band: Annotated[int, Field(strict=True, ge=0)] - params: GdalDatasetParameters - spatial_partition: SpatialPartition2D - time: TimeInterval - z_index: Annotated[int, Field(strict=True, ge=0)] - __properties: ClassVar[List[str]] = ["band", "params", "spatial_partition", "time", "z_index"] + points: List[Coordinate2D] = Field(description="Points to be output by the mock point source. ") + spatial_bounds: SpatialBoundsDerive = Field(description="Defines how the spatial bounds of the source are derived. Defaults to `None`.", alias="spatialBounds") + __properties: ClassVar[List[str]] = ["points", "spatialBounds"] model_config = ConfigDict( populate_by_name=True, @@ -56,7 +51,7 @@ def to_json(self) -> str: @classmethod def from_json(cls, json_str: str) -> Optional[Self]: - """Create an instance of AddDatasetTile from a JSON string""" + """Create an instance of MockPointSourceParameters from a JSON string""" return cls.from_dict(json.loads(json_str)) def to_dict(self) -> Dict[str, Any]: @@ -77,20 +72,21 @@ def to_dict(self) -> Dict[str, Any]: exclude=excluded_fields, exclude_none=True, ) - # override the default output from pydantic by calling `to_dict()` of params - if self.params: - _dict['params'] = self.params.to_dict() - # override the default output from pydantic by calling `to_dict()` of spatial_partition - if self.spatial_partition: - _dict['spatial_partition'] = self.spatial_partition.to_dict() - # override the default output from pydantic by calling `to_dict()` of time - if self.time: - _dict['time'] = self.time.to_dict() + # override the default output from pydantic by calling `to_dict()` of each item in points (list) + _items = [] + if self.points: + for _item_points in self.points: + if _item_points: + _items.append(_item_points.to_dict()) + _dict['points'] = _items + # override the default output from pydantic by calling `to_dict()` of spatial_bounds + if self.spatial_bounds: + _dict['spatialBounds'] = self.spatial_bounds.to_dict() return _dict @classmethod def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: - """Create an instance of AddDatasetTile from a dict""" + """Create an instance of MockPointSourceParameters from a dict""" if obj is None: return None @@ -98,11 +94,8 @@ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: return cls.model_validate(obj) _obj = cls.model_validate({ - "band": obj.get("band"), - "params": GdalDatasetParameters.from_dict(obj["params"]) if obj.get("params") is not None else None, - "spatial_partition": SpatialPartition2D.from_dict(obj["spatial_partition"]) if obj.get("spatial_partition") is not None else None, - "time": TimeInterval.from_dict(obj["time"]) if obj.get("time") is not None else None, - "z_index": obj.get("z_index") + "points": [Coordinate2D.from_dict(_item) for _item in obj["points"]] if obj.get("points") is not None else None, + "spatialBounds": SpatialBoundsDerive.from_dict(obj["spatialBounds"]) if obj.get("spatialBounds") is not None else None }) return _obj diff --git a/python/geoengine_openapi_client/models/multiple_raster_or_single_vector_operator.py b/python/geoengine_openapi_client/models/multiple_raster_or_single_vector_operator.py new file mode 100644 index 00000000..437fa69a --- /dev/null +++ b/python/geoengine_openapi_client/models/multiple_raster_or_single_vector_operator.py @@ -0,0 +1,142 @@ +# coding: utf-8 + +""" + Geo Engine API + + No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + + The version of the OpenAPI document: 0.9.0 + Contact: dev@geoengine.de + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import json +import pprint +from pydantic import BaseModel, ConfigDict, Field, StrictStr, ValidationError, field_validator +from typing import Any, List, Optional +from geoengine_openapi_client.models.raster_operator import RasterOperator +from geoengine_openapi_client.models.vector_operator import VectorOperator +from pydantic import StrictStr, Field +from typing import Union, List, Set, Optional, Dict +from typing_extensions import Literal, Self + +MULTIPLERASTERORSINGLEVECTOROPERATOR_ONE_OF_SCHEMAS = ["List[RasterOperator]", "VectorOperator"] + +class MultipleRasterOrSingleVectorOperator(BaseModel): + """ + It is either a set of `RasterOperator` or a single `VectorOperator` + """ + # data type: List[RasterOperator] + oneof_schema_1_validator: Optional[List[RasterOperator]] = None + # data type: VectorOperator + oneof_schema_2_validator: Optional[VectorOperator] = None + actual_instance: Optional[Union[List[RasterOperator], VectorOperator]] = None + one_of_schemas: Set[str] = { "List[RasterOperator]", "VectorOperator" } + + model_config = ConfigDict( + validate_assignment=True, + protected_namespaces=(), + ) + + + def __init__(self, *args, **kwargs) -> None: + if args: + if len(args) > 1: + raise ValueError("If a position argument is used, only 1 is allowed to set `actual_instance`") + if kwargs: + raise ValueError("If a position argument is used, keyword arguments cannot be used.") + super().__init__(actual_instance=args[0]) + else: + super().__init__(**kwargs) + + @field_validator('actual_instance') + def actual_instance_must_validate_oneof(cls, v): + instance = MultipleRasterOrSingleVectorOperator.model_construct() + error_messages = [] + match = 0 + # validate data type: List[RasterOperator] + try: + instance.oneof_schema_1_validator = v + match += 1 + except (ValidationError, ValueError) as e: + error_messages.append(str(e)) + # validate data type: VectorOperator + if not isinstance(v, VectorOperator): + error_messages.append(f"Error! Input type `{type(v)}` is not `VectorOperator`") + else: + match += 1 + if match > 1: + # more than 1 match + raise ValueError("Multiple matches found when setting `actual_instance` in MultipleRasterOrSingleVectorOperator with oneOf schemas: List[RasterOperator], VectorOperator. Details: " + ", ".join(error_messages)) + elif match == 0: + # no match + raise ValueError("No match found when setting `actual_instance` in MultipleRasterOrSingleVectorOperator with oneOf schemas: List[RasterOperator], VectorOperator. Details: " + ", ".join(error_messages)) + else: + return v + + @classmethod + def from_dict(cls, obj: Union[str, Dict[str, Any]]) -> Self: + return cls.from_json(json.dumps(obj)) + + @classmethod + def from_json(cls, json_str: str) -> Self: + """Returns the object represented by the json string""" + instance = cls.model_construct() + error_messages = [] + match = 0 + + # deserialize data into List[RasterOperator] + try: + # validation + instance.oneof_schema_1_validator = json.loads(json_str) + # assign value to actual_instance + instance.actual_instance = instance.oneof_schema_1_validator + match += 1 + except (ValidationError, ValueError) as e: + error_messages.append(str(e)) + # deserialize data into VectorOperator + try: + instance.actual_instance = VectorOperator.from_json(json_str) + match += 1 + except (ValidationError, ValueError) as e: + error_messages.append(str(e)) + + if match > 1: + # more than 1 match + raise ValueError("Multiple matches found when deserializing the JSON string into MultipleRasterOrSingleVectorOperator with oneOf schemas: List[RasterOperator], VectorOperator. Details: " + ", ".join(error_messages)) + elif match == 0: + # no match + raise ValueError("No match found when deserializing the JSON string into MultipleRasterOrSingleVectorOperator with oneOf schemas: List[RasterOperator], VectorOperator. Details: " + ", ".join(error_messages)) + else: + return instance + + def to_json(self) -> str: + """Returns the JSON representation of the actual instance""" + if self.actual_instance is None: + return "null" + + if hasattr(self.actual_instance, "to_json") and callable(self.actual_instance.to_json): + return self.actual_instance.to_json() + else: + return json.dumps(self.actual_instance) + + def to_dict(self) -> Optional[Union[Dict[str, Any], List[RasterOperator], VectorOperator]]: + """Returns the dict representation of the actual instance""" + if self.actual_instance is None: + return None + + if hasattr(self.actual_instance, "to_dict") and callable(self.actual_instance.to_dict): + return self.actual_instance.to_dict() + else: + # primitive type + return self.actual_instance + + def to_str(self) -> str: + """Returns the string representation of the actual instance""" + return pprint.pformat(self.model_dump()) + + diff --git a/python/geoengine_openapi_client/models/multiple_raster_or_single_vector_source.py b/python/geoengine_openapi_client/models/multiple_raster_or_single_vector_source.py new file mode 100644 index 00000000..6dd64d61 --- /dev/null +++ b/python/geoengine_openapi_client/models/multiple_raster_or_single_vector_source.py @@ -0,0 +1,92 @@ +# coding: utf-8 + +""" + Geo Engine API + + No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + + The version of the OpenAPI document: 0.9.0 + Contact: dev@geoengine.de + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict +from typing import Any, ClassVar, Dict, List +from geoengine_openapi_client.models.multiple_raster_or_single_vector_operator import MultipleRasterOrSingleVectorOperator +from typing import Optional, Set +from typing_extensions import Self + +class MultipleRasterOrSingleVectorSource(BaseModel): + """ + Either one or more raster operators or a single vector operator as source for this operator. + """ # noqa: E501 + source: MultipleRasterOrSingleVectorOperator + __properties: ClassVar[List[str]] = ["source"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of MultipleRasterOrSingleVectorSource from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of source + if self.source: + _dict['source'] = self.source.to_dict() + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of MultipleRasterOrSingleVectorSource from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "source": MultipleRasterOrSingleVectorOperator.from_dict(obj["source"]) if obj.get("source") is not None else None + }) + return _obj + + diff --git a/python/geoengine_openapi_client/models/names.py b/python/geoengine_openapi_client/models/names.py new file mode 100644 index 00000000..05df1258 --- /dev/null +++ b/python/geoengine_openapi_client/models/names.py @@ -0,0 +1,97 @@ +# coding: utf-8 + +""" + Geo Engine API + + No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + + The version of the OpenAPI document: 0.9.0 + Contact: dev@geoengine.de + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, StrictStr, field_validator +from typing import Any, ClassVar, Dict, List +from typing import Optional, Set +from typing_extensions import Self + +class Names(BaseModel): + """ + Names + """ # noqa: E501 + type: StrictStr + values: List[StrictStr] + __properties: ClassVar[List[str]] = ["type", "values"] + + @field_validator('type') + def type_validate_enum(cls, value): + """Validates the enum""" + if value not in set(['names']): + raise ValueError("must be one of enum values ('names')") + return value + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of Names from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of Names from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "type": obj.get("type"), + "values": obj.get("values") + }) + return _obj + + diff --git a/python/geoengine_openapi_client/models/plot_operator.py b/python/geoengine_openapi_client/models/plot_operator.py new file mode 100644 index 00000000..a726cc75 --- /dev/null +++ b/python/geoengine_openapi_client/models/plot_operator.py @@ -0,0 +1,156 @@ +# coding: utf-8 + +""" + Geo Engine API + + No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + + The version of the OpenAPI document: 0.9.0 + Contact: dev@geoengine.de + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import json +import pprint +from pydantic import BaseModel, ConfigDict, Field, StrictStr, ValidationError, field_validator +from typing import Any, List, Optional +from geoengine_openapi_client.models.histogram import Histogram +from geoengine_openapi_client.models.statistics import Statistics +from pydantic import StrictStr, Field +from typing import Union, List, Set, Optional, Dict +from typing_extensions import Literal, Self + +PLOTOPERATOR_ONE_OF_SCHEMAS = ["Histogram", "Statistics"] + +class PlotOperator(BaseModel): + """ + An operator that produces plot data. + """ + # data type: Histogram + oneof_schema_1_validator: Optional[Histogram] = None + # data type: Statistics + oneof_schema_2_validator: Optional[Statistics] = None + actual_instance: Optional[Union[Histogram, Statistics]] = None + one_of_schemas: Set[str] = { "Histogram", "Statistics" } + + model_config = ConfigDict( + validate_assignment=True, + protected_namespaces=(), + ) + + + discriminator_value_class_map: Dict[str, str] = { + } + + def __init__(self, *args, **kwargs) -> None: + if args: + if len(args) > 1: + raise ValueError("If a position argument is used, only 1 is allowed to set `actual_instance`") + if kwargs: + raise ValueError("If a position argument is used, keyword arguments cannot be used.") + super().__init__(actual_instance=args[0]) + else: + super().__init__(**kwargs) + + @field_validator('actual_instance') + def actual_instance_must_validate_oneof(cls, v): + instance = PlotOperator.model_construct() + error_messages = [] + match = 0 + # validate data type: Histogram + if not isinstance(v, Histogram): + error_messages.append(f"Error! Input type `{type(v)}` is not `Histogram`") + else: + match += 1 + # validate data type: Statistics + if not isinstance(v, Statistics): + error_messages.append(f"Error! Input type `{type(v)}` is not `Statistics`") + else: + match += 1 + if match > 1: + # more than 1 match + raise ValueError("Multiple matches found when setting `actual_instance` in PlotOperator with oneOf schemas: Histogram, Statistics. Details: " + ", ".join(error_messages)) + elif match == 0: + # no match + raise ValueError("No match found when setting `actual_instance` in PlotOperator with oneOf schemas: Histogram, Statistics. Details: " + ", ".join(error_messages)) + else: + return v + + @classmethod + def from_dict(cls, obj: Union[str, Dict[str, Any]]) -> Self: + return cls.from_json(json.dumps(obj)) + + @classmethod + def from_json(cls, json_str: str) -> Self: + """Returns the object represented by the json string""" + instance = cls.model_construct() + error_messages = [] + match = 0 + + # use oneOf discriminator to lookup the data type + _data_type = json.loads(json_str).get("type") + if not _data_type: + raise ValueError("Failed to lookup data type from the field `type` in the input.") + + # check if data type is `Histogram` + if _data_type == "Histogram": + instance.actual_instance = Histogram.from_json(json_str) + return instance + + # check if data type is `Statistics` + if _data_type == "Statistics": + instance.actual_instance = Statistics.from_json(json_str) + return instance + + # deserialize data into Histogram + try: + instance.actual_instance = Histogram.from_json(json_str) + match += 1 + except (ValidationError, ValueError) as e: + error_messages.append(str(e)) + # deserialize data into Statistics + try: + instance.actual_instance = Statistics.from_json(json_str) + match += 1 + except (ValidationError, ValueError) as e: + error_messages.append(str(e)) + + if match > 1: + # more than 1 match + raise ValueError("Multiple matches found when deserializing the JSON string into PlotOperator with oneOf schemas: Histogram, Statistics. Details: " + ", ".join(error_messages)) + elif match == 0: + # no match + raise ValueError("No match found when deserializing the JSON string into PlotOperator with oneOf schemas: Histogram, Statistics. Details: " + ", ".join(error_messages)) + else: + return instance + + def to_json(self) -> str: + """Returns the JSON representation of the actual instance""" + if self.actual_instance is None: + return "null" + + if hasattr(self.actual_instance, "to_json") and callable(self.actual_instance.to_json): + return self.actual_instance.to_json() + else: + return json.dumps(self.actual_instance) + + def to_dict(self) -> Optional[Union[Dict[str, Any], Histogram, Statistics]]: + """Returns the dict representation of the actual instance""" + if self.actual_instance is None: + return None + + if hasattr(self.actual_instance, "to_dict") and callable(self.actual_instance.to_dict): + return self.actual_instance.to_dict() + else: + # primitive type + return self.actual_instance + + def to_str(self) -> str: + """Returns the string representation of the actual instance""" + return pprint.pformat(self.model_dump()) + + diff --git a/python/geoengine_openapi_client/models/raster_operator.py b/python/geoengine_openapi_client/models/raster_operator.py new file mode 100644 index 00000000..838c7d20 --- /dev/null +++ b/python/geoengine_openapi_client/models/raster_operator.py @@ -0,0 +1,158 @@ +# coding: utf-8 + +""" + Geo Engine API + + No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + + The version of the OpenAPI document: 0.9.0 + Contact: dev@geoengine.de + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import json +import pprint +from pydantic import BaseModel, ConfigDict, Field, StrictStr, ValidationError, field_validator +from typing import Any, List, Optional +from geoengine_openapi_client.models.gdal_source import GdalSource +from pydantic import StrictStr, Field +from typing import Union, List, Set, Optional, Dict +from typing_extensions import Literal, Self + +RASTEROPERATOR_ONE_OF_SCHEMAS = ["Expression", "GdalSource"] + +class RasterOperator(BaseModel): + """ + An operator that produces raster data. + """ + # data type: Expression + oneof_schema_1_validator: Optional[Expression] = None + # data type: GdalSource + oneof_schema_2_validator: Optional[GdalSource] = None + actual_instance: Optional[Union[Expression, GdalSource]] = None + one_of_schemas: Set[str] = { "Expression", "GdalSource" } + + model_config = ConfigDict( + validate_assignment=True, + protected_namespaces=(), + ) + + + discriminator_value_class_map: Dict[str, str] = { + } + + def __init__(self, *args, **kwargs) -> None: + if args: + if len(args) > 1: + raise ValueError("If a position argument is used, only 1 is allowed to set `actual_instance`") + if kwargs: + raise ValueError("If a position argument is used, keyword arguments cannot be used.") + super().__init__(actual_instance=args[0]) + else: + super().__init__(**kwargs) + + @field_validator('actual_instance') + def actual_instance_must_validate_oneof(cls, v): + instance = RasterOperator.model_construct() + error_messages = [] + match = 0 + # validate data type: Expression + if not isinstance(v, Expression): + error_messages.append(f"Error! Input type `{type(v)}` is not `Expression`") + else: + match += 1 + # validate data type: GdalSource + if not isinstance(v, GdalSource): + error_messages.append(f"Error! Input type `{type(v)}` is not `GdalSource`") + else: + match += 1 + if match > 1: + # more than 1 match + raise ValueError("Multiple matches found when setting `actual_instance` in RasterOperator with oneOf schemas: Expression, GdalSource. Details: " + ", ".join(error_messages)) + elif match == 0: + # no match + raise ValueError("No match found when setting `actual_instance` in RasterOperator with oneOf schemas: Expression, GdalSource. Details: " + ", ".join(error_messages)) + else: + return v + + @classmethod + def from_dict(cls, obj: Union[str, Dict[str, Any]]) -> Self: + return cls.from_json(json.dumps(obj)) + + @classmethod + def from_json(cls, json_str: str) -> Self: + """Returns the object represented by the json string""" + instance = cls.model_construct() + error_messages = [] + match = 0 + + # use oneOf discriminator to lookup the data type + _data_type = json.loads(json_str).get("type") + if not _data_type: + raise ValueError("Failed to lookup data type from the field `type` in the input.") + + # check if data type is `Expression` + if _data_type == "Expression": + instance.actual_instance = Expression.from_json(json_str) + return instance + + # check if data type is `GdalSource` + if _data_type == "GdalSource": + instance.actual_instance = GdalSource.from_json(json_str) + return instance + + # deserialize data into Expression + try: + instance.actual_instance = Expression.from_json(json_str) + match += 1 + except (ValidationError, ValueError) as e: + error_messages.append(str(e)) + # deserialize data into GdalSource + try: + instance.actual_instance = GdalSource.from_json(json_str) + match += 1 + except (ValidationError, ValueError) as e: + error_messages.append(str(e)) + + if match > 1: + # more than 1 match + raise ValueError("Multiple matches found when deserializing the JSON string into RasterOperator with oneOf schemas: Expression, GdalSource. Details: " + ", ".join(error_messages)) + elif match == 0: + # no match + raise ValueError("No match found when deserializing the JSON string into RasterOperator with oneOf schemas: Expression, GdalSource. Details: " + ", ".join(error_messages)) + else: + return instance + + def to_json(self) -> str: + """Returns the JSON representation of the actual instance""" + if self.actual_instance is None: + return "null" + + if hasattr(self.actual_instance, "to_json") and callable(self.actual_instance.to_json): + return self.actual_instance.to_json() + else: + return json.dumps(self.actual_instance) + + def to_dict(self) -> Optional[Union[Dict[str, Any], Expression, GdalSource]]: + """Returns the dict representation of the actual instance""" + if self.actual_instance is None: + return None + + if hasattr(self.actual_instance, "to_dict") and callable(self.actual_instance.to_dict): + return self.actual_instance.to_dict() + else: + # primitive type + return self.actual_instance + + def to_str(self) -> str: + """Returns the string representation of the actual instance""" + return pprint.pformat(self.model_dump()) + +from geoengine_openapi_client.models.expression import Expression +# TODO: Rewrite to not use raise_errors +RasterOperator.model_rebuild(raise_errors=False) + diff --git a/python/geoengine_openapi_client/models/raster_vector_join.py b/python/geoengine_openapi_client/models/raster_vector_join.py new file mode 100644 index 00000000..37efc395 --- /dev/null +++ b/python/geoengine_openapi_client/models/raster_vector_join.py @@ -0,0 +1,109 @@ +# coding: utf-8 + +""" + Geo Engine API + + No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + + The version of the OpenAPI document: 0.9.0 + Contact: dev@geoengine.de + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, StrictStr, field_validator +from typing import Any, ClassVar, Dict, List +from geoengine_openapi_client.models.raster_vector_join_parameters import RasterVectorJoinParameters +from typing import Optional, Set +from typing_extensions import Self + +class RasterVectorJoin(BaseModel): + """ + The `RasterVectorJoin` operator allows combining a single vector input and multiple raster inputs. For each raster input, a new column is added to the collection from the vector input. The new column contains the value of the raster at the location of the vector feature. For features covering multiple pixels like `MultiPoints` or `MultiPolygons`, the value is calculated using an aggregation function selected by the user. The same is true if the temporal extent of a vector feature covers multiple raster time steps. More details are described below. **Example**: You have a collection of agricultural fields (`Polygons`) and a collection of raster images containing each pixel's monthly NDVI value. For your application, you want to know the NDVI value of each field. The `RasterVectorJoin` operator allows you to combine the vector and raster data and offers multiple spatial and temporal aggregation strategies. For example, you can use the `first` aggregation function to get the NDVI value of the first pixel that intersects with each field. This is useful for exploratory analysis since the computation is very fast. To calculate the mean NDVI value of all pixels that intersect with the field you should use the `mean` aggregation function. Since the NDVI data is a monthly time series, you have to specify the temporal aggregation function as well. The default is `none` which will create a new feature for each month. Other options are `first` and `mean` which will calculate the first or mean NDVI value for each field over time. ## Inputs The `RasterVectorJoin` operator expects one _vector_ input and one or more _raster_ inputs. | Parameter | Type | | --------- | ----------------------------------- | | `sources` | `SingleVectorMultipleRasterSources` | ## Errors If the length of `names` is not equal to the number of raster inputs, an error is thrown. + """ # noqa: E501 + params: RasterVectorJoinParameters + sources: SingleVectorMultipleRasterSources + type: StrictStr + __properties: ClassVar[List[str]] = ["params", "sources", "type"] + + @field_validator('type') + def type_validate_enum(cls, value): + """Validates the enum""" + if value not in set(['RasterVectorJoin']): + raise ValueError("must be one of enum values ('RasterVectorJoin')") + return value + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of RasterVectorJoin from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of params + if self.params: + _dict['params'] = self.params.to_dict() + # override the default output from pydantic by calling `to_dict()` of sources + if self.sources: + _dict['sources'] = self.sources.to_dict() + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of RasterVectorJoin from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "params": RasterVectorJoinParameters.from_dict(obj["params"]) if obj.get("params") is not None else None, + "sources": SingleVectorMultipleRasterSources.from_dict(obj["sources"]) if obj.get("sources") is not None else None, + "type": obj.get("type") + }) + return _obj + +from geoengine_openapi_client.models.single_vector_multiple_raster_sources import SingleVectorMultipleRasterSources +# TODO: Rewrite to not use raise_errors +RasterVectorJoin.model_rebuild(raise_errors=False) + diff --git a/python/geoengine_openapi_client/models/raster_vector_join_parameters.py b/python/geoengine_openapi_client/models/raster_vector_join_parameters.py new file mode 100644 index 00000000..8ff5a66b --- /dev/null +++ b/python/geoengine_openapi_client/models/raster_vector_join_parameters.py @@ -0,0 +1,102 @@ +# coding: utf-8 + +""" + Geo Engine API + + No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + + The version of the OpenAPI document: 0.9.0 + Contact: dev@geoengine.de + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field, StrictBool +from typing import Any, ClassVar, Dict, List, Optional +from geoengine_openapi_client.models.column_names import ColumnNames +from geoengine_openapi_client.models.feature_aggregation_method import FeatureAggregationMethod +from geoengine_openapi_client.models.temporal_aggregation_method import TemporalAggregationMethod +from typing import Optional, Set +from typing_extensions import Self + +class RasterVectorJoinParameters(BaseModel): + """ + RasterVectorJoinParameters + """ # noqa: E501 + feature_aggregation: FeatureAggregationMethod = Field(description="The aggregation function to use for features covering multiple pixels.", alias="featureAggregation") + feature_aggregation_ignore_no_data: Optional[StrictBool] = Field(default=None, description="Whether to ignore no data values in the aggregation. Defaults to `false`.", alias="featureAggregationIgnoreNoData") + names: ColumnNames = Field(description="Specify how the new column names are derived from the raster band names. The `ColumnNames` type is used to specify how the new column names are derived from the raster band names. - **default**: Appends \" (n)\" to the band name with the smallest `n` that avoids a conflict. - **suffix**: Specifies a suffix for each input, to be appended to the band names. - **rename**: A list of names for each new column. ") + temporal_aggregation: TemporalAggregationMethod = Field(description="The aggregation function to use for features covering multiple (raster) time steps.", alias="temporalAggregation") + temporal_aggregation_ignore_no_data: Optional[StrictBool] = Field(default=None, description="Whether to ignore no data values in the aggregation. Defaults to `false`.", alias="temporalAggregationIgnoreNoData") + __properties: ClassVar[List[str]] = ["featureAggregation", "featureAggregationIgnoreNoData", "names", "temporalAggregation", "temporalAggregationIgnoreNoData"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of RasterVectorJoinParameters from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of names + if self.names: + _dict['names'] = self.names.to_dict() + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of RasterVectorJoinParameters from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "featureAggregation": obj.get("featureAggregation"), + "featureAggregationIgnoreNoData": obj.get("featureAggregationIgnoreNoData"), + "names": ColumnNames.from_dict(obj["names"]) if obj.get("names") is not None else None, + "temporalAggregation": obj.get("temporalAggregation"), + "temporalAggregationIgnoreNoData": obj.get("temporalAggregationIgnoreNoData") + }) + return _obj + + diff --git a/python/geoengine_openapi_client/models/single_raster_or_vector_operator.py b/python/geoengine_openapi_client/models/single_raster_or_vector_operator.py new file mode 100644 index 00000000..ef8b702a --- /dev/null +++ b/python/geoengine_openapi_client/models/single_raster_or_vector_operator.py @@ -0,0 +1,166 @@ +# coding: utf-8 + +""" + Geo Engine API + + No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + + The version of the OpenAPI document: 0.9.0 + Contact: dev@geoengine.de + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import json +import pprint +from pydantic import BaseModel, ConfigDict, Field, StrictStr, ValidationError, field_validator +from typing import Any, List, Optional +from geoengine_openapi_client.models.raster_operator import RasterOperator +from geoengine_openapi_client.models.vector_operator import VectorOperator +from pydantic import StrictStr, Field +from typing import Union, List, Set, Optional, Dict +from typing_extensions import Literal, Self + +SINGLERASTERORVECTOROPERATOR_ONE_OF_SCHEMAS = ["RasterOperator", "VectorOperator"] + +class SingleRasterOrVectorOperator(BaseModel): + """ + It is either a set of `RasterOperator` or a single `VectorOperator` + """ + # data type: RasterOperator + oneof_schema_1_validator: Optional[RasterOperator] = None + # data type: VectorOperator + oneof_schema_2_validator: Optional[VectorOperator] = None + actual_instance: Optional[Union[RasterOperator, VectorOperator]] = None + one_of_schemas: Set[str] = { "RasterOperator", "VectorOperator" } + + model_config = ConfigDict( + validate_assignment=True, + protected_namespaces=(), + ) + + + discriminator_value_class_map: Dict[str, str] = { + } + + def __init__(self, *args, **kwargs) -> None: + if args: + if len(args) > 1: + raise ValueError("If a position argument is used, only 1 is allowed to set `actual_instance`") + if kwargs: + raise ValueError("If a position argument is used, keyword arguments cannot be used.") + super().__init__(actual_instance=args[0]) + else: + super().__init__(**kwargs) + + @field_validator('actual_instance') + def actual_instance_must_validate_oneof(cls, v): + instance = SingleRasterOrVectorOperator.model_construct() + error_messages = [] + match = 0 + # validate data type: RasterOperator + if not isinstance(v, RasterOperator): + error_messages.append(f"Error! Input type `{type(v)}` is not `RasterOperator`") + else: + match += 1 + # validate data type: VectorOperator + if not isinstance(v, VectorOperator): + error_messages.append(f"Error! Input type `{type(v)}` is not `VectorOperator`") + else: + match += 1 + if match > 1: + # more than 1 match + raise ValueError("Multiple matches found when setting `actual_instance` in SingleRasterOrVectorOperator with oneOf schemas: RasterOperator, VectorOperator. Details: " + ", ".join(error_messages)) + elif match == 0: + # no match + raise ValueError("No match found when setting `actual_instance` in SingleRasterOrVectorOperator with oneOf schemas: RasterOperator, VectorOperator. Details: " + ", ".join(error_messages)) + else: + return v + + @classmethod + def from_dict(cls, obj: Union[str, Dict[str, Any]]) -> Self: + return cls.from_json(json.dumps(obj)) + + @classmethod + def from_json(cls, json_str: str) -> Self: + """Returns the object represented by the json string""" + instance = cls.model_construct() + error_messages = [] + match = 0 + + # use oneOf discriminator to lookup the data type + _data_type = json.loads(json_str).get("type") + if not _data_type: + raise ValueError("Failed to lookup data type from the field `type` in the input.") + + # check if data type is `MockPointSource` + if _data_type == "MockPointSource": + instance.actual_instance = MockPointSource.from_json(json_str) + return instance + + # check if data type is `RasterVectorJoin` + if _data_type == "RasterVectorJoin": + instance.actual_instance = RasterVectorJoin.from_json(json_str) + return instance + + # check if data type is `RasterOperator` + if _data_type == "RasterOperator": + instance.actual_instance = RasterOperator.from_json(json_str) + return instance + + # check if data type is `VectorOperator` + if _data_type == "VectorOperator": + instance.actual_instance = VectorOperator.from_json(json_str) + return instance + + # deserialize data into RasterOperator + try: + instance.actual_instance = RasterOperator.from_json(json_str) + match += 1 + except (ValidationError, ValueError) as e: + error_messages.append(str(e)) + # deserialize data into VectorOperator + try: + instance.actual_instance = VectorOperator.from_json(json_str) + match += 1 + except (ValidationError, ValueError) as e: + error_messages.append(str(e)) + + if match > 1: + # more than 1 match + raise ValueError("Multiple matches found when deserializing the JSON string into SingleRasterOrVectorOperator with oneOf schemas: RasterOperator, VectorOperator. Details: " + ", ".join(error_messages)) + elif match == 0: + # no match + raise ValueError("No match found when deserializing the JSON string into SingleRasterOrVectorOperator with oneOf schemas: RasterOperator, VectorOperator. Details: " + ", ".join(error_messages)) + else: + return instance + + def to_json(self) -> str: + """Returns the JSON representation of the actual instance""" + if self.actual_instance is None: + return "null" + + if hasattr(self.actual_instance, "to_json") and callable(self.actual_instance.to_json): + return self.actual_instance.to_json() + else: + return json.dumps(self.actual_instance) + + def to_dict(self) -> Optional[Union[Dict[str, Any], RasterOperator, VectorOperator]]: + """Returns the dict representation of the actual instance""" + if self.actual_instance is None: + return None + + if hasattr(self.actual_instance, "to_dict") and callable(self.actual_instance.to_dict): + return self.actual_instance.to_dict() + else: + # primitive type + return self.actual_instance + + def to_str(self) -> str: + """Returns the string representation of the actual instance""" + return pprint.pformat(self.model_dump()) + + diff --git a/python/geoengine_openapi_client/models/single_raster_or_vector_source.py b/python/geoengine_openapi_client/models/single_raster_or_vector_source.py new file mode 100644 index 00000000..135194ad --- /dev/null +++ b/python/geoengine_openapi_client/models/single_raster_or_vector_source.py @@ -0,0 +1,92 @@ +# coding: utf-8 + +""" + Geo Engine API + + No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + + The version of the OpenAPI document: 0.9.0 + Contact: dev@geoengine.de + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict +from typing import Any, ClassVar, Dict, List +from geoengine_openapi_client.models.single_raster_or_vector_operator import SingleRasterOrVectorOperator +from typing import Optional, Set +from typing_extensions import Self + +class SingleRasterOrVectorSource(BaseModel): + """ + A single vector operator or a single raster operators as source for this operator. + """ # noqa: E501 + source: SingleRasterOrVectorOperator + __properties: ClassVar[List[str]] = ["source"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of SingleRasterOrVectorSource from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of source + if self.source: + _dict['source'] = self.source.to_dict() + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of SingleRasterOrVectorSource from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "source": SingleRasterOrVectorOperator.from_dict(obj["source"]) if obj.get("source") is not None else None + }) + return _obj + + diff --git a/python/geoengine_openapi_client/models/single_raster_source.py b/python/geoengine_openapi_client/models/single_raster_source.py new file mode 100644 index 00000000..79c6e085 --- /dev/null +++ b/python/geoengine_openapi_client/models/single_raster_source.py @@ -0,0 +1,94 @@ +# coding: utf-8 + +""" + Geo Engine API + + No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + + The version of the OpenAPI document: 0.9.0 + Contact: dev@geoengine.de + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict +from typing import Any, ClassVar, Dict, List +from typing import Optional, Set +from typing_extensions import Self + +class SingleRasterSource(BaseModel): + """ + A single raster operator as a source for this operator. + """ # noqa: E501 + raster: RasterOperator + __properties: ClassVar[List[str]] = ["raster"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of SingleRasterSource from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of raster + if self.raster: + _dict['raster'] = self.raster.to_dict() + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of SingleRasterSource from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "raster": RasterOperator.from_dict(obj["raster"]) if obj.get("raster") is not None else None + }) + return _obj + +from geoengine_openapi_client.models.raster_operator import RasterOperator +# TODO: Rewrite to not use raise_errors +SingleRasterSource.model_rebuild(raise_errors=False) + diff --git a/python/geoengine_openapi_client/models/provenance_output.py b/python/geoengine_openapi_client/models/single_vector_multiple_raster_sources.py similarity index 63% rename from python/geoengine_openapi_client/models/provenance_output.py rename to python/geoengine_openapi_client/models/single_vector_multiple_raster_sources.py index 8c699266..0ec6eb52 100644 --- a/python/geoengine_openapi_client/models/provenance_output.py +++ b/python/geoengine_openapi_client/models/single_vector_multiple_raster_sources.py @@ -19,19 +19,18 @@ import json from pydantic import BaseModel, ConfigDict -from typing import Any, ClassVar, Dict, List, Optional -from geoengine_openapi_client.models.data_id import DataId -from geoengine_openapi_client.models.provenance import Provenance +from typing import Any, ClassVar, Dict, List +from geoengine_openapi_client.models.raster_operator import RasterOperator from typing import Optional, Set from typing_extensions import Self -class ProvenanceOutput(BaseModel): +class SingleVectorMultipleRasterSources(BaseModel): """ - ProvenanceOutput + A single vector operator and one or more raster operators as source for this operator. """ # noqa: E501 - data: DataId - provenance: Optional[List[Provenance]] = None - __properties: ClassVar[List[str]] = ["data", "provenance"] + rasters: List[RasterOperator] + vector: VectorOperator + __properties: ClassVar[List[str]] = ["rasters", "vector"] model_config = ConfigDict( populate_by_name=True, @@ -51,7 +50,7 @@ def to_json(self) -> str: @classmethod def from_json(cls, json_str: str) -> Optional[Self]: - """Create an instance of ProvenanceOutput from a JSON string""" + """Create an instance of SingleVectorMultipleRasterSources from a JSON string""" return cls.from_dict(json.loads(json_str)) def to_dict(self) -> Dict[str, Any]: @@ -72,26 +71,21 @@ def to_dict(self) -> Dict[str, Any]: exclude=excluded_fields, exclude_none=True, ) - # override the default output from pydantic by calling `to_dict()` of data - if self.data: - _dict['data'] = self.data.to_dict() - # override the default output from pydantic by calling `to_dict()` of each item in provenance (list) + # override the default output from pydantic by calling `to_dict()` of each item in rasters (list) _items = [] - if self.provenance: - for _item_provenance in self.provenance: - if _item_provenance: - _items.append(_item_provenance.to_dict()) - _dict['provenance'] = _items - # set to None if provenance (nullable) is None - # and model_fields_set contains the field - if self.provenance is None and "provenance" in self.model_fields_set: - _dict['provenance'] = None - + if self.rasters: + for _item_rasters in self.rasters: + if _item_rasters: + _items.append(_item_rasters.to_dict()) + _dict['rasters'] = _items + # override the default output from pydantic by calling `to_dict()` of vector + if self.vector: + _dict['vector'] = self.vector.to_dict() return _dict @classmethod def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: - """Create an instance of ProvenanceOutput from a dict""" + """Create an instance of SingleVectorMultipleRasterSources from a dict""" if obj is None: return None @@ -99,9 +93,12 @@ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: return cls.model_validate(obj) _obj = cls.model_validate({ - "data": DataId.from_dict(obj["data"]) if obj.get("data") is not None else None, - "provenance": [Provenance.from_dict(_item) for _item in obj["provenance"]] if obj.get("provenance") is not None else None + "rasters": [RasterOperator.from_dict(_item) for _item in obj["rasters"]] if obj.get("rasters") is not None else None, + "vector": VectorOperator.from_dict(obj["vector"]) if obj.get("vector") is not None else None }) return _obj +from geoengine_openapi_client.models.vector_operator import VectorOperator +# TODO: Rewrite to not use raise_errors +SingleVectorMultipleRasterSources.model_rebuild(raise_errors=False) diff --git a/python/geoengine_openapi_client/models/spatial_bounds_derive.py b/python/geoengine_openapi_client/models/spatial_bounds_derive.py new file mode 100644 index 00000000..70ba7984 --- /dev/null +++ b/python/geoengine_openapi_client/models/spatial_bounds_derive.py @@ -0,0 +1,175 @@ +# coding: utf-8 + +""" + Geo Engine API + + No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + + The version of the OpenAPI document: 0.9.0 + Contact: dev@geoengine.de + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import json +import pprint +from pydantic import BaseModel, ConfigDict, Field, StrictStr, ValidationError, field_validator +from typing import Any, List, Optional +from geoengine_openapi_client.models.spatial_bounds_derive_bounds import SpatialBoundsDeriveBounds +from geoengine_openapi_client.models.spatial_bounds_derive_derive import SpatialBoundsDeriveDerive +from geoengine_openapi_client.models.spatial_bounds_derive_none import SpatialBoundsDeriveNone +from pydantic import StrictStr, Field +from typing import Union, List, Set, Optional, Dict +from typing_extensions import Literal, Self + +SPATIALBOUNDSDERIVE_ONE_OF_SCHEMAS = ["SpatialBoundsDeriveBounds", "SpatialBoundsDeriveDerive", "SpatialBoundsDeriveNone"] + +class SpatialBoundsDerive(BaseModel): + """ + Spatial bounds derivation options for the [`MockPointSource`]. + """ + # data type: SpatialBoundsDeriveDerive + oneof_schema_1_validator: Optional[SpatialBoundsDeriveDerive] = None + # data type: SpatialBoundsDeriveBounds + oneof_schema_2_validator: Optional[SpatialBoundsDeriveBounds] = None + # data type: SpatialBoundsDeriveNone + oneof_schema_3_validator: Optional[SpatialBoundsDeriveNone] = None + actual_instance: Optional[Union[SpatialBoundsDeriveBounds, SpatialBoundsDeriveDerive, SpatialBoundsDeriveNone]] = None + one_of_schemas: Set[str] = { "SpatialBoundsDeriveBounds", "SpatialBoundsDeriveDerive", "SpatialBoundsDeriveNone" } + + model_config = ConfigDict( + validate_assignment=True, + protected_namespaces=(), + ) + + + discriminator_value_class_map: Dict[str, str] = { + } + + def __init__(self, *args, **kwargs) -> None: + if args: + if len(args) > 1: + raise ValueError("If a position argument is used, only 1 is allowed to set `actual_instance`") + if kwargs: + raise ValueError("If a position argument is used, keyword arguments cannot be used.") + super().__init__(actual_instance=args[0]) + else: + super().__init__(**kwargs) + + @field_validator('actual_instance') + def actual_instance_must_validate_oneof(cls, v): + instance = SpatialBoundsDerive.model_construct() + error_messages = [] + match = 0 + # validate data type: SpatialBoundsDeriveDerive + if not isinstance(v, SpatialBoundsDeriveDerive): + error_messages.append(f"Error! Input type `{type(v)}` is not `SpatialBoundsDeriveDerive`") + else: + match += 1 + # validate data type: SpatialBoundsDeriveBounds + if not isinstance(v, SpatialBoundsDeriveBounds): + error_messages.append(f"Error! Input type `{type(v)}` is not `SpatialBoundsDeriveBounds`") + else: + match += 1 + # validate data type: SpatialBoundsDeriveNone + if not isinstance(v, SpatialBoundsDeriveNone): + error_messages.append(f"Error! Input type `{type(v)}` is not `SpatialBoundsDeriveNone`") + else: + match += 1 + if match > 1: + # more than 1 match + raise ValueError("Multiple matches found when setting `actual_instance` in SpatialBoundsDerive with oneOf schemas: SpatialBoundsDeriveBounds, SpatialBoundsDeriveDerive, SpatialBoundsDeriveNone. Details: " + ", ".join(error_messages)) + elif match == 0: + # no match + raise ValueError("No match found when setting `actual_instance` in SpatialBoundsDerive with oneOf schemas: SpatialBoundsDeriveBounds, SpatialBoundsDeriveDerive, SpatialBoundsDeriveNone. Details: " + ", ".join(error_messages)) + else: + return v + + @classmethod + def from_dict(cls, obj: Union[str, Dict[str, Any]]) -> Self: + return cls.from_json(json.dumps(obj)) + + @classmethod + def from_json(cls, json_str: str) -> Self: + """Returns the object represented by the json string""" + instance = cls.model_construct() + error_messages = [] + match = 0 + + # use oneOf discriminator to lookup the data type + _data_type = json.loads(json_str).get("type") + if not _data_type: + raise ValueError("Failed to lookup data type from the field `type` in the input.") + + # check if data type is `SpatialBoundsDeriveBounds` + if _data_type == "bounds": + instance.actual_instance = SpatialBoundsDeriveBounds.from_json(json_str) + return instance + + # check if data type is `SpatialBoundsDeriveDerive` + if _data_type == "derive": + instance.actual_instance = SpatialBoundsDeriveDerive.from_json(json_str) + return instance + + # check if data type is `SpatialBoundsDeriveNone` + if _data_type == "none": + instance.actual_instance = SpatialBoundsDeriveNone.from_json(json_str) + return instance + + # deserialize data into SpatialBoundsDeriveDerive + try: + instance.actual_instance = SpatialBoundsDeriveDerive.from_json(json_str) + match += 1 + except (ValidationError, ValueError) as e: + error_messages.append(str(e)) + # deserialize data into SpatialBoundsDeriveBounds + try: + instance.actual_instance = SpatialBoundsDeriveBounds.from_json(json_str) + match += 1 + except (ValidationError, ValueError) as e: + error_messages.append(str(e)) + # deserialize data into SpatialBoundsDeriveNone + try: + instance.actual_instance = SpatialBoundsDeriveNone.from_json(json_str) + match += 1 + except (ValidationError, ValueError) as e: + error_messages.append(str(e)) + + if match > 1: + # more than 1 match + raise ValueError("Multiple matches found when deserializing the JSON string into SpatialBoundsDerive with oneOf schemas: SpatialBoundsDeriveBounds, SpatialBoundsDeriveDerive, SpatialBoundsDeriveNone. Details: " + ", ".join(error_messages)) + elif match == 0: + # no match + raise ValueError("No match found when deserializing the JSON string into SpatialBoundsDerive with oneOf schemas: SpatialBoundsDeriveBounds, SpatialBoundsDeriveDerive, SpatialBoundsDeriveNone. Details: " + ", ".join(error_messages)) + else: + return instance + + def to_json(self) -> str: + """Returns the JSON representation of the actual instance""" + if self.actual_instance is None: + return "null" + + if hasattr(self.actual_instance, "to_json") and callable(self.actual_instance.to_json): + return self.actual_instance.to_json() + else: + return json.dumps(self.actual_instance) + + def to_dict(self) -> Optional[Union[Dict[str, Any], SpatialBoundsDeriveBounds, SpatialBoundsDeriveDerive, SpatialBoundsDeriveNone]]: + """Returns the dict representation of the actual instance""" + if self.actual_instance is None: + return None + + if hasattr(self.actual_instance, "to_dict") and callable(self.actual_instance.to_dict): + return self.actual_instance.to_dict() + else: + # primitive type + return self.actual_instance + + def to_str(self) -> str: + """Returns the string representation of the actual instance""" + return pprint.pformat(self.model_dump()) + + diff --git a/python/geoengine_openapi_client/models/spatial_bounds_derive_bounds.py b/python/geoengine_openapi_client/models/spatial_bounds_derive_bounds.py new file mode 100644 index 00000000..0352baf5 --- /dev/null +++ b/python/geoengine_openapi_client/models/spatial_bounds_derive_bounds.py @@ -0,0 +1,105 @@ +# coding: utf-8 + +""" + Geo Engine API + + No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + + The version of the OpenAPI document: 0.9.0 + Contact: dev@geoengine.de + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import ConfigDict, StrictStr, field_validator +from typing import Any, ClassVar, Dict, List +from geoengine_openapi_client.models.bounding_box2_d import BoundingBox2D +from geoengine_openapi_client.models.coordinate2_d import Coordinate2D +from typing import Optional, Set +from typing_extensions import Self + +class SpatialBoundsDeriveBounds(BoundingBox2D): + """ + SpatialBoundsDeriveBounds + """ # noqa: E501 + type: StrictStr + __properties: ClassVar[List[str]] = ["lowerLeftCoordinate", "upperRightCoordinate", "type"] + + @field_validator('type') + def type_validate_enum(cls, value): + """Validates the enum""" + if value not in set(['bounds']): + raise ValueError("must be one of enum values ('bounds')") + return value + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of SpatialBoundsDeriveBounds from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of lower_left_coordinate + if self.lower_left_coordinate: + _dict['lowerLeftCoordinate'] = self.lower_left_coordinate.to_dict() + # override the default output from pydantic by calling `to_dict()` of upper_right_coordinate + if self.upper_right_coordinate: + _dict['upperRightCoordinate'] = self.upper_right_coordinate.to_dict() + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of SpatialBoundsDeriveBounds from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "lowerLeftCoordinate": Coordinate2D.from_dict(obj["lowerLeftCoordinate"]) if obj.get("lowerLeftCoordinate") is not None else None, + "upperRightCoordinate": Coordinate2D.from_dict(obj["upperRightCoordinate"]) if obj.get("upperRightCoordinate") is not None else None, + "type": obj.get("type") + }) + return _obj + + diff --git a/python/geoengine_openapi_client/models/spatial_bounds_derive_derive.py b/python/geoengine_openapi_client/models/spatial_bounds_derive_derive.py new file mode 100644 index 00000000..969af2e5 --- /dev/null +++ b/python/geoengine_openapi_client/models/spatial_bounds_derive_derive.py @@ -0,0 +1,95 @@ +# coding: utf-8 + +""" + Geo Engine API + + No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + + The version of the OpenAPI document: 0.9.0 + Contact: dev@geoengine.de + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, StrictStr, field_validator +from typing import Any, ClassVar, Dict, List +from typing import Optional, Set +from typing_extensions import Self + +class SpatialBoundsDeriveDerive(BaseModel): + """ + SpatialBoundsDeriveDerive + """ # noqa: E501 + type: StrictStr + __properties: ClassVar[List[str]] = ["type"] + + @field_validator('type') + def type_validate_enum(cls, value): + """Validates the enum""" + if value not in set(['derive']): + raise ValueError("must be one of enum values ('derive')") + return value + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of SpatialBoundsDeriveDerive from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of SpatialBoundsDeriveDerive from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "type": obj.get("type") + }) + return _obj + + diff --git a/python/geoengine_openapi_client/models/permission_list_options.py b/python/geoengine_openapi_client/models/spatial_bounds_derive_none.py similarity index 77% rename from python/geoengine_openapi_client/models/permission_list_options.py rename to python/geoengine_openapi_client/models/spatial_bounds_derive_none.py index 716aa8aa..8a33cb9c 100644 --- a/python/geoengine_openapi_client/models/permission_list_options.py +++ b/python/geoengine_openapi_client/models/spatial_bounds_derive_none.py @@ -18,19 +18,24 @@ import re # noqa: F401 import json -from pydantic import BaseModel, ConfigDict, Field +from pydantic import BaseModel, ConfigDict, StrictStr, field_validator from typing import Any, ClassVar, Dict, List -from typing_extensions import Annotated from typing import Optional, Set from typing_extensions import Self -class PermissionListOptions(BaseModel): +class SpatialBoundsDeriveNone(BaseModel): """ - PermissionListOptions + SpatialBoundsDeriveNone """ # noqa: E501 - limit: Annotated[int, Field(strict=True, ge=0)] - offset: Annotated[int, Field(strict=True, ge=0)] - __properties: ClassVar[List[str]] = ["limit", "offset"] + type: StrictStr + __properties: ClassVar[List[str]] = ["type"] + + @field_validator('type') + def type_validate_enum(cls, value): + """Validates the enum""" + if value not in set(['none']): + raise ValueError("must be one of enum values ('none')") + return value model_config = ConfigDict( populate_by_name=True, @@ -50,7 +55,7 @@ def to_json(self) -> str: @classmethod def from_json(cls, json_str: str) -> Optional[Self]: - """Create an instance of PermissionListOptions from a JSON string""" + """Create an instance of SpatialBoundsDeriveNone from a JSON string""" return cls.from_dict(json.loads(json_str)) def to_dict(self) -> Dict[str, Any]: @@ -75,7 +80,7 @@ def to_dict(self) -> Dict[str, Any]: @classmethod def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: - """Create an instance of PermissionListOptions from a dict""" + """Create an instance of SpatialBoundsDeriveNone from a dict""" if obj is None: return None @@ -83,8 +88,7 @@ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: return cls.model_validate(obj) _obj = cls.model_validate({ - "limit": obj.get("limit"), - "offset": obj.get("offset") + "type": obj.get("type") }) return _obj diff --git a/python/geoengine_openapi_client/models/statistics.py b/python/geoengine_openapi_client/models/statistics.py new file mode 100644 index 00000000..fa251cb4 --- /dev/null +++ b/python/geoengine_openapi_client/models/statistics.py @@ -0,0 +1,107 @@ +# coding: utf-8 + +""" + Geo Engine API + + No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + + The version of the OpenAPI document: 0.9.0 + Contact: dev@geoengine.de + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, StrictStr, field_validator +from typing import Any, ClassVar, Dict, List +from geoengine_openapi_client.models.multiple_raster_or_single_vector_source import MultipleRasterOrSingleVectorSource +from geoengine_openapi_client.models.statistics_parameters import StatisticsParameters +from typing import Optional, Set +from typing_extensions import Self + +class Statistics(BaseModel): + """ + The `Statistics` operator is a _plot operator_ that computes count statistics over - a selection of numerical columns of a single vector dataset, or - multiple raster datasets. The output is a JSON description. For instance, you want to get an overview of a raster data source. Then, you can use this operator to get basic count statistics. ## Vector Data In the case of vector data, the operator generates one statistic for each of the selected numerical attributes. The operator returns an error if one of the selected attributes is not numeric. ## Raster Data For raster data, the operator generates one statistic for each input raster. ## Inputs The operator consumes exactly one _vector_ or multiple _raster_ operators. | Parameter | Type | | --------- | ------------------------------------ | | `source` | `MultipleRasterOrSingleVectorSource` | ## Errors The operator returns an error in the following cases. - Vector data: The `attribute` for one of the given `columnNames` is not numeric. - Vector data: The `attribute` for one of the given `columnNames` does not exist. - Raster data: The length of the `columnNames` parameter does not match the number of input rasters. ### Example Output ```json { \"A\": { \"valueCount\": 6, \"validCount\": 6, \"min\": 1.0, \"max\": 6.0, \"mean\": 3.5, \"stddev\": 1.707, \"percentiles\": [ { \"percentile\": 0.25, \"value\": 2.0 }, { \"percentile\": 0.5, \"value\": 3.5 }, { \"percentile\": 0.75, \"value\": 5.0 } ] } } ``` + """ # noqa: E501 + params: StatisticsParameters + sources: MultipleRasterOrSingleVectorSource + type: StrictStr + __properties: ClassVar[List[str]] = ["params", "sources", "type"] + + @field_validator('type') + def type_validate_enum(cls, value): + """Validates the enum""" + if value not in set(['Statistics']): + raise ValueError("must be one of enum values ('Statistics')") + return value + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of Statistics from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of params + if self.params: + _dict['params'] = self.params.to_dict() + # override the default output from pydantic by calling `to_dict()` of sources + if self.sources: + _dict['sources'] = self.sources.to_dict() + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of Statistics from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "params": StatisticsParameters.from_dict(obj["params"]) if obj.get("params") is not None else None, + "sources": MultipleRasterOrSingleVectorSource.from_dict(obj["sources"]) if obj.get("sources") is not None else None, + "type": obj.get("type") + }) + return _obj + + diff --git a/python/geoengine_openapi_client/models/wcs_boundingbox.py b/python/geoengine_openapi_client/models/statistics_parameters.py similarity index 66% rename from python/geoengine_openapi_client/models/wcs_boundingbox.py rename to python/geoengine_openapi_client/models/statistics_parameters.py index 521f62b3..6cde6519 100644 --- a/python/geoengine_openapi_client/models/wcs_boundingbox.py +++ b/python/geoengine_openapi_client/models/statistics_parameters.py @@ -18,18 +18,18 @@ import re # noqa: F401 import json -from pydantic import BaseModel, ConfigDict, StrictFloat, StrictInt, StrictStr +from pydantic import BaseModel, ConfigDict, Field, StrictFloat, StrictInt, StrictStr from typing import Any, ClassVar, Dict, List, Optional, Union from typing import Optional, Set from typing_extensions import Self -class WcsBoundingbox(BaseModel): +class StatisticsParameters(BaseModel): """ - WcsBoundingbox + The parameter spec for `Statistics` """ # noqa: E501 - bbox: List[Union[StrictFloat, StrictInt]] - spatial_reference: Optional[StrictStr] = None - __properties: ClassVar[List[str]] = ["bbox", "spatial_reference"] + column_names: Optional[List[StrictStr]] = Field(default=None, description="# Vector data The names of the attributes to generate statistics for. # Raster data _Optional_: An alias for each input source. The operator will automatically name the rasters `Raster-1`, `Raster-2`, … if this parameter is empty. If aliases are given, the number of aliases must match the number of input rasters. Otherwise an error is returned.", alias="columnNames") + percentiles: Optional[List[Union[StrictFloat, StrictInt]]] = Field(default=None, description="The percentiles to compute for each attribute.") + __properties: ClassVar[List[str]] = ["columnNames", "percentiles"] model_config = ConfigDict( populate_by_name=True, @@ -49,7 +49,7 @@ def to_json(self) -> str: @classmethod def from_json(cls, json_str: str) -> Optional[Self]: - """Create an instance of WcsBoundingbox from a JSON string""" + """Create an instance of StatisticsParameters from a JSON string""" return cls.from_dict(json.loads(json_str)) def to_dict(self) -> Dict[str, Any]: @@ -70,16 +70,11 @@ def to_dict(self) -> Dict[str, Any]: exclude=excluded_fields, exclude_none=True, ) - # set to None if spatial_reference (nullable) is None - # and model_fields_set contains the field - if self.spatial_reference is None and "spatial_reference" in self.model_fields_set: - _dict['spatial_reference'] = None - return _dict @classmethod def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: - """Create an instance of WcsBoundingbox from a dict""" + """Create an instance of StatisticsParameters from a dict""" if obj is None: return None @@ -87,8 +82,8 @@ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: return cls.model_validate(obj) _obj = cls.model_validate({ - "bbox": obj.get("bbox"), - "spatial_reference": obj.get("spatial_reference") + "columnNames": obj.get("columnNames"), + "percentiles": obj.get("percentiles") }) return _obj diff --git a/python/geoengine_openapi_client/models/suffix.py b/python/geoengine_openapi_client/models/suffix.py new file mode 100644 index 00000000..0100df91 --- /dev/null +++ b/python/geoengine_openapi_client/models/suffix.py @@ -0,0 +1,97 @@ +# coding: utf-8 + +""" + Geo Engine API + + No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + + The version of the OpenAPI document: 0.9.0 + Contact: dev@geoengine.de + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, StrictStr, field_validator +from typing import Any, ClassVar, Dict, List +from typing import Optional, Set +from typing_extensions import Self + +class Suffix(BaseModel): + """ + Suffix + """ # noqa: E501 + type: StrictStr + values: List[StrictStr] + __properties: ClassVar[List[str]] = ["type", "values"] + + @field_validator('type') + def type_validate_enum(cls, value): + """Validates the enum""" + if value not in set(['suffix']): + raise ValueError("must be one of enum values ('suffix')") + return value + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of Suffix from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of Suffix from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "type": obj.get("type"), + "values": obj.get("values") + }) + return _obj + + diff --git a/python/geoengine_openapi_client/models/spatial_reference_authority.py b/python/geoengine_openapi_client/models/temporal_aggregation_method.py similarity index 69% rename from python/geoengine_openapi_client/models/spatial_reference_authority.py rename to python/geoengine_openapi_client/models/temporal_aggregation_method.py index 157d55db..e68266b9 100644 --- a/python/geoengine_openapi_client/models/spatial_reference_authority.py +++ b/python/geoengine_openapi_client/models/temporal_aggregation_method.py @@ -19,22 +19,21 @@ from typing_extensions import Self -class SpatialReferenceAuthority(str, Enum): +class TemporalAggregationMethod(str, Enum): """ - A spatial reference authority that is part of a spatial reference definition + TemporalAggregationMethod """ """ allowed enum values """ - EPSG = 'EPSG' - SR_MINUS_ORG = 'SR-ORG' - IAU2000 = 'IAU2000' - ESRI = 'ESRI' + NONE = 'none' + FIRST = 'first' + MEAN = 'mean' @classmethod def from_json(cls, json_str: str) -> Self: - """Create an instance of SpatialReferenceAuthority from a JSON string""" + """Create an instance of TemporalAggregationMethod from a JSON string""" return cls(json.loads(json_str)) diff --git a/python/geoengine_openapi_client/models/typed_operator.py b/python/geoengine_openapi_client/models/typed_operator.py index 939f46e6..fd87478a 100644 --- a/python/geoengine_openapi_client/models/typed_operator.py +++ b/python/geoengine_openapi_client/models/typed_operator.py @@ -14,88 +14,139 @@ from __future__ import annotations -import pprint -import re # noqa: F401 import json +import pprint +from pydantic import BaseModel, ConfigDict, Field, StrictStr, ValidationError, field_validator +from typing import Any, List, Optional +from geoengine_openapi_client.models.typed_plot_operator import TypedPlotOperator +from geoengine_openapi_client.models.typed_raster_operator import TypedRasterOperator +from geoengine_openapi_client.models.typed_vector_operator import TypedVectorOperator +from pydantic import StrictStr, Field +from typing import Union, List, Set, Optional, Dict +from typing_extensions import Literal, Self -from pydantic import BaseModel, ConfigDict, StrictStr, field_validator -from typing import Any, ClassVar, Dict, List -from geoengine_openapi_client.models.typed_operator_operator import TypedOperatorOperator -from typing import Optional, Set -from typing_extensions import Self +TYPEDOPERATOR_ONE_OF_SCHEMAS = ["TypedPlotOperator", "TypedRasterOperator", "TypedVectorOperator"] class TypedOperator(BaseModel): """ - An enum to differentiate between `Operator` variants - """ # noqa: E501 - operator: TypedOperatorOperator - type: StrictStr - __properties: ClassVar[List[str]] = ["operator", "type"] - - @field_validator('type') - def type_validate_enum(cls, value): - """Validates the enum""" - if value not in set(['Vector', 'Raster', 'Plot']): - raise ValueError("must be one of enum values ('Vector', 'Raster', 'Plot')") - return value + Operator outputs are distinguished by their data type. There are `raster`, `vector` and `plot` operators. + """ + # data type: TypedVectorOperator + oneof_schema_1_validator: Optional[TypedVectorOperator] = None + # data type: TypedRasterOperator + oneof_schema_2_validator: Optional[TypedRasterOperator] = None + # data type: TypedPlotOperator + oneof_schema_3_validator: Optional[TypedPlotOperator] = None + actual_instance: Optional[Union[TypedPlotOperator, TypedRasterOperator, TypedVectorOperator]] = None + one_of_schemas: Set[str] = { "TypedPlotOperator", "TypedRasterOperator", "TypedVectorOperator" } model_config = ConfigDict( - populate_by_name=True, validate_assignment=True, protected_namespaces=(), ) - def to_str(self) -> str: - """Returns the string representation of the model using alias""" - return pprint.pformat(self.model_dump(by_alias=True)) - - def to_json(self) -> str: - """Returns the JSON representation of the model using alias""" - # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead - return json.dumps(self.to_dict()) + def __init__(self, *args, **kwargs) -> None: + if args: + if len(args) > 1: + raise ValueError("If a position argument is used, only 1 is allowed to set `actual_instance`") + if kwargs: + raise ValueError("If a position argument is used, keyword arguments cannot be used.") + super().__init__(actual_instance=args[0]) + else: + super().__init__(**kwargs) + + @field_validator('actual_instance') + def actual_instance_must_validate_oneof(cls, v): + instance = TypedOperator.model_construct() + error_messages = [] + match = 0 + # validate data type: TypedVectorOperator + if not isinstance(v, TypedVectorOperator): + error_messages.append(f"Error! Input type `{type(v)}` is not `TypedVectorOperator`") + else: + match += 1 + # validate data type: TypedRasterOperator + if not isinstance(v, TypedRasterOperator): + error_messages.append(f"Error! Input type `{type(v)}` is not `TypedRasterOperator`") + else: + match += 1 + # validate data type: TypedPlotOperator + if not isinstance(v, TypedPlotOperator): + error_messages.append(f"Error! Input type `{type(v)}` is not `TypedPlotOperator`") + else: + match += 1 + if match > 1: + # more than 1 match + raise ValueError("Multiple matches found when setting `actual_instance` in TypedOperator with oneOf schemas: TypedPlotOperator, TypedRasterOperator, TypedVectorOperator. Details: " + ", ".join(error_messages)) + elif match == 0: + # no match + raise ValueError("No match found when setting `actual_instance` in TypedOperator with oneOf schemas: TypedPlotOperator, TypedRasterOperator, TypedVectorOperator. Details: " + ", ".join(error_messages)) + else: + return v @classmethod - def from_json(cls, json_str: str) -> Optional[Self]: - """Create an instance of TypedOperator from a JSON string""" - return cls.from_dict(json.loads(json_str)) - - def to_dict(self) -> Dict[str, Any]: - """Return the dictionary representation of the model using alias. - - This has the following differences from calling pydantic's - `self.model_dump(by_alias=True)`: - - * `None` is only added to the output dict for nullable fields that - were set at model initialization. Other fields with value `None` - are ignored. - """ - excluded_fields: Set[str] = set([ - ]) - - _dict = self.model_dump( - by_alias=True, - exclude=excluded_fields, - exclude_none=True, - ) - # override the default output from pydantic by calling `to_dict()` of operator - if self.operator: - _dict['operator'] = self.operator.to_dict() - return _dict + def from_dict(cls, obj: Union[str, Dict[str, Any]]) -> Self: + return cls.from_json(json.dumps(obj)) @classmethod - def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: - """Create an instance of TypedOperator from a dict""" - if obj is None: + def from_json(cls, json_str: str) -> Self: + """Returns the object represented by the json string""" + instance = cls.model_construct() + error_messages = [] + match = 0 + + # deserialize data into TypedVectorOperator + try: + instance.actual_instance = TypedVectorOperator.from_json(json_str) + match += 1 + except (ValidationError, ValueError) as e: + error_messages.append(str(e)) + # deserialize data into TypedRasterOperator + try: + instance.actual_instance = TypedRasterOperator.from_json(json_str) + match += 1 + except (ValidationError, ValueError) as e: + error_messages.append(str(e)) + # deserialize data into TypedPlotOperator + try: + instance.actual_instance = TypedPlotOperator.from_json(json_str) + match += 1 + except (ValidationError, ValueError) as e: + error_messages.append(str(e)) + + if match > 1: + # more than 1 match + raise ValueError("Multiple matches found when deserializing the JSON string into TypedOperator with oneOf schemas: TypedPlotOperator, TypedRasterOperator, TypedVectorOperator. Details: " + ", ".join(error_messages)) + elif match == 0: + # no match + raise ValueError("No match found when deserializing the JSON string into TypedOperator with oneOf schemas: TypedPlotOperator, TypedRasterOperator, TypedVectorOperator. Details: " + ", ".join(error_messages)) + else: + return instance + + def to_json(self) -> str: + """Returns the JSON representation of the actual instance""" + if self.actual_instance is None: + return "null" + + if hasattr(self.actual_instance, "to_json") and callable(self.actual_instance.to_json): + return self.actual_instance.to_json() + else: + return json.dumps(self.actual_instance) + + def to_dict(self) -> Optional[Union[Dict[str, Any], TypedPlotOperator, TypedRasterOperator, TypedVectorOperator]]: + """Returns the dict representation of the actual instance""" + if self.actual_instance is None: return None - if not isinstance(obj, dict): - return cls.model_validate(obj) + if hasattr(self.actual_instance, "to_dict") and callable(self.actual_instance.to_dict): + return self.actual_instance.to_dict() + else: + # primitive type + return self.actual_instance - _obj = cls.model_validate({ - "operator": TypedOperatorOperator.from_dict(obj["operator"]) if obj.get("operator") is not None else None, - "type": obj.get("type") - }) - return _obj + def to_str(self) -> str: + """Returns the string representation of the actual instance""" + return pprint.pformat(self.model_dump()) diff --git a/python/geoengine_openapi_client/models/typed_plot_operator.py b/python/geoengine_openapi_client/models/typed_plot_operator.py new file mode 100644 index 00000000..3c37af54 --- /dev/null +++ b/python/geoengine_openapi_client/models/typed_plot_operator.py @@ -0,0 +1,101 @@ +# coding: utf-8 + +""" + Geo Engine API + + No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + + The version of the OpenAPI document: 0.9.0 + Contact: dev@geoengine.de + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, StrictStr, field_validator +from typing import Any, ClassVar, Dict, List +from geoengine_openapi_client.models.plot_operator import PlotOperator +from typing import Optional, Set +from typing_extensions import Self + +class TypedPlotOperator(BaseModel): + """ + TypedPlotOperator + """ # noqa: E501 + operator: PlotOperator + type: StrictStr + __properties: ClassVar[List[str]] = ["operator", "type"] + + @field_validator('type') + def type_validate_enum(cls, value): + """Validates the enum""" + if value not in set(['Plot']): + raise ValueError("must be one of enum values ('Plot')") + return value + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of TypedPlotOperator from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of operator + if self.operator: + _dict['operator'] = self.operator.to_dict() + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of TypedPlotOperator from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "operator": PlotOperator.from_dict(obj["operator"]) if obj.get("operator") is not None else None, + "type": obj.get("type") + }) + return _obj + + diff --git a/python/geoengine_openapi_client/models/typed_raster_operator.py b/python/geoengine_openapi_client/models/typed_raster_operator.py new file mode 100644 index 00000000..5bebb4d1 --- /dev/null +++ b/python/geoengine_openapi_client/models/typed_raster_operator.py @@ -0,0 +1,101 @@ +# coding: utf-8 + +""" + Geo Engine API + + No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + + The version of the OpenAPI document: 0.9.0 + Contact: dev@geoengine.de + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, StrictStr, field_validator +from typing import Any, ClassVar, Dict, List +from geoengine_openapi_client.models.raster_operator import RasterOperator +from typing import Optional, Set +from typing_extensions import Self + +class TypedRasterOperator(BaseModel): + """ + TypedRasterOperator + """ # noqa: E501 + operator: RasterOperator + type: StrictStr + __properties: ClassVar[List[str]] = ["operator", "type"] + + @field_validator('type') + def type_validate_enum(cls, value): + """Validates the enum""" + if value not in set(['Raster']): + raise ValueError("must be one of enum values ('Raster')") + return value + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of TypedRasterOperator from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of operator + if self.operator: + _dict['operator'] = self.operator.to_dict() + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of TypedRasterOperator from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "operator": RasterOperator.from_dict(obj["operator"]) if obj.get("operator") is not None else None, + "type": obj.get("type") + }) + return _obj + + diff --git a/python/geoengine_openapi_client/models/typed_vector_operator.py b/python/geoengine_openapi_client/models/typed_vector_operator.py new file mode 100644 index 00000000..a13ca66b --- /dev/null +++ b/python/geoengine_openapi_client/models/typed_vector_operator.py @@ -0,0 +1,101 @@ +# coding: utf-8 + +""" + Geo Engine API + + No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + + The version of the OpenAPI document: 0.9.0 + Contact: dev@geoengine.de + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, StrictStr, field_validator +from typing import Any, ClassVar, Dict, List +from geoengine_openapi_client.models.vector_operator import VectorOperator +from typing import Optional, Set +from typing_extensions import Self + +class TypedVectorOperator(BaseModel): + """ + TypedVectorOperator + """ # noqa: E501 + operator: VectorOperator + type: StrictStr + __properties: ClassVar[List[str]] = ["operator", "type"] + + @field_validator('type') + def type_validate_enum(cls, value): + """Validates the enum""" + if value not in set(['Vector']): + raise ValueError("must be one of enum values ('Vector')") + return value + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of TypedVectorOperator from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of operator + if self.operator: + _dict['operator'] = self.operator.to_dict() + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of TypedVectorOperator from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "operator": VectorOperator.from_dict(obj["operator"]) if obj.get("operator") is not None else None, + "type": obj.get("type") + }) + return _obj + + diff --git a/python/geoengine_openapi_client/models/vector_operator.py b/python/geoengine_openapi_client/models/vector_operator.py new file mode 100644 index 00000000..414c279f --- /dev/null +++ b/python/geoengine_openapi_client/models/vector_operator.py @@ -0,0 +1,158 @@ +# coding: utf-8 + +""" + Geo Engine API + + No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + + The version of the OpenAPI document: 0.9.0 + Contact: dev@geoengine.de + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import json +import pprint +from pydantic import BaseModel, ConfigDict, Field, StrictStr, ValidationError, field_validator +from typing import Any, List, Optional +from geoengine_openapi_client.models.mock_point_source import MockPointSource +from pydantic import StrictStr, Field +from typing import Union, List, Set, Optional, Dict +from typing_extensions import Literal, Self + +VECTOROPERATOR_ONE_OF_SCHEMAS = ["MockPointSource", "RasterVectorJoin"] + +class VectorOperator(BaseModel): + """ + An operator that produces vector data. + """ + # data type: MockPointSource + oneof_schema_1_validator: Optional[MockPointSource] = None + # data type: RasterVectorJoin + oneof_schema_2_validator: Optional[RasterVectorJoin] = None + actual_instance: Optional[Union[MockPointSource, RasterVectorJoin]] = None + one_of_schemas: Set[str] = { "MockPointSource", "RasterVectorJoin" } + + model_config = ConfigDict( + validate_assignment=True, + protected_namespaces=(), + ) + + + discriminator_value_class_map: Dict[str, str] = { + } + + def __init__(self, *args, **kwargs) -> None: + if args: + if len(args) > 1: + raise ValueError("If a position argument is used, only 1 is allowed to set `actual_instance`") + if kwargs: + raise ValueError("If a position argument is used, keyword arguments cannot be used.") + super().__init__(actual_instance=args[0]) + else: + super().__init__(**kwargs) + + @field_validator('actual_instance') + def actual_instance_must_validate_oneof(cls, v): + instance = VectorOperator.model_construct() + error_messages = [] + match = 0 + # validate data type: MockPointSource + if not isinstance(v, MockPointSource): + error_messages.append(f"Error! Input type `{type(v)}` is not `MockPointSource`") + else: + match += 1 + # validate data type: RasterVectorJoin + if not isinstance(v, RasterVectorJoin): + error_messages.append(f"Error! Input type `{type(v)}` is not `RasterVectorJoin`") + else: + match += 1 + if match > 1: + # more than 1 match + raise ValueError("Multiple matches found when setting `actual_instance` in VectorOperator with oneOf schemas: MockPointSource, RasterVectorJoin. Details: " + ", ".join(error_messages)) + elif match == 0: + # no match + raise ValueError("No match found when setting `actual_instance` in VectorOperator with oneOf schemas: MockPointSource, RasterVectorJoin. Details: " + ", ".join(error_messages)) + else: + return v + + @classmethod + def from_dict(cls, obj: Union[str, Dict[str, Any]]) -> Self: + return cls.from_json(json.dumps(obj)) + + @classmethod + def from_json(cls, json_str: str) -> Self: + """Returns the object represented by the json string""" + instance = cls.model_construct() + error_messages = [] + match = 0 + + # use oneOf discriminator to lookup the data type + _data_type = json.loads(json_str).get("type") + if not _data_type: + raise ValueError("Failed to lookup data type from the field `type` in the input.") + + # check if data type is `MockPointSource` + if _data_type == "MockPointSource": + instance.actual_instance = MockPointSource.from_json(json_str) + return instance + + # check if data type is `RasterVectorJoin` + if _data_type == "RasterVectorJoin": + instance.actual_instance = RasterVectorJoin.from_json(json_str) + return instance + + # deserialize data into MockPointSource + try: + instance.actual_instance = MockPointSource.from_json(json_str) + match += 1 + except (ValidationError, ValueError) as e: + error_messages.append(str(e)) + # deserialize data into RasterVectorJoin + try: + instance.actual_instance = RasterVectorJoin.from_json(json_str) + match += 1 + except (ValidationError, ValueError) as e: + error_messages.append(str(e)) + + if match > 1: + # more than 1 match + raise ValueError("Multiple matches found when deserializing the JSON string into VectorOperator with oneOf schemas: MockPointSource, RasterVectorJoin. Details: " + ", ".join(error_messages)) + elif match == 0: + # no match + raise ValueError("No match found when deserializing the JSON string into VectorOperator with oneOf schemas: MockPointSource, RasterVectorJoin. Details: " + ", ".join(error_messages)) + else: + return instance + + def to_json(self) -> str: + """Returns the JSON representation of the actual instance""" + if self.actual_instance is None: + return "null" + + if hasattr(self.actual_instance, "to_json") and callable(self.actual_instance.to_json): + return self.actual_instance.to_json() + else: + return json.dumps(self.actual_instance) + + def to_dict(self) -> Optional[Union[Dict[str, Any], MockPointSource, RasterVectorJoin]]: + """Returns the dict representation of the actual instance""" + if self.actual_instance is None: + return None + + if hasattr(self.actual_instance, "to_dict") and callable(self.actual_instance.to_dict): + return self.actual_instance.to_dict() + else: + # primitive type + return self.actual_instance + + def to_str(self) -> str: + """Returns the string representation of the actual instance""" + return pprint.pformat(self.model_dump()) + +from geoengine_openapi_client.models.raster_vector_join import RasterVectorJoin +# TODO: Rewrite to not use raise_errors +VectorOperator.model_rebuild(raise_errors=False) + diff --git a/python/geoengine_openapi_client/models/workflow.py b/python/geoengine_openapi_client/models/workflow.py index edced8bd..7bb536b0 100644 --- a/python/geoengine_openapi_client/models/workflow.py +++ b/python/geoengine_openapi_client/models/workflow.py @@ -14,88 +14,125 @@ from __future__ import annotations -import pprint -import re # noqa: F401 import json +import pprint +from pydantic import BaseModel, ConfigDict, Field, StrictStr, ValidationError, field_validator +from typing import Any, List, Optional +from geoengine_openapi_client.models.legacy_typed_operator import LegacyTypedOperator +from geoengine_openapi_client.models.typed_operator import TypedOperator +from pydantic import StrictStr, Field +from typing import Union, List, Set, Optional, Dict +from typing_extensions import Literal, Self -from pydantic import BaseModel, ConfigDict, StrictStr, field_validator -from typing import Any, ClassVar, Dict, List -from geoengine_openapi_client.models.typed_operator_operator import TypedOperatorOperator -from typing import Optional, Set -from typing_extensions import Self +WORKFLOW_ONE_OF_SCHEMAS = ["LegacyTypedOperator", "TypedOperator"] class Workflow(BaseModel): """ Workflow - """ # noqa: E501 - operator: TypedOperatorOperator - type: StrictStr - __properties: ClassVar[List[str]] = ["operator", "type"] - - @field_validator('type') - def type_validate_enum(cls, value): - """Validates the enum""" - if value not in set(['Vector', 'Raster', 'Plot']): - raise ValueError("must be one of enum values ('Vector', 'Raster', 'Plot')") - return value + """ + # data type: TypedOperator + oneof_schema_1_validator: Optional[TypedOperator] = None + # data type: LegacyTypedOperator + oneof_schema_2_validator: Optional[LegacyTypedOperator] = None + actual_instance: Optional[Union[LegacyTypedOperator, TypedOperator]] = None + one_of_schemas: Set[str] = { "LegacyTypedOperator", "TypedOperator" } model_config = ConfigDict( - populate_by_name=True, validate_assignment=True, protected_namespaces=(), ) - def to_str(self) -> str: - """Returns the string representation of the model using alias""" - return pprint.pformat(self.model_dump(by_alias=True)) - - def to_json(self) -> str: - """Returns the JSON representation of the model using alias""" - # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead - return json.dumps(self.to_dict()) + def __init__(self, *args, **kwargs) -> None: + if args: + if len(args) > 1: + raise ValueError("If a position argument is used, only 1 is allowed to set `actual_instance`") + if kwargs: + raise ValueError("If a position argument is used, keyword arguments cannot be used.") + super().__init__(actual_instance=args[0]) + else: + super().__init__(**kwargs) + + @field_validator('actual_instance') + def actual_instance_must_validate_oneof(cls, v): + instance = Workflow.model_construct() + error_messages = [] + match = 0 + # validate data type: TypedOperator + if not isinstance(v, TypedOperator): + error_messages.append(f"Error! Input type `{type(v)}` is not `TypedOperator`") + else: + return v + # validate data type: LegacyTypedOperator + if not isinstance(v, LegacyTypedOperator): + error_messages.append(f"Error! Input type `{type(v)}` is not `LegacyTypedOperator`") + else: + return v + if match > 1: + # more than 1 match + raise ValueError("Multiple matches found when setting `actual_instance` in Workflow with oneOf schemas: LegacyTypedOperator, TypedOperator. Details: " + ", ".join(error_messages)) + elif match == 0: + # no match + raise ValueError("No match found when setting `actual_instance` in Workflow with oneOf schemas: LegacyTypedOperator, TypedOperator. Details: " + ", ".join(error_messages)) + else: + return v @classmethod - def from_json(cls, json_str: str) -> Optional[Self]: - """Create an instance of Workflow from a JSON string""" - return cls.from_dict(json.loads(json_str)) - - def to_dict(self) -> Dict[str, Any]: - """Return the dictionary representation of the model using alias. - - This has the following differences from calling pydantic's - `self.model_dump(by_alias=True)`: - - * `None` is only added to the output dict for nullable fields that - were set at model initialization. Other fields with value `None` - are ignored. - """ - excluded_fields: Set[str] = set([ - ]) - - _dict = self.model_dump( - by_alias=True, - exclude=excluded_fields, - exclude_none=True, - ) - # override the default output from pydantic by calling `to_dict()` of operator - if self.operator: - _dict['operator'] = self.operator.to_dict() - return _dict + def from_dict(cls, obj: Union[str, Dict[str, Any]]) -> Self: + return cls.from_json(json.dumps(obj)) @classmethod - def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: - """Create an instance of Workflow from a dict""" - if obj is None: + def from_json(cls, json_str: str) -> Self: + """Returns the object represented by the json string""" + instance = cls.model_construct() + error_messages = [] + match = 0 + + # deserialize data into TypedOperator + try: + instance.actual_instance = TypedOperator.from_json(json_str) + return instance + except (ValidationError, ValueError) as e: + error_messages.append(str(e)) + # deserialize data into LegacyTypedOperator + try: + instance.actual_instance = LegacyTypedOperator.from_json(json_str) + return instance + except (ValidationError, ValueError) as e: + error_messages.append(str(e)) + + if match > 1: + # more than 1 match + raise ValueError("Multiple matches found when deserializing the JSON string into Workflow with oneOf schemas: LegacyTypedOperator, TypedOperator. Details: " + ", ".join(error_messages)) + elif match == 0: + # no match + raise ValueError("No match found when deserializing the JSON string into Workflow with oneOf schemas: LegacyTypedOperator, TypedOperator. Details: " + ", ".join(error_messages)) + else: + return instance + + def to_json(self) -> str: + """Returns the JSON representation of the actual instance""" + if self.actual_instance is None: + return "null" + + if hasattr(self.actual_instance, "to_json") and callable(self.actual_instance.to_json): + return self.actual_instance.to_json() + else: + return json.dumps(self.actual_instance) + + def to_dict(self) -> Optional[Union[Dict[str, Any], LegacyTypedOperator, TypedOperator]]: + """Returns the dict representation of the actual instance""" + if self.actual_instance is None: return None - if not isinstance(obj, dict): - return cls.model_validate(obj) + if hasattr(self.actual_instance, "to_dict") and callable(self.actual_instance.to_dict): + return self.actual_instance.to_dict() + else: + # primitive type + return self.actual_instance - _obj = cls.model_validate({ - "operator": TypedOperatorOperator.from_dict(obj["operator"]) if obj.get("operator") is not None else None, - "type": obj.get("type") - }) - return _obj + def to_str(self) -> str: + """Returns the string representation of the actual instance""" + return pprint.pformat(self.model_dump()) diff --git a/python/pyproject.toml b/python/pyproject.toml index 4f0e689d..481ff6ef 100644 --- a/python/pyproject.toml +++ b/python/pyproject.toml @@ -1,6 +1,6 @@ [project] name = "geoengine_openapi_client" -version = "0.0.32" +version = "0.0.33" description = "Geo Engine API" authors = [ {name = "Geo Engine Developers",email = "dev@geoengine.de"}, diff --git a/python/setup.py b/python/setup.py index 0edcadfe..c1a6f5f5 100644 --- a/python/setup.py +++ b/python/setup.py @@ -20,7 +20,7 @@ # prerequisite: setuptools # http://pypi.python.org/pypi/setuptools NAME = "geoengine-openapi-client" -VERSION = "0.0.32" +VERSION = "0.0.33" PYTHON_REQUIRES = ">= 3.9" REQUIRES = [ "urllib3 >= 2.1.0, < 3.0.0", diff --git a/python/test/test_add_dataset_tile.py b/python/test/test_add_dataset_tile.py deleted file mode 100644 index 12de0d53..00000000 --- a/python/test/test_add_dataset_tile.py +++ /dev/null @@ -1,139 +0,0 @@ -# coding: utf-8 - -""" - Geo Engine API - - No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - - The version of the OpenAPI document: 0.9.0 - Contact: dev@geoengine.de - Generated by OpenAPI Generator (https://openapi-generator.tech) - - Do not edit the class manually. -""" # noqa: E501 - - -import unittest - -from geoengine_openapi_client.models.add_dataset_tile import AddDatasetTile - -class TestAddDatasetTile(unittest.TestCase): - """AddDatasetTile unit test stubs""" - - def setUp(self): - pass - - def tearDown(self): - pass - - def make_instance(self, include_optional) -> AddDatasetTile: - """Test AddDatasetTile - include_optional is a boolean, when False only required - params are included, when True both required and - optional params are included """ - # uncomment below to create an instance of `AddDatasetTile` - """ - model = AddDatasetTile() - if include_optional: - return AddDatasetTile( - band = 0, - params = geoengine_openapi_client.models.gdal_dataset_parameters.GdalDatasetParameters( - allow_alphaband_as_mask = True, - file_not_found_handling = 'NoData', - file_path = '', - gdal_config_options = [ - [ - '' - ] - ], - gdal_open_options = [ - '' - ], - geo_transform = geoengine_openapi_client.models.geo_transform.GeoTransform( - origin_coordinate = geoengine_openapi_client.models.coordinate2_d.Coordinate2D( - x = 1.337, - y = 1.337, ), - x_pixel_size = 1.337, - y_pixel_size = 1.337, ), - height = 0, - no_data_value = 1.337, - properties_mapping = [ - geoengine_openapi_client.models.gdal_metadata_mapping.GdalMetadataMapping( - source_key = geoengine_openapi_client.models.raster_properties_key.RasterPropertiesKey( - domain = '', - key = '', ), - target_key = geoengine_openapi_client.models.raster_properties_key.RasterPropertiesKey( - domain = '', - key = '', ), - target_type = 'Number', ) - ], - rasterband_channel = 0, - width = 0, ), - spatial_partition = geoengine_openapi_client.models.spatial_partition2_d.SpatialPartition2D( - lower_right_coordinate = geoengine_openapi_client.models.coordinate2_d.Coordinate2D( - x = 1.337, - y = 1.337, ), - upper_left_coordinate = geoengine_openapi_client.models.coordinate2_d.Coordinate2D( - x = 1.337, - y = 1.337, ), ), - time = geoengine_openapi_client.models.time_interval.TimeInterval( - end = 56, - start = 56, ), - z_index = 0 - ) - else: - return AddDatasetTile( - band = 0, - params = geoengine_openapi_client.models.gdal_dataset_parameters.GdalDatasetParameters( - allow_alphaband_as_mask = True, - file_not_found_handling = 'NoData', - file_path = '', - gdal_config_options = [ - [ - '' - ] - ], - gdal_open_options = [ - '' - ], - geo_transform = geoengine_openapi_client.models.geo_transform.GeoTransform( - origin_coordinate = geoengine_openapi_client.models.coordinate2_d.Coordinate2D( - x = 1.337, - y = 1.337, ), - x_pixel_size = 1.337, - y_pixel_size = 1.337, ), - height = 0, - no_data_value = 1.337, - properties_mapping = [ - geoengine_openapi_client.models.gdal_metadata_mapping.GdalMetadataMapping( - source_key = geoengine_openapi_client.models.raster_properties_key.RasterPropertiesKey( - domain = '', - key = '', ), - target_key = geoengine_openapi_client.models.raster_properties_key.RasterPropertiesKey( - domain = '', - key = '', ), - target_type = 'Number', ) - ], - rasterband_channel = 0, - width = 0, ), - spatial_partition = geoengine_openapi_client.models.spatial_partition2_d.SpatialPartition2D( - lower_right_coordinate = geoengine_openapi_client.models.coordinate2_d.Coordinate2D( - x = 1.337, - y = 1.337, ), - upper_left_coordinate = geoengine_openapi_client.models.coordinate2_d.Coordinate2D( - x = 1.337, - y = 1.337, ), ), - time = geoengine_openapi_client.models.time_interval.TimeInterval( - end = 56, - start = 56, ), - z_index = 0, - ) - """ - - def testAddDatasetTile(self): - """Test AddDatasetTile""" - # inst_req_only = self.make_instance(include_optional=False) - # inst_req_and_optional = self.make_instance(include_optional=True) - -if __name__ == '__main__': - unittest.main() diff --git a/python/test/test_wcs_boundingbox.py b/python/test/test_column_names.py similarity index 58% rename from python/test/test_wcs_boundingbox.py rename to python/test/test_column_names.py index 9941df21..20cacd15 100644 --- a/python/test/test_wcs_boundingbox.py +++ b/python/test/test_column_names.py @@ -15,10 +15,10 @@ import unittest -from geoengine_openapi_client.models.wcs_boundingbox import WcsBoundingbox +from geoengine_openapi_client.models.column_names import ColumnNames -class TestWcsBoundingbox(unittest.TestCase): - """WcsBoundingbox unit test stubs""" +class TestColumnNames(unittest.TestCase): + """ColumnNames unit test stubs""" def setUp(self): pass @@ -26,31 +26,32 @@ def setUp(self): def tearDown(self): pass - def make_instance(self, include_optional) -> WcsBoundingbox: - """Test WcsBoundingbox + def make_instance(self, include_optional) -> ColumnNames: + """Test ColumnNames include_optional is a boolean, when False only required params are included, when True both required and optional params are included """ - # uncomment below to create an instance of `WcsBoundingbox` + # uncomment below to create an instance of `ColumnNames` """ - model = WcsBoundingbox() + model = ColumnNames() if include_optional: - return WcsBoundingbox( - bbox = [ - 1.337 - ], - spatial_reference = '' + return ColumnNames( + type = 'default', + values = [ + '' + ] ) else: - return WcsBoundingbox( - bbox = [ - 1.337 + return ColumnNames( + type = 'default', + values = [ + '' ], ) """ - def testWcsBoundingbox(self): - """Test WcsBoundingbox""" + def testColumnNames(self): + """Test ColumnNames""" # inst_req_only = self.make_instance(include_optional=False) # inst_req_and_optional = self.make_instance(include_optional=True) diff --git a/python/test/test_task_abort_options.py b/python/test/test_default.py similarity index 62% rename from python/test/test_task_abort_options.py rename to python/test/test_default.py index 5ee30ed9..494d8153 100644 --- a/python/test/test_task_abort_options.py +++ b/python/test/test_default.py @@ -15,10 +15,10 @@ import unittest -from geoengine_openapi_client.models.task_abort_options import TaskAbortOptions +from geoengine_openapi_client.models.default import Default -class TestTaskAbortOptions(unittest.TestCase): - """TaskAbortOptions unit test stubs""" +class TestDefault(unittest.TestCase): + """Default unit test stubs""" def setUp(self): pass @@ -26,25 +26,26 @@ def setUp(self): def tearDown(self): pass - def make_instance(self, include_optional) -> TaskAbortOptions: - """Test TaskAbortOptions + def make_instance(self, include_optional) -> Default: + """Test Default include_optional is a boolean, when False only required params are included, when True both required and optional params are included """ - # uncomment below to create an instance of `TaskAbortOptions` + # uncomment below to create an instance of `Default` """ - model = TaskAbortOptions() + model = Default() if include_optional: - return TaskAbortOptions( - force = True + return Default( + type = 'default' ) else: - return TaskAbortOptions( + return Default( + type = 'default', ) """ - def testTaskAbortOptions(self): - """Test TaskAbortOptions""" + def testDefault(self): + """Test Default""" # inst_req_only = self.make_instance(include_optional=False) # inst_req_and_optional = self.make_instance(include_optional=True) diff --git a/python/test/test_expression.py b/python/test/test_expression.py new file mode 100644 index 00000000..e642bc90 --- /dev/null +++ b/python/test/test_expression.py @@ -0,0 +1,67 @@ +# coding: utf-8 + +""" + Geo Engine API + + No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + + The version of the OpenAPI document: 0.9.0 + Contact: dev@geoengine.de + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from geoengine_openapi_client.models.expression import Expression + +class TestExpression(unittest.TestCase): + """Expression unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> Expression: + """Test Expression + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `Expression` + """ + model = Expression() + if include_optional: + return Expression( + params = geoengine_openapi_client.models.expression_parameters.ExpressionParameters( + expression = '', + map_no_data = True, + output_band = null, + output_type = null, ), + sources = geoengine_openapi_client.models.single_raster_source.SingleRasterSource( + raster = null, ), + type = 'Expression' + ) + else: + return Expression( + params = geoengine_openapi_client.models.expression_parameters.ExpressionParameters( + expression = '', + map_no_data = True, + output_band = null, + output_type = null, ), + sources = geoengine_openapi_client.models.single_raster_source.SingleRasterSource( + raster = null, ), + type = 'Expression', + ) + """ + + def testExpression(self): + """Test Expression""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/python/test/test_expression_parameters.py b/python/test/test_expression_parameters.py new file mode 100644 index 00000000..8c9a8d2a --- /dev/null +++ b/python/test/test_expression_parameters.py @@ -0,0 +1,60 @@ +# coding: utf-8 + +""" + Geo Engine API + + No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + + The version of the OpenAPI document: 0.9.0 + Contact: dev@geoengine.de + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from geoengine_openapi_client.models.expression_parameters import ExpressionParameters + +class TestExpressionParameters(unittest.TestCase): + """ExpressionParameters unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> ExpressionParameters: + """Test ExpressionParameters + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `ExpressionParameters` + """ + model = ExpressionParameters() + if include_optional: + return ExpressionParameters( + expression = '', + map_no_data = True, + output_band = geoengine_openapi_client.models.raster_band_descriptor.RasterBandDescriptor( + measurement = null, + name = '', ), + output_type = 'U8' + ) + else: + return ExpressionParameters( + expression = '', + map_no_data = True, + output_type = 'U8', + ) + """ + + def testExpressionParameters(self): + """Test ExpressionParameters""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/python/test/test_spatial_reference_authority.py b/python/test/test_feature_aggregation_method.py similarity index 59% rename from python/test/test_spatial_reference_authority.py rename to python/test/test_feature_aggregation_method.py index e0a66437..daf196cf 100644 --- a/python/test/test_spatial_reference_authority.py +++ b/python/test/test_feature_aggregation_method.py @@ -15,10 +15,10 @@ import unittest -from geoengine_openapi_client.models.spatial_reference_authority import SpatialReferenceAuthority +from geoengine_openapi_client.models.feature_aggregation_method import FeatureAggregationMethod -class TestSpatialReferenceAuthority(unittest.TestCase): - """SpatialReferenceAuthority unit test stubs""" +class TestFeatureAggregationMethod(unittest.TestCase): + """FeatureAggregationMethod unit test stubs""" def setUp(self): pass @@ -26,9 +26,9 @@ def setUp(self): def tearDown(self): pass - def testSpatialReferenceAuthority(self): - """Test SpatialReferenceAuthority""" - # inst = SpatialReferenceAuthority() + def testFeatureAggregationMethod(self): + """Test FeatureAggregationMethod""" + # inst = FeatureAggregationMethod() if __name__ == '__main__': unittest.main() diff --git a/python/test/test_raster_dataset_from_workflow_result.py b/python/test/test_gdal_source.py similarity index 50% rename from python/test/test_raster_dataset_from_workflow_result.py rename to python/test/test_gdal_source.py index 24e3f20b..4acffdcc 100644 --- a/python/test/test_raster_dataset_from_workflow_result.py +++ b/python/test/test_gdal_source.py @@ -15,10 +15,10 @@ import unittest -from geoengine_openapi_client.models.raster_dataset_from_workflow_result import RasterDatasetFromWorkflowResult +from geoengine_openapi_client.models.gdal_source import GdalSource -class TestRasterDatasetFromWorkflowResult(unittest.TestCase): - """RasterDatasetFromWorkflowResult unit test stubs""" +class TestGdalSource(unittest.TestCase): + """GdalSource unit test stubs""" def setUp(self): pass @@ -26,28 +26,32 @@ def setUp(self): def tearDown(self): pass - def make_instance(self, include_optional) -> RasterDatasetFromWorkflowResult: - """Test RasterDatasetFromWorkflowResult + def make_instance(self, include_optional) -> GdalSource: + """Test GdalSource include_optional is a boolean, when False only required params are included, when True both required and optional params are included """ - # uncomment below to create an instance of `RasterDatasetFromWorkflowResult` + # uncomment below to create an instance of `GdalSource` """ - model = RasterDatasetFromWorkflowResult() + model = GdalSource() if include_optional: - return RasterDatasetFromWorkflowResult( - dataset = '', - upload = '' + return GdalSource( + params = geoengine_openapi_client.models.gdal_source_parameters.GdalSourceParameters( + data = '', + overview_level = 0, ), + type = 'GdalSource' ) else: - return RasterDatasetFromWorkflowResult( - dataset = '', - upload = '', + return GdalSource( + params = geoengine_openapi_client.models.gdal_source_parameters.GdalSourceParameters( + data = '', + overview_level = 0, ), + type = 'GdalSource', ) """ - def testRasterDatasetFromWorkflowResult(self): - """Test RasterDatasetFromWorkflowResult""" + def testGdalSource(self): + """Test GdalSource""" # inst_req_only = self.make_instance(include_optional=False) # inst_req_and_optional = self.make_instance(include_optional=True) diff --git a/python/test/test_gdal_source_parameters.py b/python/test/test_gdal_source_parameters.py new file mode 100644 index 00000000..ba72a59d --- /dev/null +++ b/python/test/test_gdal_source_parameters.py @@ -0,0 +1,54 @@ +# coding: utf-8 + +""" + Geo Engine API + + No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + + The version of the OpenAPI document: 0.9.0 + Contact: dev@geoengine.de + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from geoengine_openapi_client.models.gdal_source_parameters import GdalSourceParameters + +class TestGdalSourceParameters(unittest.TestCase): + """GdalSourceParameters unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> GdalSourceParameters: + """Test GdalSourceParameters + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `GdalSourceParameters` + """ + model = GdalSourceParameters() + if include_optional: + return GdalSourceParameters( + data = '', + overview_level = 0 + ) + else: + return GdalSourceParameters( + data = '', + ) + """ + + def testGdalSourceParameters(self): + """Test GdalSourceParameters""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/python/test/test_histogram.py b/python/test/test_histogram.py new file mode 100644 index 00000000..d2228d26 --- /dev/null +++ b/python/test/test_histogram.py @@ -0,0 +1,67 @@ +# coding: utf-8 + +""" + Geo Engine API + + No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + + The version of the OpenAPI document: 0.9.0 + Contact: dev@geoengine.de + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from geoengine_openapi_client.models.histogram import Histogram + +class TestHistogram(unittest.TestCase): + """Histogram unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> Histogram: + """Test Histogram + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `Histogram` + """ + model = Histogram() + if include_optional: + return Histogram( + params = geoengine_openapi_client.models.histogram_parameters.HistogramParameters( + attribute_name = '', + bounds = null, + buckets = null, + interactive = True, ), + sources = geoengine_openapi_client.models.single_raster_or_vector_source.SingleRasterOrVectorSource( + source = null, ), + type = 'Histogram' + ) + else: + return Histogram( + params = geoengine_openapi_client.models.histogram_parameters.HistogramParameters( + attribute_name = '', + bounds = null, + buckets = null, + interactive = True, ), + sources = geoengine_openapi_client.models.single_raster_or_vector_source.SingleRasterOrVectorSource( + source = null, ), + type = 'Histogram', + ) + """ + + def testHistogram(self): + """Test Histogram""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/python/test/test_provenance_output.py b/python/test/test_histogram_bounds.py similarity index 51% rename from python/test/test_provenance_output.py rename to python/test/test_histogram_bounds.py index e8c836e6..a0dec516 100644 --- a/python/test/test_provenance_output.py +++ b/python/test/test_histogram_bounds.py @@ -15,10 +15,10 @@ import unittest -from geoengine_openapi_client.models.provenance_output import ProvenanceOutput +from geoengine_openapi_client.models.histogram_bounds import HistogramBounds -class TestProvenanceOutput(unittest.TestCase): - """ProvenanceOutput unit test stubs""" +class TestHistogramBounds(unittest.TestCase): + """HistogramBounds unit test stubs""" def setUp(self): pass @@ -26,32 +26,32 @@ def setUp(self): def tearDown(self): pass - def make_instance(self, include_optional) -> ProvenanceOutput: - """Test ProvenanceOutput + def make_instance(self, include_optional) -> HistogramBounds: + """Test HistogramBounds include_optional is a boolean, when False only required params are included, when True both required and optional params are included """ - # uncomment below to create an instance of `ProvenanceOutput` + # uncomment below to create an instance of `HistogramBounds` """ - model = ProvenanceOutput() + model = HistogramBounds() if include_optional: - return ProvenanceOutput( + return HistogramBounds( data = None, - provenance = [ - geoengine_openapi_client.models.provenance.Provenance( - citation = '', - license = '', - uri = '', ) - ] + values = geoengine_openapi_client.models.histogram_bounds_one_of_1_values.HistogramBounds_oneOf_1_values( + max = 1.337, + min = 1.337, ) ) else: - return ProvenanceOutput( + return HistogramBounds( data = None, + values = geoengine_openapi_client.models.histogram_bounds_one_of_1_values.HistogramBounds_oneOf_1_values( + max = 1.337, + min = 1.337, ), ) """ - def testProvenanceOutput(self): - """Test ProvenanceOutput""" + def testHistogramBounds(self): + """Test HistogramBounds""" # inst_req_only = self.make_instance(include_optional=False) # inst_req_and_optional = self.make_instance(include_optional=True) diff --git a/python/test/test_spatial_resolution.py b/python/test/test_histogram_bounds_one_of.py similarity index 58% rename from python/test/test_spatial_resolution.py rename to python/test/test_histogram_bounds_one_of.py index 5876f0ca..64f9c501 100644 --- a/python/test/test_spatial_resolution.py +++ b/python/test/test_histogram_bounds_one_of.py @@ -15,10 +15,10 @@ import unittest -from geoengine_openapi_client.models.spatial_resolution import SpatialResolution +from geoengine_openapi_client.models.histogram_bounds_one_of import HistogramBoundsOneOf -class TestSpatialResolution(unittest.TestCase): - """SpatialResolution unit test stubs""" +class TestHistogramBoundsOneOf(unittest.TestCase): + """HistogramBoundsOneOf unit test stubs""" def setUp(self): pass @@ -26,28 +26,26 @@ def setUp(self): def tearDown(self): pass - def make_instance(self, include_optional) -> SpatialResolution: - """Test SpatialResolution + def make_instance(self, include_optional) -> HistogramBoundsOneOf: + """Test HistogramBoundsOneOf include_optional is a boolean, when False only required params are included, when True both required and optional params are included """ - # uncomment below to create an instance of `SpatialResolution` + # uncomment below to create an instance of `HistogramBoundsOneOf` """ - model = SpatialResolution() + model = HistogramBoundsOneOf() if include_optional: - return SpatialResolution( - x = 1.337, - y = 1.337 + return HistogramBoundsOneOf( + data = None ) else: - return SpatialResolution( - x = 1.337, - y = 1.337, + return HistogramBoundsOneOf( + data = None, ) """ - def testSpatialResolution(self): - """Test SpatialResolution""" + def testHistogramBoundsOneOf(self): + """Test HistogramBoundsOneOf""" # inst_req_only = self.make_instance(include_optional=False) # inst_req_and_optional = self.make_instance(include_optional=True) diff --git a/python/test/test_histogram_bounds_one_of1.py b/python/test/test_histogram_bounds_one_of1.py new file mode 100644 index 00000000..cf5cb6fc --- /dev/null +++ b/python/test/test_histogram_bounds_one_of1.py @@ -0,0 +1,57 @@ +# coding: utf-8 + +""" + Geo Engine API + + No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + + The version of the OpenAPI document: 0.9.0 + Contact: dev@geoengine.de + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from geoengine_openapi_client.models.histogram_bounds_one_of1 import HistogramBoundsOneOf1 + +class TestHistogramBoundsOneOf1(unittest.TestCase): + """HistogramBoundsOneOf1 unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> HistogramBoundsOneOf1: + """Test HistogramBoundsOneOf1 + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `HistogramBoundsOneOf1` + """ + model = HistogramBoundsOneOf1() + if include_optional: + return HistogramBoundsOneOf1( + values = geoengine_openapi_client.models.histogram_bounds_one_of_1_values.HistogramBounds_oneOf_1_values( + max = 1.337, + min = 1.337, ) + ) + else: + return HistogramBoundsOneOf1( + values = geoengine_openapi_client.models.histogram_bounds_one_of_1_values.HistogramBounds_oneOf_1_values( + max = 1.337, + min = 1.337, ), + ) + """ + + def testHistogramBoundsOneOf1(self): + """Test HistogramBoundsOneOf1""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/python/test/test_histogram_bounds_one_of1_values.py b/python/test/test_histogram_bounds_one_of1_values.py new file mode 100644 index 00000000..a58a890d --- /dev/null +++ b/python/test/test_histogram_bounds_one_of1_values.py @@ -0,0 +1,55 @@ +# coding: utf-8 + +""" + Geo Engine API + + No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + + The version of the OpenAPI document: 0.9.0 + Contact: dev@geoengine.de + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from geoengine_openapi_client.models.histogram_bounds_one_of1_values import HistogramBoundsOneOf1Values + +class TestHistogramBoundsOneOf1Values(unittest.TestCase): + """HistogramBoundsOneOf1Values unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> HistogramBoundsOneOf1Values: + """Test HistogramBoundsOneOf1Values + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `HistogramBoundsOneOf1Values` + """ + model = HistogramBoundsOneOf1Values() + if include_optional: + return HistogramBoundsOneOf1Values( + max = 1.337, + min = 1.337 + ) + else: + return HistogramBoundsOneOf1Values( + max = 1.337, + min = 1.337, + ) + """ + + def testHistogramBoundsOneOf1Values(self): + """Test HistogramBoundsOneOf1Values""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/python/test/test_histogram_buckets.py b/python/test/test_histogram_buckets.py new file mode 100644 index 00000000..17f78d98 --- /dev/null +++ b/python/test/test_histogram_buckets.py @@ -0,0 +1,56 @@ +# coding: utf-8 + +""" + Geo Engine API + + No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + + The version of the OpenAPI document: 0.9.0 + Contact: dev@geoengine.de + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from geoengine_openapi_client.models.histogram_buckets import HistogramBuckets + +class TestHistogramBuckets(unittest.TestCase): + """HistogramBuckets unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> HistogramBuckets: + """Test HistogramBuckets + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `HistogramBuckets` + """ + model = HistogramBuckets() + if include_optional: + return HistogramBuckets( + type = 'number', + value = 0, + max_number_of_buckets = 0 + ) + else: + return HistogramBuckets( + type = 'number', + value = 0, + ) + """ + + def testHistogramBuckets(self): + """Test HistogramBuckets""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/python/test/test_histogram_buckets_one_of.py b/python/test/test_histogram_buckets_one_of.py new file mode 100644 index 00000000..6859abc5 --- /dev/null +++ b/python/test/test_histogram_buckets_one_of.py @@ -0,0 +1,55 @@ +# coding: utf-8 + +""" + Geo Engine API + + No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + + The version of the OpenAPI document: 0.9.0 + Contact: dev@geoengine.de + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from geoengine_openapi_client.models.histogram_buckets_one_of import HistogramBucketsOneOf + +class TestHistogramBucketsOneOf(unittest.TestCase): + """HistogramBucketsOneOf unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> HistogramBucketsOneOf: + """Test HistogramBucketsOneOf + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `HistogramBucketsOneOf` + """ + model = HistogramBucketsOneOf() + if include_optional: + return HistogramBucketsOneOf( + type = 'number', + value = 0 + ) + else: + return HistogramBucketsOneOf( + type = 'number', + value = 0, + ) + """ + + def testHistogramBucketsOneOf(self): + """Test HistogramBucketsOneOf""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/python/test/test_histogram_buckets_one_of1.py b/python/test/test_histogram_buckets_one_of1.py new file mode 100644 index 00000000..f0fe847e --- /dev/null +++ b/python/test/test_histogram_buckets_one_of1.py @@ -0,0 +1,54 @@ +# coding: utf-8 + +""" + Geo Engine API + + No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + + The version of the OpenAPI document: 0.9.0 + Contact: dev@geoengine.de + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from geoengine_openapi_client.models.histogram_buckets_one_of1 import HistogramBucketsOneOf1 + +class TestHistogramBucketsOneOf1(unittest.TestCase): + """HistogramBucketsOneOf1 unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> HistogramBucketsOneOf1: + """Test HistogramBucketsOneOf1 + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `HistogramBucketsOneOf1` + """ + model = HistogramBucketsOneOf1() + if include_optional: + return HistogramBucketsOneOf1( + max_number_of_buckets = 0, + type = 'squareRootChoiceRule' + ) + else: + return HistogramBucketsOneOf1( + type = 'squareRootChoiceRule', + ) + """ + + def testHistogramBucketsOneOf1(self): + """Test HistogramBucketsOneOf1""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/python/test/test_histogram_parameters.py b/python/test/test_histogram_parameters.py new file mode 100644 index 00000000..0a0e1b3d --- /dev/null +++ b/python/test/test_histogram_parameters.py @@ -0,0 +1,58 @@ +# coding: utf-8 + +""" + Geo Engine API + + No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + + The version of the OpenAPI document: 0.9.0 + Contact: dev@geoengine.de + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from geoengine_openapi_client.models.histogram_parameters import HistogramParameters + +class TestHistogramParameters(unittest.TestCase): + """HistogramParameters unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> HistogramParameters: + """Test HistogramParameters + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `HistogramParameters` + """ + model = HistogramParameters() + if include_optional: + return HistogramParameters( + attribute_name = '', + bounds = None, + buckets = None, + interactive = True + ) + else: + return HistogramParameters( + attribute_name = '', + bounds = None, + buckets = None, + ) + """ + + def testHistogramParameters(self): + """Test HistogramParameters""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/python/test/test_legacy_typed_operator.py b/python/test/test_legacy_typed_operator.py new file mode 100644 index 00000000..c158de50 --- /dev/null +++ b/python/test/test_legacy_typed_operator.py @@ -0,0 +1,61 @@ +# coding: utf-8 + +""" + Geo Engine API + + No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + + The version of the OpenAPI document: 0.9.0 + Contact: dev@geoengine.de + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from geoengine_openapi_client.models.legacy_typed_operator import LegacyTypedOperator + +class TestLegacyTypedOperator(unittest.TestCase): + """LegacyTypedOperator unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> LegacyTypedOperator: + """Test LegacyTypedOperator + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `LegacyTypedOperator` + """ + model = LegacyTypedOperator() + if include_optional: + return LegacyTypedOperator( + operator = geoengine_openapi_client.models.legacy_typed_operator_operator.LegacyTypedOperator_operator( + params = geoengine_openapi_client.models.params.params(), + sources = geoengine_openapi_client.models.sources.sources(), + type = '', ), + type = 'Vector' + ) + else: + return LegacyTypedOperator( + operator = geoengine_openapi_client.models.legacy_typed_operator_operator.LegacyTypedOperator_operator( + params = geoengine_openapi_client.models.params.params(), + sources = geoengine_openapi_client.models.sources.sources(), + type = '', ), + type = 'Vector', + ) + """ + + def testLegacyTypedOperator(self): + """Test LegacyTypedOperator""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/python/test/test_typed_operator_operator.py b/python/test/test_legacy_typed_operator_operator.py similarity index 62% rename from python/test/test_typed_operator_operator.py rename to python/test/test_legacy_typed_operator_operator.py index 852cd261..4207399f 100644 --- a/python/test/test_typed_operator_operator.py +++ b/python/test/test_legacy_typed_operator_operator.py @@ -15,10 +15,10 @@ import unittest -from geoengine_openapi_client.models.typed_operator_operator import TypedOperatorOperator +from geoengine_openapi_client.models.legacy_typed_operator_operator import LegacyTypedOperatorOperator -class TestTypedOperatorOperator(unittest.TestCase): - """TypedOperatorOperator unit test stubs""" +class TestLegacyTypedOperatorOperator(unittest.TestCase): + """LegacyTypedOperatorOperator unit test stubs""" def setUp(self): pass @@ -26,28 +26,28 @@ def setUp(self): def tearDown(self): pass - def make_instance(self, include_optional) -> TypedOperatorOperator: - """Test TypedOperatorOperator + def make_instance(self, include_optional) -> LegacyTypedOperatorOperator: + """Test LegacyTypedOperatorOperator include_optional is a boolean, when False only required params are included, when True both required and optional params are included """ - # uncomment below to create an instance of `TypedOperatorOperator` + # uncomment below to create an instance of `LegacyTypedOperatorOperator` """ - model = TypedOperatorOperator() + model = LegacyTypedOperatorOperator() if include_optional: - return TypedOperatorOperator( + return LegacyTypedOperatorOperator( params = geoengine_openapi_client.models.params.params(), sources = geoengine_openapi_client.models.sources.sources(), type = '' ) else: - return TypedOperatorOperator( + return LegacyTypedOperatorOperator( type = '', ) """ - def testTypedOperatorOperator(self): - """Test TypedOperatorOperator""" + def testLegacyTypedOperatorOperator(self): + """Test LegacyTypedOperatorOperator""" # inst_req_only = self.make_instance(include_optional=False) # inst_req_and_optional = self.make_instance(include_optional=True) diff --git a/python/test/test_mock_point_source.py b/python/test/test_mock_point_source.py new file mode 100644 index 00000000..e700bfca --- /dev/null +++ b/python/test/test_mock_point_source.py @@ -0,0 +1,67 @@ +# coding: utf-8 + +""" + Geo Engine API + + No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + + The version of the OpenAPI document: 0.9.0 + Contact: dev@geoengine.de + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from geoengine_openapi_client.models.mock_point_source import MockPointSource + +class TestMockPointSource(unittest.TestCase): + """MockPointSource unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> MockPointSource: + """Test MockPointSource + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `MockPointSource` + """ + model = MockPointSource() + if include_optional: + return MockPointSource( + params = geoengine_openapi_client.models.mock_point_source_parameters.MockPointSourceParameters( + points = [ + geoengine_openapi_client.models.coordinate2_d.Coordinate2D( + x = 1.337, + y = 1.337, ) + ], + spatial_bounds = null, ), + type = 'MockPointSource' + ) + else: + return MockPointSource( + params = geoengine_openapi_client.models.mock_point_source_parameters.MockPointSourceParameters( + points = [ + geoengine_openapi_client.models.coordinate2_d.Coordinate2D( + x = 1.337, + y = 1.337, ) + ], + spatial_bounds = null, ), + type = 'MockPointSource', + ) + """ + + def testMockPointSource(self): + """Test MockPointSource""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/python/test/test_mock_point_source_parameters.py b/python/test/test_mock_point_source_parameters.py new file mode 100644 index 00000000..3b3572b0 --- /dev/null +++ b/python/test/test_mock_point_source_parameters.py @@ -0,0 +1,63 @@ +# coding: utf-8 + +""" + Geo Engine API + + No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + + The version of the OpenAPI document: 0.9.0 + Contact: dev@geoengine.de + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from geoengine_openapi_client.models.mock_point_source_parameters import MockPointSourceParameters + +class TestMockPointSourceParameters(unittest.TestCase): + """MockPointSourceParameters unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> MockPointSourceParameters: + """Test MockPointSourceParameters + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `MockPointSourceParameters` + """ + model = MockPointSourceParameters() + if include_optional: + return MockPointSourceParameters( + points = [ + geoengine_openapi_client.models.coordinate2_d.Coordinate2D( + x = 1.337, + y = 1.337, ) + ], + spatial_bounds = None + ) + else: + return MockPointSourceParameters( + points = [ + geoengine_openapi_client.models.coordinate2_d.Coordinate2D( + x = 1.337, + y = 1.337, ) + ], + spatial_bounds = None, + ) + """ + + def testMockPointSourceParameters(self): + """Test MockPointSourceParameters""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/python/test/test_multiple_raster_or_single_vector_operator.py b/python/test/test_multiple_raster_or_single_vector_operator.py new file mode 100644 index 00000000..73506800 --- /dev/null +++ b/python/test/test_multiple_raster_or_single_vector_operator.py @@ -0,0 +1,51 @@ +# coding: utf-8 + +""" + Geo Engine API + + No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + + The version of the OpenAPI document: 0.9.0 + Contact: dev@geoengine.de + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from geoengine_openapi_client.models.multiple_raster_or_single_vector_operator import MultipleRasterOrSingleVectorOperator + +class TestMultipleRasterOrSingleVectorOperator(unittest.TestCase): + """MultipleRasterOrSingleVectorOperator unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> MultipleRasterOrSingleVectorOperator: + """Test MultipleRasterOrSingleVectorOperator + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `MultipleRasterOrSingleVectorOperator` + """ + model = MultipleRasterOrSingleVectorOperator() + if include_optional: + return MultipleRasterOrSingleVectorOperator( + ) + else: + return MultipleRasterOrSingleVectorOperator( + ) + """ + + def testMultipleRasterOrSingleVectorOperator(self): + """Test MultipleRasterOrSingleVectorOperator""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/python/test/test_multiple_raster_or_single_vector_source.py b/python/test/test_multiple_raster_or_single_vector_source.py new file mode 100644 index 00000000..dd522306 --- /dev/null +++ b/python/test/test_multiple_raster_or_single_vector_source.py @@ -0,0 +1,53 @@ +# coding: utf-8 + +""" + Geo Engine API + + No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + + The version of the OpenAPI document: 0.9.0 + Contact: dev@geoengine.de + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from geoengine_openapi_client.models.multiple_raster_or_single_vector_source import MultipleRasterOrSingleVectorSource + +class TestMultipleRasterOrSingleVectorSource(unittest.TestCase): + """MultipleRasterOrSingleVectorSource unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> MultipleRasterOrSingleVectorSource: + """Test MultipleRasterOrSingleVectorSource + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `MultipleRasterOrSingleVectorSource` + """ + model = MultipleRasterOrSingleVectorSource() + if include_optional: + return MultipleRasterOrSingleVectorSource( + source = None + ) + else: + return MultipleRasterOrSingleVectorSource( + source = None, + ) + """ + + def testMultipleRasterOrSingleVectorSource(self): + """Test MultipleRasterOrSingleVectorSource""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/python/test/test_task_list_options.py b/python/test/test_names.py similarity index 60% rename from python/test/test_task_list_options.py rename to python/test/test_names.py index d00dce63..40c7bae9 100644 --- a/python/test/test_task_list_options.py +++ b/python/test/test_names.py @@ -15,10 +15,10 @@ import unittest -from geoengine_openapi_client.models.task_list_options import TaskListOptions +from geoengine_openapi_client.models.names import Names -class TestTaskListOptions(unittest.TestCase): - """TaskListOptions unit test stubs""" +class TestNames(unittest.TestCase): + """Names unit test stubs""" def setUp(self): pass @@ -26,27 +26,32 @@ def setUp(self): def tearDown(self): pass - def make_instance(self, include_optional) -> TaskListOptions: - """Test TaskListOptions + def make_instance(self, include_optional) -> Names: + """Test Names include_optional is a boolean, when False only required params are included, when True both required and optional params are included """ - # uncomment below to create an instance of `TaskListOptions` + # uncomment below to create an instance of `Names` """ - model = TaskListOptions() + model = Names() if include_optional: - return TaskListOptions( - filter = 'running', - limit = 0, - offset = 0 + return Names( + type = 'names', + values = [ + '' + ] ) else: - return TaskListOptions( + return Names( + type = 'names', + values = [ + '' + ], ) """ - def testTaskListOptions(self): - """Test TaskListOptions""" + def testNames(self): + """Test Names""" # inst_req_only = self.make_instance(include_optional=False) # inst_req_and_optional = self.make_instance(include_optional=True) diff --git a/python/test/test_plot_operator.py b/python/test/test_plot_operator.py new file mode 100644 index 00000000..71fefe57 --- /dev/null +++ b/python/test/test_plot_operator.py @@ -0,0 +1,71 @@ +# coding: utf-8 + +""" + Geo Engine API + + No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + + The version of the OpenAPI document: 0.9.0 + Contact: dev@geoengine.de + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from geoengine_openapi_client.models.plot_operator import PlotOperator + +class TestPlotOperator(unittest.TestCase): + """PlotOperator unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> PlotOperator: + """Test PlotOperator + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `PlotOperator` + """ + model = PlotOperator() + if include_optional: + return PlotOperator( + params = geoengine_openapi_client.models.statistics_parameters.StatisticsParameters( + column_names = [ + '' + ], + percentiles = [ + 1.337 + ], ), + sources = geoengine_openapi_client.models.multiple_raster_or_single_vector_source.MultipleRasterOrSingleVectorSource( + source = null, ), + type = 'Histogram' + ) + else: + return PlotOperator( + params = geoengine_openapi_client.models.statistics_parameters.StatisticsParameters( + column_names = [ + '' + ], + percentiles = [ + 1.337 + ], ), + sources = geoengine_openapi_client.models.multiple_raster_or_single_vector_source.MultipleRasterOrSingleVectorSource( + source = null, ), + type = 'Histogram', + ) + """ + + def testPlotOperator(self): + """Test PlotOperator""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/python/test/test_raster_operator.py b/python/test/test_raster_operator.py new file mode 100644 index 00000000..1909f1a6 --- /dev/null +++ b/python/test/test_raster_operator.py @@ -0,0 +1,63 @@ +# coding: utf-8 + +""" + Geo Engine API + + No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + + The version of the OpenAPI document: 0.9.0 + Contact: dev@geoengine.de + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from geoengine_openapi_client.models.raster_operator import RasterOperator + +class TestRasterOperator(unittest.TestCase): + """RasterOperator unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> RasterOperator: + """Test RasterOperator + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `RasterOperator` + """ + model = RasterOperator() + if include_optional: + return RasterOperator( + params = geoengine_openapi_client.models.gdal_source_parameters.GdalSourceParameters( + data = '', + overview_level = 0, ), + sources = geoengine_openapi_client.models.single_raster_source.SingleRasterSource( + raster = null, ), + type = 'Expression' + ) + else: + return RasterOperator( + params = geoengine_openapi_client.models.gdal_source_parameters.GdalSourceParameters( + data = '', + overview_level = 0, ), + sources = geoengine_openapi_client.models.single_raster_source.SingleRasterSource( + raster = null, ), + type = 'Expression', + ) + """ + + def testRasterOperator(self): + """Test RasterOperator""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/python/test/test_raster_vector_join.py b/python/test/test_raster_vector_join.py new file mode 100644 index 00000000..1b815048 --- /dev/null +++ b/python/test/test_raster_vector_join.py @@ -0,0 +1,75 @@ +# coding: utf-8 + +""" + Geo Engine API + + No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + + The version of the OpenAPI document: 0.9.0 + Contact: dev@geoengine.de + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from geoengine_openapi_client.models.raster_vector_join import RasterVectorJoin + +class TestRasterVectorJoin(unittest.TestCase): + """RasterVectorJoin unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> RasterVectorJoin: + """Test RasterVectorJoin + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `RasterVectorJoin` + """ + model = RasterVectorJoin() + if include_optional: + return RasterVectorJoin( + params = geoengine_openapi_client.models.raster_vector_join_parameters.RasterVectorJoinParameters( + feature_aggregation = null, + feature_aggregation_ignore_no_data = True, + names = null, + temporal_aggregation = null, + temporal_aggregation_ignore_no_data = True, ), + sources = geoengine_openapi_client.models.single_vector_multiple_raster_sources.SingleVectorMultipleRasterSources( + rasters = [ + null + ], + vector = null, ), + type = 'RasterVectorJoin' + ) + else: + return RasterVectorJoin( + params = geoengine_openapi_client.models.raster_vector_join_parameters.RasterVectorJoinParameters( + feature_aggregation = null, + feature_aggregation_ignore_no_data = True, + names = null, + temporal_aggregation = null, + temporal_aggregation_ignore_no_data = True, ), + sources = geoengine_openapi_client.models.single_vector_multiple_raster_sources.SingleVectorMultipleRasterSources( + rasters = [ + null + ], + vector = null, ), + type = 'RasterVectorJoin', + ) + """ + + def testRasterVectorJoin(self): + """Test RasterVectorJoin""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/python/test/test_raster_vector_join_parameters.py b/python/test/test_raster_vector_join_parameters.py new file mode 100644 index 00000000..dc3a88c6 --- /dev/null +++ b/python/test/test_raster_vector_join_parameters.py @@ -0,0 +1,59 @@ +# coding: utf-8 + +""" + Geo Engine API + + No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + + The version of the OpenAPI document: 0.9.0 + Contact: dev@geoengine.de + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from geoengine_openapi_client.models.raster_vector_join_parameters import RasterVectorJoinParameters + +class TestRasterVectorJoinParameters(unittest.TestCase): + """RasterVectorJoinParameters unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> RasterVectorJoinParameters: + """Test RasterVectorJoinParameters + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `RasterVectorJoinParameters` + """ + model = RasterVectorJoinParameters() + if include_optional: + return RasterVectorJoinParameters( + feature_aggregation = 'first', + feature_aggregation_ignore_no_data = True, + names = None, + temporal_aggregation = 'none', + temporal_aggregation_ignore_no_data = True + ) + else: + return RasterVectorJoinParameters( + feature_aggregation = 'first', + names = None, + temporal_aggregation = 'none', + ) + """ + + def testRasterVectorJoinParameters(self): + """Test RasterVectorJoinParameters""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/python/test/test_single_raster_or_vector_operator.py b/python/test/test_single_raster_or_vector_operator.py new file mode 100644 index 00000000..3eceafc1 --- /dev/null +++ b/python/test/test_single_raster_or_vector_operator.py @@ -0,0 +1,75 @@ +# coding: utf-8 + +""" + Geo Engine API + + No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + + The version of the OpenAPI document: 0.9.0 + Contact: dev@geoengine.de + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from geoengine_openapi_client.models.single_raster_or_vector_operator import SingleRasterOrVectorOperator + +class TestSingleRasterOrVectorOperator(unittest.TestCase): + """SingleRasterOrVectorOperator unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> SingleRasterOrVectorOperator: + """Test SingleRasterOrVectorOperator + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `SingleRasterOrVectorOperator` + """ + model = SingleRasterOrVectorOperator() + if include_optional: + return SingleRasterOrVectorOperator( + params = geoengine_openapi_client.models.raster_vector_join_parameters.RasterVectorJoinParameters( + feature_aggregation = null, + feature_aggregation_ignore_no_data = True, + names = null, + temporal_aggregation = null, + temporal_aggregation_ignore_no_data = True, ), + sources = geoengine_openapi_client.models.single_vector_multiple_raster_sources.SingleVectorMultipleRasterSources( + rasters = [ + null + ], + vector = null, ), + type = 'GdalSource' + ) + else: + return SingleRasterOrVectorOperator( + params = geoengine_openapi_client.models.raster_vector_join_parameters.RasterVectorJoinParameters( + feature_aggregation = null, + feature_aggregation_ignore_no_data = True, + names = null, + temporal_aggregation = null, + temporal_aggregation_ignore_no_data = True, ), + sources = geoengine_openapi_client.models.single_vector_multiple_raster_sources.SingleVectorMultipleRasterSources( + rasters = [ + null + ], + vector = null, ), + type = 'GdalSource', + ) + """ + + def testSingleRasterOrVectorOperator(self): + """Test SingleRasterOrVectorOperator""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/python/test/test_single_raster_or_vector_source.py b/python/test/test_single_raster_or_vector_source.py new file mode 100644 index 00000000..1a9928fc --- /dev/null +++ b/python/test/test_single_raster_or_vector_source.py @@ -0,0 +1,53 @@ +# coding: utf-8 + +""" + Geo Engine API + + No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + + The version of the OpenAPI document: 0.9.0 + Contact: dev@geoengine.de + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from geoengine_openapi_client.models.single_raster_or_vector_source import SingleRasterOrVectorSource + +class TestSingleRasterOrVectorSource(unittest.TestCase): + """SingleRasterOrVectorSource unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> SingleRasterOrVectorSource: + """Test SingleRasterOrVectorSource + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `SingleRasterOrVectorSource` + """ + model = SingleRasterOrVectorSource() + if include_optional: + return SingleRasterOrVectorSource( + source = None + ) + else: + return SingleRasterOrVectorSource( + source = None, + ) + """ + + def testSingleRasterOrVectorSource(self): + """Test SingleRasterOrVectorSource""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/python/test/test_single_raster_source.py b/python/test/test_single_raster_source.py new file mode 100644 index 00000000..0762af49 --- /dev/null +++ b/python/test/test_single_raster_source.py @@ -0,0 +1,53 @@ +# coding: utf-8 + +""" + Geo Engine API + + No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + + The version of the OpenAPI document: 0.9.0 + Contact: dev@geoengine.de + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from geoengine_openapi_client.models.single_raster_source import SingleRasterSource + +class TestSingleRasterSource(unittest.TestCase): + """SingleRasterSource unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> SingleRasterSource: + """Test SingleRasterSource + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `SingleRasterSource` + """ + model = SingleRasterSource() + if include_optional: + return SingleRasterSource( + raster = None + ) + else: + return SingleRasterSource( + raster = None, + ) + """ + + def testSingleRasterSource(self): + """Test SingleRasterSource""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/python/test/test_single_vector_multiple_raster_sources.py b/python/test/test_single_vector_multiple_raster_sources.py new file mode 100644 index 00000000..9df7dd24 --- /dev/null +++ b/python/test/test_single_vector_multiple_raster_sources.py @@ -0,0 +1,59 @@ +# coding: utf-8 + +""" + Geo Engine API + + No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + + The version of the OpenAPI document: 0.9.0 + Contact: dev@geoengine.de + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from geoengine_openapi_client.models.single_vector_multiple_raster_sources import SingleVectorMultipleRasterSources + +class TestSingleVectorMultipleRasterSources(unittest.TestCase): + """SingleVectorMultipleRasterSources unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> SingleVectorMultipleRasterSources: + """Test SingleVectorMultipleRasterSources + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `SingleVectorMultipleRasterSources` + """ + model = SingleVectorMultipleRasterSources() + if include_optional: + return SingleVectorMultipleRasterSources( + rasters = [ + null + ], + vector = None + ) + else: + return SingleVectorMultipleRasterSources( + rasters = [ + null + ], + vector = None, + ) + """ + + def testSingleVectorMultipleRasterSources(self): + """Test SingleVectorMultipleRasterSources""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/python/test/test_spatial_bounds_derive.py b/python/test/test_spatial_bounds_derive.py new file mode 100644 index 00000000..20d6876b --- /dev/null +++ b/python/test/test_spatial_bounds_derive.py @@ -0,0 +1,53 @@ +# coding: utf-8 + +""" + Geo Engine API + + No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + + The version of the OpenAPI document: 0.9.0 + Contact: dev@geoengine.de + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from geoengine_openapi_client.models.spatial_bounds_derive import SpatialBoundsDerive + +class TestSpatialBoundsDerive(unittest.TestCase): + """SpatialBoundsDerive unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> SpatialBoundsDerive: + """Test SpatialBoundsDerive + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `SpatialBoundsDerive` + """ + model = SpatialBoundsDerive() + if include_optional: + return SpatialBoundsDerive( + type = 'derive' + ) + else: + return SpatialBoundsDerive( + type = 'derive', + ) + """ + + def testSpatialBoundsDerive(self): + """Test SpatialBoundsDerive""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/python/test/test_permission_list_options.py b/python/test/test_spatial_bounds_derive_bounds.py similarity index 56% rename from python/test/test_permission_list_options.py rename to python/test/test_spatial_bounds_derive_bounds.py index 29af385e..35d2a7bd 100644 --- a/python/test/test_permission_list_options.py +++ b/python/test/test_spatial_bounds_derive_bounds.py @@ -15,10 +15,10 @@ import unittest -from geoengine_openapi_client.models.permission_list_options import PermissionListOptions +from geoengine_openapi_client.models.spatial_bounds_derive_bounds import SpatialBoundsDeriveBounds -class TestPermissionListOptions(unittest.TestCase): - """PermissionListOptions unit test stubs""" +class TestSpatialBoundsDeriveBounds(unittest.TestCase): + """SpatialBoundsDeriveBounds unit test stubs""" def setUp(self): pass @@ -26,28 +26,26 @@ def setUp(self): def tearDown(self): pass - def make_instance(self, include_optional) -> PermissionListOptions: - """Test PermissionListOptions + def make_instance(self, include_optional) -> SpatialBoundsDeriveBounds: + """Test SpatialBoundsDeriveBounds include_optional is a boolean, when False only required params are included, when True both required and optional params are included """ - # uncomment below to create an instance of `PermissionListOptions` + # uncomment below to create an instance of `SpatialBoundsDeriveBounds` """ - model = PermissionListOptions() + model = SpatialBoundsDeriveBounds() if include_optional: - return PermissionListOptions( - limit = 0, - offset = 0 + return SpatialBoundsDeriveBounds( + type = 'bounds' ) else: - return PermissionListOptions( - limit = 0, - offset = 0, + return SpatialBoundsDeriveBounds( + type = 'bounds', ) """ - def testPermissionListOptions(self): - """Test PermissionListOptions""" + def testSpatialBoundsDeriveBounds(self): + """Test SpatialBoundsDeriveBounds""" # inst_req_only = self.make_instance(include_optional=False) # inst_req_and_optional = self.make_instance(include_optional=True) diff --git a/python/test/test_spatial_bounds_derive_derive.py b/python/test/test_spatial_bounds_derive_derive.py new file mode 100644 index 00000000..12222ce0 --- /dev/null +++ b/python/test/test_spatial_bounds_derive_derive.py @@ -0,0 +1,53 @@ +# coding: utf-8 + +""" + Geo Engine API + + No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + + The version of the OpenAPI document: 0.9.0 + Contact: dev@geoengine.de + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from geoengine_openapi_client.models.spatial_bounds_derive_derive import SpatialBoundsDeriveDerive + +class TestSpatialBoundsDeriveDerive(unittest.TestCase): + """SpatialBoundsDeriveDerive unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> SpatialBoundsDeriveDerive: + """Test SpatialBoundsDeriveDerive + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `SpatialBoundsDeriveDerive` + """ + model = SpatialBoundsDeriveDerive() + if include_optional: + return SpatialBoundsDeriveDerive( + type = 'derive' + ) + else: + return SpatialBoundsDeriveDerive( + type = 'derive', + ) + """ + + def testSpatialBoundsDeriveDerive(self): + """Test SpatialBoundsDeriveDerive""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/python/test/test_spatial_bounds_derive_none.py b/python/test/test_spatial_bounds_derive_none.py new file mode 100644 index 00000000..81e126e0 --- /dev/null +++ b/python/test/test_spatial_bounds_derive_none.py @@ -0,0 +1,53 @@ +# coding: utf-8 + +""" + Geo Engine API + + No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + + The version of the OpenAPI document: 0.9.0 + Contact: dev@geoengine.de + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from geoengine_openapi_client.models.spatial_bounds_derive_none import SpatialBoundsDeriveNone + +class TestSpatialBoundsDeriveNone(unittest.TestCase): + """SpatialBoundsDeriveNone unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> SpatialBoundsDeriveNone: + """Test SpatialBoundsDeriveNone + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `SpatialBoundsDeriveNone` + """ + model = SpatialBoundsDeriveNone() + if include_optional: + return SpatialBoundsDeriveNone( + type = 'none' + ) + else: + return SpatialBoundsDeriveNone( + type = 'none', + ) + """ + + def testSpatialBoundsDeriveNone(self): + """Test SpatialBoundsDeriveNone""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/python/test/test_statistics.py b/python/test/test_statistics.py new file mode 100644 index 00000000..e4a50218 --- /dev/null +++ b/python/test/test_statistics.py @@ -0,0 +1,71 @@ +# coding: utf-8 + +""" + Geo Engine API + + No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + + The version of the OpenAPI document: 0.9.0 + Contact: dev@geoengine.de + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from geoengine_openapi_client.models.statistics import Statistics + +class TestStatistics(unittest.TestCase): + """Statistics unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> Statistics: + """Test Statistics + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `Statistics` + """ + model = Statistics() + if include_optional: + return Statistics( + params = geoengine_openapi_client.models.statistics_parameters.StatisticsParameters( + column_names = [ + '' + ], + percentiles = [ + 1.337 + ], ), + sources = geoengine_openapi_client.models.multiple_raster_or_single_vector_source.MultipleRasterOrSingleVectorSource( + source = null, ), + type = 'Statistics' + ) + else: + return Statistics( + params = geoengine_openapi_client.models.statistics_parameters.StatisticsParameters( + column_names = [ + '' + ], + percentiles = [ + 1.337 + ], ), + sources = geoengine_openapi_client.models.multiple_raster_or_single_vector_source.MultipleRasterOrSingleVectorSource( + source = null, ), + type = 'Statistics', + ) + """ + + def testStatistics(self): + """Test Statistics""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/python/test/test_statistics_parameters.py b/python/test/test_statistics_parameters.py new file mode 100644 index 00000000..ee3efdc2 --- /dev/null +++ b/python/test/test_statistics_parameters.py @@ -0,0 +1,57 @@ +# coding: utf-8 + +""" + Geo Engine API + + No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + + The version of the OpenAPI document: 0.9.0 + Contact: dev@geoengine.de + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from geoengine_openapi_client.models.statistics_parameters import StatisticsParameters + +class TestStatisticsParameters(unittest.TestCase): + """StatisticsParameters unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> StatisticsParameters: + """Test StatisticsParameters + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `StatisticsParameters` + """ + model = StatisticsParameters() + if include_optional: + return StatisticsParameters( + column_names = [ + '' + ], + percentiles = [ + 1.337 + ] + ) + else: + return StatisticsParameters( + ) + """ + + def testStatisticsParameters(self): + """Test StatisticsParameters""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/python/test/test_suffix.py b/python/test/test_suffix.py new file mode 100644 index 00000000..80af3bb6 --- /dev/null +++ b/python/test/test_suffix.py @@ -0,0 +1,59 @@ +# coding: utf-8 + +""" + Geo Engine API + + No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + + The version of the OpenAPI document: 0.9.0 + Contact: dev@geoengine.de + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from geoengine_openapi_client.models.suffix import Suffix + +class TestSuffix(unittest.TestCase): + """Suffix unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> Suffix: + """Test Suffix + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `Suffix` + """ + model = Suffix() + if include_optional: + return Suffix( + type = 'suffix', + values = [ + '' + ] + ) + else: + return Suffix( + type = 'suffix', + values = [ + '' + ], + ) + """ + + def testSuffix(self): + """Test Suffix""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/python/test/test_temporal_aggregation_method.py b/python/test/test_temporal_aggregation_method.py new file mode 100644 index 00000000..cb3ccec1 --- /dev/null +++ b/python/test/test_temporal_aggregation_method.py @@ -0,0 +1,34 @@ +# coding: utf-8 + +""" + Geo Engine API + + No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + + The version of the OpenAPI document: 0.9.0 + Contact: dev@geoengine.de + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from geoengine_openapi_client.models.temporal_aggregation_method import TemporalAggregationMethod + +class TestTemporalAggregationMethod(unittest.TestCase): + """TemporalAggregationMethod unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def testTemporalAggregationMethod(self): + """Test TemporalAggregationMethod""" + # inst = TemporalAggregationMethod() + +if __name__ == '__main__': + unittest.main() diff --git a/python/test/test_typed_operator.py b/python/test/test_typed_operator.py index c1bbb0dc..edacd4fa 100644 --- a/python/test/test_typed_operator.py +++ b/python/test/test_typed_operator.py @@ -36,18 +36,12 @@ def make_instance(self, include_optional) -> TypedOperator: model = TypedOperator() if include_optional: return TypedOperator( - operator = geoengine_openapi_client.models.typed_operator_operator.TypedOperator_operator( - params = geoengine_openapi_client.models.params.params(), - sources = geoengine_openapi_client.models.sources.sources(), - type = '', ), + operator = None, type = 'Vector' ) else: return TypedOperator( - operator = geoengine_openapi_client.models.typed_operator_operator.TypedOperator_operator( - params = geoengine_openapi_client.models.params.params(), - sources = geoengine_openapi_client.models.sources.sources(), - type = '', ), + operator = None, type = 'Vector', ) """ diff --git a/python/test/test_typed_plot_operator.py b/python/test/test_typed_plot_operator.py new file mode 100644 index 00000000..7fd3461b --- /dev/null +++ b/python/test/test_typed_plot_operator.py @@ -0,0 +1,55 @@ +# coding: utf-8 + +""" + Geo Engine API + + No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + + The version of the OpenAPI document: 0.9.0 + Contact: dev@geoengine.de + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from geoengine_openapi_client.models.typed_plot_operator import TypedPlotOperator + +class TestTypedPlotOperator(unittest.TestCase): + """TypedPlotOperator unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> TypedPlotOperator: + """Test TypedPlotOperator + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `TypedPlotOperator` + """ + model = TypedPlotOperator() + if include_optional: + return TypedPlotOperator( + operator = None, + type = 'Plot' + ) + else: + return TypedPlotOperator( + operator = None, + type = 'Plot', + ) + """ + + def testTypedPlotOperator(self): + """Test TypedPlotOperator""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/python/test/test_typed_raster_operator.py b/python/test/test_typed_raster_operator.py new file mode 100644 index 00000000..13730ced --- /dev/null +++ b/python/test/test_typed_raster_operator.py @@ -0,0 +1,55 @@ +# coding: utf-8 + +""" + Geo Engine API + + No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + + The version of the OpenAPI document: 0.9.0 + Contact: dev@geoengine.de + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from geoengine_openapi_client.models.typed_raster_operator import TypedRasterOperator + +class TestTypedRasterOperator(unittest.TestCase): + """TypedRasterOperator unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> TypedRasterOperator: + """Test TypedRasterOperator + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `TypedRasterOperator` + """ + model = TypedRasterOperator() + if include_optional: + return TypedRasterOperator( + operator = None, + type = 'Raster' + ) + else: + return TypedRasterOperator( + operator = None, + type = 'Raster', + ) + """ + + def testTypedRasterOperator(self): + """Test TypedRasterOperator""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/python/test/test_typed_vector_operator.py b/python/test/test_typed_vector_operator.py new file mode 100644 index 00000000..e42dace2 --- /dev/null +++ b/python/test/test_typed_vector_operator.py @@ -0,0 +1,55 @@ +# coding: utf-8 + +""" + Geo Engine API + + No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + + The version of the OpenAPI document: 0.9.0 + Contact: dev@geoengine.de + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from geoengine_openapi_client.models.typed_vector_operator import TypedVectorOperator + +class TestTypedVectorOperator(unittest.TestCase): + """TypedVectorOperator unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> TypedVectorOperator: + """Test TypedVectorOperator + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `TypedVectorOperator` + """ + model = TypedVectorOperator() + if include_optional: + return TypedVectorOperator( + operator = None, + type = 'Vector' + ) + else: + return TypedVectorOperator( + operator = None, + type = 'Vector', + ) + """ + + def testTypedVectorOperator(self): + """Test TypedVectorOperator""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/python/test/test_vector_operator.py b/python/test/test_vector_operator.py new file mode 100644 index 00000000..937bdaa4 --- /dev/null +++ b/python/test/test_vector_operator.py @@ -0,0 +1,75 @@ +# coding: utf-8 + +""" + Geo Engine API + + No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + + The version of the OpenAPI document: 0.9.0 + Contact: dev@geoengine.de + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from geoengine_openapi_client.models.vector_operator import VectorOperator + +class TestVectorOperator(unittest.TestCase): + """VectorOperator unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> VectorOperator: + """Test VectorOperator + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `VectorOperator` + """ + model = VectorOperator() + if include_optional: + return VectorOperator( + params = geoengine_openapi_client.models.raster_vector_join_parameters.RasterVectorJoinParameters( + feature_aggregation = null, + feature_aggregation_ignore_no_data = True, + names = null, + temporal_aggregation = null, + temporal_aggregation_ignore_no_data = True, ), + type = 'MockPointSource', + sources = geoengine_openapi_client.models.single_vector_multiple_raster_sources.SingleVectorMultipleRasterSources( + rasters = [ + null + ], + vector = null, ) + ) + else: + return VectorOperator( + params = geoengine_openapi_client.models.raster_vector_join_parameters.RasterVectorJoinParameters( + feature_aggregation = null, + feature_aggregation_ignore_no_data = True, + names = null, + temporal_aggregation = null, + temporal_aggregation_ignore_no_data = True, ), + type = 'MockPointSource', + sources = geoengine_openapi_client.models.single_vector_multiple_raster_sources.SingleVectorMultipleRasterSources( + rasters = [ + null + ], + vector = null, ), + ) + """ + + def testVectorOperator(self): + """Test VectorOperator""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/python/test/test_workflow.py b/python/test/test_workflow.py index dfcb371e..f493b332 100644 --- a/python/test/test_workflow.py +++ b/python/test/test_workflow.py @@ -36,19 +36,19 @@ def make_instance(self, include_optional) -> Workflow: model = Workflow() if include_optional: return Workflow( - operator = geoengine_openapi_client.models.typed_operator_operator.TypedOperator_operator( + operator = geoengine_openapi_client.models.legacy_typed_operator_operator.LegacyTypedOperator_operator( params = geoengine_openapi_client.models.params.params(), sources = geoengine_openapi_client.models.sources.sources(), type = '', ), - type = 'Vector' + type = 'Plot' ) else: return Workflow( - operator = geoengine_openapi_client.models.typed_operator_operator.TypedOperator_operator( + operator = geoengine_openapi_client.models.legacy_typed_operator_operator.LegacyTypedOperator_operator( params = geoengine_openapi_client.models.params.params(), sources = geoengine_openapi_client.models.sources.sources(), type = '', ), - type = 'Vector', + type = 'Plot', ) """ diff --git a/rust/.gitignore b/rust/.gitignore new file mode 100644 index 00000000..6aa10640 --- /dev/null +++ b/rust/.gitignore @@ -0,0 +1,3 @@ +/target/ +**/*.rs.bk +Cargo.lock diff --git a/rust/.openapi-generator-ignore b/rust/.openapi-generator-ignore new file mode 100644 index 00000000..7484ee59 --- /dev/null +++ b/rust/.openapi-generator-ignore @@ -0,0 +1,23 @@ +# OpenAPI Generator Ignore +# Generated by openapi-generator https://github.com/openapitools/openapi-generator + +# Use this file to prevent files from being overwritten by the generator. +# The patterns follow closely to .gitignore or .dockerignore. + +# As an example, the C# client generator defines ApiClient.cs. +# You can make changes and tell OpenAPI Generator to ignore just this file by uncommenting the following line: +#ApiClient.cs + +# You can match any string of characters against a directory, file or extension with a single asterisk (*): +#foo/*/qux +# The above matches foo/bar/qux and foo/baz/qux, but not foo/bar/baz/qux + +# You can recursively match patterns against a directory, file or extension with a double asterisk (**): +#foo/**/qux +# This matches foo/bar/qux, foo/baz/qux, and foo/bar/baz/qux + +# You can also negate patterns with an exclamation (!). +# For example, you can ignore all files in a docs folder with the file extension .md: +#docs/*.md +# Then explicitly reverse the ignore rule for a single file: +#!docs/README.md diff --git a/rust/.openapi-generator/FILES b/rust/.openapi-generator/FILES new file mode 100644 index 00000000..999a4de8 --- /dev/null +++ b/rust/.openapi-generator/FILES @@ -0,0 +1,599 @@ +.gitignore +.travis.yml +Cargo.toml +README.md +docs/AddDataset.md +docs/AddLayer.md +docs/AddLayerCollection.md +docs/AddRole.md +docs/ArunaDataProviderDefinition.md +docs/AuthCodeRequestUrl.md +docs/AuthCodeResponse.md +docs/AutoCreateDataset.md +docs/AxisOrder.md +docs/BoundingBox2D.md +docs/Breakpoint.md +docs/ClassificationMeasurement.md +docs/CollectionItem.md +docs/CollectionType.md +docs/ColorParam.md +docs/Colorizer.md +docs/ColumnNames.md +docs/ComputationQuota.md +docs/ContinuousMeasurement.md +docs/Coordinate2D.md +docs/CopernicusDataspaceDataProviderDefinition.md +docs/CreateDataset.md +docs/CreateProject.md +docs/CsvHeader.md +docs/DataId.md +docs/DataPath.md +docs/DataPathOneOf.md +docs/DataPathOneOf1.md +docs/DataProviderResource.md +docs/DataUsage.md +docs/DataUsageSummary.md +docs/DatabaseConnectionConfig.md +docs/Dataset.md +docs/DatasetDefinition.md +docs/DatasetLayerListingCollection.md +docs/DatasetLayerListingProviderDefinition.md +docs/DatasetListing.md +docs/DatasetNameResponse.md +docs/DatasetResource.md +docs/DatasetsApi.md +docs/Default.md +docs/DerivedColor.md +docs/DerivedNumber.md +docs/EbvPortalDataProviderDefinition.md +docs/EdrDataProviderDefinition.md +docs/EdrVectorSpec.md +docs/ErrorResponse.md +docs/Expression.md +docs/ExpressionParameters.md +docs/ExternalDataId.md +docs/FeatureAggregationMethod.md +docs/FeatureDataType.md +docs/FileNotFoundHandling.md +docs/FormatSpecifics.md +docs/FormatSpecificsCsv.md +docs/GbifDataProviderDefinition.md +docs/GdalDatasetParameters.md +docs/GdalLoadingInfoTemporalSlice.md +docs/GdalMetaDataList.md +docs/GdalMetaDataRegular.md +docs/GdalMetaDataStatic.md +docs/GdalMetadataMapping.md +docs/GdalMetadataNetCdfCf.md +docs/GdalMultiBand.md +docs/GdalSource.md +docs/GdalSourceParameters.md +docs/GdalSourceTimePlaceholder.md +docs/GeneralApi.md +docs/GeoJson.md +docs/GeoTransform.md +docs/GetCoverageFormat.md +docs/GetMapExceptionFormat.md +docs/GfbioAbcdDataProviderDefinition.md +docs/GfbioCollectionsDataProviderDefinition.md +docs/GridBoundingBox2D.md +docs/GridIdx2D.md +docs/Histogram.md +docs/HistogramBounds.md +docs/HistogramBoundsOneOf.md +docs/HistogramBoundsOneOf1.md +docs/HistogramBoundsOneOf1Values.md +docs/HistogramBuckets.md +docs/HistogramBucketsOneOf.md +docs/HistogramBucketsOneOf1.md +docs/HistogramParameters.md +docs/IdResponse.md +docs/InternalDataId.md +docs/Layer.md +docs/LayerCollection.md +docs/LayerCollectionListing.md +docs/LayerCollectionResource.md +docs/LayerListing.md +docs/LayerProviderListing.md +docs/LayerResource.md +docs/LayerVisibility.md +docs/LayersApi.md +docs/LegacyTypedOperator.md +docs/LegacyTypedOperatorOperator.md +docs/LineSymbology.md +docs/LinearGradient.md +docs/LogarithmicGradient.md +docs/Measurement.md +docs/MetaDataDefinition.md +docs/MetaDataSuggestion.md +docs/MlApi.md +docs/MlModel.md +docs/MlModelInputNoDataHandling.md +docs/MlModelInputNoDataHandlingVariant.md +docs/MlModelMetadata.md +docs/MlModelNameResponse.md +docs/MlModelOutputNoDataHandling.md +docs/MlModelOutputNoDataHandlingVariant.md +docs/MlModelResource.md +docs/MlTensorShape3D.md +docs/MockDatasetDataSourceLoadingInfo.md +docs/MockMetaData.md +docs/MockPointSource.md +docs/MockPointSourceParameters.md +docs/MultiBandRasterColorizer.md +docs/MultiLineString.md +docs/MultiPoint.md +docs/MultiPolygon.md +docs/MultipleRasterOrSingleVectorOperator.md +docs/MultipleRasterOrSingleVectorSource.md +docs/Names.md +docs/NetCdfCfDataProviderDefinition.md +docs/NumberParam.md +docs/OgcwcsApi.md +docs/OgcwfsApi.md +docs/OgcwmsApi.md +docs/OgrMetaData.md +docs/OgrSourceColumnSpec.md +docs/OgrSourceDataset.md +docs/OgrSourceDatasetTimeType.md +docs/OgrSourceDatasetTimeTypeNone.md +docs/OgrSourceDatasetTimeTypeStart.md +docs/OgrSourceDatasetTimeTypeStartDuration.md +docs/OgrSourceDatasetTimeTypeStartEnd.md +docs/OgrSourceDurationSpec.md +docs/OgrSourceDurationSpecInfinite.md +docs/OgrSourceDurationSpecValue.md +docs/OgrSourceDurationSpecZero.md +docs/OgrSourceErrorSpec.md +docs/OgrSourceTimeFormat.md +docs/OgrSourceTimeFormatAuto.md +docs/OgrSourceTimeFormatCustom.md +docs/OgrSourceTimeFormatUnixTimeStamp.md +docs/OperatorQuota.md +docs/OrderBy.md +docs/PaletteColorizer.md +docs/PangaeaDataProviderDefinition.md +docs/Permission.md +docs/PermissionListing.md +docs/PermissionRequest.md +docs/PermissionsApi.md +docs/Plot.md +docs/PlotOperator.md +docs/PlotOutputFormat.md +docs/PlotResultDescriptor.md +docs/PlotsApi.md +docs/PointSymbology.md +docs/PolygonSymbology.md +docs/Project.md +docs/ProjectLayer.md +docs/ProjectListing.md +docs/ProjectResource.md +docs/ProjectUpdateToken.md +docs/ProjectVersion.md +docs/ProjectsApi.md +docs/Provenance.md +docs/ProvenanceEntry.md +docs/Provenances.md +docs/ProviderCapabilities.md +docs/ProviderLayerCollectionId.md +docs/ProviderLayerId.md +docs/Quota.md +docs/RasterBandDescriptor.md +docs/RasterColorizer.md +docs/RasterDataType.md +docs/RasterDatasetFromWorkflow.md +docs/RasterOperator.md +docs/RasterPropertiesEntryType.md +docs/RasterPropertiesKey.md +docs/RasterResultDescriptor.md +docs/RasterStreamWebsocketResultType.md +docs/RasterSymbology.md +docs/RasterToDatasetQueryRectangle.md +docs/RasterVectorJoin.md +docs/RasterVectorJoinParameters.md +docs/RegularTimeDimension.md +docs/Resource.md +docs/Role.md +docs/RoleDescription.md +docs/SearchCapabilities.md +docs/SearchType.md +docs/SearchTypes.md +docs/SentinelS2L2ACogsProviderDefinition.md +docs/ServerInfo.md +docs/SessionApi.md +docs/SingleBandRasterColorizer.md +docs/SingleRasterOrVectorOperator.md +docs/SingleRasterOrVectorSource.md +docs/SingleRasterSource.md +docs/SingleVectorMultipleRasterSources.md +docs/SpatialBoundsDerive.md +docs/SpatialBoundsDeriveBounds.md +docs/SpatialBoundsDeriveDerive.md +docs/SpatialBoundsDeriveNone.md +docs/SpatialGridDefinition.md +docs/SpatialGridDescriptor.md +docs/SpatialGridDescriptorState.md +docs/SpatialPartition2D.md +docs/SpatialReferenceSpecification.md +docs/SpatialReferencesApi.md +docs/StRectangle.md +docs/StacApiRetries.md +docs/StacQueryBuffer.md +docs/StaticColor.md +docs/StaticNumber.md +docs/Statistics.md +docs/StatisticsParameters.md +docs/StrokeParam.md +docs/Suffix.md +docs/SuggestMetaData.md +docs/Symbology.md +docs/TaskFilter.md +docs/TaskResponse.md +docs/TaskStatus.md +docs/TaskStatusAborted.md +docs/TaskStatusCompleted.md +docs/TaskStatusFailed.md +docs/TaskStatusRunning.md +docs/TaskStatusWithId.md +docs/TasksApi.md +docs/TemporalAggregationMethod.md +docs/TextSymbology.md +docs/TimeDescriptor.md +docs/TimeDimension.md +docs/TimeDimensionOneOf.md +docs/TimeDimensionOneOf1.md +docs/TimeGranularity.md +docs/TimeInterval.md +docs/TimeReference.md +docs/TimeStep.md +docs/TypedDataProviderDefinition.md +docs/TypedGeometry.md +docs/TypedGeometryOneOf.md +docs/TypedGeometryOneOf1.md +docs/TypedGeometryOneOf2.md +docs/TypedGeometryOneOf3.md +docs/TypedOperator.md +docs/TypedPlotOperator.md +docs/TypedPlotResultDescriptor.md +docs/TypedRasterOperator.md +docs/TypedRasterResultDescriptor.md +docs/TypedResultDescriptor.md +docs/TypedVectorOperator.md +docs/TypedVectorResultDescriptor.md +docs/UnitlessMeasurement.md +docs/UnixTimeStampType.md +docs/UpdateDataset.md +docs/UpdateLayer.md +docs/UpdateLayerCollection.md +docs/UpdateProject.md +docs/UpdateQuota.md +docs/UploadFileLayersResponse.md +docs/UploadFilesResponse.md +docs/UploadsApi.md +docs/UsageSummaryGranularity.md +docs/UserApi.md +docs/UserCredentials.md +docs/UserInfo.md +docs/UserRegistration.md +docs/UserSession.md +docs/VecUpdate.md +docs/VectorColumnInfo.md +docs/VectorDataType.md +docs/VectorOperator.md +docs/VectorResultDescriptor.md +docs/Volume.md +docs/VolumeFileLayersResponse.md +docs/WcsRequest.md +docs/WcsService.md +docs/WcsVersion.md +docs/WfsRequest.md +docs/WfsService.md +docs/WfsVersion.md +docs/WildliveDataConnectorDefinition.md +docs/WmsRequest.md +docs/WmsResponseFormat.md +docs/WmsService.md +docs/WmsVersion.md +docs/Workflow.md +docs/WorkflowsApi.md +docs/WrappedPlotOutput.md +git_push.sh +src/apis/configuration.rs +src/apis/datasets_api.rs +src/apis/general_api.rs +src/apis/layers_api.rs +src/apis/ml_api.rs +src/apis/mod.rs +src/apis/ogcwcs_api.rs +src/apis/ogcwfs_api.rs +src/apis/ogcwms_api.rs +src/apis/permissions_api.rs +src/apis/plots_api.rs +src/apis/projects_api.rs +src/apis/session_api.rs +src/apis/spatial_references_api.rs +src/apis/tasks_api.rs +src/apis/uploads_api.rs +src/apis/user_api.rs +src/apis/workflows_api.rs +src/lib.rs +src/models/add_dataset.rs +src/models/add_layer.rs +src/models/add_layer_collection.rs +src/models/add_role.rs +src/models/aruna_data_provider_definition.rs +src/models/auth_code_request_url.rs +src/models/auth_code_response.rs +src/models/auto_create_dataset.rs +src/models/axis_order.rs +src/models/bounding_box2_d.rs +src/models/breakpoint.rs +src/models/classification_measurement.rs +src/models/collection_item.rs +src/models/collection_type.rs +src/models/color_param.rs +src/models/colorizer.rs +src/models/column_names.rs +src/models/computation_quota.rs +src/models/continuous_measurement.rs +src/models/coordinate2_d.rs +src/models/copernicus_dataspace_data_provider_definition.rs +src/models/create_dataset.rs +src/models/create_project.rs +src/models/csv_header.rs +src/models/data_id.rs +src/models/data_path.rs +src/models/data_path_one_of.rs +src/models/data_path_one_of_1.rs +src/models/data_provider_resource.rs +src/models/data_usage.rs +src/models/data_usage_summary.rs +src/models/database_connection_config.rs +src/models/dataset.rs +src/models/dataset_definition.rs +src/models/dataset_layer_listing_collection.rs +src/models/dataset_layer_listing_provider_definition.rs +src/models/dataset_listing.rs +src/models/dataset_name_response.rs +src/models/dataset_resource.rs +src/models/default.rs +src/models/derived_color.rs +src/models/derived_number.rs +src/models/ebv_portal_data_provider_definition.rs +src/models/edr_data_provider_definition.rs +src/models/edr_vector_spec.rs +src/models/error_response.rs +src/models/expression.rs +src/models/expression_parameters.rs +src/models/external_data_id.rs +src/models/feature_aggregation_method.rs +src/models/feature_data_type.rs +src/models/file_not_found_handling.rs +src/models/format_specifics.rs +src/models/format_specifics_csv.rs +src/models/gbif_data_provider_definition.rs +src/models/gdal_dataset_parameters.rs +src/models/gdal_loading_info_temporal_slice.rs +src/models/gdal_meta_data_list.rs +src/models/gdal_meta_data_regular.rs +src/models/gdal_meta_data_static.rs +src/models/gdal_metadata_mapping.rs +src/models/gdal_metadata_net_cdf_cf.rs +src/models/gdal_multi_band.rs +src/models/gdal_source.rs +src/models/gdal_source_parameters.rs +src/models/gdal_source_time_placeholder.rs +src/models/geo_json.rs +src/models/geo_transform.rs +src/models/get_coverage_format.rs +src/models/get_map_exception_format.rs +src/models/gfbio_abcd_data_provider_definition.rs +src/models/gfbio_collections_data_provider_definition.rs +src/models/grid_bounding_box2_d.rs +src/models/grid_idx2_d.rs +src/models/histogram.rs +src/models/histogram_bounds.rs +src/models/histogram_bounds_one_of.rs +src/models/histogram_bounds_one_of_1.rs +src/models/histogram_bounds_one_of_1_values.rs +src/models/histogram_buckets.rs +src/models/histogram_buckets_one_of.rs +src/models/histogram_buckets_one_of_1.rs +src/models/histogram_parameters.rs +src/models/id_response.rs +src/models/internal_data_id.rs +src/models/layer.rs +src/models/layer_collection.rs +src/models/layer_collection_listing.rs +src/models/layer_collection_resource.rs +src/models/layer_listing.rs +src/models/layer_provider_listing.rs +src/models/layer_resource.rs +src/models/layer_visibility.rs +src/models/legacy_typed_operator.rs +src/models/legacy_typed_operator_operator.rs +src/models/line_symbology.rs +src/models/linear_gradient.rs +src/models/logarithmic_gradient.rs +src/models/measurement.rs +src/models/meta_data_definition.rs +src/models/meta_data_suggestion.rs +src/models/ml_model.rs +src/models/ml_model_input_no_data_handling.rs +src/models/ml_model_input_no_data_handling_variant.rs +src/models/ml_model_metadata.rs +src/models/ml_model_name_response.rs +src/models/ml_model_output_no_data_handling.rs +src/models/ml_model_output_no_data_handling_variant.rs +src/models/ml_model_resource.rs +src/models/ml_tensor_shape3_d.rs +src/models/mock_dataset_data_source_loading_info.rs +src/models/mock_meta_data.rs +src/models/mock_point_source.rs +src/models/mock_point_source_parameters.rs +src/models/mod.rs +src/models/multi_band_raster_colorizer.rs +src/models/multi_line_string.rs +src/models/multi_point.rs +src/models/multi_polygon.rs +src/models/multiple_raster_or_single_vector_operator.rs +src/models/multiple_raster_or_single_vector_source.rs +src/models/names.rs +src/models/net_cdf_cf_data_provider_definition.rs +src/models/number_param.rs +src/models/ogr_meta_data.rs +src/models/ogr_source_column_spec.rs +src/models/ogr_source_dataset.rs +src/models/ogr_source_dataset_time_type.rs +src/models/ogr_source_dataset_time_type_none.rs +src/models/ogr_source_dataset_time_type_start.rs +src/models/ogr_source_dataset_time_type_start_duration.rs +src/models/ogr_source_dataset_time_type_start_end.rs +src/models/ogr_source_duration_spec.rs +src/models/ogr_source_duration_spec_infinite.rs +src/models/ogr_source_duration_spec_value.rs +src/models/ogr_source_duration_spec_zero.rs +src/models/ogr_source_error_spec.rs +src/models/ogr_source_time_format.rs +src/models/ogr_source_time_format_auto.rs +src/models/ogr_source_time_format_custom.rs +src/models/ogr_source_time_format_unix_time_stamp.rs +src/models/operator_quota.rs +src/models/order_by.rs +src/models/palette_colorizer.rs +src/models/pangaea_data_provider_definition.rs +src/models/permission.rs +src/models/permission_listing.rs +src/models/permission_request.rs +src/models/plot.rs +src/models/plot_operator.rs +src/models/plot_output_format.rs +src/models/plot_result_descriptor.rs +src/models/point_symbology.rs +src/models/polygon_symbology.rs +src/models/project.rs +src/models/project_layer.rs +src/models/project_listing.rs +src/models/project_resource.rs +src/models/project_update_token.rs +src/models/project_version.rs +src/models/provenance.rs +src/models/provenance_entry.rs +src/models/provenances.rs +src/models/provider_capabilities.rs +src/models/provider_layer_collection_id.rs +src/models/provider_layer_id.rs +src/models/quota.rs +src/models/raster_band_descriptor.rs +src/models/raster_colorizer.rs +src/models/raster_data_type.rs +src/models/raster_dataset_from_workflow.rs +src/models/raster_operator.rs +src/models/raster_properties_entry_type.rs +src/models/raster_properties_key.rs +src/models/raster_result_descriptor.rs +src/models/raster_stream_websocket_result_type.rs +src/models/raster_symbology.rs +src/models/raster_to_dataset_query_rectangle.rs +src/models/raster_vector_join.rs +src/models/raster_vector_join_parameters.rs +src/models/regular_time_dimension.rs +src/models/resource.rs +src/models/role.rs +src/models/role_description.rs +src/models/search_capabilities.rs +src/models/search_type.rs +src/models/search_types.rs +src/models/sentinel_s2_l2_a_cogs_provider_definition.rs +src/models/server_info.rs +src/models/single_band_raster_colorizer.rs +src/models/single_raster_or_vector_operator.rs +src/models/single_raster_or_vector_source.rs +src/models/single_raster_source.rs +src/models/single_vector_multiple_raster_sources.rs +src/models/spatial_bounds_derive.rs +src/models/spatial_bounds_derive_bounds.rs +src/models/spatial_bounds_derive_derive.rs +src/models/spatial_bounds_derive_none.rs +src/models/spatial_grid_definition.rs +src/models/spatial_grid_descriptor.rs +src/models/spatial_grid_descriptor_state.rs +src/models/spatial_partition2_d.rs +src/models/spatial_reference_specification.rs +src/models/st_rectangle.rs +src/models/stac_api_retries.rs +src/models/stac_query_buffer.rs +src/models/static_color.rs +src/models/static_number.rs +src/models/statistics.rs +src/models/statistics_parameters.rs +src/models/stroke_param.rs +src/models/suffix.rs +src/models/suggest_meta_data.rs +src/models/symbology.rs +src/models/task_filter.rs +src/models/task_response.rs +src/models/task_status.rs +src/models/task_status_aborted.rs +src/models/task_status_completed.rs +src/models/task_status_failed.rs +src/models/task_status_running.rs +src/models/task_status_with_id.rs +src/models/temporal_aggregation_method.rs +src/models/text_symbology.rs +src/models/time_descriptor.rs +src/models/time_dimension.rs +src/models/time_dimension_one_of.rs +src/models/time_dimension_one_of_1.rs +src/models/time_granularity.rs +src/models/time_interval.rs +src/models/time_reference.rs +src/models/time_step.rs +src/models/typed_data_provider_definition.rs +src/models/typed_geometry.rs +src/models/typed_geometry_one_of.rs +src/models/typed_geometry_one_of_1.rs +src/models/typed_geometry_one_of_2.rs +src/models/typed_geometry_one_of_3.rs +src/models/typed_operator.rs +src/models/typed_plot_operator.rs +src/models/typed_plot_result_descriptor.rs +src/models/typed_raster_operator.rs +src/models/typed_raster_result_descriptor.rs +src/models/typed_result_descriptor.rs +src/models/typed_vector_operator.rs +src/models/typed_vector_result_descriptor.rs +src/models/unitless_measurement.rs +src/models/unix_time_stamp_type.rs +src/models/update_dataset.rs +src/models/update_layer.rs +src/models/update_layer_collection.rs +src/models/update_project.rs +src/models/update_quota.rs +src/models/upload_file_layers_response.rs +src/models/upload_files_response.rs +src/models/usage_summary_granularity.rs +src/models/user_credentials.rs +src/models/user_info.rs +src/models/user_registration.rs +src/models/user_session.rs +src/models/vec_update.rs +src/models/vector_column_info.rs +src/models/vector_data_type.rs +src/models/vector_operator.rs +src/models/vector_result_descriptor.rs +src/models/volume.rs +src/models/volume_file_layers_response.rs +src/models/wcs_request.rs +src/models/wcs_service.rs +src/models/wcs_version.rs +src/models/wfs_request.rs +src/models/wfs_service.rs +src/models/wfs_version.rs +src/models/wildlive_data_connector_definition.rs +src/models/wms_request.rs +src/models/wms_response_format.rs +src/models/wms_service.rs +src/models/wms_version.rs +src/models/workflow.rs +src/models/wrapped_plot_output.rs diff --git a/rust/.openapi-generator/VERSION b/rust/.openapi-generator/VERSION new file mode 100644 index 00000000..2540a3a5 --- /dev/null +++ b/rust/.openapi-generator/VERSION @@ -0,0 +1 @@ +7.20.0 diff --git a/rust/.travis.yml b/rust/.travis.yml new file mode 100644 index 00000000..22761ba7 --- /dev/null +++ b/rust/.travis.yml @@ -0,0 +1 @@ +language: rust diff --git a/rust/Cargo.toml b/rust/Cargo.toml new file mode 100644 index 00000000..3be6dea7 --- /dev/null +++ b/rust/Cargo.toml @@ -0,0 +1,25 @@ +[package] +name = "geoengine-api-client" +version = "0.0.33" +authors = ["dev@geoengine.de"] +description = "No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)" +license = "Apache-2.0" +edition = "2021" +repository = "https://github.com/geo-engine/openapi-client" +homepage = "https://www.geoengine.io" + +[dependencies] +serde = { version = "^1.0", features = ["derive"] } +serde_with = { version = "^3.8", default-features = false, features = ["base64", "std", "macros"] } +serde_json = "^1.0" +serde_repr = "^0.1" +url = "^2.5" +uuid = { version = "^1.8", features = ["serde", "v4"] } +tokio = { version = "^1.46.0", features = ["fs"] } +tokio-util = { version = "^0.7", features = ["codec"] } +reqwest = { version = "^0.13", default-features = false, features = ["json", "multipart", "stream", "query", "form"] } + +[features] +default = ["native-tls"] +native-tls = ["reqwest/native-tls"] +rustls = ["reqwest/rustls"] diff --git a/rust/README.md b/rust/README.md new file mode 100644 index 00000000..114ff14c --- /dev/null +++ b/rust/README.md @@ -0,0 +1,415 @@ +# Rust API client for geoengine-api-client + +No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + + +## Overview + +This API client was generated by the [OpenAPI Generator](https://openapi-generator.tech) project. By using the [openapi-spec](https://openapis.org) from a remote server, you can easily generate an API client. + +- API version: 0.9.0 +- Package version: 0.0.33 +- Generator version: 7.20.0 +- Build package: `org.openapitools.codegen.languages.RustClientCodegen` + +## Installation + +Put the package under your project folder in a directory named `geoengine-api-client` and add the following to `Cargo.toml` under `[dependencies]`: + +``` +geoengine-api-client = { path = "./geoengine-api-client" } +``` + +## Documentation for API Endpoints + +All URIs are relative to *https://geoengine.io/api* + +Class | Method | HTTP request | Description +------------ | ------------- | ------------- | ------------- +*DatasetsApi* | [**add_dataset_tiles_handler**](docs/DatasetsApi.md#add_dataset_tiles_handler) | **POST** /dataset/{dataset}/tiles | Add a tile to a gdal dataset. +*DatasetsApi* | [**auto_create_dataset_handler**](docs/DatasetsApi.md#auto_create_dataset_handler) | **POST** /dataset/auto | Creates a new dataset using previously uploaded files. The format of the files will be automatically detected when possible. +*DatasetsApi* | [**create_dataset_handler**](docs/DatasetsApi.md#create_dataset_handler) | **POST** /dataset | Creates a new dataset referencing files. Users can reference previously uploaded files. Admins can reference files from a volume. +*DatasetsApi* | [**delete_dataset_handler**](docs/DatasetsApi.md#delete_dataset_handler) | **DELETE** /dataset/{dataset} | Delete a dataset +*DatasetsApi* | [**get_dataset_handler**](docs/DatasetsApi.md#get_dataset_handler) | **GET** /dataset/{dataset} | Retrieves details about a dataset using the internal name. +*DatasetsApi* | [**get_loading_info_handler**](docs/DatasetsApi.md#get_loading_info_handler) | **GET** /dataset/{dataset}/loadingInfo | Retrieves the loading information of a dataset +*DatasetsApi* | [**list_datasets_handler**](docs/DatasetsApi.md#list_datasets_handler) | **GET** /datasets | Lists available datasets. +*DatasetsApi* | [**list_volume_file_layers_handler**](docs/DatasetsApi.md#list_volume_file_layers_handler) | **GET** /dataset/volumes/{volume_name}/files/{file_name}/layers | List the layers of a file in a volume. +*DatasetsApi* | [**list_volumes_handler**](docs/DatasetsApi.md#list_volumes_handler) | **GET** /dataset/volumes | Lists available volumes. +*DatasetsApi* | [**suggest_meta_data_handler**](docs/DatasetsApi.md#suggest_meta_data_handler) | **POST** /dataset/suggest | Inspects an upload and suggests metadata that can be used when creating a new dataset based on it. Tries to automatically detect the main file and layer name if not specified. +*DatasetsApi* | [**update_dataset_handler**](docs/DatasetsApi.md#update_dataset_handler) | **POST** /dataset/{dataset} | Update details about a dataset using the internal name. +*DatasetsApi* | [**update_dataset_provenance_handler**](docs/DatasetsApi.md#update_dataset_provenance_handler) | **PUT** /dataset/{dataset}/provenance | +*DatasetsApi* | [**update_dataset_symbology_handler**](docs/DatasetsApi.md#update_dataset_symbology_handler) | **PUT** /dataset/{dataset}/symbology | Updates the dataset's symbology +*DatasetsApi* | [**update_loading_info_handler**](docs/DatasetsApi.md#update_loading_info_handler) | **PUT** /dataset/{dataset}/loadingInfo | Updates the dataset's loading info +*GeneralApi* | [**available_handler**](docs/GeneralApi.md#available_handler) | **GET** /available | Server availablity check. +*GeneralApi* | [**server_info_handler**](docs/GeneralApi.md#server_info_handler) | **GET** /info | Shows information about the server software version. +*LayersApi* | [**add_collection**](docs/LayersApi.md#add_collection) | **POST** /layerDb/collections/{collection}/collections | Add a new collection to an existing collection +*LayersApi* | [**add_existing_collection_to_collection**](docs/LayersApi.md#add_existing_collection_to_collection) | **POST** /layerDb/collections/{parent}/collections/{collection} | Add an existing collection to a collection +*LayersApi* | [**add_existing_layer_to_collection**](docs/LayersApi.md#add_existing_layer_to_collection) | **POST** /layerDb/collections/{collection}/layers/{layer} | Add an existing layer to a collection +*LayersApi* | [**add_layer**](docs/LayersApi.md#add_layer) | **POST** /layerDb/collections/{collection}/layers | Add a new layer to a collection +*LayersApi* | [**add_provider**](docs/LayersApi.md#add_provider) | **POST** /layerDb/providers | Add a new provider +*LayersApi* | [**autocomplete_handler**](docs/LayersApi.md#autocomplete_handler) | **GET** /layers/collections/search/autocomplete/{provider}/{collection} | Autocompletes the search on the contents of the collection of the given provider +*LayersApi* | [**delete_provider**](docs/LayersApi.md#delete_provider) | **DELETE** /layerDb/providers/{provider} | Delete an existing provider +*LayersApi* | [**get_provider_definition**](docs/LayersApi.md#get_provider_definition) | **GET** /layerDb/providers/{provider} | Get an existing provider's definition +*LayersApi* | [**layer_handler**](docs/LayersApi.md#layer_handler) | **GET** /layers/{provider}/{layer} | Retrieves the layer of the given provider +*LayersApi* | [**layer_to_dataset**](docs/LayersApi.md#layer_to_dataset) | **POST** /layers/{provider}/{layer}/dataset | Persist a raster layer from a provider as a dataset. +*LayersApi* | [**layer_to_workflow_id_handler**](docs/LayersApi.md#layer_to_workflow_id_handler) | **POST** /layers/{provider}/{layer}/workflowId | Registers a layer from a provider as a workflow and returns the workflow id +*LayersApi* | [**list_collection_handler**](docs/LayersApi.md#list_collection_handler) | **GET** /layers/collections/{provider}/{collection} | List the contents of the collection of the given provider +*LayersApi* | [**list_providers**](docs/LayersApi.md#list_providers) | **GET** /layerDb/providers | List all providers +*LayersApi* | [**list_root_collections_handler**](docs/LayersApi.md#list_root_collections_handler) | **GET** /layers/collections | List all layer collections +*LayersApi* | [**provider_capabilities_handler**](docs/LayersApi.md#provider_capabilities_handler) | **GET** /layers/{provider}/capabilities | +*LayersApi* | [**remove_collection**](docs/LayersApi.md#remove_collection) | **DELETE** /layerDb/collections/{collection} | Remove a collection +*LayersApi* | [**remove_collection_from_collection**](docs/LayersApi.md#remove_collection_from_collection) | **DELETE** /layerDb/collections/{parent}/collections/{collection} | Delete a collection from a collection +*LayersApi* | [**remove_layer**](docs/LayersApi.md#remove_layer) | **DELETE** /layerDb/layers/{layer} | Remove a collection +*LayersApi* | [**remove_layer_from_collection**](docs/LayersApi.md#remove_layer_from_collection) | **DELETE** /layerDb/collections/{collection}/layers/{layer} | Remove a layer from a collection +*LayersApi* | [**search_handler**](docs/LayersApi.md#search_handler) | **GET** /layers/collections/search/{provider}/{collection} | Searches the contents of the collection of the given provider +*LayersApi* | [**update_collection**](docs/LayersApi.md#update_collection) | **PUT** /layerDb/collections/{collection} | Update a collection +*LayersApi* | [**update_layer**](docs/LayersApi.md#update_layer) | **PUT** /layerDb/layers/{layer} | Update a layer +*LayersApi* | [**update_provider_definition**](docs/LayersApi.md#update_provider_definition) | **PUT** /layerDb/providers/{provider} | Update an existing provider's definition +*MlApi* | [**add_ml_model**](docs/MlApi.md#add_ml_model) | **POST** /ml/models | Create a new ml model. +*MlApi* | [**get_ml_model**](docs/MlApi.md#get_ml_model) | **GET** /ml/models/{model_name} | Get ml model by name. +*MlApi* | [**list_ml_models**](docs/MlApi.md#list_ml_models) | **GET** /ml/models | List ml models. +*OgcwcsApi* | [**wcs_handler**](docs/OgcwcsApi.md#wcs_handler) | **GET** /wcs/{workflow} | OGC WCS endpoint +*OgcwfsApi* | [**wfs_handler**](docs/OgcwfsApi.md#wfs_handler) | **GET** /wfs/{workflow} | OGC WFS endpoint +*OgcwmsApi* | [**wms_handler**](docs/OgcwmsApi.md#wms_handler) | **GET** /wms/{workflow} | OGC WMS endpoint +*PermissionsApi* | [**add_permission_handler**](docs/PermissionsApi.md#add_permission_handler) | **PUT** /permissions | Adds a new permission. +*PermissionsApi* | [**get_resource_permissions_handler**](docs/PermissionsApi.md#get_resource_permissions_handler) | **GET** /permissions/resources/{resource_type}/{resource_id} | Lists permission for a given resource. +*PermissionsApi* | [**remove_permission_handler**](docs/PermissionsApi.md#remove_permission_handler) | **DELETE** /permissions | Removes an existing permission. +*PlotsApi* | [**get_plot_handler**](docs/PlotsApi.md#get_plot_handler) | **GET** /plot/{id} | Generates a plot. +*ProjectsApi* | [**create_project_handler**](docs/ProjectsApi.md#create_project_handler) | **POST** /project | Create a new project for the user. +*ProjectsApi* | [**delete_project_handler**](docs/ProjectsApi.md#delete_project_handler) | **DELETE** /project/{project} | Deletes a project. +*ProjectsApi* | [**list_projects_handler**](docs/ProjectsApi.md#list_projects_handler) | **GET** /projects | List all projects accessible to the user that match the selected criteria. +*ProjectsApi* | [**load_project_latest_handler**](docs/ProjectsApi.md#load_project_latest_handler) | **GET** /project/{project} | Retrieves details about the latest version of a project. +*ProjectsApi* | [**load_project_version_handler**](docs/ProjectsApi.md#load_project_version_handler) | **GET** /project/{project}/{version} | Retrieves details about the given version of a project. +*ProjectsApi* | [**project_versions_handler**](docs/ProjectsApi.md#project_versions_handler) | **GET** /project/{project}/versions | Lists all available versions of a project. +*ProjectsApi* | [**update_project_handler**](docs/ProjectsApi.md#update_project_handler) | **PATCH** /project/{project} | Updates a project. This will create a new version. +*SessionApi* | [**anonymous_handler**](docs/SessionApi.md#anonymous_handler) | **POST** /anonymous | Creates session for anonymous user. The session's id serves as a Bearer token for requests. +*SessionApi* | [**login_handler**](docs/SessionApi.md#login_handler) | **POST** /login | Creates a session by providing user credentials. The session's id serves as a Bearer token for requests. +*SessionApi* | [**logout_handler**](docs/SessionApi.md#logout_handler) | **POST** /logout | Ends a session. +*SessionApi* | [**oidc_init**](docs/SessionApi.md#oidc_init) | **POST** /oidcInit | Initializes the Open Id Connect login procedure by requesting a parametrized url to the configured Id Provider. +*SessionApi* | [**oidc_login**](docs/SessionApi.md#oidc_login) | **POST** /oidcLogin | Creates a session for a user via a login with Open Id Connect. This call must be preceded by a call to oidcInit and match the parameters of that call. +*SessionApi* | [**register_user_handler**](docs/SessionApi.md#register_user_handler) | **POST** /user | Registers a user. +*SessionApi* | [**session_handler**](docs/SessionApi.md#session_handler) | **GET** /session | Retrieves details about the current session. +*SessionApi* | [**session_project_handler**](docs/SessionApi.md#session_project_handler) | **POST** /session/project/{project} | Sets the active project of the session. +*SessionApi* | [**session_view_handler**](docs/SessionApi.md#session_view_handler) | **POST** /session/view | +*SpatialReferencesApi* | [**get_spatial_reference_specification_handler**](docs/SpatialReferencesApi.md#get_spatial_reference_specification_handler) | **GET** /spatialReferenceSpecification/{srsString} | +*TasksApi* | [**abort_handler**](docs/TasksApi.md#abort_handler) | **DELETE** /tasks/{id} | Abort a running task. +*TasksApi* | [**list_handler**](docs/TasksApi.md#list_handler) | **GET** /tasks/list | Retrieve the status of all tasks. +*TasksApi* | [**status_handler**](docs/TasksApi.md#status_handler) | **GET** /tasks/{id}/status | Retrieve the status of a task. +*UploadsApi* | [**list_upload_file_layers_handler**](docs/UploadsApi.md#list_upload_file_layers_handler) | **GET** /uploads/{upload_id}/files/{file_name}/layers | List the layers of on uploaded file. +*UploadsApi* | [**list_upload_files_handler**](docs/UploadsApi.md#list_upload_files_handler) | **GET** /uploads/{upload_id}/files | List the files of on upload. +*UploadsApi* | [**upload_handler**](docs/UploadsApi.md#upload_handler) | **POST** /upload | Uploads files. +*UserApi* | [**add_role_handler**](docs/UserApi.md#add_role_handler) | **PUT** /roles | Add a new role. Requires admin privilige. +*UserApi* | [**assign_role_handler**](docs/UserApi.md#assign_role_handler) | **POST** /users/{user}/roles/{role} | Assign a role to a user. Requires admin privilige. +*UserApi* | [**computation_quota_handler**](docs/UserApi.md#computation_quota_handler) | **GET** /quota/computations/{computation} | Retrieves the quota used by computation with the given computation id +*UserApi* | [**computations_quota_handler**](docs/UserApi.md#computations_quota_handler) | **GET** /quota/computations | Retrieves the quota used by computations +*UserApi* | [**data_usage_handler**](docs/UserApi.md#data_usage_handler) | **GET** /quota/dataUsage | Retrieves the data usage +*UserApi* | [**data_usage_summary_handler**](docs/UserApi.md#data_usage_summary_handler) | **GET** /quota/dataUsage/summary | Retrieves the data usage summary +*UserApi* | [**get_role_by_name_handler**](docs/UserApi.md#get_role_by_name_handler) | **GET** /roles/byName/{name} | Get role by name +*UserApi* | [**get_role_descriptions**](docs/UserApi.md#get_role_descriptions) | **GET** /user/roles/descriptions | Query roles for the current user. +*UserApi* | [**get_user_quota_handler**](docs/UserApi.md#get_user_quota_handler) | **GET** /quotas/{user} | Retrieves the available and used quota of a specific user. +*UserApi* | [**quota_handler**](docs/UserApi.md#quota_handler) | **GET** /quota | Retrieves the available and used quota of the current user. +*UserApi* | [**remove_role_handler**](docs/UserApi.md#remove_role_handler) | **DELETE** /roles/{role} | Remove a role. Requires admin privilige. +*UserApi* | [**revoke_role_handler**](docs/UserApi.md#revoke_role_handler) | **DELETE** /users/{user}/roles/{role} | Revoke a role from a user. Requires admin privilige. +*UserApi* | [**update_user_quota_handler**](docs/UserApi.md#update_user_quota_handler) | **POST** /quotas/{user} | Update the available quota of a specific user. +*WorkflowsApi* | [**dataset_from_workflow_handler**](docs/WorkflowsApi.md#dataset_from_workflow_handler) | **POST** /datasetFromWorkflow/{id} | Create a task for creating a new dataset from the result of the workflow given by its `id` and the dataset parameters in the request body. Returns the id of the created task +*WorkflowsApi* | [**get_workflow_all_metadata_zip_handler**](docs/WorkflowsApi.md#get_workflow_all_metadata_zip_handler) | **GET** /workflow/{id}/allMetadata/zip | Gets a ZIP archive of the worklow, its provenance and the output metadata. +*WorkflowsApi* | [**get_workflow_metadata_handler**](docs/WorkflowsApi.md#get_workflow_metadata_handler) | **GET** /workflow/{id}/metadata | Gets the metadata of a workflow +*WorkflowsApi* | [**get_workflow_provenance_handler**](docs/WorkflowsApi.md#get_workflow_provenance_handler) | **GET** /workflow/{id}/provenance | Gets the provenance of all datasets used in a workflow. +*WorkflowsApi* | [**load_workflow_handler**](docs/WorkflowsApi.md#load_workflow_handler) | **GET** /workflow/{id} | Retrieves an existing Workflow. +*WorkflowsApi* | [**raster_stream_websocket**](docs/WorkflowsApi.md#raster_stream_websocket) | **GET** /workflow/{id}/rasterStream | Query a workflow raster result as a stream of tiles via a websocket connection. +*WorkflowsApi* | [**register_workflow_handler**](docs/WorkflowsApi.md#register_workflow_handler) | **POST** /workflow | Registers a new Workflow. + + +## Documentation For Models + + - [AddDataset](docs/AddDataset.md) + - [AddLayer](docs/AddLayer.md) + - [AddLayerCollection](docs/AddLayerCollection.md) + - [AddRole](docs/AddRole.md) + - [ArunaDataProviderDefinition](docs/ArunaDataProviderDefinition.md) + - [AuthCodeRequestUrl](docs/AuthCodeRequestUrl.md) + - [AuthCodeResponse](docs/AuthCodeResponse.md) + - [AutoCreateDataset](docs/AutoCreateDataset.md) + - [AxisOrder](docs/AxisOrder.md) + - [BoundingBox2D](docs/BoundingBox2D.md) + - [Breakpoint](docs/Breakpoint.md) + - [ClassificationMeasurement](docs/ClassificationMeasurement.md) + - [CollectionItem](docs/CollectionItem.md) + - [CollectionType](docs/CollectionType.md) + - [ColorParam](docs/ColorParam.md) + - [Colorizer](docs/Colorizer.md) + - [ColumnNames](docs/ColumnNames.md) + - [ComputationQuota](docs/ComputationQuota.md) + - [ContinuousMeasurement](docs/ContinuousMeasurement.md) + - [Coordinate2D](docs/Coordinate2D.md) + - [CopernicusDataspaceDataProviderDefinition](docs/CopernicusDataspaceDataProviderDefinition.md) + - [CreateDataset](docs/CreateDataset.md) + - [CreateProject](docs/CreateProject.md) + - [CsvHeader](docs/CsvHeader.md) + - [DataId](docs/DataId.md) + - [DataPath](docs/DataPath.md) + - [DataPathOneOf](docs/DataPathOneOf.md) + - [DataPathOneOf1](docs/DataPathOneOf1.md) + - [DataProviderResource](docs/DataProviderResource.md) + - [DataUsage](docs/DataUsage.md) + - [DataUsageSummary](docs/DataUsageSummary.md) + - [DatabaseConnectionConfig](docs/DatabaseConnectionConfig.md) + - [Dataset](docs/Dataset.md) + - [DatasetDefinition](docs/DatasetDefinition.md) + - [DatasetLayerListingCollection](docs/DatasetLayerListingCollection.md) + - [DatasetLayerListingProviderDefinition](docs/DatasetLayerListingProviderDefinition.md) + - [DatasetListing](docs/DatasetListing.md) + - [DatasetNameResponse](docs/DatasetNameResponse.md) + - [DatasetResource](docs/DatasetResource.md) + - [Default](docs/Default.md) + - [DerivedColor](docs/DerivedColor.md) + - [DerivedNumber](docs/DerivedNumber.md) + - [EbvPortalDataProviderDefinition](docs/EbvPortalDataProviderDefinition.md) + - [EdrDataProviderDefinition](docs/EdrDataProviderDefinition.md) + - [EdrVectorSpec](docs/EdrVectorSpec.md) + - [ErrorResponse](docs/ErrorResponse.md) + - [Expression](docs/Expression.md) + - [ExpressionParameters](docs/ExpressionParameters.md) + - [ExternalDataId](docs/ExternalDataId.md) + - [FeatureAggregationMethod](docs/FeatureAggregationMethod.md) + - [FeatureDataType](docs/FeatureDataType.md) + - [FileNotFoundHandling](docs/FileNotFoundHandling.md) + - [FormatSpecifics](docs/FormatSpecifics.md) + - [FormatSpecificsCsv](docs/FormatSpecificsCsv.md) + - [GbifDataProviderDefinition](docs/GbifDataProviderDefinition.md) + - [GdalDatasetParameters](docs/GdalDatasetParameters.md) + - [GdalLoadingInfoTemporalSlice](docs/GdalLoadingInfoTemporalSlice.md) + - [GdalMetaDataList](docs/GdalMetaDataList.md) + - [GdalMetaDataRegular](docs/GdalMetaDataRegular.md) + - [GdalMetaDataStatic](docs/GdalMetaDataStatic.md) + - [GdalMetadataMapping](docs/GdalMetadataMapping.md) + - [GdalMetadataNetCdfCf](docs/GdalMetadataNetCdfCf.md) + - [GdalMultiBand](docs/GdalMultiBand.md) + - [GdalSource](docs/GdalSource.md) + - [GdalSourceParameters](docs/GdalSourceParameters.md) + - [GdalSourceTimePlaceholder](docs/GdalSourceTimePlaceholder.md) + - [GeoJson](docs/GeoJson.md) + - [GeoTransform](docs/GeoTransform.md) + - [GetCoverageFormat](docs/GetCoverageFormat.md) + - [GetMapExceptionFormat](docs/GetMapExceptionFormat.md) + - [GfbioAbcdDataProviderDefinition](docs/GfbioAbcdDataProviderDefinition.md) + - [GfbioCollectionsDataProviderDefinition](docs/GfbioCollectionsDataProviderDefinition.md) + - [GridBoundingBox2D](docs/GridBoundingBox2D.md) + - [GridIdx2D](docs/GridIdx2D.md) + - [Histogram](docs/Histogram.md) + - [HistogramBounds](docs/HistogramBounds.md) + - [HistogramBoundsOneOf](docs/HistogramBoundsOneOf.md) + - [HistogramBoundsOneOf1](docs/HistogramBoundsOneOf1.md) + - [HistogramBoundsOneOf1Values](docs/HistogramBoundsOneOf1Values.md) + - [HistogramBuckets](docs/HistogramBuckets.md) + - [HistogramBucketsOneOf](docs/HistogramBucketsOneOf.md) + - [HistogramBucketsOneOf1](docs/HistogramBucketsOneOf1.md) + - [HistogramParameters](docs/HistogramParameters.md) + - [IdResponse](docs/IdResponse.md) + - [InternalDataId](docs/InternalDataId.md) + - [Layer](docs/Layer.md) + - [LayerCollection](docs/LayerCollection.md) + - [LayerCollectionListing](docs/LayerCollectionListing.md) + - [LayerCollectionResource](docs/LayerCollectionResource.md) + - [LayerListing](docs/LayerListing.md) + - [LayerProviderListing](docs/LayerProviderListing.md) + - [LayerResource](docs/LayerResource.md) + - [LayerVisibility](docs/LayerVisibility.md) + - [LegacyTypedOperator](docs/LegacyTypedOperator.md) + - [LegacyTypedOperatorOperator](docs/LegacyTypedOperatorOperator.md) + - [LineSymbology](docs/LineSymbology.md) + - [LinearGradient](docs/LinearGradient.md) + - [LogarithmicGradient](docs/LogarithmicGradient.md) + - [Measurement](docs/Measurement.md) + - [MetaDataDefinition](docs/MetaDataDefinition.md) + - [MetaDataSuggestion](docs/MetaDataSuggestion.md) + - [MlModel](docs/MlModel.md) + - [MlModelInputNoDataHandling](docs/MlModelInputNoDataHandling.md) + - [MlModelInputNoDataHandlingVariant](docs/MlModelInputNoDataHandlingVariant.md) + - [MlModelMetadata](docs/MlModelMetadata.md) + - [MlModelNameResponse](docs/MlModelNameResponse.md) + - [MlModelOutputNoDataHandling](docs/MlModelOutputNoDataHandling.md) + - [MlModelOutputNoDataHandlingVariant](docs/MlModelOutputNoDataHandlingVariant.md) + - [MlModelResource](docs/MlModelResource.md) + - [MlTensorShape3D](docs/MlTensorShape3D.md) + - [MockDatasetDataSourceLoadingInfo](docs/MockDatasetDataSourceLoadingInfo.md) + - [MockMetaData](docs/MockMetaData.md) + - [MockPointSource](docs/MockPointSource.md) + - [MockPointSourceParameters](docs/MockPointSourceParameters.md) + - [MultiBandRasterColorizer](docs/MultiBandRasterColorizer.md) + - [MultiLineString](docs/MultiLineString.md) + - [MultiPoint](docs/MultiPoint.md) + - [MultiPolygon](docs/MultiPolygon.md) + - [MultipleRasterOrSingleVectorOperator](docs/MultipleRasterOrSingleVectorOperator.md) + - [MultipleRasterOrSingleVectorSource](docs/MultipleRasterOrSingleVectorSource.md) + - [Names](docs/Names.md) + - [NetCdfCfDataProviderDefinition](docs/NetCdfCfDataProviderDefinition.md) + - [NumberParam](docs/NumberParam.md) + - [OgrMetaData](docs/OgrMetaData.md) + - [OgrSourceColumnSpec](docs/OgrSourceColumnSpec.md) + - [OgrSourceDataset](docs/OgrSourceDataset.md) + - [OgrSourceDatasetTimeType](docs/OgrSourceDatasetTimeType.md) + - [OgrSourceDatasetTimeTypeNone](docs/OgrSourceDatasetTimeTypeNone.md) + - [OgrSourceDatasetTimeTypeStart](docs/OgrSourceDatasetTimeTypeStart.md) + - [OgrSourceDatasetTimeTypeStartDuration](docs/OgrSourceDatasetTimeTypeStartDuration.md) + - [OgrSourceDatasetTimeTypeStartEnd](docs/OgrSourceDatasetTimeTypeStartEnd.md) + - [OgrSourceDurationSpec](docs/OgrSourceDurationSpec.md) + - [OgrSourceDurationSpecInfinite](docs/OgrSourceDurationSpecInfinite.md) + - [OgrSourceDurationSpecValue](docs/OgrSourceDurationSpecValue.md) + - [OgrSourceDurationSpecZero](docs/OgrSourceDurationSpecZero.md) + - [OgrSourceErrorSpec](docs/OgrSourceErrorSpec.md) + - [OgrSourceTimeFormat](docs/OgrSourceTimeFormat.md) + - [OgrSourceTimeFormatAuto](docs/OgrSourceTimeFormatAuto.md) + - [OgrSourceTimeFormatCustom](docs/OgrSourceTimeFormatCustom.md) + - [OgrSourceTimeFormatUnixTimeStamp](docs/OgrSourceTimeFormatUnixTimeStamp.md) + - [OperatorQuota](docs/OperatorQuota.md) + - [OrderBy](docs/OrderBy.md) + - [PaletteColorizer](docs/PaletteColorizer.md) + - [PangaeaDataProviderDefinition](docs/PangaeaDataProviderDefinition.md) + - [Permission](docs/Permission.md) + - [PermissionListing](docs/PermissionListing.md) + - [PermissionRequest](docs/PermissionRequest.md) + - [Plot](docs/Plot.md) + - [PlotOperator](docs/PlotOperator.md) + - [PlotOutputFormat](docs/PlotOutputFormat.md) + - [PlotResultDescriptor](docs/PlotResultDescriptor.md) + - [PointSymbology](docs/PointSymbology.md) + - [PolygonSymbology](docs/PolygonSymbology.md) + - [Project](docs/Project.md) + - [ProjectLayer](docs/ProjectLayer.md) + - [ProjectListing](docs/ProjectListing.md) + - [ProjectResource](docs/ProjectResource.md) + - [ProjectUpdateToken](docs/ProjectUpdateToken.md) + - [ProjectVersion](docs/ProjectVersion.md) + - [Provenance](docs/Provenance.md) + - [ProvenanceEntry](docs/ProvenanceEntry.md) + - [Provenances](docs/Provenances.md) + - [ProviderCapabilities](docs/ProviderCapabilities.md) + - [ProviderLayerCollectionId](docs/ProviderLayerCollectionId.md) + - [ProviderLayerId](docs/ProviderLayerId.md) + - [Quota](docs/Quota.md) + - [RasterBandDescriptor](docs/RasterBandDescriptor.md) + - [RasterColorizer](docs/RasterColorizer.md) + - [RasterDataType](docs/RasterDataType.md) + - [RasterDatasetFromWorkflow](docs/RasterDatasetFromWorkflow.md) + - [RasterOperator](docs/RasterOperator.md) + - [RasterPropertiesEntryType](docs/RasterPropertiesEntryType.md) + - [RasterPropertiesKey](docs/RasterPropertiesKey.md) + - [RasterResultDescriptor](docs/RasterResultDescriptor.md) + - [RasterStreamWebsocketResultType](docs/RasterStreamWebsocketResultType.md) + - [RasterSymbology](docs/RasterSymbology.md) + - [RasterToDatasetQueryRectangle](docs/RasterToDatasetQueryRectangle.md) + - [RasterVectorJoin](docs/RasterVectorJoin.md) + - [RasterVectorJoinParameters](docs/RasterVectorJoinParameters.md) + - [RegularTimeDimension](docs/RegularTimeDimension.md) + - [Resource](docs/Resource.md) + - [Role](docs/Role.md) + - [RoleDescription](docs/RoleDescription.md) + - [SearchCapabilities](docs/SearchCapabilities.md) + - [SearchType](docs/SearchType.md) + - [SearchTypes](docs/SearchTypes.md) + - [SentinelS2L2ACogsProviderDefinition](docs/SentinelS2L2ACogsProviderDefinition.md) + - [ServerInfo](docs/ServerInfo.md) + - [SingleBandRasterColorizer](docs/SingleBandRasterColorizer.md) + - [SingleRasterOrVectorOperator](docs/SingleRasterOrVectorOperator.md) + - [SingleRasterOrVectorSource](docs/SingleRasterOrVectorSource.md) + - [SingleRasterSource](docs/SingleRasterSource.md) + - [SingleVectorMultipleRasterSources](docs/SingleVectorMultipleRasterSources.md) + - [SpatialBoundsDerive](docs/SpatialBoundsDerive.md) + - [SpatialBoundsDeriveBounds](docs/SpatialBoundsDeriveBounds.md) + - [SpatialBoundsDeriveDerive](docs/SpatialBoundsDeriveDerive.md) + - [SpatialBoundsDeriveNone](docs/SpatialBoundsDeriveNone.md) + - [SpatialGridDefinition](docs/SpatialGridDefinition.md) + - [SpatialGridDescriptor](docs/SpatialGridDescriptor.md) + - [SpatialGridDescriptorState](docs/SpatialGridDescriptorState.md) + - [SpatialPartition2D](docs/SpatialPartition2D.md) + - [SpatialReferenceSpecification](docs/SpatialReferenceSpecification.md) + - [StRectangle](docs/StRectangle.md) + - [StacApiRetries](docs/StacApiRetries.md) + - [StacQueryBuffer](docs/StacQueryBuffer.md) + - [StaticColor](docs/StaticColor.md) + - [StaticNumber](docs/StaticNumber.md) + - [Statistics](docs/Statistics.md) + - [StatisticsParameters](docs/StatisticsParameters.md) + - [StrokeParam](docs/StrokeParam.md) + - [Suffix](docs/Suffix.md) + - [SuggestMetaData](docs/SuggestMetaData.md) + - [Symbology](docs/Symbology.md) + - [TaskFilter](docs/TaskFilter.md) + - [TaskResponse](docs/TaskResponse.md) + - [TaskStatus](docs/TaskStatus.md) + - [TaskStatusAborted](docs/TaskStatusAborted.md) + - [TaskStatusCompleted](docs/TaskStatusCompleted.md) + - [TaskStatusFailed](docs/TaskStatusFailed.md) + - [TaskStatusRunning](docs/TaskStatusRunning.md) + - [TaskStatusWithId](docs/TaskStatusWithId.md) + - [TemporalAggregationMethod](docs/TemporalAggregationMethod.md) + - [TextSymbology](docs/TextSymbology.md) + - [TimeDescriptor](docs/TimeDescriptor.md) + - [TimeDimension](docs/TimeDimension.md) + - [TimeDimensionOneOf](docs/TimeDimensionOneOf.md) + - [TimeDimensionOneOf1](docs/TimeDimensionOneOf1.md) + - [TimeGranularity](docs/TimeGranularity.md) + - [TimeInterval](docs/TimeInterval.md) + - [TimeReference](docs/TimeReference.md) + - [TimeStep](docs/TimeStep.md) + - [TypedDataProviderDefinition](docs/TypedDataProviderDefinition.md) + - [TypedGeometry](docs/TypedGeometry.md) + - [TypedGeometryOneOf](docs/TypedGeometryOneOf.md) + - [TypedGeometryOneOf1](docs/TypedGeometryOneOf1.md) + - [TypedGeometryOneOf2](docs/TypedGeometryOneOf2.md) + - [TypedGeometryOneOf3](docs/TypedGeometryOneOf3.md) + - [TypedOperator](docs/TypedOperator.md) + - [TypedPlotOperator](docs/TypedPlotOperator.md) + - [TypedPlotResultDescriptor](docs/TypedPlotResultDescriptor.md) + - [TypedRasterOperator](docs/TypedRasterOperator.md) + - [TypedRasterResultDescriptor](docs/TypedRasterResultDescriptor.md) + - [TypedResultDescriptor](docs/TypedResultDescriptor.md) + - [TypedVectorOperator](docs/TypedVectorOperator.md) + - [TypedVectorResultDescriptor](docs/TypedVectorResultDescriptor.md) + - [UnitlessMeasurement](docs/UnitlessMeasurement.md) + - [UnixTimeStampType](docs/UnixTimeStampType.md) + - [UpdateDataset](docs/UpdateDataset.md) + - [UpdateLayer](docs/UpdateLayer.md) + - [UpdateLayerCollection](docs/UpdateLayerCollection.md) + - [UpdateProject](docs/UpdateProject.md) + - [UpdateQuota](docs/UpdateQuota.md) + - [UploadFileLayersResponse](docs/UploadFileLayersResponse.md) + - [UploadFilesResponse](docs/UploadFilesResponse.md) + - [UsageSummaryGranularity](docs/UsageSummaryGranularity.md) + - [UserCredentials](docs/UserCredentials.md) + - [UserInfo](docs/UserInfo.md) + - [UserRegistration](docs/UserRegistration.md) + - [UserSession](docs/UserSession.md) + - [VecUpdate](docs/VecUpdate.md) + - [VectorColumnInfo](docs/VectorColumnInfo.md) + - [VectorDataType](docs/VectorDataType.md) + - [VectorOperator](docs/VectorOperator.md) + - [VectorResultDescriptor](docs/VectorResultDescriptor.md) + - [Volume](docs/Volume.md) + - [VolumeFileLayersResponse](docs/VolumeFileLayersResponse.md) + - [WcsRequest](docs/WcsRequest.md) + - [WcsService](docs/WcsService.md) + - [WcsVersion](docs/WcsVersion.md) + - [WfsRequest](docs/WfsRequest.md) + - [WfsService](docs/WfsService.md) + - [WfsVersion](docs/WfsVersion.md) + - [WildliveDataConnectorDefinition](docs/WildliveDataConnectorDefinition.md) + - [WmsRequest](docs/WmsRequest.md) + - [WmsResponseFormat](docs/WmsResponseFormat.md) + - [WmsService](docs/WmsService.md) + - [WmsVersion](docs/WmsVersion.md) + - [Workflow](docs/Workflow.md) + - [WrappedPlotOutput](docs/WrappedPlotOutput.md) + + +To get access to the crate's generated documentation, use: + +``` +cargo doc --open +``` + +## Author + +dev@geoengine.de + diff --git a/rust/diffs/rust/src/apis/projects_api.rs.diff b/rust/diffs/rust/src/apis/projects_api.rs.diff new file mode 100644 index 00000000..0e7fc31a --- /dev/null +++ b/rust/diffs/rust/src/apis/projects_api.rs.diff @@ -0,0 +1,17 @@ +--- rust/src/apis/projects_api.rs ++++ rust/src/apis/projects_api.rs +@@ -139,7 +139,7 @@ + let p_path_offset = offset; + let p_path_limit = limit; + +- let uri_str = format!("{}/projects", configuration.base_path, order=p_path_order.to_string(), offset=p_path_offset, limit=p_path_limit); ++ let uri_str = format!( + "{}/projects?order={}&offset={}&limit={}", + configuration.base_path, + p_path_order.to_string(), + p_path_offset, + p_path_limit + ); + let mut req_builder = configuration.client.request(reqwest::Method::GET, &uri_str); + + if let Some(ref user_agent) = configuration.user_agent { diff --git a/rust/diffs/rust/src/apis/tasks_api.rs.diff b/rust/diffs/rust/src/apis/tasks_api.rs.diff new file mode 100644 index 00000000..9422a933 --- /dev/null +++ b/rust/diffs/rust/src/apis/tasks_api.rs.diff @@ -0,0 +1,17 @@ +--- rust/src/apis/tasks_api.rs ++++ rust/src/apis/tasks_api.rs +@@ -76,7 +76,7 @@ + let p_path_offset = offset; + let p_path_limit = limit; + +- let uri_str = format!("{}/tasks/list", configuration.base_path, filter=p_path_filter.unwrap().to_string(), offset=p_path_offset, limit=p_path_limit); ++ let uri_str = format!( + "{}/tasks/list?filter={}&offset={}&limit={}", + configuration.base_path, + p_path_filter.unwrap().to_string(), + p_path_offset, + p_path_limit + ); + let mut req_builder = configuration.client.request(reqwest::Method::GET, &uri_str); + + if let Some(ref user_agent) = configuration.user_agent { diff --git a/rust/diffs/rust/src/models/default.rs.diff b/rust/diffs/rust/src/models/default.rs.diff new file mode 100644 index 00000000..3fa2531d --- /dev/null +++ b/rust/diffs/rust/src/models/default.rs.diff @@ -0,0 +1,11 @@ +--- rust/src/models/default.rs ++++ rust/src/models/default.rs +@@ -31,7 +31,7 @@ + Default, + } + +-impl Default for Type { ++impl std::default::Default for Type { + fn default() -> Type { + Self::Default + } diff --git a/rust/diffs/rust/src/models/measurement.rs.diff b/rust/diffs/rust/src/models/measurement.rs.diff new file mode 100644 index 00000000..09dbf015 --- /dev/null +++ b/rust/diffs/rust/src/models/measurement.rs.diff @@ -0,0 +1,11 @@ +--- rust/src/models/measurement.rs ++++ rust/src/models/measurement.rs +@@ -12,7 +12,7 @@ + use serde::{Deserialize, Serialize}; + + #[derive(Clone, Debug, PartialEq, Serialize, Deserialize)] +-#[serde(tag = "type")] ++#[serde(untagged)] + pub enum Measurement { + #[serde(rename="unitless")] + Unitless(Box), diff --git a/rust/diffs/rust/src/models/multiple_raster_or_single_vector_operator.rs.diff b/rust/diffs/rust/src/models/multiple_raster_or_single_vector_operator.rs.diff new file mode 100644 index 00000000..08b59d4f --- /dev/null +++ b/rust/diffs/rust/src/models/multiple_raster_or_single_vector_operator.rs.diff @@ -0,0 +1,18 @@ +--- rust/src/models/multiple_raster_or_single_vector_operator.rs ++++ rust/src/models/multiple_raster_or_single_vector_operator.rs +@@ -16,13 +16,13 @@ + #[derive(Clone, Debug, PartialEq, Serialize, Deserialize)] + #[serde(untagged)] + pub enum MultipleRasterOrSingleVectorOperator { +- ArrayVecmodels::RasterOperator(Vec), ++ RasterOperator(Vec), + VectorOperator(Box), + } + + impl Default for MultipleRasterOrSingleVectorOperator { + fn default() -> Self { +- Self::ArrayVecmodels::RasterOperator(Default::default()) ++ Self::RasterOperator(Default::default()) + } + } + /// diff --git a/rust/diffs/rust/src/models/raster_operator.rs.diff b/rust/diffs/rust/src/models/raster_operator.rs.diff new file mode 100644 index 00000000..1d7fc1f7 --- /dev/null +++ b/rust/diffs/rust/src/models/raster_operator.rs.diff @@ -0,0 +1,11 @@ +--- rust/src/models/raster_operator.rs ++++ rust/src/models/raster_operator.rs +@@ -13,7 +13,7 @@ + + /// RasterOperator : An operator that produces raster data. + #[derive(Clone, Debug, PartialEq, Serialize, Deserialize)] +-#[serde(tag = "type")] ++#[serde(untagged)] + pub enum RasterOperator { + #[serde(rename="Expression")] + Expression(Box), diff --git a/rust/diffs/rust/src/models/spatial_bounds_derive.rs.diff b/rust/diffs/rust/src/models/spatial_bounds_derive.rs.diff new file mode 100644 index 00000000..7cac8d92 --- /dev/null +++ b/rust/diffs/rust/src/models/spatial_bounds_derive.rs.diff @@ -0,0 +1,11 @@ +--- rust/src/models/spatial_bounds_derive.rs ++++ rust/src/models/spatial_bounds_derive.rs +@@ -13,7 +13,7 @@ + + /// SpatialBoundsDerive : Spatial bounds derivation options for the [`MockPointSource`]. + #[derive(Clone, Debug, PartialEq, Serialize, Deserialize)] +-#[serde(tag = "type")] ++#[serde(untagged)] + pub enum SpatialBoundsDerive { + #[serde(rename="derive")] + Derive(Box), diff --git a/rust/diffs/rust/src/models/spatial_partition2_d.rs.diff b/rust/diffs/rust/src/models/spatial_partition2_d.rs.diff new file mode 100644 index 00000000..8dae81db --- /dev/null +++ b/rust/diffs/rust/src/models/spatial_partition2_d.rs.diff @@ -0,0 +1,18 @@ +--- rust/src/models/spatial_partition2_d.rs ++++ rust/src/models/spatial_partition2_d.rs +@@ -30,3 +30,4 @@ + } + } + ++impl std::fmt::Display for SpatialPartition2D { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!( + f, + "{xmin},{ymin},{xmax},{ymax}", + xmin = self.upper_left_coordinate.x, + ymin = self.lower_right_coordinate.y, + xmax = self.lower_right_coordinate.x, + ymax = self.upper_left_coordinate.y + ) + } +} diff --git a/rust/diffs/rust/src/models/vector_operator.rs.diff b/rust/diffs/rust/src/models/vector_operator.rs.diff new file mode 100644 index 00000000..6edf473b --- /dev/null +++ b/rust/diffs/rust/src/models/vector_operator.rs.diff @@ -0,0 +1,11 @@ +--- rust/src/models/vector_operator.rs ++++ rust/src/models/vector_operator.rs +@@ -13,7 +13,7 @@ + + /// VectorOperator : An operator that produces vector data. + #[derive(Clone, Debug, PartialEq, Serialize, Deserialize)] +-#[serde(tag = "type")] ++#[serde(untagged)] + pub enum VectorOperator { + #[serde(rename="MockPointSource")] + MockPointSource(Box), diff --git a/rust/docs/AddDataset.md b/rust/docs/AddDataset.md new file mode 100644 index 00000000..677f2a21 --- /dev/null +++ b/rust/docs/AddDataset.md @@ -0,0 +1,17 @@ +# AddDataset + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**description** | **String** | | +**display_name** | **String** | | +**name** | Option<**String**> | | [optional] +**provenance** | Option<[**Vec**](Provenance.md)> | | [optional] +**source_operator** | **String** | | +**symbology** | Option<[**models::Symbology**](Symbology.md)> | | [optional] +**tags** | Option<**Vec**> | | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/rust/docs/AddLayer.md b/rust/docs/AddLayer.md new file mode 100644 index 00000000..b30c7646 --- /dev/null +++ b/rust/docs/AddLayer.md @@ -0,0 +1,16 @@ +# AddLayer + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**description** | **String** | | +**metadata** | Option<**std::collections::HashMap**> | metadata used for loading the data | [optional] +**name** | **String** | | +**properties** | Option<[**Vec>**](Vec.md)> | properties, for instance, to be rendered in the UI | [optional] +**symbology** | Option<[**models::Symbology**](Symbology.md)> | | [optional] +**workflow** | [**models::Workflow**](Workflow.md) | | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/rust/docs/AddLayerCollection.md b/rust/docs/AddLayerCollection.md new file mode 100644 index 00000000..a0c34672 --- /dev/null +++ b/rust/docs/AddLayerCollection.md @@ -0,0 +1,13 @@ +# AddLayerCollection + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**description** | **String** | | +**name** | **String** | | +**properties** | Option<[**Vec>**](Vec.md)> | | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/rust/docs/AddRole.md b/rust/docs/AddRole.md new file mode 100644 index 00000000..3d970726 --- /dev/null +++ b/rust/docs/AddRole.md @@ -0,0 +1,11 @@ +# AddRole + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**name** | **String** | | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/rust/docs/ArunaDataProviderDefinition.md b/rust/docs/ArunaDataProviderDefinition.md new file mode 100644 index 00000000..f13a87b6 --- /dev/null +++ b/rust/docs/ArunaDataProviderDefinition.md @@ -0,0 +1,20 @@ +# ArunaDataProviderDefinition + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**api_token** | **String** | | +**api_url** | **String** | | +**cache_ttl** | Option<**i32**> | | [optional] +**description** | **String** | | +**filter_label** | **String** | | +**id** | **uuid::Uuid** | | +**name** | **String** | | +**priority** | Option<**i32**> | | [optional] +**project_id** | **String** | | +**r#type** | **Type** | (enum: Aruna) | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/rust/docs/AuthCodeRequestUrl.md b/rust/docs/AuthCodeRequestUrl.md new file mode 100644 index 00000000..11d55d25 --- /dev/null +++ b/rust/docs/AuthCodeRequestUrl.md @@ -0,0 +1,11 @@ +# AuthCodeRequestUrl + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**url** | **String** | | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/rust/docs/AuthCodeResponse.md b/rust/docs/AuthCodeResponse.md new file mode 100644 index 00000000..f54efbb1 --- /dev/null +++ b/rust/docs/AuthCodeResponse.md @@ -0,0 +1,13 @@ +# AuthCodeResponse + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**code** | **String** | | +**session_state** | **String** | | +**state** | **String** | | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/rust/docs/AutoCreateDataset.md b/rust/docs/AutoCreateDataset.md new file mode 100644 index 00000000..24e7b025 --- /dev/null +++ b/rust/docs/AutoCreateDataset.md @@ -0,0 +1,16 @@ +# AutoCreateDataset + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**dataset_description** | **String** | | +**dataset_name** | **String** | | +**layer_name** | Option<**String**> | | [optional] +**main_file** | **String** | | +**tags** | Option<**Vec**> | | [optional] +**upload** | **uuid::Uuid** | | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/rust/docs/AxisOrder.md b/rust/docs/AxisOrder.md new file mode 100644 index 00000000..74d50130 --- /dev/null +++ b/rust/docs/AxisOrder.md @@ -0,0 +1,13 @@ +# AxisOrder + +## Enum Variants + +| Name | Value | +|---- | -----| +| NorthEast | northEast | +| EastNorth | eastNorth | + + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/rust/docs/BoundingBox2D.md b/rust/docs/BoundingBox2D.md new file mode 100644 index 00000000..f1e22ff2 --- /dev/null +++ b/rust/docs/BoundingBox2D.md @@ -0,0 +1,12 @@ +# BoundingBox2D + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**lower_left_coordinate** | [**models::Coordinate2D**](Coordinate2D.md) | | +**upper_right_coordinate** | [**models::Coordinate2D**](Coordinate2D.md) | | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/rust/docs/Breakpoint.md b/rust/docs/Breakpoint.md new file mode 100644 index 00000000..4ab6b424 --- /dev/null +++ b/rust/docs/Breakpoint.md @@ -0,0 +1,12 @@ +# Breakpoint + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**color** | **Vec** | | +**value** | **f64** | | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/rust/docs/ClassificationMeasurement.md b/rust/docs/ClassificationMeasurement.md new file mode 100644 index 00000000..00a8f63f --- /dev/null +++ b/rust/docs/ClassificationMeasurement.md @@ -0,0 +1,13 @@ +# ClassificationMeasurement + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**classes** | **std::collections::HashMap** | | +**measurement** | **String** | | +**r#type** | **Type** | (enum: classification) | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/rust/docs/CollectionItem.md b/rust/docs/CollectionItem.md new file mode 100644 index 00000000..cf4c6359 --- /dev/null +++ b/rust/docs/CollectionItem.md @@ -0,0 +1,10 @@ +# CollectionItem + +## Enum Variants + +| Name | Value | +|---- | -----| + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/rust/docs/CollectionType.md b/rust/docs/CollectionType.md new file mode 100644 index 00000000..22a9fe9b --- /dev/null +++ b/rust/docs/CollectionType.md @@ -0,0 +1,12 @@ +# CollectionType + +## Enum Variants + +| Name | Value | +|---- | -----| +| FeatureCollection | FeatureCollection | + + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/rust/docs/ColorParam.md b/rust/docs/ColorParam.md new file mode 100644 index 00000000..e5858ac4 --- /dev/null +++ b/rust/docs/ColorParam.md @@ -0,0 +1,10 @@ +# ColorParam + +## Enum Variants + +| Name | Value | +|---- | -----| + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/rust/docs/Colorizer.md b/rust/docs/Colorizer.md new file mode 100644 index 00000000..792feac8 --- /dev/null +++ b/rust/docs/Colorizer.md @@ -0,0 +1,10 @@ +# Colorizer + +## Enum Variants + +| Name | Value | +|---- | -----| + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/rust/docs/ColumnNames.md b/rust/docs/ColumnNames.md new file mode 100644 index 00000000..b4ab5344 --- /dev/null +++ b/rust/docs/ColumnNames.md @@ -0,0 +1,13 @@ +# ColumnNames + +## Enum Variants + +| Name | Description | +|---- | -----| +| Default | | +| Names | | +| Suffix | | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/rust/docs/ComputationQuota.md b/rust/docs/ComputationQuota.md new file mode 100644 index 00000000..60a11d9f --- /dev/null +++ b/rust/docs/ComputationQuota.md @@ -0,0 +1,14 @@ +# ComputationQuota + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**computation_id** | **uuid::Uuid** | | +**count** | **i64** | | +**timestamp** | **String** | | +**workflow_id** | **uuid::Uuid** | | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/rust/docs/ContinuousMeasurement.md b/rust/docs/ContinuousMeasurement.md new file mode 100644 index 00000000..31631833 --- /dev/null +++ b/rust/docs/ContinuousMeasurement.md @@ -0,0 +1,13 @@ +# ContinuousMeasurement + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**measurement** | **String** | | +**r#type** | **Type** | (enum: continuous) | +**unit** | Option<**String**> | | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/rust/docs/Coordinate2D.md b/rust/docs/Coordinate2D.md new file mode 100644 index 00000000..bdf5c270 --- /dev/null +++ b/rust/docs/Coordinate2D.md @@ -0,0 +1,12 @@ +# Coordinate2D + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**x** | **f64** | | +**y** | **f64** | | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/rust/docs/CopernicusDataspaceDataProviderDefinition.md b/rust/docs/CopernicusDataspaceDataProviderDefinition.md new file mode 100644 index 00000000..696fbb39 --- /dev/null +++ b/rust/docs/CopernicusDataspaceDataProviderDefinition.md @@ -0,0 +1,20 @@ +# CopernicusDataspaceDataProviderDefinition + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**description** | **String** | | +**gdal_config** | [**Vec>**](Vec.md) | | +**id** | **uuid::Uuid** | | +**name** | **String** | | +**priority** | Option<**i32**> | | [optional] +**s3_access_key** | **String** | | +**s3_secret_key** | **String** | | +**s3_url** | **String** | | +**stac_url** | **String** | | +**r#type** | **Type** | (enum: CopernicusDataspace) | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/rust/docs/CreateDataset.md b/rust/docs/CreateDataset.md new file mode 100644 index 00000000..fcc660a9 --- /dev/null +++ b/rust/docs/CreateDataset.md @@ -0,0 +1,12 @@ +# CreateDataset + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**data_path** | [**models::DataPath**](DataPath.md) | | +**definition** | [**models::DatasetDefinition**](DatasetDefinition.md) | | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/rust/docs/CreateProject.md b/rust/docs/CreateProject.md new file mode 100644 index 00000000..dc20020a --- /dev/null +++ b/rust/docs/CreateProject.md @@ -0,0 +1,14 @@ +# CreateProject + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**bounds** | [**models::StRectangle**](STRectangle.md) | | +**description** | **String** | | +**name** | **String** | | +**time_step** | Option<[**models::TimeStep**](TimeStep.md)> | | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/rust/docs/CsvHeader.md b/rust/docs/CsvHeader.md new file mode 100644 index 00000000..5b76f3d6 --- /dev/null +++ b/rust/docs/CsvHeader.md @@ -0,0 +1,14 @@ +# CsvHeader + +## Enum Variants + +| Name | Value | +|---- | -----| +| Yes | yes | +| No | no | +| Auto | auto | + + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/rust/docs/DataId.md b/rust/docs/DataId.md new file mode 100644 index 00000000..cbfdce80 --- /dev/null +++ b/rust/docs/DataId.md @@ -0,0 +1,10 @@ +# DataId + +## Enum Variants + +| Name | Value | +|---- | -----| + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/rust/docs/DataPath.md b/rust/docs/DataPath.md new file mode 100644 index 00000000..6bf19d41 --- /dev/null +++ b/rust/docs/DataPath.md @@ -0,0 +1,12 @@ +# DataPath + +## Enum Variants + +| Name | Description | +|---- | -----| +| DataPathOneOf | | +| DataPathOneOf1 | | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/rust/docs/DataPathOneOf.md b/rust/docs/DataPathOneOf.md new file mode 100644 index 00000000..44c6c724 --- /dev/null +++ b/rust/docs/DataPathOneOf.md @@ -0,0 +1,11 @@ +# DataPathOneOf + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**volume** | **String** | | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/rust/docs/DataPathOneOf1.md b/rust/docs/DataPathOneOf1.md new file mode 100644 index 00000000..c634dfea --- /dev/null +++ b/rust/docs/DataPathOneOf1.md @@ -0,0 +1,11 @@ +# DataPathOneOf1 + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**upload** | **uuid::Uuid** | | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/rust/docs/DataProviderResource.md b/rust/docs/DataProviderResource.md new file mode 100644 index 00000000..7951febc --- /dev/null +++ b/rust/docs/DataProviderResource.md @@ -0,0 +1,12 @@ +# DataProviderResource + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**id** | **uuid::Uuid** | | +**r#type** | **Type** | (enum: provider) | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/rust/docs/DataUsage.md b/rust/docs/DataUsage.md new file mode 100644 index 00000000..557cfd20 --- /dev/null +++ b/rust/docs/DataUsage.md @@ -0,0 +1,15 @@ +# DataUsage + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**computation_id** | **uuid::Uuid** | | +**count** | **i64** | | +**data** | **String** | | +**timestamp** | **String** | | +**user_id** | **uuid::Uuid** | | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/rust/docs/DataUsageSummary.md b/rust/docs/DataUsageSummary.md new file mode 100644 index 00000000..759d0a97 --- /dev/null +++ b/rust/docs/DataUsageSummary.md @@ -0,0 +1,13 @@ +# DataUsageSummary + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**count** | **i64** | | +**data** | **String** | | +**timestamp** | **String** | | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/rust/docs/DatabaseConnectionConfig.md b/rust/docs/DatabaseConnectionConfig.md new file mode 100644 index 00000000..c0544023 --- /dev/null +++ b/rust/docs/DatabaseConnectionConfig.md @@ -0,0 +1,16 @@ +# DatabaseConnectionConfig + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**database** | **String** | | +**host** | **String** | | +**password** | **String** | | +**port** | **i32** | | +**schema** | **String** | | +**user** | **String** | | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/rust/docs/Dataset.md b/rust/docs/Dataset.md new file mode 100644 index 00000000..beba3885 --- /dev/null +++ b/rust/docs/Dataset.md @@ -0,0 +1,20 @@ +# Dataset + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**data_path** | Option<[**models::DataPath**](DataPath.md)> | | [optional] +**description** | **String** | | +**display_name** | **String** | | +**id** | **uuid::Uuid** | | +**name** | **String** | | +**provenance** | Option<[**Vec**](Provenance.md)> | | [optional] +**result_descriptor** | [**models::TypedResultDescriptor**](TypedResultDescriptor.md) | | +**source_operator** | **String** | | +**symbology** | Option<[**models::Symbology**](Symbology.md)> | | [optional] +**tags** | Option<**Vec**> | | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/rust/docs/DatasetDefinition.md b/rust/docs/DatasetDefinition.md new file mode 100644 index 00000000..5398ae04 --- /dev/null +++ b/rust/docs/DatasetDefinition.md @@ -0,0 +1,12 @@ +# DatasetDefinition + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**meta_data** | [**models::MetaDataDefinition**](MetaDataDefinition.md) | | +**properties** | [**models::AddDataset**](AddDataset.md) | | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/rust/docs/DatasetLayerListingCollection.md b/rust/docs/DatasetLayerListingCollection.md new file mode 100644 index 00000000..4430595b --- /dev/null +++ b/rust/docs/DatasetLayerListingCollection.md @@ -0,0 +1,13 @@ +# DatasetLayerListingCollection + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**description** | **String** | | +**name** | **String** | | +**tags** | **Vec** | | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/rust/docs/DatasetLayerListingProviderDefinition.md b/rust/docs/DatasetLayerListingProviderDefinition.md new file mode 100644 index 00000000..8f0bb726 --- /dev/null +++ b/rust/docs/DatasetLayerListingProviderDefinition.md @@ -0,0 +1,16 @@ +# DatasetLayerListingProviderDefinition + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**collections** | [**Vec**](DatasetLayerListingCollection.md) | | +**description** | **String** | | +**id** | **uuid::Uuid** | | +**name** | **String** | | +**priority** | Option<**i32**> | | [optional] +**r#type** | **Type** | (enum: DatasetLayerListing) | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/rust/docs/DatasetListing.md b/rust/docs/DatasetListing.md new file mode 100644 index 00000000..769f6b03 --- /dev/null +++ b/rust/docs/DatasetListing.md @@ -0,0 +1,18 @@ +# DatasetListing + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**description** | **String** | | +**display_name** | **String** | | +**id** | **uuid::Uuid** | | +**name** | **String** | | +**result_descriptor** | [**models::TypedResultDescriptor**](TypedResultDescriptor.md) | | +**source_operator** | **String** | | +**symbology** | Option<[**models::Symbology**](Symbology.md)> | | [optional] +**tags** | **Vec** | | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/rust/docs/DatasetNameResponse.md b/rust/docs/DatasetNameResponse.md new file mode 100644 index 00000000..5929d1d2 --- /dev/null +++ b/rust/docs/DatasetNameResponse.md @@ -0,0 +1,11 @@ +# DatasetNameResponse + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**dataset_name** | **String** | | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/rust/docs/DatasetResource.md b/rust/docs/DatasetResource.md new file mode 100644 index 00000000..add158c0 --- /dev/null +++ b/rust/docs/DatasetResource.md @@ -0,0 +1,12 @@ +# DatasetResource + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**id** | **String** | | +**r#type** | **Type** | (enum: dataset) | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/rust/docs/DatasetsApi.md b/rust/docs/DatasetsApi.md new file mode 100644 index 00000000..397c822b --- /dev/null +++ b/rust/docs/DatasetsApi.md @@ -0,0 +1,421 @@ +# \DatasetsApi + +All URIs are relative to *https://geoengine.io/api* + +Method | HTTP request | Description +------------- | ------------- | ------------- +[**add_dataset_tiles_handler**](DatasetsApi.md#add_dataset_tiles_handler) | **POST** /dataset/{dataset}/tiles | Add a tile to a gdal dataset. +[**auto_create_dataset_handler**](DatasetsApi.md#auto_create_dataset_handler) | **POST** /dataset/auto | Creates a new dataset using previously uploaded files. The format of the files will be automatically detected when possible. +[**create_dataset_handler**](DatasetsApi.md#create_dataset_handler) | **POST** /dataset | Creates a new dataset referencing files. Users can reference previously uploaded files. Admins can reference files from a volume. +[**delete_dataset_handler**](DatasetsApi.md#delete_dataset_handler) | **DELETE** /dataset/{dataset} | Delete a dataset +[**get_dataset_handler**](DatasetsApi.md#get_dataset_handler) | **GET** /dataset/{dataset} | Retrieves details about a dataset using the internal name. +[**get_loading_info_handler**](DatasetsApi.md#get_loading_info_handler) | **GET** /dataset/{dataset}/loadingInfo | Retrieves the loading information of a dataset +[**list_datasets_handler**](DatasetsApi.md#list_datasets_handler) | **GET** /datasets | Lists available datasets. +[**list_volume_file_layers_handler**](DatasetsApi.md#list_volume_file_layers_handler) | **GET** /dataset/volumes/{volume_name}/files/{file_name}/layers | List the layers of a file in a volume. +[**list_volumes_handler**](DatasetsApi.md#list_volumes_handler) | **GET** /dataset/volumes | Lists available volumes. +[**suggest_meta_data_handler**](DatasetsApi.md#suggest_meta_data_handler) | **POST** /dataset/suggest | Inspects an upload and suggests metadata that can be used when creating a new dataset based on it. Tries to automatically detect the main file and layer name if not specified. +[**update_dataset_handler**](DatasetsApi.md#update_dataset_handler) | **POST** /dataset/{dataset} | Update details about a dataset using the internal name. +[**update_dataset_provenance_handler**](DatasetsApi.md#update_dataset_provenance_handler) | **PUT** /dataset/{dataset}/provenance | +[**update_dataset_symbology_handler**](DatasetsApi.md#update_dataset_symbology_handler) | **PUT** /dataset/{dataset}/symbology | Updates the dataset's symbology +[**update_loading_info_handler**](DatasetsApi.md#update_loading_info_handler) | **PUT** /dataset/{dataset}/loadingInfo | Updates the dataset's loading info + + + +## add_dataset_tiles_handler + +> add_dataset_tiles_handler(dataset, auto_create_dataset) +Add a tile to a gdal dataset. + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**dataset** | **String** | Dataset Name | [required] | +**auto_create_dataset** | [**AutoCreateDataset**](AutoCreateDataset.md) | | [required] | + +### Return type + + (empty response body) + +### Authorization + +[session_token](../README.md#session_token) + +### HTTP request headers + +- **Content-Type**: application/json +- **Accept**: Not defined + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## auto_create_dataset_handler + +> models::DatasetNameResponse auto_create_dataset_handler(auto_create_dataset) +Creates a new dataset using previously uploaded files. The format of the files will be automatically detected when possible. + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**auto_create_dataset** | [**AutoCreateDataset**](AutoCreateDataset.md) | | [required] | + +### Return type + +[**models::DatasetNameResponse**](DatasetNameResponse.md) + +### Authorization + +[session_token](../README.md#session_token) + +### HTTP request headers + +- **Content-Type**: application/json +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## create_dataset_handler + +> models::DatasetNameResponse create_dataset_handler(create_dataset) +Creates a new dataset referencing files. Users can reference previously uploaded files. Admins can reference files from a volume. + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**create_dataset** | [**CreateDataset**](CreateDataset.md) | | [required] | + +### Return type + +[**models::DatasetNameResponse**](DatasetNameResponse.md) + +### Authorization + +[session_token](../README.md#session_token) + +### HTTP request headers + +- **Content-Type**: application/json +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## delete_dataset_handler + +> delete_dataset_handler(dataset) +Delete a dataset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**dataset** | **String** | Dataset id | [required] | + +### Return type + + (empty response body) + +### Authorization + +[session_token](../README.md#session_token) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## get_dataset_handler + +> models::Dataset get_dataset_handler(dataset) +Retrieves details about a dataset using the internal name. + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**dataset** | **String** | Dataset Name | [required] | + +### Return type + +[**models::Dataset**](Dataset.md) + +### Authorization + +[session_token](../README.md#session_token) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## get_loading_info_handler + +> models::MetaDataDefinition get_loading_info_handler(dataset) +Retrieves the loading information of a dataset + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**dataset** | **String** | Dataset Name | [required] | + +### Return type + +[**models::MetaDataDefinition**](MetaDataDefinition.md) + +### Authorization + +[session_token](../README.md#session_token) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## list_datasets_handler + +> Vec list_datasets_handler(order, offset, limit, filter, tags) +Lists available datasets. + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**order** | [**OrderBy**](OrderBy.md) | | [required] | +**offset** | **i32** | | [required] | +**limit** | **i32** | | [required] | +**filter** | Option<**String**> | | | +**tags** | Option<[**Vec**](String.md)> | | | + +### Return type + +[**Vec**](DatasetListing.md) + +### Authorization + +[session_token](../README.md#session_token) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## list_volume_file_layers_handler + +> models::VolumeFileLayersResponse list_volume_file_layers_handler(volume_name, file_name) +List the layers of a file in a volume. + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**volume_name** | **String** | Volume name | [required] | +**file_name** | **String** | File name | [required] | + +### Return type + +[**models::VolumeFileLayersResponse**](VolumeFileLayersResponse.md) + +### Authorization + +[session_token](../README.md#session_token) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## list_volumes_handler + +> Vec list_volumes_handler() +Lists available volumes. + +### Parameters + +This endpoint does not need any parameter. + +### Return type + +[**Vec**](Volume.md) + +### Authorization + +[session_token](../README.md#session_token) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## suggest_meta_data_handler + +> models::MetaDataSuggestion suggest_meta_data_handler(suggest_meta_data) +Inspects an upload and suggests metadata that can be used when creating a new dataset based on it. Tries to automatically detect the main file and layer name if not specified. + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**suggest_meta_data** | [**SuggestMetaData**](SuggestMetaData.md) | | [required] | + +### Return type + +[**models::MetaDataSuggestion**](MetaDataSuggestion.md) + +### Authorization + +[session_token](../README.md#session_token) + +### HTTP request headers + +- **Content-Type**: application/json +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## update_dataset_handler + +> update_dataset_handler(dataset, update_dataset) +Update details about a dataset using the internal name. + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**dataset** | **String** | Dataset Name | [required] | +**update_dataset** | [**UpdateDataset**](UpdateDataset.md) | | [required] | + +### Return type + + (empty response body) + +### Authorization + +[session_token](../README.md#session_token) + +### HTTP request headers + +- **Content-Type**: application/json +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## update_dataset_provenance_handler + +> update_dataset_provenance_handler(dataset, provenances) + + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**dataset** | **String** | Dataset Name | [required] | +**provenances** | [**Provenances**](Provenances.md) | | [required] | + +### Return type + + (empty response body) + +### Authorization + +[session_token](../README.md#session_token) + +### HTTP request headers + +- **Content-Type**: application/json +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## update_dataset_symbology_handler + +> update_dataset_symbology_handler(dataset, symbology) +Updates the dataset's symbology + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**dataset** | **String** | Dataset Name | [required] | +**symbology** | [**Symbology**](Symbology.md) | | [required] | + +### Return type + + (empty response body) + +### Authorization + +[session_token](../README.md#session_token) + +### HTTP request headers + +- **Content-Type**: application/json +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## update_loading_info_handler + +> update_loading_info_handler(dataset, meta_data_definition) +Updates the dataset's loading info + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**dataset** | **String** | Dataset Name | [required] | +**meta_data_definition** | [**MetaDataDefinition**](MetaDataDefinition.md) | | [required] | + +### Return type + + (empty response body) + +### Authorization + +[session_token](../README.md#session_token) + +### HTTP request headers + +- **Content-Type**: application/json +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + diff --git a/rust/docs/Default.md b/rust/docs/Default.md new file mode 100644 index 00000000..37b97f17 --- /dev/null +++ b/rust/docs/Default.md @@ -0,0 +1,11 @@ +# Default + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**r#type** | **Type** | (enum: default) | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/rust/docs/DerivedColor.md b/rust/docs/DerivedColor.md new file mode 100644 index 00000000..79d78ce6 --- /dev/null +++ b/rust/docs/DerivedColor.md @@ -0,0 +1,13 @@ +# DerivedColor + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**attribute** | **String** | | +**colorizer** | [**models::Colorizer**](Colorizer.md) | | +**r#type** | **Type** | (enum: derived) | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/rust/docs/DerivedNumber.md b/rust/docs/DerivedNumber.md new file mode 100644 index 00000000..01e3c3f6 --- /dev/null +++ b/rust/docs/DerivedNumber.md @@ -0,0 +1,14 @@ +# DerivedNumber + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**attribute** | **String** | | +**default_value** | **f64** | | +**factor** | **f64** | | +**r#type** | **Type** | (enum: derived) | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/rust/docs/EbvPortalDataProviderDefinition.md b/rust/docs/EbvPortalDataProviderDefinition.md new file mode 100644 index 00000000..90946c43 --- /dev/null +++ b/rust/docs/EbvPortalDataProviderDefinition.md @@ -0,0 +1,18 @@ +# EbvPortalDataProviderDefinition + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**base_url** | **String** | | +**cache_ttl** | Option<**i32**> | | [optional] +**data** | **String** | Path were the `NetCDF` data can be found | +**description** | **String** | | +**name** | **String** | | +**overviews** | **String** | Path were overview files are stored | +**priority** | Option<**i32**> | | [optional] +**r#type** | **Type** | (enum: EbvPortal) | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/rust/docs/EdrDataProviderDefinition.md b/rust/docs/EdrDataProviderDefinition.md new file mode 100644 index 00000000..e106f823 --- /dev/null +++ b/rust/docs/EdrDataProviderDefinition.md @@ -0,0 +1,20 @@ +# EdrDataProviderDefinition + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**base_url** | **String** | | +**cache_ttl** | Option<**i32**> | | [optional] +**description** | **String** | | +**discrete_vrs** | Option<**Vec**> | List of vertical reference systems with a discrete scale | [optional] +**id** | **uuid::Uuid** | | +**name** | **String** | | +**priority** | Option<**i32**> | | [optional] +**provenance** | Option<[**Vec**](Provenance.md)> | | [optional] +**r#type** | **Type** | (enum: Edr) | +**vector_spec** | Option<[**models::EdrVectorSpec**](EdrVectorSpec.md)> | | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/rust/docs/EdrVectorSpec.md b/rust/docs/EdrVectorSpec.md new file mode 100644 index 00000000..e62a7a7c --- /dev/null +++ b/rust/docs/EdrVectorSpec.md @@ -0,0 +1,13 @@ +# EdrVectorSpec + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**time** | **String** | | +**x** | **String** | | +**y** | Option<**String**> | | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/rust/docs/ErrorResponse.md b/rust/docs/ErrorResponse.md new file mode 100644 index 00000000..542f616e --- /dev/null +++ b/rust/docs/ErrorResponse.md @@ -0,0 +1,12 @@ +# ErrorResponse + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**error** | **String** | | +**message** | **String** | | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/rust/docs/Expression.md b/rust/docs/Expression.md new file mode 100644 index 00000000..7c296a4e --- /dev/null +++ b/rust/docs/Expression.md @@ -0,0 +1,13 @@ +# Expression + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**params** | [**models::ExpressionParameters**](ExpressionParameters.md) | | +**sources** | [**models::SingleRasterSource**](SingleRasterSource.md) | | +**r#type** | **Type** | (enum: Expression) | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/rust/docs/ExpressionParameters.md b/rust/docs/ExpressionParameters.md new file mode 100644 index 00000000..647e1198 --- /dev/null +++ b/rust/docs/ExpressionParameters.md @@ -0,0 +1,14 @@ +# ExpressionParameters + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**expression** | **String** | Expression script Example: `\"(A - B) / (A + B)\"` | +**map_no_data** | **bool** | Should NO DATA values be mapped with the `expression`? Otherwise, they are mapped automatically to NO DATA. | +**output_band** | Option<[**models::RasterBandDescriptor**](RasterBandDescriptor.md)> | Description about the output | [optional] +**output_type** | [**models::RasterDataType**](RasterDataType.md) | A raster data type for the output | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/rust/docs/ExternalDataId.md b/rust/docs/ExternalDataId.md new file mode 100644 index 00000000..b2a43625 --- /dev/null +++ b/rust/docs/ExternalDataId.md @@ -0,0 +1,13 @@ +# ExternalDataId + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**layer_id** | **String** | | +**provider_id** | **uuid::Uuid** | | +**r#type** | **Type** | (enum: external) | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/rust/docs/FeatureAggregationMethod.md b/rust/docs/FeatureAggregationMethod.md new file mode 100644 index 00000000..4882a556 --- /dev/null +++ b/rust/docs/FeatureAggregationMethod.md @@ -0,0 +1,13 @@ +# FeatureAggregationMethod + +## Enum Variants + +| Name | Value | +|---- | -----| +| First | first | +| Mean | mean | + + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/rust/docs/FeatureDataType.md b/rust/docs/FeatureDataType.md new file mode 100644 index 00000000..0c85b7ab --- /dev/null +++ b/rust/docs/FeatureDataType.md @@ -0,0 +1,17 @@ +# FeatureDataType + +## Enum Variants + +| Name | Value | +|---- | -----| +| Category | category | +| Int | int | +| Float | float | +| Text | text | +| Bool | bool | +| DateTime | dateTime | + + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/rust/docs/FileNotFoundHandling.md b/rust/docs/FileNotFoundHandling.md new file mode 100644 index 00000000..f47eb76c --- /dev/null +++ b/rust/docs/FileNotFoundHandling.md @@ -0,0 +1,13 @@ +# FileNotFoundHandling + +## Enum Variants + +| Name | Value | +|---- | -----| +| NoData | NoData | +| Error | Error | + + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/rust/docs/FormatSpecifics.md b/rust/docs/FormatSpecifics.md new file mode 100644 index 00000000..56c247fc --- /dev/null +++ b/rust/docs/FormatSpecifics.md @@ -0,0 +1,11 @@ +# FormatSpecifics + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**csv** | [**models::FormatSpecificsCsv**](FormatSpecificsCsv.md) | | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/rust/docs/FormatSpecificsCsv.md b/rust/docs/FormatSpecificsCsv.md new file mode 100644 index 00000000..cc05f22b --- /dev/null +++ b/rust/docs/FormatSpecificsCsv.md @@ -0,0 +1,11 @@ +# FormatSpecificsCsv + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**header** | [**models::CsvHeader**](CsvHeader.md) | | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/rust/docs/GbifDataProviderDefinition.md b/rust/docs/GbifDataProviderDefinition.md new file mode 100644 index 00000000..5c7b4baf --- /dev/null +++ b/rust/docs/GbifDataProviderDefinition.md @@ -0,0 +1,18 @@ +# GbifDataProviderDefinition + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**autocomplete_timeout** | **i32** | | +**cache_ttl** | Option<**i32**> | | [optional] +**columns** | **Vec** | | +**db_config** | [**models::DatabaseConnectionConfig**](DatabaseConnectionConfig.md) | | +**description** | **String** | | +**name** | **String** | | +**priority** | Option<**i32**> | | [optional] +**r#type** | **Type** | (enum: Gbif) | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/rust/docs/GdalDatasetParameters.md b/rust/docs/GdalDatasetParameters.md new file mode 100644 index 00000000..d40e741b --- /dev/null +++ b/rust/docs/GdalDatasetParameters.md @@ -0,0 +1,21 @@ +# GdalDatasetParameters + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**allow_alphaband_as_mask** | Option<**bool**> | | [optional] +**file_not_found_handling** | [**models::FileNotFoundHandling**](FileNotFoundHandling.md) | | +**file_path** | **String** | | +**gdal_config_options** | Option<[**Vec>**](Vec.md)> | | [optional] +**gdal_open_options** | Option<**Vec**> | | [optional] +**geo_transform** | [**models::GeoTransform**](GeoTransform.md) | | +**height** | **i32** | | +**no_data_value** | Option<**f64**> | | [optional] +**properties_mapping** | Option<[**Vec**](GdalMetadataMapping.md)> | | [optional] +**rasterband_channel** | **i32** | | +**width** | **i32** | | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/rust/docs/GdalLoadingInfoTemporalSlice.md b/rust/docs/GdalLoadingInfoTemporalSlice.md new file mode 100644 index 00000000..8fcd7185 --- /dev/null +++ b/rust/docs/GdalLoadingInfoTemporalSlice.md @@ -0,0 +1,13 @@ +# GdalLoadingInfoTemporalSlice + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**cache_ttl** | Option<**i32**> | | [optional] +**params** | Option<[**models::GdalDatasetParameters**](GdalDatasetParameters.md)> | | [optional] +**time** | [**models::TimeInterval**](TimeInterval.md) | | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/rust/docs/GdalMetaDataList.md b/rust/docs/GdalMetaDataList.md new file mode 100644 index 00000000..9a0c3e96 --- /dev/null +++ b/rust/docs/GdalMetaDataList.md @@ -0,0 +1,13 @@ +# GdalMetaDataList + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**params** | [**Vec**](GdalLoadingInfoTemporalSlice.md) | | +**result_descriptor** | [**models::RasterResultDescriptor**](RasterResultDescriptor.md) | | +**r#type** | **Type** | (enum: GdalMetaDataList) | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/rust/docs/GdalMetaDataRegular.md b/rust/docs/GdalMetaDataRegular.md new file mode 100644 index 00000000..a275e9d3 --- /dev/null +++ b/rust/docs/GdalMetaDataRegular.md @@ -0,0 +1,17 @@ +# GdalMetaDataRegular + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**cache_ttl** | Option<**i32**> | | [optional] +**data_time** | [**models::TimeInterval**](TimeInterval.md) | | +**params** | [**models::GdalDatasetParameters**](GdalDatasetParameters.md) | | +**result_descriptor** | [**models::RasterResultDescriptor**](RasterResultDescriptor.md) | | +**step** | [**models::TimeStep**](TimeStep.md) | | +**time_placeholders** | [**std::collections::HashMap**](GdalSourceTimePlaceholder.md) | | +**r#type** | **Type** | (enum: GdalMetaDataRegular) | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/rust/docs/GdalMetaDataStatic.md b/rust/docs/GdalMetaDataStatic.md new file mode 100644 index 00000000..89b159f9 --- /dev/null +++ b/rust/docs/GdalMetaDataStatic.md @@ -0,0 +1,15 @@ +# GdalMetaDataStatic + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**cache_ttl** | Option<**i32**> | | [optional] +**params** | [**models::GdalDatasetParameters**](GdalDatasetParameters.md) | | +**result_descriptor** | [**models::RasterResultDescriptor**](RasterResultDescriptor.md) | | +**time** | Option<[**models::TimeInterval**](TimeInterval.md)> | | [optional] +**r#type** | **Type** | (enum: GdalStatic) | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/rust/docs/GdalMetadataMapping.md b/rust/docs/GdalMetadataMapping.md new file mode 100644 index 00000000..3f58bf9b --- /dev/null +++ b/rust/docs/GdalMetadataMapping.md @@ -0,0 +1,13 @@ +# GdalMetadataMapping + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**source_key** | [**models::RasterPropertiesKey**](RasterPropertiesKey.md) | | +**target_key** | [**models::RasterPropertiesKey**](RasterPropertiesKey.md) | | +**target_type** | [**models::RasterPropertiesEntryType**](RasterPropertiesEntryType.md) | | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/rust/docs/GdalMetadataNetCdfCf.md b/rust/docs/GdalMetadataNetCdfCf.md new file mode 100644 index 00000000..47f48525 --- /dev/null +++ b/rust/docs/GdalMetadataNetCdfCf.md @@ -0,0 +1,18 @@ +# GdalMetadataNetCdfCf + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**band_offset** | **i32** | A band offset specifies the first band index to use for the first point in time. All other time steps are added to this offset. | +**cache_ttl** | Option<**i32**> | | [optional] +**end** | **i64** | We use the end to specify the last, non-inclusive valid time point. Queries behind this point return no data. TODO: Alternatively, we could think about using the number of possible time steps in the future. | +**params** | [**models::GdalDatasetParameters**](GdalDatasetParameters.md) | | +**result_descriptor** | [**models::RasterResultDescriptor**](RasterResultDescriptor.md) | | +**start** | **i64** | | +**step** | [**models::TimeStep**](TimeStep.md) | | +**r#type** | **Type** | (enum: GdalMetaDataNetCdfCf) | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/rust/docs/GdalMultiBand.md b/rust/docs/GdalMultiBand.md new file mode 100644 index 00000000..b89ea2e4 --- /dev/null +++ b/rust/docs/GdalMultiBand.md @@ -0,0 +1,12 @@ +# GdalMultiBand + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**result_descriptor** | [**models::RasterResultDescriptor**](RasterResultDescriptor.md) | | +**r#type** | **Type** | (enum: GdalMultiBand) | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/rust/docs/GdalSource.md b/rust/docs/GdalSource.md new file mode 100644 index 00000000..8c476735 --- /dev/null +++ b/rust/docs/GdalSource.md @@ -0,0 +1,12 @@ +# GdalSource + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**params** | [**models::GdalSourceParameters**](GdalSourceParameters.md) | | +**r#type** | **Type** | (enum: GdalSource) | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/rust/docs/GdalSourceParameters.md b/rust/docs/GdalSourceParameters.md new file mode 100644 index 00000000..a0448955 --- /dev/null +++ b/rust/docs/GdalSourceParameters.md @@ -0,0 +1,12 @@ +# GdalSourceParameters + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**data** | **String** | Dataset name or identifier to be loaded. | +**overview_level** | Option<**i32**> | *Optional*: overview level to use. If not provided, the data source will determine the resolution, i.e., uses its native resolution. | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/rust/docs/GdalSourceTimePlaceholder.md b/rust/docs/GdalSourceTimePlaceholder.md new file mode 100644 index 00000000..cadaa2aa --- /dev/null +++ b/rust/docs/GdalSourceTimePlaceholder.md @@ -0,0 +1,12 @@ +# GdalSourceTimePlaceholder + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**format** | **String** | | +**reference** | [**models::TimeReference**](TimeReference.md) | | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/rust/docs/GeneralApi.md b/rust/docs/GeneralApi.md new file mode 100644 index 00000000..5dc1ae73 --- /dev/null +++ b/rust/docs/GeneralApi.md @@ -0,0 +1,60 @@ +# \GeneralApi + +All URIs are relative to *https://geoengine.io/api* + +Method | HTTP request | Description +------------- | ------------- | ------------- +[**available_handler**](GeneralApi.md#available_handler) | **GET** /available | Server availablity check. +[**server_info_handler**](GeneralApi.md#server_info_handler) | **GET** /info | Shows information about the server software version. + + + +## available_handler + +> available_handler() +Server availablity check. + +### Parameters + +This endpoint does not need any parameter. + +### Return type + + (empty response body) + +### Authorization + +No authorization required + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: Not defined + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## server_info_handler + +> models::ServerInfo server_info_handler() +Shows information about the server software version. + +### Parameters + +This endpoint does not need any parameter. + +### Return type + +[**models::ServerInfo**](ServerInfo.md) + +### Authorization + +No authorization required + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + diff --git a/rust/docs/GeoJson.md b/rust/docs/GeoJson.md new file mode 100644 index 00000000..7aeff428 --- /dev/null +++ b/rust/docs/GeoJson.md @@ -0,0 +1,12 @@ +# GeoJson + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**features** | **Vec** | | +**r#type** | [**models::CollectionType**](CollectionType.md) | | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/rust/docs/GeoTransform.md b/rust/docs/GeoTransform.md new file mode 100644 index 00000000..7343f4de --- /dev/null +++ b/rust/docs/GeoTransform.md @@ -0,0 +1,13 @@ +# GeoTransform + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**origin_coordinate** | [**models::Coordinate2D**](Coordinate2D.md) | | +**x_pixel_size** | **f64** | | +**y_pixel_size** | **f64** | | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/rust/docs/GetCoverageFormat.md b/rust/docs/GetCoverageFormat.md new file mode 100644 index 00000000..bf25853e --- /dev/null +++ b/rust/docs/GetCoverageFormat.md @@ -0,0 +1,12 @@ +# GetCoverageFormat + +## Enum Variants + +| Name | Value | +|---- | -----| +| ImageSlashTiff | image/tiff | + + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/rust/docs/GetMapExceptionFormat.md b/rust/docs/GetMapExceptionFormat.md new file mode 100644 index 00000000..5ae2ef96 --- /dev/null +++ b/rust/docs/GetMapExceptionFormat.md @@ -0,0 +1,13 @@ +# GetMapExceptionFormat + +## Enum Variants + +| Name | Value | +|---- | -----| +| Xml | XML | +| Json | JSON | + + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/rust/docs/GfbioAbcdDataProviderDefinition.md b/rust/docs/GfbioAbcdDataProviderDefinition.md new file mode 100644 index 00000000..a4d886ab --- /dev/null +++ b/rust/docs/GfbioAbcdDataProviderDefinition.md @@ -0,0 +1,16 @@ +# GfbioAbcdDataProviderDefinition + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**cache_ttl** | Option<**i32**> | | [optional] +**db_config** | [**models::DatabaseConnectionConfig**](DatabaseConnectionConfig.md) | | +**description** | **String** | | +**name** | **String** | | +**priority** | Option<**i32**> | | [optional] +**r#type** | **Type** | (enum: GfbioAbcd) | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/rust/docs/GfbioCollectionsDataProviderDefinition.md b/rust/docs/GfbioCollectionsDataProviderDefinition.md new file mode 100644 index 00000000..962447a5 --- /dev/null +++ b/rust/docs/GfbioCollectionsDataProviderDefinition.md @@ -0,0 +1,19 @@ +# GfbioCollectionsDataProviderDefinition + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**abcd_db_config** | [**models::DatabaseConnectionConfig**](DatabaseConnectionConfig.md) | | +**cache_ttl** | Option<**i32**> | | [optional] +**collection_api_auth_token** | **String** | | +**collection_api_url** | **String** | | +**description** | **String** | | +**name** | **String** | | +**pangaea_url** | **String** | | +**priority** | Option<**i32**> | | [optional] +**r#type** | **Type** | (enum: GfbioCollections) | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/rust/docs/GridBoundingBox2D.md b/rust/docs/GridBoundingBox2D.md new file mode 100644 index 00000000..dd323f87 --- /dev/null +++ b/rust/docs/GridBoundingBox2D.md @@ -0,0 +1,12 @@ +# GridBoundingBox2D + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**bottom_right_idx** | [**models::GridIdx2D**](GridIdx2D.md) | | +**top_left_idx** | [**models::GridIdx2D**](GridIdx2D.md) | | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/rust/docs/GridIdx2D.md b/rust/docs/GridIdx2D.md new file mode 100644 index 00000000..a64cbe10 --- /dev/null +++ b/rust/docs/GridIdx2D.md @@ -0,0 +1,12 @@ +# GridIdx2D + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**x_idx** | **i32** | | +**y_idx** | **i32** | | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/rust/docs/Histogram.md b/rust/docs/Histogram.md new file mode 100644 index 00000000..5a4d1ae1 --- /dev/null +++ b/rust/docs/Histogram.md @@ -0,0 +1,13 @@ +# Histogram + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**params** | [**models::HistogramParameters**](HistogramParameters.md) | | +**sources** | [**models::SingleRasterOrVectorSource**](SingleRasterOrVectorSource.md) | | +**r#type** | **Type** | (enum: Histogram) | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/rust/docs/HistogramBounds.md b/rust/docs/HistogramBounds.md new file mode 100644 index 00000000..117989d9 --- /dev/null +++ b/rust/docs/HistogramBounds.md @@ -0,0 +1,12 @@ +# HistogramBounds + +## Enum Variants + +| Name | Description | +|---- | -----| +| HistogramBoundsOneOf | | +| HistogramBoundsOneOf1 | | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/rust/docs/HistogramBoundsOneOf.md b/rust/docs/HistogramBoundsOneOf.md new file mode 100644 index 00000000..53ab614d --- /dev/null +++ b/rust/docs/HistogramBoundsOneOf.md @@ -0,0 +1,11 @@ +# HistogramBoundsOneOf + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**data** | Option<**serde_json::Value**> | | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/rust/docs/HistogramBoundsOneOf1.md b/rust/docs/HistogramBoundsOneOf1.md new file mode 100644 index 00000000..c2df953f --- /dev/null +++ b/rust/docs/HistogramBoundsOneOf1.md @@ -0,0 +1,11 @@ +# HistogramBoundsOneOf1 + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**values** | [**models::HistogramBoundsOneOf1Values**](HistogramBoundsOneOf1Values.md) | | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/rust/docs/HistogramBoundsOneOf1Values.md b/rust/docs/HistogramBoundsOneOf1Values.md new file mode 100644 index 00000000..d36c0f09 --- /dev/null +++ b/rust/docs/HistogramBoundsOneOf1Values.md @@ -0,0 +1,12 @@ +# HistogramBoundsOneOf1Values + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**max** | **f64** | | +**min** | **f64** | | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/rust/docs/HistogramBuckets.md b/rust/docs/HistogramBuckets.md new file mode 100644 index 00000000..a2941e57 --- /dev/null +++ b/rust/docs/HistogramBuckets.md @@ -0,0 +1,12 @@ +# HistogramBuckets + +## Enum Variants + +| Name | Description | +|---- | -----| +| HistogramBucketsOneOf | | +| HistogramBucketsOneOf1 | | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/rust/docs/HistogramBucketsOneOf.md b/rust/docs/HistogramBucketsOneOf.md new file mode 100644 index 00000000..fcb525b2 --- /dev/null +++ b/rust/docs/HistogramBucketsOneOf.md @@ -0,0 +1,12 @@ +# HistogramBucketsOneOf + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**r#type** | **Type** | (enum: number) | +**value** | **i32** | | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/rust/docs/HistogramBucketsOneOf1.md b/rust/docs/HistogramBucketsOneOf1.md new file mode 100644 index 00000000..d69d8aff --- /dev/null +++ b/rust/docs/HistogramBucketsOneOf1.md @@ -0,0 +1,12 @@ +# HistogramBucketsOneOf1 + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**max_number_of_buckets** | Option<**i32**> | | [optional] +**r#type** | **Type** | (enum: squareRootChoiceRule) | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/rust/docs/HistogramParameters.md b/rust/docs/HistogramParameters.md new file mode 100644 index 00000000..e090a2ac --- /dev/null +++ b/rust/docs/HistogramParameters.md @@ -0,0 +1,14 @@ +# HistogramParameters + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**attribute_name** | **String** | Name of the (numeric) vector attribute or raster band to compute the histogram on. | +**bounds** | [**models::HistogramBounds**](HistogramBounds.md) | If `data`, it computes the bounds of the underlying data. If `values`, one can specify custom bounds. | +**buckets** | [**models::HistogramBuckets**](HistogramBuckets.md) | The number of buckets. The value can be specified or calculated. | +**interactive** | Option<**bool**> | Flag, if the histogram should have user interactions for a range selection. It is `false` by default. | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/rust/docs/IdResponse.md b/rust/docs/IdResponse.md new file mode 100644 index 00000000..8c24af82 --- /dev/null +++ b/rust/docs/IdResponse.md @@ -0,0 +1,11 @@ +# IdResponse + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**id** | **uuid::Uuid** | | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/rust/docs/InternalDataId.md b/rust/docs/InternalDataId.md new file mode 100644 index 00000000..828dec5a --- /dev/null +++ b/rust/docs/InternalDataId.md @@ -0,0 +1,12 @@ +# InternalDataId + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**dataset_id** | **uuid::Uuid** | | +**r#type** | **Type** | (enum: internal) | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/rust/docs/Layer.md b/rust/docs/Layer.md new file mode 100644 index 00000000..41615911 --- /dev/null +++ b/rust/docs/Layer.md @@ -0,0 +1,17 @@ +# Layer + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**description** | **String** | | +**id** | [**models::ProviderLayerId**](ProviderLayerId.md) | | +**metadata** | Option<**std::collections::HashMap**> | metadata used for loading the data | [optional] +**name** | **String** | | +**properties** | Option<[**Vec>**](Vec.md)> | properties, for instance, to be rendered in the UI | [optional] +**symbology** | Option<[**models::Symbology**](Symbology.md)> | | [optional] +**workflow** | [**models::Workflow**](Workflow.md) | | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/rust/docs/LayerCollection.md b/rust/docs/LayerCollection.md new file mode 100644 index 00000000..ded86c42 --- /dev/null +++ b/rust/docs/LayerCollection.md @@ -0,0 +1,16 @@ +# LayerCollection + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**description** | **String** | | +**entry_label** | Option<**String**> | a common label for the collection's entries, if there is any | [optional] +**id** | [**models::ProviderLayerCollectionId**](ProviderLayerCollectionId.md) | | +**items** | [**Vec**](CollectionItem.md) | | +**name** | **String** | | +**properties** | [**Vec>**](Vec.md) | | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/rust/docs/LayerCollectionListing.md b/rust/docs/LayerCollectionListing.md new file mode 100644 index 00000000..7cffaf79 --- /dev/null +++ b/rust/docs/LayerCollectionListing.md @@ -0,0 +1,15 @@ +# LayerCollectionListing + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**description** | **String** | | +**id** | [**models::ProviderLayerCollectionId**](ProviderLayerCollectionId.md) | | +**name** | **String** | | +**properties** | Option<[**Vec>**](Vec.md)> | | [optional] +**r#type** | **Type** | (enum: collection) | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/rust/docs/LayerCollectionResource.md b/rust/docs/LayerCollectionResource.md new file mode 100644 index 00000000..68b62cf8 --- /dev/null +++ b/rust/docs/LayerCollectionResource.md @@ -0,0 +1,12 @@ +# LayerCollectionResource + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**id** | **String** | | +**r#type** | **Type** | (enum: layerCollection) | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/rust/docs/LayerListing.md b/rust/docs/LayerListing.md new file mode 100644 index 00000000..c5e75f91 --- /dev/null +++ b/rust/docs/LayerListing.md @@ -0,0 +1,15 @@ +# LayerListing + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**description** | **String** | | +**id** | [**models::ProviderLayerId**](ProviderLayerId.md) | | +**name** | **String** | | +**properties** | Option<[**Vec>**](Vec.md)> | properties, for instance, to be rendered in the UI | [optional] +**r#type** | **Type** | (enum: layer) | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/rust/docs/LayerProviderListing.md b/rust/docs/LayerProviderListing.md new file mode 100644 index 00000000..3e3d73a3 --- /dev/null +++ b/rust/docs/LayerProviderListing.md @@ -0,0 +1,13 @@ +# LayerProviderListing + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**id** | **uuid::Uuid** | | +**name** | **String** | | +**priority** | **i32** | | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/rust/docs/LayerResource.md b/rust/docs/LayerResource.md new file mode 100644 index 00000000..434db65b --- /dev/null +++ b/rust/docs/LayerResource.md @@ -0,0 +1,12 @@ +# LayerResource + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**id** | **String** | | +**r#type** | **Type** | (enum: layer) | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/rust/docs/LayerVisibility.md b/rust/docs/LayerVisibility.md new file mode 100644 index 00000000..b18b459d --- /dev/null +++ b/rust/docs/LayerVisibility.md @@ -0,0 +1,12 @@ +# LayerVisibility + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**data** | **bool** | | +**legend** | **bool** | | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/rust/docs/LayersApi.md b/rust/docs/LayersApi.md new file mode 100644 index 00000000..438df541 --- /dev/null +++ b/rust/docs/LayersApi.md @@ -0,0 +1,702 @@ +# \LayersApi + +All URIs are relative to *https://geoengine.io/api* + +Method | HTTP request | Description +------------- | ------------- | ------------- +[**add_collection**](LayersApi.md#add_collection) | **POST** /layerDb/collections/{collection}/collections | Add a new collection to an existing collection +[**add_existing_collection_to_collection**](LayersApi.md#add_existing_collection_to_collection) | **POST** /layerDb/collections/{parent}/collections/{collection} | Add an existing collection to a collection +[**add_existing_layer_to_collection**](LayersApi.md#add_existing_layer_to_collection) | **POST** /layerDb/collections/{collection}/layers/{layer} | Add an existing layer to a collection +[**add_layer**](LayersApi.md#add_layer) | **POST** /layerDb/collections/{collection}/layers | Add a new layer to a collection +[**add_provider**](LayersApi.md#add_provider) | **POST** /layerDb/providers | Add a new provider +[**autocomplete_handler**](LayersApi.md#autocomplete_handler) | **GET** /layers/collections/search/autocomplete/{provider}/{collection} | Autocompletes the search on the contents of the collection of the given provider +[**delete_provider**](LayersApi.md#delete_provider) | **DELETE** /layerDb/providers/{provider} | Delete an existing provider +[**get_provider_definition**](LayersApi.md#get_provider_definition) | **GET** /layerDb/providers/{provider} | Get an existing provider's definition +[**layer_handler**](LayersApi.md#layer_handler) | **GET** /layers/{provider}/{layer} | Retrieves the layer of the given provider +[**layer_to_dataset**](LayersApi.md#layer_to_dataset) | **POST** /layers/{provider}/{layer}/dataset | Persist a raster layer from a provider as a dataset. +[**layer_to_workflow_id_handler**](LayersApi.md#layer_to_workflow_id_handler) | **POST** /layers/{provider}/{layer}/workflowId | Registers a layer from a provider as a workflow and returns the workflow id +[**list_collection_handler**](LayersApi.md#list_collection_handler) | **GET** /layers/collections/{provider}/{collection} | List the contents of the collection of the given provider +[**list_providers**](LayersApi.md#list_providers) | **GET** /layerDb/providers | List all providers +[**list_root_collections_handler**](LayersApi.md#list_root_collections_handler) | **GET** /layers/collections | List all layer collections +[**provider_capabilities_handler**](LayersApi.md#provider_capabilities_handler) | **GET** /layers/{provider}/capabilities | +[**remove_collection**](LayersApi.md#remove_collection) | **DELETE** /layerDb/collections/{collection} | Remove a collection +[**remove_collection_from_collection**](LayersApi.md#remove_collection_from_collection) | **DELETE** /layerDb/collections/{parent}/collections/{collection} | Delete a collection from a collection +[**remove_layer**](LayersApi.md#remove_layer) | **DELETE** /layerDb/layers/{layer} | Remove a collection +[**remove_layer_from_collection**](LayersApi.md#remove_layer_from_collection) | **DELETE** /layerDb/collections/{collection}/layers/{layer} | Remove a layer from a collection +[**search_handler**](LayersApi.md#search_handler) | **GET** /layers/collections/search/{provider}/{collection} | Searches the contents of the collection of the given provider +[**update_collection**](LayersApi.md#update_collection) | **PUT** /layerDb/collections/{collection} | Update a collection +[**update_layer**](LayersApi.md#update_layer) | **PUT** /layerDb/layers/{layer} | Update a layer +[**update_provider_definition**](LayersApi.md#update_provider_definition) | **PUT** /layerDb/providers/{provider} | Update an existing provider's definition + + + +## add_collection + +> models::IdResponse add_collection(collection, add_layer_collection) +Add a new collection to an existing collection + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**collection** | **String** | Layer collection id | [required] | +**add_layer_collection** | [**AddLayerCollection**](AddLayerCollection.md) | | [required] | + +### Return type + +[**models::IdResponse**](IdResponse.md) + +### Authorization + +[session_token](../README.md#session_token) + +### HTTP request headers + +- **Content-Type**: application/json +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## add_existing_collection_to_collection + +> add_existing_collection_to_collection(parent, collection) +Add an existing collection to a collection + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**parent** | **String** | Parent layer collection id | [required] | +**collection** | **String** | Layer collection id | [required] | + +### Return type + + (empty response body) + +### Authorization + +[session_token](../README.md#session_token) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: Not defined + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## add_existing_layer_to_collection + +> add_existing_layer_to_collection(collection, layer) +Add an existing layer to a collection + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**collection** | **String** | Layer collection id | [required] | +**layer** | **String** | Layer id | [required] | + +### Return type + + (empty response body) + +### Authorization + +[session_token](../README.md#session_token) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: Not defined + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## add_layer + +> models::IdResponse add_layer(collection, add_layer) +Add a new layer to a collection + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**collection** | **String** | Layer collection id | [required] | +**add_layer** | [**AddLayer**](AddLayer.md) | | [required] | + +### Return type + +[**models::IdResponse**](IdResponse.md) + +### Authorization + +[session_token](../README.md#session_token) + +### HTTP request headers + +- **Content-Type**: application/json +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## add_provider + +> models::IdResponse add_provider(typed_data_provider_definition) +Add a new provider + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**typed_data_provider_definition** | [**TypedDataProviderDefinition**](TypedDataProviderDefinition.md) | | [required] | + +### Return type + +[**models::IdResponse**](IdResponse.md) + +### Authorization + +[session_token](../README.md#session_token) + +### HTTP request headers + +- **Content-Type**: application/json +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## autocomplete_handler + +> Vec autocomplete_handler(provider, collection, search_type, search_string, limit, offset) +Autocompletes the search on the contents of the collection of the given provider + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**provider** | **uuid::Uuid** | Data provider id | [required] | +**collection** | **String** | Layer collection id | [required] | +**search_type** | [**SearchType**](SearchType.md) | | [required] | +**search_string** | **String** | | [required] | +**limit** | **i32** | | [required] | +**offset** | **i32** | | [required] | + +### Return type + +**Vec** + +### Authorization + +[session_token](../README.md#session_token) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## delete_provider + +> delete_provider(provider) +Delete an existing provider + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**provider** | **uuid::Uuid** | Layer provider id | [required] | + +### Return type + + (empty response body) + +### Authorization + +[session_token](../README.md#session_token) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: Not defined + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## get_provider_definition + +> models::TypedDataProviderDefinition get_provider_definition(provider) +Get an existing provider's definition + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**provider** | **uuid::Uuid** | Layer provider id | [required] | + +### Return type + +[**models::TypedDataProviderDefinition**](TypedDataProviderDefinition.md) + +### Authorization + +[session_token](../README.md#session_token) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## layer_handler + +> models::Layer layer_handler(provider, layer) +Retrieves the layer of the given provider + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**provider** | **uuid::Uuid** | Data provider id | [required] | +**layer** | **String** | Layer id | [required] | + +### Return type + +[**models::Layer**](Layer.md) + +### Authorization + +[session_token](../README.md#session_token) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## layer_to_dataset + +> models::TaskResponse layer_to_dataset(provider, layer) +Persist a raster layer from a provider as a dataset. + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**provider** | **uuid::Uuid** | Data provider id | [required] | +**layer** | **String** | Layer id | [required] | + +### Return type + +[**models::TaskResponse**](TaskResponse.md) + +### Authorization + +[session_token](../README.md#session_token) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## layer_to_workflow_id_handler + +> models::IdResponse layer_to_workflow_id_handler(provider, layer) +Registers a layer from a provider as a workflow and returns the workflow id + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**provider** | **uuid::Uuid** | Data provider id | [required] | +**layer** | **String** | Layer id | [required] | + +### Return type + +[**models::IdResponse**](IdResponse.md) + +### Authorization + +[session_token](../README.md#session_token) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## list_collection_handler + +> models::LayerCollection list_collection_handler(provider, collection, offset, limit) +List the contents of the collection of the given provider + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**provider** | **uuid::Uuid** | Data provider id | [required] | +**collection** | **String** | Layer collection id | [required] | +**offset** | **i32** | | [required] | +**limit** | **i32** | | [required] | + +### Return type + +[**models::LayerCollection**](LayerCollection.md) + +### Authorization + +[session_token](../README.md#session_token) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## list_providers + +> Vec list_providers(offset, limit) +List all providers + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**offset** | **i32** | | [required] | +**limit** | **i32** | | [required] | + +### Return type + +[**Vec**](LayerProviderListing.md) + +### Authorization + +[session_token](../README.md#session_token) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## list_root_collections_handler + +> models::LayerCollection list_root_collections_handler(offset, limit) +List all layer collections + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**offset** | **i32** | | [required] | +**limit** | **i32** | | [required] | + +### Return type + +[**models::LayerCollection**](LayerCollection.md) + +### Authorization + +[session_token](../README.md#session_token) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## provider_capabilities_handler + +> models::ProviderCapabilities provider_capabilities_handler(provider) + + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**provider** | **uuid::Uuid** | Data provider id | [required] | + +### Return type + +[**models::ProviderCapabilities**](ProviderCapabilities.md) + +### Authorization + +[session_token](../README.md#session_token) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## remove_collection + +> remove_collection(collection) +Remove a collection + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**collection** | **String** | Layer collection id | [required] | + +### Return type + + (empty response body) + +### Authorization + +[session_token](../README.md#session_token) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: Not defined + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## remove_collection_from_collection + +> remove_collection_from_collection(parent, collection) +Delete a collection from a collection + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**parent** | **String** | Parent layer collection id | [required] | +**collection** | **String** | Layer collection id | [required] | + +### Return type + + (empty response body) + +### Authorization + +[session_token](../README.md#session_token) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: Not defined + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## remove_layer + +> remove_layer(layer) +Remove a collection + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**layer** | **String** | Layer id | [required] | + +### Return type + + (empty response body) + +### Authorization + +[session_token](../README.md#session_token) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: Not defined + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## remove_layer_from_collection + +> remove_layer_from_collection(collection, layer) +Remove a layer from a collection + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**collection** | **String** | Layer collection id | [required] | +**layer** | **String** | Layer id | [required] | + +### Return type + + (empty response body) + +### Authorization + +[session_token](../README.md#session_token) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: Not defined + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## search_handler + +> models::LayerCollection search_handler(provider, collection, search_type, search_string, limit, offset) +Searches the contents of the collection of the given provider + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**provider** | **uuid::Uuid** | Data provider id | [required] | +**collection** | **String** | Layer collection id | [required] | +**search_type** | [**SearchType**](SearchType.md) | | [required] | +**search_string** | **String** | | [required] | +**limit** | **i32** | | [required] | +**offset** | **i32** | | [required] | + +### Return type + +[**models::LayerCollection**](LayerCollection.md) + +### Authorization + +[session_token](../README.md#session_token) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## update_collection + +> update_collection(collection, update_layer_collection) +Update a collection + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**collection** | **String** | Layer collection id | [required] | +**update_layer_collection** | [**UpdateLayerCollection**](UpdateLayerCollection.md) | | [required] | + +### Return type + + (empty response body) + +### Authorization + +[session_token](../README.md#session_token) + +### HTTP request headers + +- **Content-Type**: application/json +- **Accept**: Not defined + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## update_layer + +> update_layer(layer, update_layer) +Update a layer + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**layer** | **String** | Layer id | [required] | +**update_layer** | [**UpdateLayer**](UpdateLayer.md) | | [required] | + +### Return type + + (empty response body) + +### Authorization + +[session_token](../README.md#session_token) + +### HTTP request headers + +- **Content-Type**: application/json +- **Accept**: Not defined + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## update_provider_definition + +> update_provider_definition(provider, typed_data_provider_definition) +Update an existing provider's definition + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**provider** | **uuid::Uuid** | Layer provider id | [required] | +**typed_data_provider_definition** | [**TypedDataProviderDefinition**](TypedDataProviderDefinition.md) | | [required] | + +### Return type + + (empty response body) + +### Authorization + +[session_token](../README.md#session_token) + +### HTTP request headers + +- **Content-Type**: application/json +- **Accept**: Not defined + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + diff --git a/rust/docs/LegacyTypedOperator.md b/rust/docs/LegacyTypedOperator.md new file mode 100644 index 00000000..f2ba8388 --- /dev/null +++ b/rust/docs/LegacyTypedOperator.md @@ -0,0 +1,12 @@ +# LegacyTypedOperator + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**operator** | [**models::LegacyTypedOperatorOperator**](LegacyTypedOperatorOperator.md) | | +**r#type** | **Type** | (enum: Vector, Raster, Plot) | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/rust/docs/LegacyTypedOperatorOperator.md b/rust/docs/LegacyTypedOperatorOperator.md new file mode 100644 index 00000000..c606e77d --- /dev/null +++ b/rust/docs/LegacyTypedOperatorOperator.md @@ -0,0 +1,13 @@ +# LegacyTypedOperatorOperator + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**params** | Option<**serde_json::Value**> | | [optional] +**sources** | Option<**serde_json::Value**> | | [optional] +**r#type** | **String** | | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/rust/docs/LineSymbology.md b/rust/docs/LineSymbology.md new file mode 100644 index 00000000..28794f51 --- /dev/null +++ b/rust/docs/LineSymbology.md @@ -0,0 +1,14 @@ +# LineSymbology + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**auto_simplified** | **bool** | | +**stroke** | [**models::StrokeParam**](StrokeParam.md) | | +**text** | Option<[**models::TextSymbology**](TextSymbology.md)> | | [optional] +**r#type** | **Type** | (enum: line) | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/rust/docs/LinearGradient.md b/rust/docs/LinearGradient.md new file mode 100644 index 00000000..6b650860 --- /dev/null +++ b/rust/docs/LinearGradient.md @@ -0,0 +1,15 @@ +# LinearGradient + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**breakpoints** | [**Vec**](Breakpoint.md) | | +**no_data_color** | **Vec** | | +**over_color** | **Vec** | | +**r#type** | **Type** | (enum: linearGradient) | +**under_color** | **Vec** | | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/rust/docs/LogarithmicGradient.md b/rust/docs/LogarithmicGradient.md new file mode 100644 index 00000000..8fe34af0 --- /dev/null +++ b/rust/docs/LogarithmicGradient.md @@ -0,0 +1,15 @@ +# LogarithmicGradient + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**breakpoints** | [**Vec**](Breakpoint.md) | | +**no_data_color** | **Vec** | | +**over_color** | **Vec** | | +**r#type** | **Type** | (enum: logarithmicGradient) | +**under_color** | **Vec** | | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/rust/docs/Measurement.md b/rust/docs/Measurement.md new file mode 100644 index 00000000..e7464086 --- /dev/null +++ b/rust/docs/Measurement.md @@ -0,0 +1,10 @@ +# Measurement + +## Enum Variants + +| Name | Value | +|---- | -----| + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/rust/docs/MetaDataDefinition.md b/rust/docs/MetaDataDefinition.md new file mode 100644 index 00000000..8c5754fe --- /dev/null +++ b/rust/docs/MetaDataDefinition.md @@ -0,0 +1,10 @@ +# MetaDataDefinition + +## Enum Variants + +| Name | Value | +|---- | -----| + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/rust/docs/MetaDataSuggestion.md b/rust/docs/MetaDataSuggestion.md new file mode 100644 index 00000000..3b79289d --- /dev/null +++ b/rust/docs/MetaDataSuggestion.md @@ -0,0 +1,13 @@ +# MetaDataSuggestion + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**layer_name** | **String** | | +**main_file** | **String** | | +**meta_data** | [**models::MetaDataDefinition**](MetaDataDefinition.md) | | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/rust/docs/MlApi.md b/rust/docs/MlApi.md new file mode 100644 index 00000000..3428ae5d --- /dev/null +++ b/rust/docs/MlApi.md @@ -0,0 +1,92 @@ +# \MlApi + +All URIs are relative to *https://geoengine.io/api* + +Method | HTTP request | Description +------------- | ------------- | ------------- +[**add_ml_model**](MlApi.md#add_ml_model) | **POST** /ml/models | Create a new ml model. +[**get_ml_model**](MlApi.md#get_ml_model) | **GET** /ml/models/{model_name} | Get ml model by name. +[**list_ml_models**](MlApi.md#list_ml_models) | **GET** /ml/models | List ml models. + + + +## add_ml_model + +> models::MlModelNameResponse add_ml_model(ml_model) +Create a new ml model. + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**ml_model** | [**MlModel**](MlModel.md) | | [required] | + +### Return type + +[**models::MlModelNameResponse**](MlModelNameResponse.md) + +### Authorization + +[session_token](../README.md#session_token) + +### HTTP request headers + +- **Content-Type**: application/json +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## get_ml_model + +> models::MlModel get_ml_model(model_name) +Get ml model by name. + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**model_name** | **String** | Ml Model Name | [required] | + +### Return type + +[**models::MlModel**](MlModel.md) + +### Authorization + +[session_token](../README.md#session_token) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## list_ml_models + +> Vec list_ml_models() +List ml models. + +### Parameters + +This endpoint does not need any parameter. + +### Return type + +[**Vec**](MlModel.md) + +### Authorization + +[session_token](../README.md#session_token) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + diff --git a/rust/docs/MlModel.md b/rust/docs/MlModel.md new file mode 100644 index 00000000..9c1ef4d6 --- /dev/null +++ b/rust/docs/MlModel.md @@ -0,0 +1,16 @@ +# MlModel + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**description** | **String** | | +**display_name** | **String** | | +**file_name** | **String** | | +**metadata** | [**models::MlModelMetadata**](MlModelMetadata.md) | | +**name** | **String** | | +**upload** | **uuid::Uuid** | | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/rust/docs/MlModelInputNoDataHandling.md b/rust/docs/MlModelInputNoDataHandling.md new file mode 100644 index 00000000..435a40a4 --- /dev/null +++ b/rust/docs/MlModelInputNoDataHandling.md @@ -0,0 +1,12 @@ +# MlModelInputNoDataHandling + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**no_data_value** | Option<**f32**> | | [optional] +**variant** | [**models::MlModelInputNoDataHandlingVariant**](MlModelInputNoDataHandlingVariant.md) | | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/rust/docs/MlModelInputNoDataHandlingVariant.md b/rust/docs/MlModelInputNoDataHandlingVariant.md new file mode 100644 index 00000000..d62d4bb1 --- /dev/null +++ b/rust/docs/MlModelInputNoDataHandlingVariant.md @@ -0,0 +1,13 @@ +# MlModelInputNoDataHandlingVariant + +## Enum Variants + +| Name | Value | +|---- | -----| +| EncodedNoData | encodedNoData | +| SkipIfNoData | skipIfNoData | + + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/rust/docs/MlModelMetadata.md b/rust/docs/MlModelMetadata.md new file mode 100644 index 00000000..0b86e0ae --- /dev/null +++ b/rust/docs/MlModelMetadata.md @@ -0,0 +1,16 @@ +# MlModelMetadata + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**input_no_data_handling** | [**models::MlModelInputNoDataHandling**](MlModelInputNoDataHandling.md) | | +**input_shape** | [**models::MlTensorShape3D**](MlTensorShape3D.md) | | +**input_type** | [**models::RasterDataType**](RasterDataType.md) | | +**output_no_data_handling** | [**models::MlModelOutputNoDataHandling**](MlModelOutputNoDataHandling.md) | | +**output_shape** | [**models::MlTensorShape3D**](MlTensorShape3D.md) | | +**output_type** | [**models::RasterDataType**](RasterDataType.md) | | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/rust/docs/MlModelNameResponse.md b/rust/docs/MlModelNameResponse.md new file mode 100644 index 00000000..c7fac44a --- /dev/null +++ b/rust/docs/MlModelNameResponse.md @@ -0,0 +1,11 @@ +# MlModelNameResponse + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**ml_model_name** | **String** | | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/rust/docs/MlModelOutputNoDataHandling.md b/rust/docs/MlModelOutputNoDataHandling.md new file mode 100644 index 00000000..48b09d0e --- /dev/null +++ b/rust/docs/MlModelOutputNoDataHandling.md @@ -0,0 +1,12 @@ +# MlModelOutputNoDataHandling + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**no_data_value** | Option<**f32**> | | [optional] +**variant** | [**models::MlModelOutputNoDataHandlingVariant**](MlModelOutputNoDataHandlingVariant.md) | | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/rust/docs/MlModelOutputNoDataHandlingVariant.md b/rust/docs/MlModelOutputNoDataHandlingVariant.md new file mode 100644 index 00000000..3b8d6036 --- /dev/null +++ b/rust/docs/MlModelOutputNoDataHandlingVariant.md @@ -0,0 +1,13 @@ +# MlModelOutputNoDataHandlingVariant + +## Enum Variants + +| Name | Value | +|---- | -----| +| EncodedNoData | encodedNoData | +| NanIsNoData | nanIsNoData | + + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/rust/docs/MlModelResource.md b/rust/docs/MlModelResource.md new file mode 100644 index 00000000..525d1364 --- /dev/null +++ b/rust/docs/MlModelResource.md @@ -0,0 +1,12 @@ +# MlModelResource + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**id** | **String** | | +**r#type** | **Type** | (enum: mlModel) | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/rust/docs/MlTensorShape3D.md b/rust/docs/MlTensorShape3D.md new file mode 100644 index 00000000..88d968d2 --- /dev/null +++ b/rust/docs/MlTensorShape3D.md @@ -0,0 +1,13 @@ +# MlTensorShape3D + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**bands** | **i32** | | +**x** | **i32** | | +**y** | **i32** | | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/rust/docs/MockDatasetDataSourceLoadingInfo.md b/rust/docs/MockDatasetDataSourceLoadingInfo.md new file mode 100644 index 00000000..fb6f00c1 --- /dev/null +++ b/rust/docs/MockDatasetDataSourceLoadingInfo.md @@ -0,0 +1,11 @@ +# MockDatasetDataSourceLoadingInfo + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**points** | [**Vec**](Coordinate2D.md) | | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/rust/docs/MockMetaData.md b/rust/docs/MockMetaData.md new file mode 100644 index 00000000..8a8f7247 --- /dev/null +++ b/rust/docs/MockMetaData.md @@ -0,0 +1,13 @@ +# MockMetaData + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**loading_info** | [**models::MockDatasetDataSourceLoadingInfo**](MockDatasetDataSourceLoadingInfo.md) | | +**result_descriptor** | [**models::VectorResultDescriptor**](VectorResultDescriptor.md) | | +**r#type** | **Type** | (enum: MockMetaData) | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/rust/docs/MockPointSource.md b/rust/docs/MockPointSource.md new file mode 100644 index 00000000..15700f2d --- /dev/null +++ b/rust/docs/MockPointSource.md @@ -0,0 +1,12 @@ +# MockPointSource + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**params** | [**models::MockPointSourceParameters**](MockPointSourceParameters.md) | | +**r#type** | **Type** | (enum: MockPointSource) | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/rust/docs/MockPointSourceParameters.md b/rust/docs/MockPointSourceParameters.md new file mode 100644 index 00000000..3ae6a7d7 --- /dev/null +++ b/rust/docs/MockPointSourceParameters.md @@ -0,0 +1,12 @@ +# MockPointSourceParameters + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**points** | [**Vec**](Coordinate2D.md) | Points to be output by the mock point source. | +**spatial_bounds** | [**models::SpatialBoundsDerive**](SpatialBoundsDerive.md) | Defines how the spatial bounds of the source are derived. Defaults to `None`. | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/rust/docs/MultiBandRasterColorizer.md b/rust/docs/MultiBandRasterColorizer.md new file mode 100644 index 00000000..e20dac52 --- /dev/null +++ b/rust/docs/MultiBandRasterColorizer.md @@ -0,0 +1,24 @@ +# MultiBandRasterColorizer + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**blue_band** | **i32** | The band index of the blue channel. | +**blue_max** | **f64** | The maximum value for the red channel. | +**blue_min** | **f64** | The minimum value for the red channel. | +**blue_scale** | Option<**f64**> | A scaling factor for the blue channel between 0 and 1. | [optional] +**green_band** | **i32** | The band index of the green channel. | +**green_max** | **f64** | The maximum value for the red channel. | +**green_min** | **f64** | The minimum value for the red channel. | +**green_scale** | Option<**f64**> | A scaling factor for the green channel between 0 and 1. | [optional] +**no_data_color** | Option<**Vec**> | The color to use for no data values. If not specified, the no data values will be transparent. | [optional] +**red_band** | **i32** | The band index of the red channel. | +**red_max** | **f64** | The maximum value for the red channel. | +**red_min** | **f64** | The minimum value for the red channel. | +**red_scale** | Option<**f64**> | A scaling factor for the red channel between 0 and 1. | [optional] +**r#type** | **Type** | (enum: multiBand) | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/rust/docs/MultiLineString.md b/rust/docs/MultiLineString.md new file mode 100644 index 00000000..26730019 --- /dev/null +++ b/rust/docs/MultiLineString.md @@ -0,0 +1,11 @@ +# MultiLineString + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**coordinates** | [**Vec>**](Vec.md) | | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/rust/docs/MultiPoint.md b/rust/docs/MultiPoint.md new file mode 100644 index 00000000..0a9cbf71 --- /dev/null +++ b/rust/docs/MultiPoint.md @@ -0,0 +1,11 @@ +# MultiPoint + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**coordinates** | [**Vec**](Coordinate2D.md) | | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/rust/docs/MultiPolygon.md b/rust/docs/MultiPolygon.md new file mode 100644 index 00000000..a2756afe --- /dev/null +++ b/rust/docs/MultiPolygon.md @@ -0,0 +1,11 @@ +# MultiPolygon + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**polygons** | [**Vec>>**](Vec.md) | | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/rust/docs/MultipleRasterOrSingleVectorOperator.md b/rust/docs/MultipleRasterOrSingleVectorOperator.md new file mode 100644 index 00000000..dd0938ad --- /dev/null +++ b/rust/docs/MultipleRasterOrSingleVectorOperator.md @@ -0,0 +1,12 @@ +# MultipleRasterOrSingleVectorOperator + +## Enum Variants + +| Name | Description | +|---- | -----| +| Vec | It is either a set of `RasterOperator` or a single `VectorOperator` | +| VectorOperator | It is either a set of `RasterOperator` or a single `VectorOperator` | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/rust/docs/MultipleRasterOrSingleVectorSource.md b/rust/docs/MultipleRasterOrSingleVectorSource.md new file mode 100644 index 00000000..53d41bc7 --- /dev/null +++ b/rust/docs/MultipleRasterOrSingleVectorSource.md @@ -0,0 +1,11 @@ +# MultipleRasterOrSingleVectorSource + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**source** | [**models::MultipleRasterOrSingleVectorOperator**](MultipleRasterOrSingleVectorOperator.md) | | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/rust/docs/Names.md b/rust/docs/Names.md new file mode 100644 index 00000000..ef447b84 --- /dev/null +++ b/rust/docs/Names.md @@ -0,0 +1,12 @@ +# Names + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**r#type** | **Type** | (enum: names) | +**values** | **Vec** | | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/rust/docs/NetCdfCfDataProviderDefinition.md b/rust/docs/NetCdfCfDataProviderDefinition.md new file mode 100644 index 00000000..26451f8d --- /dev/null +++ b/rust/docs/NetCdfCfDataProviderDefinition.md @@ -0,0 +1,17 @@ +# NetCdfCfDataProviderDefinition + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**cache_ttl** | Option<**i32**> | | [optional] +**data** | **String** | Path were the `NetCDF` data can be found | +**description** | **String** | | +**name** | **String** | | +**overviews** | **String** | Path were overview files are stored | +**priority** | Option<**i32**> | | [optional] +**r#type** | **Type** | (enum: NetCdfCf) | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/rust/docs/NumberParam.md b/rust/docs/NumberParam.md new file mode 100644 index 00000000..94898610 --- /dev/null +++ b/rust/docs/NumberParam.md @@ -0,0 +1,10 @@ +# NumberParam + +## Enum Variants + +| Name | Value | +|---- | -----| + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/rust/docs/OgcwcsApi.md b/rust/docs/OgcwcsApi.md new file mode 100644 index 00000000..071bbfc1 --- /dev/null +++ b/rust/docs/OgcwcsApi.md @@ -0,0 +1,51 @@ +# \OgcwcsApi + +All URIs are relative to *https://geoengine.io/api* + +Method | HTTP request | Description +------------- | ------------- | ------------- +[**wcs_handler**](OgcwcsApi.md#wcs_handler) | **GET** /wcs/{workflow} | OGC WCS endpoint + + + +## wcs_handler + +> String wcs_handler(workflow, request, boundingbox, format, gridbasecrs, gridoffsets, gridorigin, identifier, identifiers, nodatavalue, resx, resy, service, time, version) +OGC WCS endpoint + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**workflow** | **uuid::Uuid** | Workflow id | [required] | +**request** | [**WcsRequest**](WcsRequest.md) | type of WCS request | [required] | +**boundingbox** | Option<**String**> | | | +**format** | Option<[**GetCoverageFormat**](GetCoverageFormat.md)> | | | +**gridbasecrs** | Option<**String**> | | | +**gridoffsets** | Option<**String**> | | | +**gridorigin** | Option<**String**> | | | +**identifier** | Option<**String**> | | | +**identifiers** | Option<**String**> | | | +**nodatavalue** | Option<**f64**> | | | +**resx** | Option<**f64**> | | | +**resy** | Option<**f64**> | | | +**service** | Option<[**WcsService**](WcsService.md)> | | | +**time** | Option<**String**> | | | +**version** | Option<**String**> | | | + +### Return type + +**String** + +### Authorization + +[session_token](../README.md#session_token) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: text/xml + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + diff --git a/rust/docs/OgcwfsApi.md b/rust/docs/OgcwfsApi.md new file mode 100644 index 00000000..7c45bbe6 --- /dev/null +++ b/rust/docs/OgcwfsApi.md @@ -0,0 +1,50 @@ +# \OgcwfsApi + +All URIs are relative to *https://geoengine.io/api* + +Method | HTTP request | Description +------------- | ------------- | ------------- +[**wfs_handler**](OgcwfsApi.md#wfs_handler) | **GET** /wfs/{workflow} | OGC WFS endpoint + + + +## wfs_handler + +> models::GeoJson wfs_handler(workflow, request, bbox, count, filter, namespaces, property_name, result_type, service, sort_by, srs_name, time, type_names, version) +OGC WFS endpoint + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**workflow** | **uuid::Uuid** | Workflow id | [required] | +**request** | [**WfsRequest**](WfsRequest.md) | type of WFS request | [required] | +**bbox** | Option<**String**> | | | +**count** | Option<**i64**> | | | +**filter** | Option<**String**> | | | +**namespaces** | Option<**String**> | | | +**property_name** | Option<**String**> | | | +**result_type** | Option<**String**> | | | +**service** | Option<[**WfsService**](WfsService.md)> | | | +**sort_by** | Option<**String**> | | | +**srs_name** | Option<**String**> | | | +**time** | Option<**String**> | | | +**type_names** | Option<**String**> | | | +**version** | Option<**String**> | | | + +### Return type + +[**models::GeoJson**](GeoJson.md) + +### Authorization + +[session_token](../README.md#session_token) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + diff --git a/rust/docs/OgcwmsApi.md b/rust/docs/OgcwmsApi.md new file mode 100644 index 00000000..596e7345 --- /dev/null +++ b/rust/docs/OgcwmsApi.md @@ -0,0 +1,57 @@ +# \OgcwmsApi + +All URIs are relative to *https://geoengine.io/api* + +Method | HTTP request | Description +------------- | ------------- | ------------- +[**wms_handler**](OgcwmsApi.md#wms_handler) | **GET** /wms/{workflow} | OGC WMS endpoint + + + +## wms_handler + +> std::path::PathBuf wms_handler(workflow, request, bbox, bgcolor, crs, elevation, exceptions, format, height, info_format, layer, layers, query_layers, service, sld, sld_body, styles, time, transparent, version, width) +OGC WMS endpoint + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**workflow** | **uuid::Uuid** | Workflow id | [required] | +**request** | [**WmsRequest**](WmsRequest.md) | type of WMS request | [required] | +**bbox** | Option<**String**> | | | +**bgcolor** | Option<**String**> | | | +**crs** | Option<**String**> | | | +**elevation** | Option<**String**> | | | +**exceptions** | Option<**String**> | | | +**format** | Option<**String**> | | | +**height** | Option<**i32**> | | | +**info_format** | Option<**String**> | | | +**layer** | Option<**String**> | | | +**layers** | Option<**String**> | | | +**query_layers** | Option<**String**> | | | +**service** | Option<[**WmsService**](WmsService.md)> | | | +**sld** | Option<**String**> | | | +**sld_body** | Option<**String**> | | | +**styles** | Option<**String**> | | | +**time** | Option<**String**> | | | +**transparent** | Option<**bool**> | | | +**version** | Option<**String**> | | | +**width** | Option<**i32**> | | | + +### Return type + +[**std::path::PathBuf**](std::path::PathBuf.md) + +### Authorization + +[session_token](../README.md#session_token) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: image/png + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + diff --git a/rust/docs/OgrMetaData.md b/rust/docs/OgrMetaData.md new file mode 100644 index 00000000..0d3d9100 --- /dev/null +++ b/rust/docs/OgrMetaData.md @@ -0,0 +1,13 @@ +# OgrMetaData + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**loading_info** | [**models::OgrSourceDataset**](OgrSourceDataset.md) | | +**result_descriptor** | [**models::VectorResultDescriptor**](VectorResultDescriptor.md) | | +**r#type** | **Type** | (enum: OgrMetaData) | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/rust/docs/OgrSourceColumnSpec.md b/rust/docs/OgrSourceColumnSpec.md new file mode 100644 index 00000000..e022b809 --- /dev/null +++ b/rust/docs/OgrSourceColumnSpec.md @@ -0,0 +1,19 @@ +# OgrSourceColumnSpec + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**bool** | Option<**Vec**> | | [optional] +**datetime** | Option<**Vec**> | | [optional] +**float** | Option<**Vec**> | | [optional] +**format_specifics** | Option<[**models::FormatSpecifics**](FormatSpecifics.md)> | | [optional] +**int** | Option<**Vec**> | | [optional] +**rename** | Option<**std::collections::HashMap**> | | [optional] +**text** | Option<**Vec**> | | [optional] +**x** | **String** | | +**y** | Option<**String**> | | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/rust/docs/OgrSourceDataset.md b/rust/docs/OgrSourceDataset.md new file mode 100644 index 00000000..eb3fce77 --- /dev/null +++ b/rust/docs/OgrSourceDataset.md @@ -0,0 +1,22 @@ +# OgrSourceDataset + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**attribute_query** | Option<**String**> | | [optional] +**cache_ttl** | Option<**i32**> | | [optional] +**columns** | Option<[**models::OgrSourceColumnSpec**](OgrSourceColumnSpec.md)> | | [optional] +**data_type** | Option<[**models::VectorDataType**](VectorDataType.md)> | | [optional] +**default_geometry** | Option<[**models::TypedGeometry**](TypedGeometry.md)> | | [optional] +**file_name** | **String** | | +**force_ogr_spatial_filter** | Option<**bool**> | | [optional] +**force_ogr_time_filter** | Option<**bool**> | | [optional] +**layer_name** | **String** | | +**on_error** | [**models::OgrSourceErrorSpec**](OgrSourceErrorSpec.md) | | +**sql_query** | Option<**String**> | | [optional] +**time** | Option<[**models::OgrSourceDatasetTimeType**](OgrSourceDatasetTimeType.md)> | | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/rust/docs/OgrSourceDatasetTimeType.md b/rust/docs/OgrSourceDatasetTimeType.md new file mode 100644 index 00000000..8038b9da --- /dev/null +++ b/rust/docs/OgrSourceDatasetTimeType.md @@ -0,0 +1,10 @@ +# OgrSourceDatasetTimeType + +## Enum Variants + +| Name | Value | +|---- | -----| + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/rust/docs/OgrSourceDatasetTimeTypeNone.md b/rust/docs/OgrSourceDatasetTimeTypeNone.md new file mode 100644 index 00000000..8ddaf298 --- /dev/null +++ b/rust/docs/OgrSourceDatasetTimeTypeNone.md @@ -0,0 +1,11 @@ +# OgrSourceDatasetTimeTypeNone + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**r#type** | **Type** | (enum: none) | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/rust/docs/OgrSourceDatasetTimeTypeStart.md b/rust/docs/OgrSourceDatasetTimeTypeStart.md new file mode 100644 index 00000000..6b3897f5 --- /dev/null +++ b/rust/docs/OgrSourceDatasetTimeTypeStart.md @@ -0,0 +1,14 @@ +# OgrSourceDatasetTimeTypeStart + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**duration** | [**models::OgrSourceDurationSpec**](OgrSourceDurationSpec.md) | | +**start_field** | **String** | | +**start_format** | [**models::OgrSourceTimeFormat**](OgrSourceTimeFormat.md) | | +**r#type** | **Type** | (enum: start) | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/rust/docs/OgrSourceDatasetTimeTypeStartDuration.md b/rust/docs/OgrSourceDatasetTimeTypeStartDuration.md new file mode 100644 index 00000000..65c25d94 --- /dev/null +++ b/rust/docs/OgrSourceDatasetTimeTypeStartDuration.md @@ -0,0 +1,14 @@ +# OgrSourceDatasetTimeTypeStartDuration + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**duration_field** | **String** | | +**start_field** | **String** | | +**start_format** | [**models::OgrSourceTimeFormat**](OgrSourceTimeFormat.md) | | +**r#type** | **Type** | (enum: start+duration) | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/rust/docs/OgrSourceDatasetTimeTypeStartEnd.md b/rust/docs/OgrSourceDatasetTimeTypeStartEnd.md new file mode 100644 index 00000000..4451126a --- /dev/null +++ b/rust/docs/OgrSourceDatasetTimeTypeStartEnd.md @@ -0,0 +1,15 @@ +# OgrSourceDatasetTimeTypeStartEnd + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**end_field** | **String** | | +**end_format** | [**models::OgrSourceTimeFormat**](OgrSourceTimeFormat.md) | | +**start_field** | **String** | | +**start_format** | [**models::OgrSourceTimeFormat**](OgrSourceTimeFormat.md) | | +**r#type** | **Type** | (enum: start+end) | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/rust/docs/OgrSourceDurationSpec.md b/rust/docs/OgrSourceDurationSpec.md new file mode 100644 index 00000000..8b9cc4e4 --- /dev/null +++ b/rust/docs/OgrSourceDurationSpec.md @@ -0,0 +1,10 @@ +# OgrSourceDurationSpec + +## Enum Variants + +| Name | Value | +|---- | -----| + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/rust/docs/OgrSourceDurationSpecInfinite.md b/rust/docs/OgrSourceDurationSpecInfinite.md new file mode 100644 index 00000000..d795cb1c --- /dev/null +++ b/rust/docs/OgrSourceDurationSpecInfinite.md @@ -0,0 +1,11 @@ +# OgrSourceDurationSpecInfinite + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**r#type** | **Type** | (enum: infinite) | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/rust/docs/OgrSourceDurationSpecValue.md b/rust/docs/OgrSourceDurationSpecValue.md new file mode 100644 index 00000000..8a851067 --- /dev/null +++ b/rust/docs/OgrSourceDurationSpecValue.md @@ -0,0 +1,13 @@ +# OgrSourceDurationSpecValue + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**granularity** | [**models::TimeGranularity**](TimeGranularity.md) | | +**step** | **i32** | | +**r#type** | **Type** | (enum: value) | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/rust/docs/OgrSourceDurationSpecZero.md b/rust/docs/OgrSourceDurationSpecZero.md new file mode 100644 index 00000000..46b29092 --- /dev/null +++ b/rust/docs/OgrSourceDurationSpecZero.md @@ -0,0 +1,11 @@ +# OgrSourceDurationSpecZero + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**r#type** | **Type** | (enum: zero) | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/rust/docs/OgrSourceErrorSpec.md b/rust/docs/OgrSourceErrorSpec.md new file mode 100644 index 00000000..fe33a1e7 --- /dev/null +++ b/rust/docs/OgrSourceErrorSpec.md @@ -0,0 +1,13 @@ +# OgrSourceErrorSpec + +## Enum Variants + +| Name | Value | +|---- | -----| +| Ignore | ignore | +| Abort | abort | + + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/rust/docs/OgrSourceTimeFormat.md b/rust/docs/OgrSourceTimeFormat.md new file mode 100644 index 00000000..3d75c693 --- /dev/null +++ b/rust/docs/OgrSourceTimeFormat.md @@ -0,0 +1,10 @@ +# OgrSourceTimeFormat + +## Enum Variants + +| Name | Value | +|---- | -----| + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/rust/docs/OgrSourceTimeFormatAuto.md b/rust/docs/OgrSourceTimeFormatAuto.md new file mode 100644 index 00000000..495a233a --- /dev/null +++ b/rust/docs/OgrSourceTimeFormatAuto.md @@ -0,0 +1,11 @@ +# OgrSourceTimeFormatAuto + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**format** | **Format** | (enum: auto) | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/rust/docs/OgrSourceTimeFormatCustom.md b/rust/docs/OgrSourceTimeFormatCustom.md new file mode 100644 index 00000000..f06d2256 --- /dev/null +++ b/rust/docs/OgrSourceTimeFormatCustom.md @@ -0,0 +1,12 @@ +# OgrSourceTimeFormatCustom + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**custom_format** | **String** | | +**format** | **Format** | (enum: custom) | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/rust/docs/OgrSourceTimeFormatUnixTimeStamp.md b/rust/docs/OgrSourceTimeFormatUnixTimeStamp.md new file mode 100644 index 00000000..039160eb --- /dev/null +++ b/rust/docs/OgrSourceTimeFormatUnixTimeStamp.md @@ -0,0 +1,12 @@ +# OgrSourceTimeFormatUnixTimeStamp + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**format** | **Format** | (enum: unixTimeStamp) | +**timestamp_type** | [**models::UnixTimeStampType**](UnixTimeStampType.md) | | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/rust/docs/OperatorQuota.md b/rust/docs/OperatorQuota.md new file mode 100644 index 00000000..cd2d57c9 --- /dev/null +++ b/rust/docs/OperatorQuota.md @@ -0,0 +1,13 @@ +# OperatorQuota + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**count** | **i64** | | +**operator_name** | **String** | | +**operator_path** | **String** | | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/rust/docs/OrderBy.md b/rust/docs/OrderBy.md new file mode 100644 index 00000000..12369127 --- /dev/null +++ b/rust/docs/OrderBy.md @@ -0,0 +1,13 @@ +# OrderBy + +## Enum Variants + +| Name | Value | +|---- | -----| +| NameAsc | NameAsc | +| NameDesc | NameDesc | + + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/rust/docs/PaletteColorizer.md b/rust/docs/PaletteColorizer.md new file mode 100644 index 00000000..a49df7d1 --- /dev/null +++ b/rust/docs/PaletteColorizer.md @@ -0,0 +1,14 @@ +# PaletteColorizer + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**colors** | [**std::collections::HashMap>**](Vec.md) | A map from value to color It is assumed that is has at least one and at most 256 entries. | +**default_color** | **Vec** | | +**no_data_color** | **Vec** | | +**r#type** | **Type** | (enum: palette) | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/rust/docs/PangaeaDataProviderDefinition.md b/rust/docs/PangaeaDataProviderDefinition.md new file mode 100644 index 00000000..225e76f0 --- /dev/null +++ b/rust/docs/PangaeaDataProviderDefinition.md @@ -0,0 +1,16 @@ +# PangaeaDataProviderDefinition + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**base_url** | **String** | | +**cache_ttl** | **i32** | | +**description** | **String** | | +**name** | **String** | | +**priority** | Option<**i32**> | | [optional] +**r#type** | **Type** | (enum: Pangaea) | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/rust/docs/Permission.md b/rust/docs/Permission.md new file mode 100644 index 00000000..887b6a95 --- /dev/null +++ b/rust/docs/Permission.md @@ -0,0 +1,13 @@ +# Permission + +## Enum Variants + +| Name | Value | +|---- | -----| +| Read | Read | +| Owner | Owner | + + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/rust/docs/PermissionListing.md b/rust/docs/PermissionListing.md new file mode 100644 index 00000000..18ea64eb --- /dev/null +++ b/rust/docs/PermissionListing.md @@ -0,0 +1,13 @@ +# PermissionListing + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**permission** | [**models::Permission**](Permission.md) | | +**resource** | [**models::Resource**](Resource.md) | | +**role** | [**models::Role**](Role.md) | | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/rust/docs/PermissionRequest.md b/rust/docs/PermissionRequest.md new file mode 100644 index 00000000..7a1a06a0 --- /dev/null +++ b/rust/docs/PermissionRequest.md @@ -0,0 +1,13 @@ +# PermissionRequest + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**permission** | [**models::Permission**](Permission.md) | | +**resource** | [**models::Resource**](Resource.md) | | +**role_id** | **uuid::Uuid** | | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/rust/docs/PermissionsApi.md b/rust/docs/PermissionsApi.md new file mode 100644 index 00000000..66e642d6 --- /dev/null +++ b/rust/docs/PermissionsApi.md @@ -0,0 +1,98 @@ +# \PermissionsApi + +All URIs are relative to *https://geoengine.io/api* + +Method | HTTP request | Description +------------- | ------------- | ------------- +[**add_permission_handler**](PermissionsApi.md#add_permission_handler) | **PUT** /permissions | Adds a new permission. +[**get_resource_permissions_handler**](PermissionsApi.md#get_resource_permissions_handler) | **GET** /permissions/resources/{resource_type}/{resource_id} | Lists permission for a given resource. +[**remove_permission_handler**](PermissionsApi.md#remove_permission_handler) | **DELETE** /permissions | Removes an existing permission. + + + +## add_permission_handler + +> add_permission_handler(permission_request) +Adds a new permission. + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**permission_request** | [**PermissionRequest**](PermissionRequest.md) | | [required] | + +### Return type + + (empty response body) + +### Authorization + +[session_token](../README.md#session_token) + +### HTTP request headers + +- **Content-Type**: application/json +- **Accept**: Not defined + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## get_resource_permissions_handler + +> Vec get_resource_permissions_handler(resource_type, resource_id, limit, offset) +Lists permission for a given resource. + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**resource_type** | **String** | Resource Type | [required] | +**resource_id** | **String** | Resource Id | [required] | +**limit** | **i32** | | [required] | +**offset** | **i32** | | [required] | + +### Return type + +[**Vec**](PermissionListing.md) + +### Authorization + +[session_token](../README.md#session_token) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## remove_permission_handler + +> remove_permission_handler(permission_request) +Removes an existing permission. + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**permission_request** | [**PermissionRequest**](PermissionRequest.md) | | [required] | + +### Return type + + (empty response body) + +### Authorization + +[session_token](../README.md#session_token) + +### HTTP request headers + +- **Content-Type**: application/json +- **Accept**: Not defined + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + diff --git a/rust/docs/Plot.md b/rust/docs/Plot.md new file mode 100644 index 00000000..d933da53 --- /dev/null +++ b/rust/docs/Plot.md @@ -0,0 +1,12 @@ +# Plot + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**name** | **String** | | +**workflow** | **uuid::Uuid** | | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/rust/docs/PlotOperator.md b/rust/docs/PlotOperator.md new file mode 100644 index 00000000..a83f6812 --- /dev/null +++ b/rust/docs/PlotOperator.md @@ -0,0 +1,10 @@ +# PlotOperator + +## Enum Variants + +| Name | Value | +|---- | -----| + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/rust/docs/PlotOutputFormat.md b/rust/docs/PlotOutputFormat.md new file mode 100644 index 00000000..438169ab --- /dev/null +++ b/rust/docs/PlotOutputFormat.md @@ -0,0 +1,14 @@ +# PlotOutputFormat + +## Enum Variants + +| Name | Value | +|---- | -----| +| JsonPlain | JsonPlain | +| JsonVega | JsonVega | +| ImagePng | ImagePng | + + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/rust/docs/PlotResultDescriptor.md b/rust/docs/PlotResultDescriptor.md new file mode 100644 index 00000000..3b2376a2 --- /dev/null +++ b/rust/docs/PlotResultDescriptor.md @@ -0,0 +1,13 @@ +# PlotResultDescriptor + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**bbox** | Option<[**models::BoundingBox2D**](BoundingBox2D.md)> | | [optional] +**spatial_reference** | **String** | | +**time** | Option<[**models::TimeInterval**](TimeInterval.md)> | | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/rust/docs/PlotsApi.md b/rust/docs/PlotsApi.md new file mode 100644 index 00000000..30188fa6 --- /dev/null +++ b/rust/docs/PlotsApi.md @@ -0,0 +1,43 @@ +# \PlotsApi + +All URIs are relative to *https://geoengine.io/api* + +Method | HTTP request | Description +------------- | ------------- | ------------- +[**get_plot_handler**](PlotsApi.md#get_plot_handler) | **GET** /plot/{id} | Generates a plot. + + + +## get_plot_handler + +> models::WrappedPlotOutput get_plot_handler(bbox, time, spatial_resolution, id, crs) +Generates a plot. + +# Example 1. Upload the file `plain_data.csv` with the following content: ```csv a 1 2 ``` 2. Create a dataset from it using the \"Plain Data\" example at `/dataset`. 3. Create a statistics workflow using the \"Statistics Plot\" example at `/workflow`. 4. Generate the plot with this handler. + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**bbox** | **String** | | [required] | +**time** | **String** | | [required] | +**spatial_resolution** | **String** | | [required] | +**id** | **uuid::Uuid** | Workflow id | [required] | +**crs** | Option<**String**> | | | + +### Return type + +[**models::WrappedPlotOutput**](WrappedPlotOutput.md) + +### Authorization + +[session_token](../README.md#session_token) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + diff --git a/rust/docs/PointSymbology.md b/rust/docs/PointSymbology.md new file mode 100644 index 00000000..92999d69 --- /dev/null +++ b/rust/docs/PointSymbology.md @@ -0,0 +1,15 @@ +# PointSymbology + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**fill_color** | [**models::ColorParam**](ColorParam.md) | | +**radius** | [**models::NumberParam**](NumberParam.md) | | +**stroke** | [**models::StrokeParam**](StrokeParam.md) | | +**text** | Option<[**models::TextSymbology**](TextSymbology.md)> | | [optional] +**r#type** | **Type** | (enum: point) | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/rust/docs/PolygonSymbology.md b/rust/docs/PolygonSymbology.md new file mode 100644 index 00000000..abdb2def --- /dev/null +++ b/rust/docs/PolygonSymbology.md @@ -0,0 +1,15 @@ +# PolygonSymbology + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**auto_simplified** | **bool** | | +**fill_color** | [**models::ColorParam**](ColorParam.md) | | +**stroke** | [**models::StrokeParam**](StrokeParam.md) | | +**text** | Option<[**models::TextSymbology**](TextSymbology.md)> | | [optional] +**r#type** | **Type** | (enum: polygon) | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/rust/docs/Project.md b/rust/docs/Project.md new file mode 100644 index 00000000..20e7168d --- /dev/null +++ b/rust/docs/Project.md @@ -0,0 +1,18 @@ +# Project + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**bounds** | [**models::StRectangle**](STRectangle.md) | | +**description** | **String** | | +**id** | **uuid::Uuid** | | +**layers** | [**Vec**](ProjectLayer.md) | | +**name** | **String** | | +**plots** | [**Vec**](Plot.md) | | +**time_step** | [**models::TimeStep**](TimeStep.md) | | +**version** | [**models::ProjectVersion**](ProjectVersion.md) | | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/rust/docs/ProjectLayer.md b/rust/docs/ProjectLayer.md new file mode 100644 index 00000000..2471562c --- /dev/null +++ b/rust/docs/ProjectLayer.md @@ -0,0 +1,14 @@ +# ProjectLayer + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**name** | **String** | | +**symbology** | [**models::Symbology**](Symbology.md) | | +**visibility** | [**models::LayerVisibility**](LayerVisibility.md) | | +**workflow** | **uuid::Uuid** | | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/rust/docs/ProjectListing.md b/rust/docs/ProjectListing.md new file mode 100644 index 00000000..ebfc7f23 --- /dev/null +++ b/rust/docs/ProjectListing.md @@ -0,0 +1,16 @@ +# ProjectListing + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**changed** | **String** | | +**description** | **String** | | +**id** | **uuid::Uuid** | | +**layer_names** | **Vec** | | +**name** | **String** | | +**plot_names** | **Vec** | | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/rust/docs/ProjectResource.md b/rust/docs/ProjectResource.md new file mode 100644 index 00000000..3a2410cf --- /dev/null +++ b/rust/docs/ProjectResource.md @@ -0,0 +1,12 @@ +# ProjectResource + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**id** | **uuid::Uuid** | | +**r#type** | **Type** | (enum: project) | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/rust/docs/ProjectUpdateToken.md b/rust/docs/ProjectUpdateToken.md new file mode 100644 index 00000000..6e96ad15 --- /dev/null +++ b/rust/docs/ProjectUpdateToken.md @@ -0,0 +1,13 @@ +# ProjectUpdateToken + +## Enum Variants + +| Name | Value | +|---- | -----| +| None | none | +| Delete | delete | + + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/rust/docs/ProjectVersion.md b/rust/docs/ProjectVersion.md new file mode 100644 index 00000000..f32bc417 --- /dev/null +++ b/rust/docs/ProjectVersion.md @@ -0,0 +1,12 @@ +# ProjectVersion + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**changed** | **String** | | +**id** | **uuid::Uuid** | | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/rust/docs/ProjectsApi.md b/rust/docs/ProjectsApi.md new file mode 100644 index 00000000..d2be87f0 --- /dev/null +++ b/rust/docs/ProjectsApi.md @@ -0,0 +1,215 @@ +# \ProjectsApi + +All URIs are relative to *https://geoengine.io/api* + +Method | HTTP request | Description +------------- | ------------- | ------------- +[**create_project_handler**](ProjectsApi.md#create_project_handler) | **POST** /project | Create a new project for the user. +[**delete_project_handler**](ProjectsApi.md#delete_project_handler) | **DELETE** /project/{project} | Deletes a project. +[**list_projects_handler**](ProjectsApi.md#list_projects_handler) | **GET** /projects | List all projects accessible to the user that match the selected criteria. +[**load_project_latest_handler**](ProjectsApi.md#load_project_latest_handler) | **GET** /project/{project} | Retrieves details about the latest version of a project. +[**load_project_version_handler**](ProjectsApi.md#load_project_version_handler) | **GET** /project/{project}/{version} | Retrieves details about the given version of a project. +[**project_versions_handler**](ProjectsApi.md#project_versions_handler) | **GET** /project/{project}/versions | Lists all available versions of a project. +[**update_project_handler**](ProjectsApi.md#update_project_handler) | **PATCH** /project/{project} | Updates a project. This will create a new version. + + + +## create_project_handler + +> models::IdResponse create_project_handler(create_project) +Create a new project for the user. + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**create_project** | [**CreateProject**](CreateProject.md) | | [required] | + +### Return type + +[**models::IdResponse**](IdResponse.md) + +### Authorization + +[session_token](../README.md#session_token) + +### HTTP request headers + +- **Content-Type**: application/json +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## delete_project_handler + +> delete_project_handler(project) +Deletes a project. + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**project** | **uuid::Uuid** | Project id | [required] | + +### Return type + + (empty response body) + +### Authorization + +[session_token](../README.md#session_token) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: Not defined + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## list_projects_handler + +> Vec list_projects_handler(order, offset, limit) +List all projects accessible to the user that match the selected criteria. + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**order** | [**OrderBy**](OrderBy.md) | | [required] | +**offset** | **i32** | | [required] | +**limit** | **i32** | | [required] | + +### Return type + +[**Vec**](ProjectListing.md) + +### Authorization + +[session_token](../README.md#session_token) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## load_project_latest_handler + +> models::Project load_project_latest_handler(project) +Retrieves details about the latest version of a project. + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**project** | **uuid::Uuid** | Project id | [required] | + +### Return type + +[**models::Project**](Project.md) + +### Authorization + +[session_token](../README.md#session_token) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## load_project_version_handler + +> models::Project load_project_version_handler(project, version) +Retrieves details about the given version of a project. + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**project** | **uuid::Uuid** | Project id | [required] | +**version** | **uuid::Uuid** | Version id | [required] | + +### Return type + +[**models::Project**](Project.md) + +### Authorization + +[session_token](../README.md#session_token) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## project_versions_handler + +> Vec project_versions_handler(project) +Lists all available versions of a project. + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**project** | **uuid::Uuid** | Project id | [required] | + +### Return type + +[**Vec**](ProjectVersion.md) + +### Authorization + +[session_token](../README.md#session_token) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## update_project_handler + +> update_project_handler(project, update_project) +Updates a project. This will create a new version. + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**project** | **uuid::Uuid** | Project id | [required] | +**update_project** | [**UpdateProject**](UpdateProject.md) | | [required] | + +### Return type + + (empty response body) + +### Authorization + +[session_token](../README.md#session_token) + +### HTTP request headers + +- **Content-Type**: application/json +- **Accept**: Not defined + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + diff --git a/rust/docs/Provenance.md b/rust/docs/Provenance.md new file mode 100644 index 00000000..2309c300 --- /dev/null +++ b/rust/docs/Provenance.md @@ -0,0 +1,13 @@ +# Provenance + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**citation** | **String** | | +**license** | **String** | | +**uri** | **String** | | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/rust/docs/ProvenanceEntry.md b/rust/docs/ProvenanceEntry.md new file mode 100644 index 00000000..67b99b92 --- /dev/null +++ b/rust/docs/ProvenanceEntry.md @@ -0,0 +1,12 @@ +# ProvenanceEntry + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**data** | [**Vec**](DataId.md) | | +**provenance** | [**models::Provenance**](Provenance.md) | | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/rust/docs/Provenances.md b/rust/docs/Provenances.md new file mode 100644 index 00000000..e1de20f5 --- /dev/null +++ b/rust/docs/Provenances.md @@ -0,0 +1,11 @@ +# Provenances + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**provenances** | [**Vec**](Provenance.md) | | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/rust/docs/ProviderCapabilities.md b/rust/docs/ProviderCapabilities.md new file mode 100644 index 00000000..b537c4bc --- /dev/null +++ b/rust/docs/ProviderCapabilities.md @@ -0,0 +1,12 @@ +# ProviderCapabilities + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**listing** | **bool** | | +**search** | [**models::SearchCapabilities**](SearchCapabilities.md) | | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/rust/docs/ProviderLayerCollectionId.md b/rust/docs/ProviderLayerCollectionId.md new file mode 100644 index 00000000..58930c0e --- /dev/null +++ b/rust/docs/ProviderLayerCollectionId.md @@ -0,0 +1,12 @@ +# ProviderLayerCollectionId + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**collection_id** | **String** | | +**provider_id** | **uuid::Uuid** | | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/rust/docs/ProviderLayerId.md b/rust/docs/ProviderLayerId.md new file mode 100644 index 00000000..59da7b97 --- /dev/null +++ b/rust/docs/ProviderLayerId.md @@ -0,0 +1,12 @@ +# ProviderLayerId + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**layer_id** | **String** | | +**provider_id** | **uuid::Uuid** | | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/rust/docs/Quota.md b/rust/docs/Quota.md new file mode 100644 index 00000000..2cbe5546 --- /dev/null +++ b/rust/docs/Quota.md @@ -0,0 +1,12 @@ +# Quota + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**available** | **i64** | | +**used** | **i64** | | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/rust/docs/RasterBandDescriptor.md b/rust/docs/RasterBandDescriptor.md new file mode 100644 index 00000000..67b7412e --- /dev/null +++ b/rust/docs/RasterBandDescriptor.md @@ -0,0 +1,12 @@ +# RasterBandDescriptor + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**measurement** | [**models::Measurement**](Measurement.md) | | +**name** | **String** | | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/rust/docs/RasterColorizer.md b/rust/docs/RasterColorizer.md new file mode 100644 index 00000000..02ea27de --- /dev/null +++ b/rust/docs/RasterColorizer.md @@ -0,0 +1,10 @@ +# RasterColorizer + +## Enum Variants + +| Name | Value | +|---- | -----| + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/rust/docs/RasterDataType.md b/rust/docs/RasterDataType.md new file mode 100644 index 00000000..dd1561c7 --- /dev/null +++ b/rust/docs/RasterDataType.md @@ -0,0 +1,21 @@ +# RasterDataType + +## Enum Variants + +| Name | Value | +|---- | -----| +| U8 | U8 | +| U16 | U16 | +| U32 | U32 | +| U64 | U64 | +| I8 | I8 | +| I16 | I16 | +| I32 | I32 | +| I64 | I64 | +| F32 | F32 | +| F64 | F64 | + + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/rust/docs/RasterDatasetFromWorkflow.md b/rust/docs/RasterDatasetFromWorkflow.md new file mode 100644 index 00000000..5178d6bf --- /dev/null +++ b/rust/docs/RasterDatasetFromWorkflow.md @@ -0,0 +1,15 @@ +# RasterDatasetFromWorkflow + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**as_cog** | Option<**bool**> | | [optional][default to true] +**description** | Option<**String**> | | [optional] +**display_name** | **String** | | +**name** | Option<**String**> | | [optional] +**query** | [**models::RasterToDatasetQueryRectangle**](RasterToDatasetQueryRectangle.md) | | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/rust/docs/RasterOperator.md b/rust/docs/RasterOperator.md new file mode 100644 index 00000000..bcd50517 --- /dev/null +++ b/rust/docs/RasterOperator.md @@ -0,0 +1,10 @@ +# RasterOperator + +## Enum Variants + +| Name | Value | +|---- | -----| + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/rust/docs/RasterPropertiesEntryType.md b/rust/docs/RasterPropertiesEntryType.md new file mode 100644 index 00000000..f02505f9 --- /dev/null +++ b/rust/docs/RasterPropertiesEntryType.md @@ -0,0 +1,13 @@ +# RasterPropertiesEntryType + +## Enum Variants + +| Name | Value | +|---- | -----| +| Number | Number | +| String | String | + + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/rust/docs/RasterPropertiesKey.md b/rust/docs/RasterPropertiesKey.md new file mode 100644 index 00000000..d6944dc9 --- /dev/null +++ b/rust/docs/RasterPropertiesKey.md @@ -0,0 +1,12 @@ +# RasterPropertiesKey + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**domain** | Option<**String**> | | [optional] +**key** | **String** | | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/rust/docs/RasterResultDescriptor.md b/rust/docs/RasterResultDescriptor.md new file mode 100644 index 00000000..43454ea9 --- /dev/null +++ b/rust/docs/RasterResultDescriptor.md @@ -0,0 +1,15 @@ +# RasterResultDescriptor + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**bands** | [**Vec**](RasterBandDescriptor.md) | | +**data_type** | [**models::RasterDataType**](RasterDataType.md) | | +**spatial_grid** | [**models::SpatialGridDescriptor**](SpatialGridDescriptor.md) | | +**spatial_reference** | **String** | | +**time** | [**models::TimeDescriptor**](TimeDescriptor.md) | | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/rust/docs/RasterStreamWebsocketResultType.md b/rust/docs/RasterStreamWebsocketResultType.md new file mode 100644 index 00000000..7e7575dd --- /dev/null +++ b/rust/docs/RasterStreamWebsocketResultType.md @@ -0,0 +1,12 @@ +# RasterStreamWebsocketResultType + +## Enum Variants + +| Name | Value | +|---- | -----| +| Arrow | arrow | + + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/rust/docs/RasterSymbology.md b/rust/docs/RasterSymbology.md new file mode 100644 index 00000000..4d74c91e --- /dev/null +++ b/rust/docs/RasterSymbology.md @@ -0,0 +1,13 @@ +# RasterSymbology + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**opacity** | **f64** | | +**raster_colorizer** | [**models::RasterColorizer**](RasterColorizer.md) | | +**r#type** | **Type** | (enum: raster) | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/rust/docs/RasterToDatasetQueryRectangle.md b/rust/docs/RasterToDatasetQueryRectangle.md new file mode 100644 index 00000000..4a2019ff --- /dev/null +++ b/rust/docs/RasterToDatasetQueryRectangle.md @@ -0,0 +1,12 @@ +# RasterToDatasetQueryRectangle + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**spatial_bounds** | [**models::SpatialPartition2D**](SpatialPartition2D.md) | | +**time_interval** | [**models::TimeInterval**](TimeInterval.md) | | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/rust/docs/RasterVectorJoin.md b/rust/docs/RasterVectorJoin.md new file mode 100644 index 00000000..0a3f5300 --- /dev/null +++ b/rust/docs/RasterVectorJoin.md @@ -0,0 +1,13 @@ +# RasterVectorJoin + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**params** | [**models::RasterVectorJoinParameters**](RasterVectorJoinParameters.md) | | +**sources** | [**models::SingleVectorMultipleRasterSources**](SingleVectorMultipleRasterSources.md) | | +**r#type** | **Type** | (enum: RasterVectorJoin) | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/rust/docs/RasterVectorJoinParameters.md b/rust/docs/RasterVectorJoinParameters.md new file mode 100644 index 00000000..55aa5899 --- /dev/null +++ b/rust/docs/RasterVectorJoinParameters.md @@ -0,0 +1,15 @@ +# RasterVectorJoinParameters + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**feature_aggregation** | [**models::FeatureAggregationMethod**](FeatureAggregationMethod.md) | The aggregation function to use for features covering multiple pixels. | +**feature_aggregation_ignore_no_data** | Option<**bool**> | Whether to ignore no data values in the aggregation. Defaults to `false`. | [optional] +**names** | [**models::ColumnNames**](ColumnNames.md) | Specify how the new column names are derived from the raster band names. The `ColumnNames` type is used to specify how the new column names are derived from the raster band names. - **default**: Appends \" (n)\" to the band name with the smallest `n` that avoids a conflict. - **suffix**: Specifies a suffix for each input, to be appended to the band names. - **rename**: A list of names for each new column. | +**temporal_aggregation** | [**models::TemporalAggregationMethod**](TemporalAggregationMethod.md) | The aggregation function to use for features covering multiple (raster) time steps. | +**temporal_aggregation_ignore_no_data** | Option<**bool**> | Whether to ignore no data values in the aggregation. Defaults to `false`. | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/rust/docs/RegularTimeDimension.md b/rust/docs/RegularTimeDimension.md new file mode 100644 index 00000000..c3885176 --- /dev/null +++ b/rust/docs/RegularTimeDimension.md @@ -0,0 +1,12 @@ +# RegularTimeDimension + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**origin** | **i64** | | +**step** | [**models::TimeStep**](TimeStep.md) | | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/rust/docs/Resource.md b/rust/docs/Resource.md new file mode 100644 index 00000000..bd3ddaf3 --- /dev/null +++ b/rust/docs/Resource.md @@ -0,0 +1,10 @@ +# Resource + +## Enum Variants + +| Name | Value | +|---- | -----| + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/rust/docs/Role.md b/rust/docs/Role.md new file mode 100644 index 00000000..cef2d5d6 --- /dev/null +++ b/rust/docs/Role.md @@ -0,0 +1,12 @@ +# Role + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**id** | **uuid::Uuid** | | +**name** | **String** | | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/rust/docs/RoleDescription.md b/rust/docs/RoleDescription.md new file mode 100644 index 00000000..c040d8a8 --- /dev/null +++ b/rust/docs/RoleDescription.md @@ -0,0 +1,12 @@ +# RoleDescription + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**individual** | **bool** | | +**role** | [**models::Role**](Role.md) | | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/rust/docs/SearchCapabilities.md b/rust/docs/SearchCapabilities.md new file mode 100644 index 00000000..19cd8454 --- /dev/null +++ b/rust/docs/SearchCapabilities.md @@ -0,0 +1,13 @@ +# SearchCapabilities + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**autocomplete** | **bool** | | +**filters** | Option<**Vec**> | | [optional] +**search_types** | [**models::SearchTypes**](SearchTypes.md) | | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/rust/docs/SearchType.md b/rust/docs/SearchType.md new file mode 100644 index 00000000..ddb66520 --- /dev/null +++ b/rust/docs/SearchType.md @@ -0,0 +1,13 @@ +# SearchType + +## Enum Variants + +| Name | Value | +|---- | -----| +| Fulltext | fulltext | +| Prefix | prefix | + + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/rust/docs/SearchTypes.md b/rust/docs/SearchTypes.md new file mode 100644 index 00000000..63efa307 --- /dev/null +++ b/rust/docs/SearchTypes.md @@ -0,0 +1,12 @@ +# SearchTypes + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**fulltext** | **bool** | | +**prefix** | **bool** | | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/rust/docs/SentinelS2L2ACogsProviderDefinition.md b/rust/docs/SentinelS2L2ACogsProviderDefinition.md new file mode 100644 index 00000000..19a70e46 --- /dev/null +++ b/rust/docs/SentinelS2L2ACogsProviderDefinition.md @@ -0,0 +1,20 @@ +# SentinelS2L2ACogsProviderDefinition + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**api_url** | **String** | | +**cache_ttl** | Option<**i32**> | | [optional] +**description** | **String** | | +**gdal_retries** | Option<**i32**> | | [optional] +**id** | **uuid::Uuid** | | +**name** | **String** | | +**priority** | Option<**i32**> | | [optional] +**query_buffer** | Option<[**models::StacQueryBuffer**](StacQueryBuffer.md)> | | [optional] +**stac_api_retries** | Option<[**models::StacApiRetries**](StacApiRetries.md)> | | [optional] +**r#type** | **Type** | (enum: SentinelS2L2ACogs) | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/rust/docs/ServerInfo.md b/rust/docs/ServerInfo.md new file mode 100644 index 00000000..338d956f --- /dev/null +++ b/rust/docs/ServerInfo.md @@ -0,0 +1,14 @@ +# ServerInfo + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**build_date** | **String** | | +**commit_hash** | **String** | | +**features** | **String** | | +**version** | **String** | | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/rust/docs/SessionApi.md b/rust/docs/SessionApi.md new file mode 100644 index 00000000..c553d52b --- /dev/null +++ b/rust/docs/SessionApi.md @@ -0,0 +1,265 @@ +# \SessionApi + +All URIs are relative to *https://geoengine.io/api* + +Method | HTTP request | Description +------------- | ------------- | ------------- +[**anonymous_handler**](SessionApi.md#anonymous_handler) | **POST** /anonymous | Creates session for anonymous user. The session's id serves as a Bearer token for requests. +[**login_handler**](SessionApi.md#login_handler) | **POST** /login | Creates a session by providing user credentials. The session's id serves as a Bearer token for requests. +[**logout_handler**](SessionApi.md#logout_handler) | **POST** /logout | Ends a session. +[**oidc_init**](SessionApi.md#oidc_init) | **POST** /oidcInit | Initializes the Open Id Connect login procedure by requesting a parametrized url to the configured Id Provider. +[**oidc_login**](SessionApi.md#oidc_login) | **POST** /oidcLogin | Creates a session for a user via a login with Open Id Connect. This call must be preceded by a call to oidcInit and match the parameters of that call. +[**register_user_handler**](SessionApi.md#register_user_handler) | **POST** /user | Registers a user. +[**session_handler**](SessionApi.md#session_handler) | **GET** /session | Retrieves details about the current session. +[**session_project_handler**](SessionApi.md#session_project_handler) | **POST** /session/project/{project} | Sets the active project of the session. +[**session_view_handler**](SessionApi.md#session_view_handler) | **POST** /session/view | + + + +## anonymous_handler + +> models::UserSession anonymous_handler() +Creates session for anonymous user. The session's id serves as a Bearer token for requests. + +### Parameters + +This endpoint does not need any parameter. + +### Return type + +[**models::UserSession**](UserSession.md) + +### Authorization + +No authorization required + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## login_handler + +> models::UserSession login_handler(user_credentials) +Creates a session by providing user credentials. The session's id serves as a Bearer token for requests. + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**user_credentials** | [**UserCredentials**](UserCredentials.md) | | [required] | + +### Return type + +[**models::UserSession**](UserSession.md) + +### Authorization + +No authorization required + +### HTTP request headers + +- **Content-Type**: application/json +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## logout_handler + +> logout_handler() +Ends a session. + +### Parameters + +This endpoint does not need any parameter. + +### Return type + + (empty response body) + +### Authorization + +[session_token](../README.md#session_token) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: Not defined + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## oidc_init + +> models::AuthCodeRequestUrl oidc_init(redirect_uri) +Initializes the Open Id Connect login procedure by requesting a parametrized url to the configured Id Provider. + +# Errors This call fails if Open ID Connect is disabled, misconfigured or the Id Provider is unreachable. + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**redirect_uri** | **String** | | [required] | + +### Return type + +[**models::AuthCodeRequestUrl**](AuthCodeRequestURL.md) + +### Authorization + +No authorization required + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## oidc_login + +> models::UserSession oidc_login(redirect_uri, auth_code_response) +Creates a session for a user via a login with Open Id Connect. This call must be preceded by a call to oidcInit and match the parameters of that call. + +# Errors This call fails if the [`AuthCodeResponse`] is invalid, if a previous oidcLogin call with the same state was already successfully or unsuccessfully resolved, if the Open Id Connect configuration is invalid, or if the Id Provider is unreachable. + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**redirect_uri** | **String** | | [required] | +**auth_code_response** | [**AuthCodeResponse**](AuthCodeResponse.md) | | [required] | + +### Return type + +[**models::UserSession**](UserSession.md) + +### Authorization + +No authorization required + +### HTTP request headers + +- **Content-Type**: application/json +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## register_user_handler + +> uuid::Uuid register_user_handler(user_registration) +Registers a user. + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**user_registration** | [**UserRegistration**](UserRegistration.md) | | [required] | + +### Return type + +[**uuid::Uuid**](uuid::Uuid.md) + +### Authorization + +No authorization required + +### HTTP request headers + +- **Content-Type**: application/json +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## session_handler + +> models::UserSession session_handler() +Retrieves details about the current session. + +### Parameters + +This endpoint does not need any parameter. + +### Return type + +[**models::UserSession**](UserSession.md) + +### Authorization + +[session_token](../README.md#session_token) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## session_project_handler + +> session_project_handler(project) +Sets the active project of the session. + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**project** | **uuid::Uuid** | Project id | [required] | + +### Return type + + (empty response body) + +### Authorization + +[session_token](../README.md#session_token) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: Not defined + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## session_view_handler + +> session_view_handler(st_rectangle) + + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**st_rectangle** | [**StRectangle**](StRectangle.md) | | [required] | + +### Return type + + (empty response body) + +### Authorization + +[session_token](../README.md#session_token) + +### HTTP request headers + +- **Content-Type**: application/json +- **Accept**: Not defined + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + diff --git a/rust/docs/SingleBandRasterColorizer.md b/rust/docs/SingleBandRasterColorizer.md new file mode 100644 index 00000000..881ed2c7 --- /dev/null +++ b/rust/docs/SingleBandRasterColorizer.md @@ -0,0 +1,13 @@ +# SingleBandRasterColorizer + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**band** | **i32** | | +**band_colorizer** | [**models::Colorizer**](Colorizer.md) | | +**r#type** | **Type** | (enum: singleBand) | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/rust/docs/SingleRasterOrVectorOperator.md b/rust/docs/SingleRasterOrVectorOperator.md new file mode 100644 index 00000000..0fe0d296 --- /dev/null +++ b/rust/docs/SingleRasterOrVectorOperator.md @@ -0,0 +1,12 @@ +# SingleRasterOrVectorOperator + +## Enum Variants + +| Name | Description | +|---- | -----| +| RasterOperator | It is either a set of `RasterOperator` or a single `VectorOperator` | +| VectorOperator | It is either a set of `RasterOperator` or a single `VectorOperator` | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/rust/docs/SingleRasterOrVectorSource.md b/rust/docs/SingleRasterOrVectorSource.md new file mode 100644 index 00000000..f3cb4ef0 --- /dev/null +++ b/rust/docs/SingleRasterOrVectorSource.md @@ -0,0 +1,11 @@ +# SingleRasterOrVectorSource + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**source** | [**models::SingleRasterOrVectorOperator**](SingleRasterOrVectorOperator.md) | | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/rust/docs/SingleRasterSource.md b/rust/docs/SingleRasterSource.md new file mode 100644 index 00000000..be262e74 --- /dev/null +++ b/rust/docs/SingleRasterSource.md @@ -0,0 +1,11 @@ +# SingleRasterSource + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**raster** | [**models::RasterOperator**](RasterOperator.md) | | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/rust/docs/SingleVectorMultipleRasterSources.md b/rust/docs/SingleVectorMultipleRasterSources.md new file mode 100644 index 00000000..c4ca0d90 --- /dev/null +++ b/rust/docs/SingleVectorMultipleRasterSources.md @@ -0,0 +1,12 @@ +# SingleVectorMultipleRasterSources + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**rasters** | [**Vec**](RasterOperator.md) | | +**vector** | [**models::VectorOperator**](VectorOperator.md) | | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/rust/docs/SpatialBoundsDerive.md b/rust/docs/SpatialBoundsDerive.md new file mode 100644 index 00000000..5b16ec22 --- /dev/null +++ b/rust/docs/SpatialBoundsDerive.md @@ -0,0 +1,10 @@ +# SpatialBoundsDerive + +## Enum Variants + +| Name | Value | +|---- | -----| + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/rust/docs/SpatialBoundsDeriveBounds.md b/rust/docs/SpatialBoundsDeriveBounds.md new file mode 100644 index 00000000..860c0eee --- /dev/null +++ b/rust/docs/SpatialBoundsDeriveBounds.md @@ -0,0 +1,13 @@ +# SpatialBoundsDeriveBounds + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**lower_left_coordinate** | [**models::Coordinate2D**](Coordinate2D.md) | | +**upper_right_coordinate** | [**models::Coordinate2D**](Coordinate2D.md) | | +**r#type** | **Type** | (enum: bounds) | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/rust/docs/SpatialBoundsDeriveDerive.md b/rust/docs/SpatialBoundsDeriveDerive.md new file mode 100644 index 00000000..d6f7dfd4 --- /dev/null +++ b/rust/docs/SpatialBoundsDeriveDerive.md @@ -0,0 +1,11 @@ +# SpatialBoundsDeriveDerive + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**r#type** | **Type** | (enum: derive) | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/rust/docs/SpatialBoundsDeriveNone.md b/rust/docs/SpatialBoundsDeriveNone.md new file mode 100644 index 00000000..7be434a2 --- /dev/null +++ b/rust/docs/SpatialBoundsDeriveNone.md @@ -0,0 +1,11 @@ +# SpatialBoundsDeriveNone + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**r#type** | **Type** | (enum: none) | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/rust/docs/SpatialGridDefinition.md b/rust/docs/SpatialGridDefinition.md new file mode 100644 index 00000000..77263318 --- /dev/null +++ b/rust/docs/SpatialGridDefinition.md @@ -0,0 +1,12 @@ +# SpatialGridDefinition + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**geo_transform** | [**models::GeoTransform**](GeoTransform.md) | | +**grid_bounds** | [**models::GridBoundingBox2D**](GridBoundingBox2D.md) | | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/rust/docs/SpatialGridDescriptor.md b/rust/docs/SpatialGridDescriptor.md new file mode 100644 index 00000000..d7eaeab7 --- /dev/null +++ b/rust/docs/SpatialGridDescriptor.md @@ -0,0 +1,12 @@ +# SpatialGridDescriptor + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**descriptor** | [**models::SpatialGridDescriptorState**](SpatialGridDescriptorState.md) | | +**spatial_grid** | [**models::SpatialGridDefinition**](SpatialGridDefinition.md) | | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/rust/docs/SpatialGridDescriptorState.md b/rust/docs/SpatialGridDescriptorState.md new file mode 100644 index 00000000..f9582a20 --- /dev/null +++ b/rust/docs/SpatialGridDescriptorState.md @@ -0,0 +1,13 @@ +# SpatialGridDescriptorState + +## Enum Variants + +| Name | Value | +|---- | -----| +| Source | source | +| Derived | derived | + + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/rust/docs/SpatialPartition2D.md b/rust/docs/SpatialPartition2D.md new file mode 100644 index 00000000..174a0364 --- /dev/null +++ b/rust/docs/SpatialPartition2D.md @@ -0,0 +1,12 @@ +# SpatialPartition2D + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**lower_right_coordinate** | [**models::Coordinate2D**](Coordinate2D.md) | | +**upper_left_coordinate** | [**models::Coordinate2D**](Coordinate2D.md) | | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/rust/docs/SpatialReferenceSpecification.md b/rust/docs/SpatialReferenceSpecification.md new file mode 100644 index 00000000..832b64a8 --- /dev/null +++ b/rust/docs/SpatialReferenceSpecification.md @@ -0,0 +1,16 @@ +# SpatialReferenceSpecification + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**axis_labels** | Option<**Vec**> | | [optional] +**axis_order** | Option<[**models::AxisOrder**](AxisOrder.md)> | | [optional] +**extent** | [**models::BoundingBox2D**](BoundingBox2D.md) | | +**name** | **String** | | +**proj_string** | **String** | | +**spatial_reference** | **String** | | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/rust/docs/SpatialReferencesApi.md b/rust/docs/SpatialReferencesApi.md new file mode 100644 index 00000000..54dba70f --- /dev/null +++ b/rust/docs/SpatialReferencesApi.md @@ -0,0 +1,37 @@ +# \SpatialReferencesApi + +All URIs are relative to *https://geoengine.io/api* + +Method | HTTP request | Description +------------- | ------------- | ------------- +[**get_spatial_reference_specification_handler**](SpatialReferencesApi.md#get_spatial_reference_specification_handler) | **GET** /spatialReferenceSpecification/{srsString} | + + + +## get_spatial_reference_specification_handler + +> models::SpatialReferenceSpecification get_spatial_reference_specification_handler(srs_string) + + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**srs_string** | **String** | | [required] | + +### Return type + +[**models::SpatialReferenceSpecification**](SpatialReferenceSpecification.md) + +### Authorization + +[session_token](../README.md#session_token) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + diff --git a/rust/docs/StRectangle.md b/rust/docs/StRectangle.md new file mode 100644 index 00000000..7411edf0 --- /dev/null +++ b/rust/docs/StRectangle.md @@ -0,0 +1,13 @@ +# StRectangle + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**bounding_box** | [**models::BoundingBox2D**](BoundingBox2D.md) | | +**spatial_reference** | **String** | | +**time_interval** | [**models::TimeInterval**](TimeInterval.md) | | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/rust/docs/StacApiRetries.md b/rust/docs/StacApiRetries.md new file mode 100644 index 00000000..fb160afd --- /dev/null +++ b/rust/docs/StacApiRetries.md @@ -0,0 +1,13 @@ +# StacApiRetries + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**exponential_backoff_factor** | **f64** | | +**initial_delay_ms** | **i64** | | +**number_of_retries** | **i32** | | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/rust/docs/StacQueryBuffer.md b/rust/docs/StacQueryBuffer.md new file mode 100644 index 00000000..d40a44b7 --- /dev/null +++ b/rust/docs/StacQueryBuffer.md @@ -0,0 +1,12 @@ +# StacQueryBuffer + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**end_seconds** | **i64** | | +**start_seconds** | **i64** | | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/rust/docs/StaticColor.md b/rust/docs/StaticColor.md new file mode 100644 index 00000000..4d6e072d --- /dev/null +++ b/rust/docs/StaticColor.md @@ -0,0 +1,12 @@ +# StaticColor + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**color** | **Vec** | | +**r#type** | **Type** | (enum: static) | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/rust/docs/StaticNumber.md b/rust/docs/StaticNumber.md new file mode 100644 index 00000000..d102d300 --- /dev/null +++ b/rust/docs/StaticNumber.md @@ -0,0 +1,12 @@ +# StaticNumber + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**r#type** | **Type** | (enum: static) | +**value** | **i32** | | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/rust/docs/Statistics.md b/rust/docs/Statistics.md new file mode 100644 index 00000000..dd4871af --- /dev/null +++ b/rust/docs/Statistics.md @@ -0,0 +1,13 @@ +# Statistics + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**params** | [**models::StatisticsParameters**](StatisticsParameters.md) | | +**sources** | [**models::MultipleRasterOrSingleVectorSource**](MultipleRasterOrSingleVectorSource.md) | | +**r#type** | **Type** | (enum: Statistics) | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/rust/docs/StatisticsParameters.md b/rust/docs/StatisticsParameters.md new file mode 100644 index 00000000..ebbd249d --- /dev/null +++ b/rust/docs/StatisticsParameters.md @@ -0,0 +1,12 @@ +# StatisticsParameters + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**column_names** | Option<**Vec**> | # Vector data The names of the attributes to generate statistics for. # Raster data _Optional_: An alias for each input source. The operator will automatically name the rasters `Raster-1`, `Raster-2`, … if this parameter is empty. If aliases are given, the number of aliases must match the number of input rasters. Otherwise an error is returned. | [optional] +**percentiles** | Option<**Vec**> | The percentiles to compute for each attribute. | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/rust/docs/StrokeParam.md b/rust/docs/StrokeParam.md new file mode 100644 index 00000000..0b87c1b7 --- /dev/null +++ b/rust/docs/StrokeParam.md @@ -0,0 +1,12 @@ +# StrokeParam + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**color** | [**models::ColorParam**](ColorParam.md) | | +**width** | [**models::NumberParam**](NumberParam.md) | | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/rust/docs/Suffix.md b/rust/docs/Suffix.md new file mode 100644 index 00000000..08cd5a7f --- /dev/null +++ b/rust/docs/Suffix.md @@ -0,0 +1,12 @@ +# Suffix + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**r#type** | **Type** | (enum: suffix) | +**values** | **Vec** | | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/rust/docs/SuggestMetaData.md b/rust/docs/SuggestMetaData.md new file mode 100644 index 00000000..4bbc5dc9 --- /dev/null +++ b/rust/docs/SuggestMetaData.md @@ -0,0 +1,13 @@ +# SuggestMetaData + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**data_path** | [**models::DataPath**](DataPath.md) | | +**layer_name** | Option<**String**> | | [optional] +**main_file** | Option<**String**> | | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/rust/docs/Symbology.md b/rust/docs/Symbology.md new file mode 100644 index 00000000..b3e067d0 --- /dev/null +++ b/rust/docs/Symbology.md @@ -0,0 +1,10 @@ +# Symbology + +## Enum Variants + +| Name | Value | +|---- | -----| + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/rust/docs/TaskFilter.md b/rust/docs/TaskFilter.md new file mode 100644 index 00000000..978a2880 --- /dev/null +++ b/rust/docs/TaskFilter.md @@ -0,0 +1,15 @@ +# TaskFilter + +## Enum Variants + +| Name | Value | +|---- | -----| +| Running | running | +| Aborted | aborted | +| Failed | failed | +| Completed | completed | + + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/rust/docs/TaskResponse.md b/rust/docs/TaskResponse.md new file mode 100644 index 00000000..4f268b36 --- /dev/null +++ b/rust/docs/TaskResponse.md @@ -0,0 +1,11 @@ +# TaskResponse + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**task_id** | **uuid::Uuid** | | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/rust/docs/TaskStatus.md b/rust/docs/TaskStatus.md new file mode 100644 index 00000000..e7c2d975 --- /dev/null +++ b/rust/docs/TaskStatus.md @@ -0,0 +1,10 @@ +# TaskStatus + +## Enum Variants + +| Name | Value | +|---- | -----| + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/rust/docs/TaskStatusAborted.md b/rust/docs/TaskStatusAborted.md new file mode 100644 index 00000000..7c0a5eb6 --- /dev/null +++ b/rust/docs/TaskStatusAborted.md @@ -0,0 +1,12 @@ +# TaskStatusAborted + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**clean_up** | Option<**serde_json::Value**> | | +**status** | **Status** | (enum: aborted) | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/rust/docs/TaskStatusCompleted.md b/rust/docs/TaskStatusCompleted.md new file mode 100644 index 00000000..d775ac4f --- /dev/null +++ b/rust/docs/TaskStatusCompleted.md @@ -0,0 +1,16 @@ +# TaskStatusCompleted + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**description** | Option<**String**> | | [optional] +**info** | Option<**serde_json::Value**> | | [optional] +**status** | **Status** | (enum: completed) | +**task_type** | **String** | | +**time_started** | **String** | | +**time_total** | **String** | | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/rust/docs/TaskStatusFailed.md b/rust/docs/TaskStatusFailed.md new file mode 100644 index 00000000..9562e867 --- /dev/null +++ b/rust/docs/TaskStatusFailed.md @@ -0,0 +1,13 @@ +# TaskStatusFailed + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**clean_up** | Option<**serde_json::Value**> | | +**error** | Option<**serde_json::Value**> | | +**status** | **Status** | (enum: failed) | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/rust/docs/TaskStatusRunning.md b/rust/docs/TaskStatusRunning.md new file mode 100644 index 00000000..ffa6e80d --- /dev/null +++ b/rust/docs/TaskStatusRunning.md @@ -0,0 +1,17 @@ +# TaskStatusRunning + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**description** | Option<**String**> | | [optional] +**estimated_time_remaining** | **String** | | +**info** | Option<**serde_json::Value**> | | [optional] +**pct_complete** | **String** | | +**status** | **Status** | (enum: running) | +**task_type** | **String** | | +**time_started** | **String** | | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/rust/docs/TaskStatusWithId.md b/rust/docs/TaskStatusWithId.md new file mode 100644 index 00000000..f2529cf7 --- /dev/null +++ b/rust/docs/TaskStatusWithId.md @@ -0,0 +1,21 @@ +# TaskStatusWithId + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**description** | Option<**String**> | | [optional] +**estimated_time_remaining** | **String** | | +**info** | Option<**serde_json::Value**> | | [optional] +**pct_complete** | **String** | | +**status** | **Status** | (enum: failed) | +**task_type** | **String** | | +**time_started** | **String** | | +**time_total** | **String** | | +**clean_up** | Option<**serde_json::Value**> | | +**error** | Option<**serde_json::Value**> | | +**task_id** | **uuid::Uuid** | | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/rust/docs/TasksApi.md b/rust/docs/TasksApi.md new file mode 100644 index 00000000..65658924 --- /dev/null +++ b/rust/docs/TasksApi.md @@ -0,0 +1,100 @@ +# \TasksApi + +All URIs are relative to *https://geoengine.io/api* + +Method | HTTP request | Description +------------- | ------------- | ------------- +[**abort_handler**](TasksApi.md#abort_handler) | **DELETE** /tasks/{id} | Abort a running task. +[**list_handler**](TasksApi.md#list_handler) | **GET** /tasks/list | Retrieve the status of all tasks. +[**status_handler**](TasksApi.md#status_handler) | **GET** /tasks/{id}/status | Retrieve the status of a task. + + + +## abort_handler + +> abort_handler(id, force) +Abort a running task. + +# Parameters * `force` - If true, the task will be aborted without clean-up. You can abort a task that is already in the process of aborting. + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**id** | **uuid::Uuid** | Task id | [required] | +**force** | Option<**bool**> | | | + +### Return type + + (empty response body) + +### Authorization + +[session_token](../README.md#session_token) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: Not defined + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## list_handler + +> Vec list_handler(filter, offset, limit) +Retrieve the status of all tasks. + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**filter** | Option<**String**> | | [required] | +**offset** | **i32** | | [required] | +**limit** | **i32** | | [required] | + +### Return type + +[**Vec**](TaskStatusWithId.md) + +### Authorization + +[session_token](../README.md#session_token) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## status_handler + +> models::TaskStatus status_handler(id) +Retrieve the status of a task. + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**id** | **uuid::Uuid** | Task id | [required] | + +### Return type + +[**models::TaskStatus**](TaskStatus.md) + +### Authorization + +[session_token](../README.md#session_token) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + diff --git a/rust/docs/TemporalAggregationMethod.md b/rust/docs/TemporalAggregationMethod.md new file mode 100644 index 00000000..9735654d --- /dev/null +++ b/rust/docs/TemporalAggregationMethod.md @@ -0,0 +1,14 @@ +# TemporalAggregationMethod + +## Enum Variants + +| Name | Value | +|---- | -----| +| None | none | +| First | first | +| Mean | mean | + + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/rust/docs/TextSymbology.md b/rust/docs/TextSymbology.md new file mode 100644 index 00000000..8765004a --- /dev/null +++ b/rust/docs/TextSymbology.md @@ -0,0 +1,13 @@ +# TextSymbology + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**attribute** | **String** | | +**fill_color** | [**models::ColorParam**](ColorParam.md) | | +**stroke** | [**models::StrokeParam**](StrokeParam.md) | | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/rust/docs/TimeDescriptor.md b/rust/docs/TimeDescriptor.md new file mode 100644 index 00000000..8b13177e --- /dev/null +++ b/rust/docs/TimeDescriptor.md @@ -0,0 +1,12 @@ +# TimeDescriptor + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**bounds** | Option<[**models::TimeInterval**](TimeInterval.md)> | | [optional] +**dimension** | [**models::TimeDimension**](TimeDimension.md) | | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/rust/docs/TimeDimension.md b/rust/docs/TimeDimension.md new file mode 100644 index 00000000..fc08ac9f --- /dev/null +++ b/rust/docs/TimeDimension.md @@ -0,0 +1,12 @@ +# TimeDimension + +## Enum Variants + +| Name | Description | +|---- | -----| +| TimeDimensionOneOf | | +| TimeDimensionOneOf1 | | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/rust/docs/TimeDimensionOneOf.md b/rust/docs/TimeDimensionOneOf.md new file mode 100644 index 00000000..0e7a3eb1 --- /dev/null +++ b/rust/docs/TimeDimensionOneOf.md @@ -0,0 +1,13 @@ +# TimeDimensionOneOf + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**origin** | **i64** | | +**step** | [**models::TimeStep**](TimeStep.md) | | +**r#type** | **Type** | (enum: regular) | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/rust/docs/TimeDimensionOneOf1.md b/rust/docs/TimeDimensionOneOf1.md new file mode 100644 index 00000000..2a9a6b3f --- /dev/null +++ b/rust/docs/TimeDimensionOneOf1.md @@ -0,0 +1,11 @@ +# TimeDimensionOneOf1 + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**r#type** | **Type** | (enum: irregular) | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/rust/docs/TimeGranularity.md b/rust/docs/TimeGranularity.md new file mode 100644 index 00000000..fffb03a3 --- /dev/null +++ b/rust/docs/TimeGranularity.md @@ -0,0 +1,18 @@ +# TimeGranularity + +## Enum Variants + +| Name | Value | +|---- | -----| +| Millis | millis | +| Seconds | seconds | +| Minutes | minutes | +| Hours | hours | +| Days | days | +| Months | months | +| Years | years | + + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/rust/docs/TimeInterval.md b/rust/docs/TimeInterval.md new file mode 100644 index 00000000..cadb1631 --- /dev/null +++ b/rust/docs/TimeInterval.md @@ -0,0 +1,12 @@ +# TimeInterval + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**end** | **i64** | | +**start** | **i64** | | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/rust/docs/TimeReference.md b/rust/docs/TimeReference.md new file mode 100644 index 00000000..bce473c6 --- /dev/null +++ b/rust/docs/TimeReference.md @@ -0,0 +1,13 @@ +# TimeReference + +## Enum Variants + +| Name | Value | +|---- | -----| +| Start | start | +| End | end | + + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/rust/docs/TimeStep.md b/rust/docs/TimeStep.md new file mode 100644 index 00000000..87d4442e --- /dev/null +++ b/rust/docs/TimeStep.md @@ -0,0 +1,12 @@ +# TimeStep + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**granularity** | [**models::TimeGranularity**](TimeGranularity.md) | | +**step** | **i32** | | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/rust/docs/TypedDataProviderDefinition.md b/rust/docs/TypedDataProviderDefinition.md new file mode 100644 index 00000000..35b85493 --- /dev/null +++ b/rust/docs/TypedDataProviderDefinition.md @@ -0,0 +1,10 @@ +# TypedDataProviderDefinition + +## Enum Variants + +| Name | Value | +|---- | -----| + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/rust/docs/TypedGeometry.md b/rust/docs/TypedGeometry.md new file mode 100644 index 00000000..ce0df27c --- /dev/null +++ b/rust/docs/TypedGeometry.md @@ -0,0 +1,14 @@ +# TypedGeometry + +## Enum Variants + +| Name | Description | +|---- | -----| +| TypedGeometryOneOf | | +| TypedGeometryOneOf1 | | +| TypedGeometryOneOf2 | | +| TypedGeometryOneOf3 | | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/rust/docs/TypedGeometryOneOf.md b/rust/docs/TypedGeometryOneOf.md new file mode 100644 index 00000000..b9bf423a --- /dev/null +++ b/rust/docs/TypedGeometryOneOf.md @@ -0,0 +1,11 @@ +# TypedGeometryOneOf + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**data** | Option<**serde_json::Value**> | | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/rust/docs/TypedGeometryOneOf1.md b/rust/docs/TypedGeometryOneOf1.md new file mode 100644 index 00000000..9db9a364 --- /dev/null +++ b/rust/docs/TypedGeometryOneOf1.md @@ -0,0 +1,11 @@ +# TypedGeometryOneOf1 + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**multi_point** | [**models::MultiPoint**](MultiPoint.md) | | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/rust/docs/TypedGeometryOneOf2.md b/rust/docs/TypedGeometryOneOf2.md new file mode 100644 index 00000000..f5d7e42b --- /dev/null +++ b/rust/docs/TypedGeometryOneOf2.md @@ -0,0 +1,11 @@ +# TypedGeometryOneOf2 + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**multi_line_string** | [**models::MultiLineString**](MultiLineString.md) | | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/rust/docs/TypedGeometryOneOf3.md b/rust/docs/TypedGeometryOneOf3.md new file mode 100644 index 00000000..e11ced93 --- /dev/null +++ b/rust/docs/TypedGeometryOneOf3.md @@ -0,0 +1,11 @@ +# TypedGeometryOneOf3 + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**multi_polygon** | [**models::MultiPolygon**](MultiPolygon.md) | | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/rust/docs/TypedOperator.md b/rust/docs/TypedOperator.md new file mode 100644 index 00000000..2aeb0f35 --- /dev/null +++ b/rust/docs/TypedOperator.md @@ -0,0 +1,13 @@ +# TypedOperator + +## Enum Variants + +| Name | Description | +|---- | -----| +| TypedPlotOperator | Operator outputs are distinguished by their data type. There are `raster`, `vector` and `plot` operators. | +| TypedRasterOperator | Operator outputs are distinguished by their data type. There are `raster`, `vector` and `plot` operators. | +| TypedVectorOperator | Operator outputs are distinguished by their data type. There are `raster`, `vector` and `plot` operators. | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/rust/docs/TypedOperatorOneOf.md b/rust/docs/TypedOperatorOneOf.md new file mode 100644 index 00000000..54e0f070 --- /dev/null +++ b/rust/docs/TypedOperatorOneOf.md @@ -0,0 +1,12 @@ +# TypedOperatorOneOf + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**operator** | [**models::RasterOperator**](RasterOperator.md) | | +**r#type** | **Type** | (enum: Raster) | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/rust/docs/TypedOperatorOneOf1.md b/rust/docs/TypedOperatorOneOf1.md new file mode 100644 index 00000000..1afcba7f --- /dev/null +++ b/rust/docs/TypedOperatorOneOf1.md @@ -0,0 +1,12 @@ +# TypedOperatorOneOf1 + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**operator** | [**models::PlotOperator**](PlotOperator.md) | | +**r#type** | **Type** | (enum: Plot) | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/rust/docs/TypedOperatorOneOf2.md b/rust/docs/TypedOperatorOneOf2.md new file mode 100644 index 00000000..f67dcd5a --- /dev/null +++ b/rust/docs/TypedOperatorOneOf2.md @@ -0,0 +1,12 @@ +# TypedOperatorOneOf2 + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**operator** | [**models::PlotOperator**](PlotOperator.md) | | +**r#type** | **Type** | (enum: Plot) | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/rust/docs/TypedPlotOperator.md b/rust/docs/TypedPlotOperator.md new file mode 100644 index 00000000..65bd54b9 --- /dev/null +++ b/rust/docs/TypedPlotOperator.md @@ -0,0 +1,12 @@ +# TypedPlotOperator + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**operator** | [**models::PlotOperator**](PlotOperator.md) | | +**r#type** | **Type** | (enum: Plot) | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/rust/docs/TypedPlotResultDescriptor.md b/rust/docs/TypedPlotResultDescriptor.md new file mode 100644 index 00000000..a62d7421 --- /dev/null +++ b/rust/docs/TypedPlotResultDescriptor.md @@ -0,0 +1,14 @@ +# TypedPlotResultDescriptor + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**bbox** | Option<[**models::BoundingBox2D**](BoundingBox2D.md)> | | [optional] +**spatial_reference** | **String** | | +**time** | Option<[**models::TimeInterval**](TimeInterval.md)> | | [optional] +**r#type** | **Type** | (enum: plot) | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/rust/docs/TypedRasterOperator.md b/rust/docs/TypedRasterOperator.md new file mode 100644 index 00000000..fec2c27e --- /dev/null +++ b/rust/docs/TypedRasterOperator.md @@ -0,0 +1,12 @@ +# TypedRasterOperator + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**operator** | [**models::RasterOperator**](RasterOperator.md) | | +**r#type** | **Type** | (enum: Raster) | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/rust/docs/TypedRasterResultDescriptor.md b/rust/docs/TypedRasterResultDescriptor.md new file mode 100644 index 00000000..159ce6af --- /dev/null +++ b/rust/docs/TypedRasterResultDescriptor.md @@ -0,0 +1,16 @@ +# TypedRasterResultDescriptor + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**bands** | [**Vec**](RasterBandDescriptor.md) | | +**data_type** | [**models::RasterDataType**](RasterDataType.md) | | +**spatial_grid** | [**models::SpatialGridDescriptor**](SpatialGridDescriptor.md) | | +**spatial_reference** | **String** | | +**time** | [**models::TimeDescriptor**](TimeDescriptor.md) | | +**r#type** | **Type** | (enum: raster) | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/rust/docs/TypedResultDescriptor.md b/rust/docs/TypedResultDescriptor.md new file mode 100644 index 00000000..e297592c --- /dev/null +++ b/rust/docs/TypedResultDescriptor.md @@ -0,0 +1,10 @@ +# TypedResultDescriptor + +## Enum Variants + +| Name | Value | +|---- | -----| + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/rust/docs/TypedVectorOperator.md b/rust/docs/TypedVectorOperator.md new file mode 100644 index 00000000..91bffaf8 --- /dev/null +++ b/rust/docs/TypedVectorOperator.md @@ -0,0 +1,12 @@ +# TypedVectorOperator + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**operator** | [**models::VectorOperator**](VectorOperator.md) | | +**r#type** | **Type** | (enum: Vector) | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/rust/docs/TypedVectorResultDescriptor.md b/rust/docs/TypedVectorResultDescriptor.md new file mode 100644 index 00000000..58bec6e4 --- /dev/null +++ b/rust/docs/TypedVectorResultDescriptor.md @@ -0,0 +1,16 @@ +# TypedVectorResultDescriptor + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**bbox** | Option<[**models::BoundingBox2D**](BoundingBox2D.md)> | | [optional] +**columns** | [**std::collections::HashMap**](VectorColumnInfo.md) | | +**data_type** | [**models::VectorDataType**](VectorDataType.md) | | +**spatial_reference** | **String** | | +**time** | Option<[**models::TimeInterval**](TimeInterval.md)> | | [optional] +**r#type** | **Type** | (enum: vector) | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/rust/docs/UnitlessMeasurement.md b/rust/docs/UnitlessMeasurement.md new file mode 100644 index 00000000..c63a3a07 --- /dev/null +++ b/rust/docs/UnitlessMeasurement.md @@ -0,0 +1,11 @@ +# UnitlessMeasurement + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**r#type** | **Type** | (enum: unitless) | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/rust/docs/UnixTimeStampType.md b/rust/docs/UnixTimeStampType.md new file mode 100644 index 00000000..35ad5746 --- /dev/null +++ b/rust/docs/UnixTimeStampType.md @@ -0,0 +1,13 @@ +# UnixTimeStampType + +## Enum Variants + +| Name | Value | +|---- | -----| +| EpochSeconds | epochSeconds | +| EpochMilliseconds | epochMilliseconds | + + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/rust/docs/UpdateDataset.md b/rust/docs/UpdateDataset.md new file mode 100644 index 00000000..3c287b0a --- /dev/null +++ b/rust/docs/UpdateDataset.md @@ -0,0 +1,14 @@ +# UpdateDataset + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**description** | **String** | | +**display_name** | **String** | | +**name** | **String** | | +**tags** | **Vec** | | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/rust/docs/UpdateLayer.md b/rust/docs/UpdateLayer.md new file mode 100644 index 00000000..ac59305e --- /dev/null +++ b/rust/docs/UpdateLayer.md @@ -0,0 +1,16 @@ +# UpdateLayer + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**description** | **String** | | +**metadata** | Option<**std::collections::HashMap**> | metadata used for loading the data | [optional] +**name** | **String** | | +**properties** | Option<[**Vec>**](Vec.md)> | properties, for instance, to be rendered in the UI | [optional] +**symbology** | Option<[**models::Symbology**](Symbology.md)> | | [optional] +**workflow** | [**models::Workflow**](Workflow.md) | | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/rust/docs/UpdateLayerCollection.md b/rust/docs/UpdateLayerCollection.md new file mode 100644 index 00000000..321c0223 --- /dev/null +++ b/rust/docs/UpdateLayerCollection.md @@ -0,0 +1,13 @@ +# UpdateLayerCollection + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**description** | **String** | | +**name** | **String** | | +**properties** | Option<[**Vec>**](Vec.md)> | | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/rust/docs/UpdateProject.md b/rust/docs/UpdateProject.md new file mode 100644 index 00000000..3f1ca20a --- /dev/null +++ b/rust/docs/UpdateProject.md @@ -0,0 +1,17 @@ +# UpdateProject + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**bounds** | Option<[**models::StRectangle**](STRectangle.md)> | | [optional] +**description** | Option<**String**> | | [optional] +**id** | **uuid::Uuid** | | +**layers** | Option<[**Vec**](VecUpdate.md)> | | [optional] +**name** | Option<**String**> | | [optional] +**plots** | Option<[**Vec**](VecUpdate.md)> | | [optional] +**time_step** | Option<[**models::TimeStep**](TimeStep.md)> | | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/rust/docs/UpdateQuota.md b/rust/docs/UpdateQuota.md new file mode 100644 index 00000000..5a0cedde --- /dev/null +++ b/rust/docs/UpdateQuota.md @@ -0,0 +1,11 @@ +# UpdateQuota + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**available** | **i64** | | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/rust/docs/UploadFileLayersResponse.md b/rust/docs/UploadFileLayersResponse.md new file mode 100644 index 00000000..3eba2514 --- /dev/null +++ b/rust/docs/UploadFileLayersResponse.md @@ -0,0 +1,11 @@ +# UploadFileLayersResponse + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**layers** | **Vec** | | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/rust/docs/UploadFilesResponse.md b/rust/docs/UploadFilesResponse.md new file mode 100644 index 00000000..1cfb2bf9 --- /dev/null +++ b/rust/docs/UploadFilesResponse.md @@ -0,0 +1,11 @@ +# UploadFilesResponse + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**files** | **Vec** | | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/rust/docs/UploadsApi.md b/rust/docs/UploadsApi.md new file mode 100644 index 00000000..ccaedb70 --- /dev/null +++ b/rust/docs/UploadsApi.md @@ -0,0 +1,96 @@ +# \UploadsApi + +All URIs are relative to *https://geoengine.io/api* + +Method | HTTP request | Description +------------- | ------------- | ------------- +[**list_upload_file_layers_handler**](UploadsApi.md#list_upload_file_layers_handler) | **GET** /uploads/{upload_id}/files/{file_name}/layers | List the layers of on uploaded file. +[**list_upload_files_handler**](UploadsApi.md#list_upload_files_handler) | **GET** /uploads/{upload_id}/files | List the files of on upload. +[**upload_handler**](UploadsApi.md#upload_handler) | **POST** /upload | Uploads files. + + + +## list_upload_file_layers_handler + +> models::UploadFileLayersResponse list_upload_file_layers_handler(upload_id, file_name) +List the layers of on uploaded file. + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**upload_id** | **uuid::Uuid** | Upload id | [required] | +**file_name** | **String** | File name | [required] | + +### Return type + +[**models::UploadFileLayersResponse**](UploadFileLayersResponse.md) + +### Authorization + +[session_token](../README.md#session_token) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## list_upload_files_handler + +> models::UploadFilesResponse list_upload_files_handler(upload_id) +List the files of on upload. + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**upload_id** | **uuid::Uuid** | Upload id | [required] | + +### Return type + +[**models::UploadFilesResponse**](UploadFilesResponse.md) + +### Authorization + +[session_token](../README.md#session_token) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## upload_handler + +> models::IdResponse upload_handler(files_left_square_bracket_right_square_bracket) +Uploads files. + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**files_left_square_bracket_right_square_bracket** | [**Vec**](Std__path__PathBuf.md) | | [required] | + +### Return type + +[**models::IdResponse**](IdResponse.md) + +### Authorization + +[session_token](../README.md#session_token) + +### HTTP request headers + +- **Content-Type**: multipart/form-data +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + diff --git a/rust/docs/UsageSummaryGranularity.md b/rust/docs/UsageSummaryGranularity.md new file mode 100644 index 00000000..0c0db8e9 --- /dev/null +++ b/rust/docs/UsageSummaryGranularity.md @@ -0,0 +1,16 @@ +# UsageSummaryGranularity + +## Enum Variants + +| Name | Value | +|---- | -----| +| Minutes | minutes | +| Hours | hours | +| Days | days | +| Months | months | +| Years | years | + + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/rust/docs/UserApi.md b/rust/docs/UserApi.md new file mode 100644 index 00000000..d1a0c9c0 --- /dev/null +++ b/rust/docs/UserApi.md @@ -0,0 +1,387 @@ +# \UserApi + +All URIs are relative to *https://geoengine.io/api* + +Method | HTTP request | Description +------------- | ------------- | ------------- +[**add_role_handler**](UserApi.md#add_role_handler) | **PUT** /roles | Add a new role. Requires admin privilige. +[**assign_role_handler**](UserApi.md#assign_role_handler) | **POST** /users/{user}/roles/{role} | Assign a role to a user. Requires admin privilige. +[**computation_quota_handler**](UserApi.md#computation_quota_handler) | **GET** /quota/computations/{computation} | Retrieves the quota used by computation with the given computation id +[**computations_quota_handler**](UserApi.md#computations_quota_handler) | **GET** /quota/computations | Retrieves the quota used by computations +[**data_usage_handler**](UserApi.md#data_usage_handler) | **GET** /quota/dataUsage | Retrieves the data usage +[**data_usage_summary_handler**](UserApi.md#data_usage_summary_handler) | **GET** /quota/dataUsage/summary | Retrieves the data usage summary +[**get_role_by_name_handler**](UserApi.md#get_role_by_name_handler) | **GET** /roles/byName/{name} | Get role by name +[**get_role_descriptions**](UserApi.md#get_role_descriptions) | **GET** /user/roles/descriptions | Query roles for the current user. +[**get_user_quota_handler**](UserApi.md#get_user_quota_handler) | **GET** /quotas/{user} | Retrieves the available and used quota of a specific user. +[**quota_handler**](UserApi.md#quota_handler) | **GET** /quota | Retrieves the available and used quota of the current user. +[**remove_role_handler**](UserApi.md#remove_role_handler) | **DELETE** /roles/{role} | Remove a role. Requires admin privilige. +[**revoke_role_handler**](UserApi.md#revoke_role_handler) | **DELETE** /users/{user}/roles/{role} | Revoke a role from a user. Requires admin privilige. +[**update_user_quota_handler**](UserApi.md#update_user_quota_handler) | **POST** /quotas/{user} | Update the available quota of a specific user. + + + +## add_role_handler + +> models::IdResponse add_role_handler(add_role) +Add a new role. Requires admin privilige. + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**add_role** | [**AddRole**](AddRole.md) | | [required] | + +### Return type + +[**models::IdResponse**](IdResponse.md) + +### Authorization + +[session_token](../README.md#session_token) + +### HTTP request headers + +- **Content-Type**: application/json +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## assign_role_handler + +> assign_role_handler(user, role) +Assign a role to a user. Requires admin privilige. + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**user** | **uuid::Uuid** | User id | [required] | +**role** | **uuid::Uuid** | Role id | [required] | + +### Return type + + (empty response body) + +### Authorization + +[session_token](../README.md#session_token) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: Not defined + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## computation_quota_handler + +> Vec computation_quota_handler(computation) +Retrieves the quota used by computation with the given computation id + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**computation** | **uuid::Uuid** | Computation id | [required] | + +### Return type + +[**Vec**](OperatorQuota.md) + +### Authorization + +[session_token](../README.md#session_token) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## computations_quota_handler + +> Vec computations_quota_handler(offset, limit) +Retrieves the quota used by computations + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**offset** | **i32** | | [required] | +**limit** | **i32** | | [required] | + +### Return type + +[**Vec**](ComputationQuota.md) + +### Authorization + +[session_token](../README.md#session_token) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## data_usage_handler + +> Vec data_usage_handler(offset, limit) +Retrieves the data usage + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**offset** | **i64** | | [required] | +**limit** | **i64** | | [required] | + +### Return type + +[**Vec**](DataUsage.md) + +### Authorization + +[session_token](../README.md#session_token) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## data_usage_summary_handler + +> Vec data_usage_summary_handler(granularity, offset, limit, dataset) +Retrieves the data usage summary + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**granularity** | [**UsageSummaryGranularity**](UsageSummaryGranularity.md) | | [required] | +**offset** | **i64** | | [required] | +**limit** | **i64** | | [required] | +**dataset** | Option<**String**> | | | + +### Return type + +[**Vec**](DataUsageSummary.md) + +### Authorization + +[session_token](../README.md#session_token) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## get_role_by_name_handler + +> models::IdResponse get_role_by_name_handler(name) +Get role by name + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**name** | **String** | Role Name | [required] | + +### Return type + +[**models::IdResponse**](IdResponse.md) + +### Authorization + +[session_token](../README.md#session_token) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## get_role_descriptions + +> Vec get_role_descriptions() +Query roles for the current user. + +### Parameters + +This endpoint does not need any parameter. + +### Return type + +[**Vec**](RoleDescription.md) + +### Authorization + +[session_token](../README.md#session_token) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## get_user_quota_handler + +> models::Quota get_user_quota_handler(user) +Retrieves the available and used quota of a specific user. + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**user** | **uuid::Uuid** | User id | [required] | + +### Return type + +[**models::Quota**](Quota.md) + +### Authorization + +[session_token](../README.md#session_token) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## quota_handler + +> models::Quota quota_handler() +Retrieves the available and used quota of the current user. + +### Parameters + +This endpoint does not need any parameter. + +### Return type + +[**models::Quota**](Quota.md) + +### Authorization + +[session_token](../README.md#session_token) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## remove_role_handler + +> remove_role_handler(role) +Remove a role. Requires admin privilige. + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**role** | **uuid::Uuid** | Role id | [required] | + +### Return type + + (empty response body) + +### Authorization + +[session_token](../README.md#session_token) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: Not defined + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## revoke_role_handler + +> revoke_role_handler(user, role) +Revoke a role from a user. Requires admin privilige. + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**user** | **uuid::Uuid** | User id | [required] | +**role** | **uuid::Uuid** | Role id | [required] | + +### Return type + + (empty response body) + +### Authorization + +[session_token](../README.md#session_token) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: Not defined + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## update_user_quota_handler + +> update_user_quota_handler(user, update_quota) +Update the available quota of a specific user. + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**user** | **uuid::Uuid** | User id | [required] | +**update_quota** | [**UpdateQuota**](UpdateQuota.md) | | [required] | + +### Return type + + (empty response body) + +### Authorization + +[session_token](../README.md#session_token) + +### HTTP request headers + +- **Content-Type**: application/json +- **Accept**: Not defined + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + diff --git a/rust/docs/UserCredentials.md b/rust/docs/UserCredentials.md new file mode 100644 index 00000000..ae6a997a --- /dev/null +++ b/rust/docs/UserCredentials.md @@ -0,0 +1,12 @@ +# UserCredentials + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**email** | **String** | | +**password** | **String** | | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/rust/docs/UserInfo.md b/rust/docs/UserInfo.md new file mode 100644 index 00000000..28985299 --- /dev/null +++ b/rust/docs/UserInfo.md @@ -0,0 +1,13 @@ +# UserInfo + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**email** | Option<**String**> | | [optional] +**id** | **uuid::Uuid** | | +**real_name** | Option<**String**> | | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/rust/docs/UserRegistration.md b/rust/docs/UserRegistration.md new file mode 100644 index 00000000..5a33fe1e --- /dev/null +++ b/rust/docs/UserRegistration.md @@ -0,0 +1,13 @@ +# UserRegistration + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**email** | **String** | | +**password** | **String** | | +**real_name** | **String** | | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/rust/docs/UserSession.md b/rust/docs/UserSession.md new file mode 100644 index 00000000..010ae10e --- /dev/null +++ b/rust/docs/UserSession.md @@ -0,0 +1,17 @@ +# UserSession + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**created** | **String** | | +**id** | **uuid::Uuid** | | +**project** | Option<**uuid::Uuid**> | | [optional] +**roles** | **Vec** | | +**user** | [**models::UserInfo**](UserInfo.md) | | +**valid_until** | **String** | | +**view** | Option<[**models::StRectangle**](STRectangle.md)> | | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/rust/docs/VecUpdate.md b/rust/docs/VecUpdate.md new file mode 100644 index 00000000..e003d45f --- /dev/null +++ b/rust/docs/VecUpdate.md @@ -0,0 +1,12 @@ +# VecUpdate + +## Enum Variants + +| Name | Description | +|---- | -----| +| Plot | | +| ProjectUpdateToken | | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/rust/docs/VectorColumnInfo.md b/rust/docs/VectorColumnInfo.md new file mode 100644 index 00000000..7763c871 --- /dev/null +++ b/rust/docs/VectorColumnInfo.md @@ -0,0 +1,12 @@ +# VectorColumnInfo + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**data_type** | [**models::FeatureDataType**](FeatureDataType.md) | | +**measurement** | [**models::Measurement**](Measurement.md) | | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/rust/docs/VectorDataType.md b/rust/docs/VectorDataType.md new file mode 100644 index 00000000..25a224a4 --- /dev/null +++ b/rust/docs/VectorDataType.md @@ -0,0 +1,15 @@ +# VectorDataType + +## Enum Variants + +| Name | Value | +|---- | -----| +| Data | Data | +| MultiPoint | MultiPoint | +| MultiLineString | MultiLineString | +| MultiPolygon | MultiPolygon | + + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/rust/docs/VectorOperator.md b/rust/docs/VectorOperator.md new file mode 100644 index 00000000..1284dd36 --- /dev/null +++ b/rust/docs/VectorOperator.md @@ -0,0 +1,10 @@ +# VectorOperator + +## Enum Variants + +| Name | Value | +|---- | -----| + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/rust/docs/VectorResultDescriptor.md b/rust/docs/VectorResultDescriptor.md new file mode 100644 index 00000000..6fa9c91d --- /dev/null +++ b/rust/docs/VectorResultDescriptor.md @@ -0,0 +1,15 @@ +# VectorResultDescriptor + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**bbox** | Option<[**models::BoundingBox2D**](BoundingBox2D.md)> | | [optional] +**columns** | [**std::collections::HashMap**](VectorColumnInfo.md) | | +**data_type** | [**models::VectorDataType**](VectorDataType.md) | | +**spatial_reference** | **String** | | +**time** | Option<[**models::TimeInterval**](TimeInterval.md)> | | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/rust/docs/Volume.md b/rust/docs/Volume.md new file mode 100644 index 00000000..36922783 --- /dev/null +++ b/rust/docs/Volume.md @@ -0,0 +1,12 @@ +# Volume + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**name** | **String** | | +**path** | Option<**String**> | | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/rust/docs/VolumeFileLayersResponse.md b/rust/docs/VolumeFileLayersResponse.md new file mode 100644 index 00000000..472c299d --- /dev/null +++ b/rust/docs/VolumeFileLayersResponse.md @@ -0,0 +1,11 @@ +# VolumeFileLayersResponse + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**layers** | **Vec** | | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/rust/docs/WcsRequest.md b/rust/docs/WcsRequest.md new file mode 100644 index 00000000..20ebf02a --- /dev/null +++ b/rust/docs/WcsRequest.md @@ -0,0 +1,14 @@ +# WcsRequest + +## Enum Variants + +| Name | Value | +|---- | -----| +| GetCapabilities | GetCapabilities | +| DescribeCoverage | DescribeCoverage | +| GetCoverage | GetCoverage | + + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/rust/docs/WcsService.md b/rust/docs/WcsService.md new file mode 100644 index 00000000..3b07c2bf --- /dev/null +++ b/rust/docs/WcsService.md @@ -0,0 +1,12 @@ +# WcsService + +## Enum Variants + +| Name | Value | +|---- | -----| +| Wcs | WCS | + + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/rust/docs/WcsVersion.md b/rust/docs/WcsVersion.md new file mode 100644 index 00000000..49c22ac2 --- /dev/null +++ b/rust/docs/WcsVersion.md @@ -0,0 +1,13 @@ +# WcsVersion + +## Enum Variants + +| Name | Value | +|---- | -----| +| Variant110 | 1.1.0 | +| Variant111 | 1.1.1 | + + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/rust/docs/WfsRequest.md b/rust/docs/WfsRequest.md new file mode 100644 index 00000000..3c0f78a0 --- /dev/null +++ b/rust/docs/WfsRequest.md @@ -0,0 +1,13 @@ +# WfsRequest + +## Enum Variants + +| Name | Value | +|---- | -----| +| GetCapabilities | GetCapabilities | +| GetFeature | GetFeature | + + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/rust/docs/WfsService.md b/rust/docs/WfsService.md new file mode 100644 index 00000000..7e2ce080 --- /dev/null +++ b/rust/docs/WfsService.md @@ -0,0 +1,12 @@ +# WfsService + +## Enum Variants + +| Name | Value | +|---- | -----| +| Wfs | WFS | + + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/rust/docs/WfsVersion.md b/rust/docs/WfsVersion.md new file mode 100644 index 00000000..4fabd2d2 --- /dev/null +++ b/rust/docs/WfsVersion.md @@ -0,0 +1,12 @@ +# WfsVersion + +## Enum Variants + +| Name | Value | +|---- | -----| +| Variant200 | 2.0.0 | + + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/rust/docs/WildliveDataConnectorDefinition.md b/rust/docs/WildliveDataConnectorDefinition.md new file mode 100644 index 00000000..d92c0f85 --- /dev/null +++ b/rust/docs/WildliveDataConnectorDefinition.md @@ -0,0 +1,18 @@ +# WildliveDataConnectorDefinition + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**description** | **String** | | +**expiry_date** | Option<**String**> | | [optional] +**id** | **uuid::Uuid** | | +**name** | **String** | | +**priority** | Option<**i32**> | | [optional] +**refresh_token** | Option<**String**> | A wrapper type that serializes to \"*****\" and can be deserialized from any string. If the inner value is \"*****\", it is considered unknown and `as_option` returns `None`. This is useful for secrets that should not be exposed in API responses, but can be set in API requests. | [optional] +**r#type** | **Type** | (enum: WildLIVE!) | +**user** | Option<**String**> | | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/rust/docs/WmsRequest.md b/rust/docs/WmsRequest.md new file mode 100644 index 00000000..83fa6f59 --- /dev/null +++ b/rust/docs/WmsRequest.md @@ -0,0 +1,16 @@ +# WmsRequest + +## Enum Variants + +| Name | Value | +|---- | -----| +| GetCapabilities | GetCapabilities | +| GetMap | GetMap | +| GetFeatureInfo | GetFeatureInfo | +| GetStyles | GetStyles | +| GetLegendGraphic | GetLegendGraphic | + + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/rust/docs/WmsResponseFormat.md b/rust/docs/WmsResponseFormat.md new file mode 100644 index 00000000..a3deefd9 --- /dev/null +++ b/rust/docs/WmsResponseFormat.md @@ -0,0 +1,13 @@ +# WmsResponseFormat + +## Enum Variants + +| Name | Value | +|---- | -----| +| TextSlashXml | text/xml | +| ImageSlashPng | image/png | + + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/rust/docs/WmsService.md b/rust/docs/WmsService.md new file mode 100644 index 00000000..abce5956 --- /dev/null +++ b/rust/docs/WmsService.md @@ -0,0 +1,12 @@ +# WmsService + +## Enum Variants + +| Name | Value | +|---- | -----| +| Wms | WMS | + + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/rust/docs/WmsVersion.md b/rust/docs/WmsVersion.md new file mode 100644 index 00000000..ea43215b --- /dev/null +++ b/rust/docs/WmsVersion.md @@ -0,0 +1,12 @@ +# WmsVersion + +## Enum Variants + +| Name | Value | +|---- | -----| +| Variant130 | 1.3.0 | + + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/rust/docs/Workflow.md b/rust/docs/Workflow.md new file mode 100644 index 00000000..916fdd9f --- /dev/null +++ b/rust/docs/Workflow.md @@ -0,0 +1,12 @@ +# Workflow + +## Enum Variants + +| Name | Description | +|---- | -----| +| LegacyTypedOperator | | +| TypedOperator | | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/rust/docs/WorkflowsApi.md b/rust/docs/WorkflowsApi.md new file mode 100644 index 00000000..9ad4abf1 --- /dev/null +++ b/rust/docs/WorkflowsApi.md @@ -0,0 +1,216 @@ +# \WorkflowsApi + +All URIs are relative to *https://geoengine.io/api* + +Method | HTTP request | Description +------------- | ------------- | ------------- +[**dataset_from_workflow_handler**](WorkflowsApi.md#dataset_from_workflow_handler) | **POST** /datasetFromWorkflow/{id} | Create a task for creating a new dataset from the result of the workflow given by its `id` and the dataset parameters in the request body. Returns the id of the created task +[**get_workflow_all_metadata_zip_handler**](WorkflowsApi.md#get_workflow_all_metadata_zip_handler) | **GET** /workflow/{id}/allMetadata/zip | Gets a ZIP archive of the worklow, its provenance and the output metadata. +[**get_workflow_metadata_handler**](WorkflowsApi.md#get_workflow_metadata_handler) | **GET** /workflow/{id}/metadata | Gets the metadata of a workflow +[**get_workflow_provenance_handler**](WorkflowsApi.md#get_workflow_provenance_handler) | **GET** /workflow/{id}/provenance | Gets the provenance of all datasets used in a workflow. +[**load_workflow_handler**](WorkflowsApi.md#load_workflow_handler) | **GET** /workflow/{id} | Retrieves an existing Workflow. +[**raster_stream_websocket**](WorkflowsApi.md#raster_stream_websocket) | **GET** /workflow/{id}/rasterStream | Query a workflow raster result as a stream of tiles via a websocket connection. +[**register_workflow_handler**](WorkflowsApi.md#register_workflow_handler) | **POST** /workflow | Registers a new Workflow. + + + +## dataset_from_workflow_handler + +> models::TaskResponse dataset_from_workflow_handler(id, raster_dataset_from_workflow) +Create a task for creating a new dataset from the result of the workflow given by its `id` and the dataset parameters in the request body. Returns the id of the created task + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**id** | **uuid::Uuid** | Workflow id | [required] | +**raster_dataset_from_workflow** | [**RasterDatasetFromWorkflow**](RasterDatasetFromWorkflow.md) | | [required] | + +### Return type + +[**models::TaskResponse**](TaskResponse.md) + +### Authorization + +[session_token](../README.md#session_token) + +### HTTP request headers + +- **Content-Type**: application/json +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## get_workflow_all_metadata_zip_handler + +> std::path::PathBuf get_workflow_all_metadata_zip_handler(id) +Gets a ZIP archive of the worklow, its provenance and the output metadata. + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**id** | **uuid::Uuid** | Workflow id | [required] | + +### Return type + +[**std::path::PathBuf**](std::path::PathBuf.md) + +### Authorization + +[session_token](../README.md#session_token) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/zip + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## get_workflow_metadata_handler + +> models::TypedResultDescriptor get_workflow_metadata_handler(id) +Gets the metadata of a workflow + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**id** | **uuid::Uuid** | Workflow id | [required] | + +### Return type + +[**models::TypedResultDescriptor**](TypedResultDescriptor.md) + +### Authorization + +[session_token](../README.md#session_token) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## get_workflow_provenance_handler + +> Vec get_workflow_provenance_handler(id) +Gets the provenance of all datasets used in a workflow. + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**id** | **uuid::Uuid** | Workflow id | [required] | + +### Return type + +[**Vec**](ProvenanceEntry.md) + +### Authorization + +[session_token](../README.md#session_token) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## load_workflow_handler + +> models::Workflow load_workflow_handler(id) +Retrieves an existing Workflow. + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**id** | **uuid::Uuid** | Workflow id | [required] | + +### Return type + +[**models::Workflow**](Workflow.md) + +### Authorization + +[session_token](../README.md#session_token) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## raster_stream_websocket + +> raster_stream_websocket(id, spatial_bounds, time_interval, attributes, result_type) +Query a workflow raster result as a stream of tiles via a websocket connection. + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**id** | **uuid::Uuid** | Workflow id | [required] | +**spatial_bounds** | [**SpatialPartition2D**](SpatialPartition2D.md) | | [required] | +**time_interval** | **String** | | [required] | +**attributes** | **String** | | [required] | +**result_type** | [**RasterStreamWebsocketResultType**](RasterStreamWebsocketResultType.md) | | [required] | + +### Return type + + (empty response body) + +### Authorization + +[session_token](../README.md#session_token) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: Not defined + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## register_workflow_handler + +> models::IdResponse register_workflow_handler(workflow) +Registers a new Workflow. + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**workflow** | [**Workflow**](Workflow.md) | | [required] | + +### Return type + +[**models::IdResponse**](IdResponse.md) + +### Authorization + +[session_token](../README.md#session_token) + +### HTTP request headers + +- **Content-Type**: application/json +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + diff --git a/rust/docs/WrappedPlotOutput.md b/rust/docs/WrappedPlotOutput.md new file mode 100644 index 00000000..0c0a3309 --- /dev/null +++ b/rust/docs/WrappedPlotOutput.md @@ -0,0 +1,13 @@ +# WrappedPlotOutput + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**data** | **serde_json::Value** | | +**output_format** | [**models::PlotOutputFormat**](PlotOutputFormat.md) | | +**plot_type** | **String** | | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/rust/git_push.sh b/rust/git_push.sh new file mode 100644 index 00000000..fcbb04dc --- /dev/null +++ b/rust/git_push.sh @@ -0,0 +1,57 @@ +#!/bin/sh +# ref: https://help.github.com/articles/adding-an-existing-project-to-github-using-the-command-line/ +# +# Usage example: /bin/sh ./git_push.sh wing328 openapi-petstore-perl "minor update" "gitlab.com" + +git_user_id=$1 +git_repo_id=$2 +release_note=$3 +git_host=$4 + +if [ "$git_host" = "" ]; then + git_host="github.com" + echo "[INFO] No command line input provided. Set \$git_host to $git_host" +fi + +if [ "$git_user_id" = "" ]; then + git_user_id="geo-engine" + echo "[INFO] No command line input provided. Set \$git_user_id to $git_user_id" +fi + +if [ "$git_repo_id" = "" ]; then + git_repo_id="openapi-client" + echo "[INFO] No command line input provided. Set \$git_repo_id to $git_repo_id" +fi + +if [ "$release_note" = "" ]; then + release_note="Minor update" + echo "[INFO] No command line input provided. Set \$release_note to $release_note" +fi + +# Initialize the local directory as a Git repository +git init + +# Adds the files in the local repository and stages them for commit. +git add . + +# Commits the tracked changes and prepares them to be pushed to a remote repository. +git commit -m "$release_note" + +# Sets the new remote +git_remote=$(git remote) +if [ "$git_remote" = "" ]; then # git remote not defined + + if [ "$GIT_TOKEN" = "" ]; then + echo "[INFO] \$GIT_TOKEN (environment variable) is not set. Using the git credential in your environment." + git remote add origin https://${git_host}/${git_user_id}/${git_repo_id}.git + else + git remote add origin https://${git_user_id}:"${GIT_TOKEN}"@${git_host}/${git_user_id}/${git_repo_id}.git + fi + +fi + +git pull origin master + +# Pushes (Forces) the changes in the local repository up to the remote repository +echo "Git pushing to https://${git_host}/${git_user_id}/${git_repo_id}.git" +git push origin master 2>&1 | grep -v 'To https' diff --git a/rust/src/apis/configuration.rs b/rust/src/apis/configuration.rs new file mode 100644 index 00000000..0b9e6a7d --- /dev/null +++ b/rust/src/apis/configuration.rs @@ -0,0 +1,51 @@ +/* + * Geo Engine API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * Generated by: https://openapi-generator.tech + */ + + + +#[derive(Debug, Clone)] +pub struct Configuration { + pub base_path: String, + pub user_agent: Option, + pub client: reqwest::Client, + pub basic_auth: Option, + pub oauth_access_token: Option, + pub bearer_access_token: Option, + pub api_key: Option, +} + +pub type BasicAuth = (String, Option); + +#[derive(Debug, Clone)] +pub struct ApiKey { + pub prefix: Option, + pub key: String, +} + + +impl Configuration { + pub fn new() -> Configuration { + Configuration::default() + } +} + +impl Default for Configuration { + fn default() -> Self { + Configuration { + base_path: "https://geoengine.io/api".to_owned(), + user_agent: Some("OpenAPI-Generator/0.9.0/rust".to_owned()), + client: reqwest::Client::new(), + basic_auth: None, + oauth_access_token: None, + bearer_access_token: None, + api_key: None, + } + } +} diff --git a/rust/src/apis/datasets_api.rs b/rust/src/apis/datasets_api.rs new file mode 100644 index 00000000..1ef416cf --- /dev/null +++ b/rust/src/apis/datasets_api.rs @@ -0,0 +1,645 @@ +/* + * Geo Engine API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * Generated by: https://openapi-generator.tech + */ + + +use reqwest; +use serde::{Deserialize, Serialize, de::Error as _}; +use crate::{apis::ResponseContent, models}; +use super::{Error, configuration, ContentType}; + + +/// struct for typed errors of method [`add_dataset_tiles_handler`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum AddDatasetTilesHandlerError { + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`auto_create_dataset_handler`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum AutoCreateDatasetHandlerError { + Status400(models::ErrorResponse), + Status401(models::ErrorResponse), + Status413(models::ErrorResponse), + Status415(models::ErrorResponse), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`create_dataset_handler`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum CreateDatasetHandlerError { + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`delete_dataset_handler`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum DeleteDatasetHandlerError { + Status400(models::ErrorResponse), + Status401(models::ErrorResponse), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`get_dataset_handler`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum GetDatasetHandlerError { + Status400(models::ErrorResponse), + Status401(models::ErrorResponse), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`get_loading_info_handler`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum GetLoadingInfoHandlerError { + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`list_datasets_handler`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum ListDatasetsHandlerError { + Status400(models::ErrorResponse), + Status401(models::ErrorResponse), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`list_volume_file_layers_handler`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum ListVolumeFileLayersHandlerError { + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`list_volumes_handler`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum ListVolumesHandlerError { + Status401(models::ErrorResponse), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`suggest_meta_data_handler`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum SuggestMetaDataHandlerError { + Status400(models::ErrorResponse), + Status401(models::ErrorResponse), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`update_dataset_handler`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum UpdateDatasetHandlerError { + Status400(models::ErrorResponse), + Status401(models::ErrorResponse), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`update_dataset_provenance_handler`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum UpdateDatasetProvenanceHandlerError { + Status400(models::ErrorResponse), + Status401(models::ErrorResponse), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`update_dataset_symbology_handler`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum UpdateDatasetSymbologyHandlerError { + Status400(models::ErrorResponse), + Status401(models::ErrorResponse), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`update_loading_info_handler`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum UpdateLoadingInfoHandlerError { + Status400(models::ErrorResponse), + Status401(models::ErrorResponse), + UnknownValue(serde_json::Value), +} + + +pub async fn add_dataset_tiles_handler(configuration: &configuration::Configuration, dataset: &str, auto_create_dataset: models::AutoCreateDataset) -> Result<(), Error> { + // add a prefix to parameters to efficiently prevent name collisions + let p_path_dataset = dataset; + let p_body_auto_create_dataset = auto_create_dataset; + + let uri_str = format!("{}/dataset/{dataset}/tiles", configuration.base_path, dataset=crate::apis::urlencode(p_path_dataset)); + let mut req_builder = configuration.client.request(reqwest::Method::POST, &uri_str); + + if let Some(ref user_agent) = configuration.user_agent { + req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone()); + } + if let Some(ref token) = configuration.bearer_access_token { + req_builder = req_builder.bearer_auth(token.to_owned()); + }; + req_builder = req_builder.json(&p_body_auto_create_dataset); + + let req = req_builder.build()?; + let resp = configuration.client.execute(req).await?; + + let status = resp.status(); + + if !status.is_client_error() && !status.is_server_error() { + Ok(()) + } else { + let content = resp.text().await?; + let entity: Option = serde_json::from_str(&content).ok(); + Err(Error::ResponseError(ResponseContent { status, content, entity })) + } +} + +pub async fn auto_create_dataset_handler(configuration: &configuration::Configuration, auto_create_dataset: models::AutoCreateDataset) -> Result> { + // add a prefix to parameters to efficiently prevent name collisions + let p_body_auto_create_dataset = auto_create_dataset; + + let uri_str = format!("{}/dataset/auto", configuration.base_path); + let mut req_builder = configuration.client.request(reqwest::Method::POST, &uri_str); + + if let Some(ref user_agent) = configuration.user_agent { + req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone()); + } + if let Some(ref token) = configuration.bearer_access_token { + req_builder = req_builder.bearer_auth(token.to_owned()); + }; + req_builder = req_builder.json(&p_body_auto_create_dataset); + + let req = req_builder.build()?; + let resp = configuration.client.execute(req).await?; + + let status = resp.status(); + let content_type = resp + .headers() + .get("content-type") + .and_then(|v| v.to_str().ok()) + .unwrap_or("application/octet-stream"); + let content_type = super::ContentType::from(content_type); + + if !status.is_client_error() && !status.is_server_error() { + let content = resp.text().await?; + match content_type { + ContentType::Json => serde_json::from_str(&content).map_err(Error::from), + ContentType::Text => return Err(Error::from(serde_json::Error::custom("Received `text/plain` content type response that cannot be converted to `models::DatasetNameResponse`"))), + ContentType::Unsupported(unknown_type) => return Err(Error::from(serde_json::Error::custom(format!("Received `{unknown_type}` content type response that cannot be converted to `models::DatasetNameResponse`")))), + } + } else { + let content = resp.text().await?; + let entity: Option = serde_json::from_str(&content).ok(); + Err(Error::ResponseError(ResponseContent { status, content, entity })) + } +} + +pub async fn create_dataset_handler(configuration: &configuration::Configuration, create_dataset: models::CreateDataset) -> Result> { + // add a prefix to parameters to efficiently prevent name collisions + let p_body_create_dataset = create_dataset; + + let uri_str = format!("{}/dataset", configuration.base_path); + let mut req_builder = configuration.client.request(reqwest::Method::POST, &uri_str); + + if let Some(ref user_agent) = configuration.user_agent { + req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone()); + } + if let Some(ref token) = configuration.bearer_access_token { + req_builder = req_builder.bearer_auth(token.to_owned()); + }; + req_builder = req_builder.json(&p_body_create_dataset); + + let req = req_builder.build()?; + let resp = configuration.client.execute(req).await?; + + let status = resp.status(); + let content_type = resp + .headers() + .get("content-type") + .and_then(|v| v.to_str().ok()) + .unwrap_or("application/octet-stream"); + let content_type = super::ContentType::from(content_type); + + if !status.is_client_error() && !status.is_server_error() { + let content = resp.text().await?; + match content_type { + ContentType::Json => serde_json::from_str(&content).map_err(Error::from), + ContentType::Text => return Err(Error::from(serde_json::Error::custom("Received `text/plain` content type response that cannot be converted to `models::DatasetNameResponse`"))), + ContentType::Unsupported(unknown_type) => return Err(Error::from(serde_json::Error::custom(format!("Received `{unknown_type}` content type response that cannot be converted to `models::DatasetNameResponse`")))), + } + } else { + let content = resp.text().await?; + let entity: Option = serde_json::from_str(&content).ok(); + Err(Error::ResponseError(ResponseContent { status, content, entity })) + } +} + +pub async fn delete_dataset_handler(configuration: &configuration::Configuration, dataset: &str) -> Result<(), Error> { + // add a prefix to parameters to efficiently prevent name collisions + let p_path_dataset = dataset; + + let uri_str = format!("{}/dataset/{dataset}", configuration.base_path, dataset=crate::apis::urlencode(p_path_dataset)); + let mut req_builder = configuration.client.request(reqwest::Method::DELETE, &uri_str); + + if let Some(ref user_agent) = configuration.user_agent { + req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone()); + } + if let Some(ref token) = configuration.bearer_access_token { + req_builder = req_builder.bearer_auth(token.to_owned()); + }; + + let req = req_builder.build()?; + let resp = configuration.client.execute(req).await?; + + let status = resp.status(); + + if !status.is_client_error() && !status.is_server_error() { + Ok(()) + } else { + let content = resp.text().await?; + let entity: Option = serde_json::from_str(&content).ok(); + Err(Error::ResponseError(ResponseContent { status, content, entity })) + } +} + +pub async fn get_dataset_handler(configuration: &configuration::Configuration, dataset: &str) -> Result> { + // add a prefix to parameters to efficiently prevent name collisions + let p_path_dataset = dataset; + + let uri_str = format!("{}/dataset/{dataset}", configuration.base_path, dataset=crate::apis::urlencode(p_path_dataset)); + let mut req_builder = configuration.client.request(reqwest::Method::GET, &uri_str); + + if let Some(ref user_agent) = configuration.user_agent { + req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone()); + } + if let Some(ref token) = configuration.bearer_access_token { + req_builder = req_builder.bearer_auth(token.to_owned()); + }; + + let req = req_builder.build()?; + let resp = configuration.client.execute(req).await?; + + let status = resp.status(); + let content_type = resp + .headers() + .get("content-type") + .and_then(|v| v.to_str().ok()) + .unwrap_or("application/octet-stream"); + let content_type = super::ContentType::from(content_type); + + if !status.is_client_error() && !status.is_server_error() { + let content = resp.text().await?; + match content_type { + ContentType::Json => serde_json::from_str(&content).map_err(Error::from), + ContentType::Text => return Err(Error::from(serde_json::Error::custom("Received `text/plain` content type response that cannot be converted to `models::Dataset`"))), + ContentType::Unsupported(unknown_type) => return Err(Error::from(serde_json::Error::custom(format!("Received `{unknown_type}` content type response that cannot be converted to `models::Dataset`")))), + } + } else { + let content = resp.text().await?; + let entity: Option = serde_json::from_str(&content).ok(); + Err(Error::ResponseError(ResponseContent { status, content, entity })) + } +} + +pub async fn get_loading_info_handler(configuration: &configuration::Configuration, dataset: &str) -> Result> { + // add a prefix to parameters to efficiently prevent name collisions + let p_path_dataset = dataset; + + let uri_str = format!("{}/dataset/{dataset}/loadingInfo", configuration.base_path, dataset=crate::apis::urlencode(p_path_dataset)); + let mut req_builder = configuration.client.request(reqwest::Method::GET, &uri_str); + + if let Some(ref user_agent) = configuration.user_agent { + req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone()); + } + if let Some(ref token) = configuration.bearer_access_token { + req_builder = req_builder.bearer_auth(token.to_owned()); + }; + + let req = req_builder.build()?; + let resp = configuration.client.execute(req).await?; + + let status = resp.status(); + let content_type = resp + .headers() + .get("content-type") + .and_then(|v| v.to_str().ok()) + .unwrap_or("application/octet-stream"); + let content_type = super::ContentType::from(content_type); + + if !status.is_client_error() && !status.is_server_error() { + let content = resp.text().await?; + match content_type { + ContentType::Json => serde_json::from_str(&content).map_err(Error::from), + ContentType::Text => return Err(Error::from(serde_json::Error::custom("Received `text/plain` content type response that cannot be converted to `models::MetaDataDefinition`"))), + ContentType::Unsupported(unknown_type) => return Err(Error::from(serde_json::Error::custom(format!("Received `{unknown_type}` content type response that cannot be converted to `models::MetaDataDefinition`")))), + } + } else { + let content = resp.text().await?; + let entity: Option = serde_json::from_str(&content).ok(); + Err(Error::ResponseError(ResponseContent { status, content, entity })) + } +} + +pub async fn list_datasets_handler(configuration: &configuration::Configuration, order: models::OrderBy, offset: i32, limit: i32, filter: Option<&str>, tags: Option>) -> Result, Error> { + // add a prefix to parameters to efficiently prevent name collisions + let p_query_order = order; + let p_query_offset = offset; + let p_query_limit = limit; + let p_query_filter = filter; + let p_query_tags = tags; + + let uri_str = format!("{}/datasets", configuration.base_path); + let mut req_builder = configuration.client.request(reqwest::Method::GET, &uri_str); + + if let Some(ref param_value) = p_query_filter { + req_builder = req_builder.query(&[("filter", ¶m_value.to_string())]); + } + req_builder = req_builder.query(&[("order", &p_query_order.to_string())]); + req_builder = req_builder.query(&[("offset", &p_query_offset.to_string())]); + req_builder = req_builder.query(&[("limit", &p_query_limit.to_string())]); + if let Some(ref param_value) = p_query_tags { + req_builder = match "multi" { + "multi" => req_builder.query(¶m_value.into_iter().map(|p| ("tags".to_owned(), p.to_string())).collect::>()), + _ => req_builder.query(&[("tags", ¶m_value.into_iter().map(|p| p.to_string()).collect::>().join(",").to_string())]), + }; + } + if let Some(ref user_agent) = configuration.user_agent { + req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone()); + } + if let Some(ref token) = configuration.bearer_access_token { + req_builder = req_builder.bearer_auth(token.to_owned()); + }; + + let req = req_builder.build()?; + let resp = configuration.client.execute(req).await?; + + let status = resp.status(); + let content_type = resp + .headers() + .get("content-type") + .and_then(|v| v.to_str().ok()) + .unwrap_or("application/octet-stream"); + let content_type = super::ContentType::from(content_type); + + if !status.is_client_error() && !status.is_server_error() { + let content = resp.text().await?; + match content_type { + ContentType::Json => serde_json::from_str(&content).map_err(Error::from), + ContentType::Text => return Err(Error::from(serde_json::Error::custom("Received `text/plain` content type response that cannot be converted to `Vec<models::DatasetListing>`"))), + ContentType::Unsupported(unknown_type) => return Err(Error::from(serde_json::Error::custom(format!("Received `{unknown_type}` content type response that cannot be converted to `Vec<models::DatasetListing>`")))), + } + } else { + let content = resp.text().await?; + let entity: Option = serde_json::from_str(&content).ok(); + Err(Error::ResponseError(ResponseContent { status, content, entity })) + } +} + +pub async fn list_volume_file_layers_handler(configuration: &configuration::Configuration, volume_name: &str, file_name: &str) -> Result> { + // add a prefix to parameters to efficiently prevent name collisions + let p_path_volume_name = volume_name; + let p_path_file_name = file_name; + + let uri_str = format!("{}/dataset/volumes/{volume_name}/files/{file_name}/layers", configuration.base_path, volume_name=crate::apis::urlencode(p_path_volume_name), file_name=crate::apis::urlencode(p_path_file_name)); + let mut req_builder = configuration.client.request(reqwest::Method::GET, &uri_str); + + if let Some(ref user_agent) = configuration.user_agent { + req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone()); + } + if let Some(ref token) = configuration.bearer_access_token { + req_builder = req_builder.bearer_auth(token.to_owned()); + }; + + let req = req_builder.build()?; + let resp = configuration.client.execute(req).await?; + + let status = resp.status(); + let content_type = resp + .headers() + .get("content-type") + .and_then(|v| v.to_str().ok()) + .unwrap_or("application/octet-stream"); + let content_type = super::ContentType::from(content_type); + + if !status.is_client_error() && !status.is_server_error() { + let content = resp.text().await?; + match content_type { + ContentType::Json => serde_json::from_str(&content).map_err(Error::from), + ContentType::Text => return Err(Error::from(serde_json::Error::custom("Received `text/plain` content type response that cannot be converted to `models::VolumeFileLayersResponse`"))), + ContentType::Unsupported(unknown_type) => return Err(Error::from(serde_json::Error::custom(format!("Received `{unknown_type}` content type response that cannot be converted to `models::VolumeFileLayersResponse`")))), + } + } else { + let content = resp.text().await?; + let entity: Option = serde_json::from_str(&content).ok(); + Err(Error::ResponseError(ResponseContent { status, content, entity })) + } +} + +pub async fn list_volumes_handler(configuration: &configuration::Configuration, ) -> Result, Error> { + + let uri_str = format!("{}/dataset/volumes", configuration.base_path); + let mut req_builder = configuration.client.request(reqwest::Method::GET, &uri_str); + + if let Some(ref user_agent) = configuration.user_agent { + req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone()); + } + if let Some(ref token) = configuration.bearer_access_token { + req_builder = req_builder.bearer_auth(token.to_owned()); + }; + + let req = req_builder.build()?; + let resp = configuration.client.execute(req).await?; + + let status = resp.status(); + let content_type = resp + .headers() + .get("content-type") + .and_then(|v| v.to_str().ok()) + .unwrap_or("application/octet-stream"); + let content_type = super::ContentType::from(content_type); + + if !status.is_client_error() && !status.is_server_error() { + let content = resp.text().await?; + match content_type { + ContentType::Json => serde_json::from_str(&content).map_err(Error::from), + ContentType::Text => return Err(Error::from(serde_json::Error::custom("Received `text/plain` content type response that cannot be converted to `Vec<models::Volume>`"))), + ContentType::Unsupported(unknown_type) => return Err(Error::from(serde_json::Error::custom(format!("Received `{unknown_type}` content type response that cannot be converted to `Vec<models::Volume>`")))), + } + } else { + let content = resp.text().await?; + let entity: Option = serde_json::from_str(&content).ok(); + Err(Error::ResponseError(ResponseContent { status, content, entity })) + } +} + +pub async fn suggest_meta_data_handler(configuration: &configuration::Configuration, suggest_meta_data: models::SuggestMetaData) -> Result> { + // add a prefix to parameters to efficiently prevent name collisions + let p_body_suggest_meta_data = suggest_meta_data; + + let uri_str = format!("{}/dataset/suggest", configuration.base_path); + let mut req_builder = configuration.client.request(reqwest::Method::POST, &uri_str); + + if let Some(ref user_agent) = configuration.user_agent { + req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone()); + } + if let Some(ref token) = configuration.bearer_access_token { + req_builder = req_builder.bearer_auth(token.to_owned()); + }; + req_builder = req_builder.json(&p_body_suggest_meta_data); + + let req = req_builder.build()?; + let resp = configuration.client.execute(req).await?; + + let status = resp.status(); + let content_type = resp + .headers() + .get("content-type") + .and_then(|v| v.to_str().ok()) + .unwrap_or("application/octet-stream"); + let content_type = super::ContentType::from(content_type); + + if !status.is_client_error() && !status.is_server_error() { + let content = resp.text().await?; + match content_type { + ContentType::Json => serde_json::from_str(&content).map_err(Error::from), + ContentType::Text => return Err(Error::from(serde_json::Error::custom("Received `text/plain` content type response that cannot be converted to `models::MetaDataSuggestion`"))), + ContentType::Unsupported(unknown_type) => return Err(Error::from(serde_json::Error::custom(format!("Received `{unknown_type}` content type response that cannot be converted to `models::MetaDataSuggestion`")))), + } + } else { + let content = resp.text().await?; + let entity: Option = serde_json::from_str(&content).ok(); + Err(Error::ResponseError(ResponseContent { status, content, entity })) + } +} + +pub async fn update_dataset_handler(configuration: &configuration::Configuration, dataset: &str, update_dataset: models::UpdateDataset) -> Result<(), Error> { + // add a prefix to parameters to efficiently prevent name collisions + let p_path_dataset = dataset; + let p_body_update_dataset = update_dataset; + + let uri_str = format!("{}/dataset/{dataset}", configuration.base_path, dataset=crate::apis::urlencode(p_path_dataset)); + let mut req_builder = configuration.client.request(reqwest::Method::POST, &uri_str); + + if let Some(ref user_agent) = configuration.user_agent { + req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone()); + } + if let Some(ref token) = configuration.bearer_access_token { + req_builder = req_builder.bearer_auth(token.to_owned()); + }; + req_builder = req_builder.json(&p_body_update_dataset); + + let req = req_builder.build()?; + let resp = configuration.client.execute(req).await?; + + let status = resp.status(); + + if !status.is_client_error() && !status.is_server_error() { + Ok(()) + } else { + let content = resp.text().await?; + let entity: Option = serde_json::from_str(&content).ok(); + Err(Error::ResponseError(ResponseContent { status, content, entity })) + } +} + +pub async fn update_dataset_provenance_handler(configuration: &configuration::Configuration, dataset: &str, provenances: models::Provenances) -> Result<(), Error> { + // add a prefix to parameters to efficiently prevent name collisions + let p_path_dataset = dataset; + let p_body_provenances = provenances; + + let uri_str = format!("{}/dataset/{dataset}/provenance", configuration.base_path, dataset=crate::apis::urlencode(p_path_dataset)); + let mut req_builder = configuration.client.request(reqwest::Method::PUT, &uri_str); + + if let Some(ref user_agent) = configuration.user_agent { + req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone()); + } + if let Some(ref token) = configuration.bearer_access_token { + req_builder = req_builder.bearer_auth(token.to_owned()); + }; + req_builder = req_builder.json(&p_body_provenances); + + let req = req_builder.build()?; + let resp = configuration.client.execute(req).await?; + + let status = resp.status(); + + if !status.is_client_error() && !status.is_server_error() { + Ok(()) + } else { + let content = resp.text().await?; + let entity: Option = serde_json::from_str(&content).ok(); + Err(Error::ResponseError(ResponseContent { status, content, entity })) + } +} + +pub async fn update_dataset_symbology_handler(configuration: &configuration::Configuration, dataset: &str, symbology: models::Symbology) -> Result<(), Error> { + // add a prefix to parameters to efficiently prevent name collisions + let p_path_dataset = dataset; + let p_body_symbology = symbology; + + let uri_str = format!("{}/dataset/{dataset}/symbology", configuration.base_path, dataset=crate::apis::urlencode(p_path_dataset)); + let mut req_builder = configuration.client.request(reqwest::Method::PUT, &uri_str); + + if let Some(ref user_agent) = configuration.user_agent { + req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone()); + } + if let Some(ref token) = configuration.bearer_access_token { + req_builder = req_builder.bearer_auth(token.to_owned()); + }; + req_builder = req_builder.json(&p_body_symbology); + + let req = req_builder.build()?; + let resp = configuration.client.execute(req).await?; + + let status = resp.status(); + + if !status.is_client_error() && !status.is_server_error() { + Ok(()) + } else { + let content = resp.text().await?; + let entity: Option = serde_json::from_str(&content).ok(); + Err(Error::ResponseError(ResponseContent { status, content, entity })) + } +} + +pub async fn update_loading_info_handler(configuration: &configuration::Configuration, dataset: &str, meta_data_definition: models::MetaDataDefinition) -> Result<(), Error> { + // add a prefix to parameters to efficiently prevent name collisions + let p_path_dataset = dataset; + let p_body_meta_data_definition = meta_data_definition; + + let uri_str = format!("{}/dataset/{dataset}/loadingInfo", configuration.base_path, dataset=crate::apis::urlencode(p_path_dataset)); + let mut req_builder = configuration.client.request(reqwest::Method::PUT, &uri_str); + + if let Some(ref user_agent) = configuration.user_agent { + req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone()); + } + if let Some(ref token) = configuration.bearer_access_token { + req_builder = req_builder.bearer_auth(token.to_owned()); + }; + req_builder = req_builder.json(&p_body_meta_data_definition); + + let req = req_builder.build()?; + let resp = configuration.client.execute(req).await?; + + let status = resp.status(); + + if !status.is_client_error() && !status.is_server_error() { + Ok(()) + } else { + let content = resp.text().await?; + let entity: Option = serde_json::from_str(&content).ok(); + Err(Error::ResponseError(ResponseContent { status, content, entity })) + } +} + diff --git a/rust/src/apis/general_api.rs b/rust/src/apis/general_api.rs new file mode 100644 index 00000000..39e8913d --- /dev/null +++ b/rust/src/apis/general_api.rs @@ -0,0 +1,89 @@ +/* + * Geo Engine API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * Generated by: https://openapi-generator.tech + */ + + +use reqwest; +use serde::{Deserialize, Serialize, de::Error as _}; +use crate::{apis::ResponseContent, models}; +use super::{Error, configuration, ContentType}; + + +/// struct for typed errors of method [`available_handler`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum AvailableHandlerError { + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`server_info_handler`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum ServerInfoHandlerError { + UnknownValue(serde_json::Value), +} + + +pub async fn available_handler(configuration: &configuration::Configuration, ) -> Result<(), Error> { + + let uri_str = format!("{}/available", configuration.base_path); + let mut req_builder = configuration.client.request(reqwest::Method::GET, &uri_str); + + if let Some(ref user_agent) = configuration.user_agent { + req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone()); + } + + let req = req_builder.build()?; + let resp = configuration.client.execute(req).await?; + + let status = resp.status(); + + if !status.is_client_error() && !status.is_server_error() { + Ok(()) + } else { + let content = resp.text().await?; + let entity: Option = serde_json::from_str(&content).ok(); + Err(Error::ResponseError(ResponseContent { status, content, entity })) + } +} + +pub async fn server_info_handler(configuration: &configuration::Configuration, ) -> Result> { + + let uri_str = format!("{}/info", configuration.base_path); + let mut req_builder = configuration.client.request(reqwest::Method::GET, &uri_str); + + if let Some(ref user_agent) = configuration.user_agent { + req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone()); + } + + let req = req_builder.build()?; + let resp = configuration.client.execute(req).await?; + + let status = resp.status(); + let content_type = resp + .headers() + .get("content-type") + .and_then(|v| v.to_str().ok()) + .unwrap_or("application/octet-stream"); + let content_type = super::ContentType::from(content_type); + + if !status.is_client_error() && !status.is_server_error() { + let content = resp.text().await?; + match content_type { + ContentType::Json => serde_json::from_str(&content).map_err(Error::from), + ContentType::Text => return Err(Error::from(serde_json::Error::custom("Received `text/plain` content type response that cannot be converted to `models::ServerInfo`"))), + ContentType::Unsupported(unknown_type) => return Err(Error::from(serde_json::Error::custom(format!("Received `{unknown_type}` content type response that cannot be converted to `models::ServerInfo`")))), + } + } else { + let content = resp.text().await?; + let entity: Option = serde_json::from_str(&content).ok(); + Err(Error::ResponseError(ResponseContent { status, content, entity })) + } +} + diff --git a/rust/src/apis/layers_api.rs b/rust/src/apis/layers_api.rs new file mode 100644 index 00000000..d85f4d1a --- /dev/null +++ b/rust/src/apis/layers_api.rs @@ -0,0 +1,1013 @@ +/* + * Geo Engine API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * Generated by: https://openapi-generator.tech + */ + + +use reqwest; +use serde::{Deserialize, Serialize, de::Error as _}; +use crate::{apis::ResponseContent, models}; +use super::{Error, configuration, ContentType}; + + +/// struct for typed errors of method [`add_collection`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum AddCollectionError { + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`add_existing_collection_to_collection`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum AddExistingCollectionToCollectionError { + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`add_existing_layer_to_collection`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum AddExistingLayerToCollectionError { + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`add_layer`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum AddLayerError { + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`add_provider`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum AddProviderError { + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`autocomplete_handler`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum AutocompleteHandlerError { + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`delete_provider`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum DeleteProviderError { + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`get_provider_definition`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum GetProviderDefinitionError { + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`layer_handler`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum LayerHandlerError { + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`layer_to_dataset`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum LayerToDatasetError { + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`layer_to_workflow_id_handler`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum LayerToWorkflowIdHandlerError { + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`list_collection_handler`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum ListCollectionHandlerError { + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`list_providers`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum ListProvidersError { + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`list_root_collections_handler`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum ListRootCollectionsHandlerError { + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`provider_capabilities_handler`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum ProviderCapabilitiesHandlerError { + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`remove_collection`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum RemoveCollectionError { + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`remove_collection_from_collection`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum RemoveCollectionFromCollectionError { + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`remove_layer`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum RemoveLayerError { + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`remove_layer_from_collection`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum RemoveLayerFromCollectionError { + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`search_handler`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum SearchHandlerError { + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`update_collection`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum UpdateCollectionError { + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`update_layer`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum UpdateLayerError { + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`update_provider_definition`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum UpdateProviderDefinitionError { + UnknownValue(serde_json::Value), +} + + +pub async fn add_collection(configuration: &configuration::Configuration, collection: &str, add_layer_collection: models::AddLayerCollection) -> Result> { + // add a prefix to parameters to efficiently prevent name collisions + let p_path_collection = collection; + let p_body_add_layer_collection = add_layer_collection; + + let uri_str = format!("{}/layerDb/collections/{collection}/collections", configuration.base_path, collection=crate::apis::urlencode(p_path_collection)); + let mut req_builder = configuration.client.request(reqwest::Method::POST, &uri_str); + + if let Some(ref user_agent) = configuration.user_agent { + req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone()); + } + if let Some(ref token) = configuration.bearer_access_token { + req_builder = req_builder.bearer_auth(token.to_owned()); + }; + req_builder = req_builder.json(&p_body_add_layer_collection); + + let req = req_builder.build()?; + let resp = configuration.client.execute(req).await?; + + let status = resp.status(); + let content_type = resp + .headers() + .get("content-type") + .and_then(|v| v.to_str().ok()) + .unwrap_or("application/octet-stream"); + let content_type = super::ContentType::from(content_type); + + if !status.is_client_error() && !status.is_server_error() { + let content = resp.text().await?; + match content_type { + ContentType::Json => serde_json::from_str(&content).map_err(Error::from), + ContentType::Text => return Err(Error::from(serde_json::Error::custom("Received `text/plain` content type response that cannot be converted to `models::IdResponse`"))), + ContentType::Unsupported(unknown_type) => return Err(Error::from(serde_json::Error::custom(format!("Received `{unknown_type}` content type response that cannot be converted to `models::IdResponse`")))), + } + } else { + let content = resp.text().await?; + let entity: Option = serde_json::from_str(&content).ok(); + Err(Error::ResponseError(ResponseContent { status, content, entity })) + } +} + +pub async fn add_existing_collection_to_collection(configuration: &configuration::Configuration, parent: &str, collection: &str) -> Result<(), Error> { + // add a prefix to parameters to efficiently prevent name collisions + let p_path_parent = parent; + let p_path_collection = collection; + + let uri_str = format!("{}/layerDb/collections/{parent}/collections/{collection}", configuration.base_path, parent=crate::apis::urlencode(p_path_parent), collection=crate::apis::urlencode(p_path_collection)); + let mut req_builder = configuration.client.request(reqwest::Method::POST, &uri_str); + + if let Some(ref user_agent) = configuration.user_agent { + req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone()); + } + if let Some(ref token) = configuration.bearer_access_token { + req_builder = req_builder.bearer_auth(token.to_owned()); + }; + + let req = req_builder.build()?; + let resp = configuration.client.execute(req).await?; + + let status = resp.status(); + + if !status.is_client_error() && !status.is_server_error() { + Ok(()) + } else { + let content = resp.text().await?; + let entity: Option = serde_json::from_str(&content).ok(); + Err(Error::ResponseError(ResponseContent { status, content, entity })) + } +} + +pub async fn add_existing_layer_to_collection(configuration: &configuration::Configuration, collection: &str, layer: &str) -> Result<(), Error> { + // add a prefix to parameters to efficiently prevent name collisions + let p_path_collection = collection; + let p_path_layer = layer; + + let uri_str = format!("{}/layerDb/collections/{collection}/layers/{layer}", configuration.base_path, collection=crate::apis::urlencode(p_path_collection), layer=crate::apis::urlencode(p_path_layer)); + let mut req_builder = configuration.client.request(reqwest::Method::POST, &uri_str); + + if let Some(ref user_agent) = configuration.user_agent { + req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone()); + } + if let Some(ref token) = configuration.bearer_access_token { + req_builder = req_builder.bearer_auth(token.to_owned()); + }; + + let req = req_builder.build()?; + let resp = configuration.client.execute(req).await?; + + let status = resp.status(); + + if !status.is_client_error() && !status.is_server_error() { + Ok(()) + } else { + let content = resp.text().await?; + let entity: Option = serde_json::from_str(&content).ok(); + Err(Error::ResponseError(ResponseContent { status, content, entity })) + } +} + +pub async fn add_layer(configuration: &configuration::Configuration, collection: &str, add_layer: models::AddLayer) -> Result> { + // add a prefix to parameters to efficiently prevent name collisions + let p_path_collection = collection; + let p_body_add_layer = add_layer; + + let uri_str = format!("{}/layerDb/collections/{collection}/layers", configuration.base_path, collection=crate::apis::urlencode(p_path_collection)); + let mut req_builder = configuration.client.request(reqwest::Method::POST, &uri_str); + + if let Some(ref user_agent) = configuration.user_agent { + req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone()); + } + if let Some(ref token) = configuration.bearer_access_token { + req_builder = req_builder.bearer_auth(token.to_owned()); + }; + req_builder = req_builder.json(&p_body_add_layer); + + let req = req_builder.build()?; + let resp = configuration.client.execute(req).await?; + + let status = resp.status(); + let content_type = resp + .headers() + .get("content-type") + .and_then(|v| v.to_str().ok()) + .unwrap_or("application/octet-stream"); + let content_type = super::ContentType::from(content_type); + + if !status.is_client_error() && !status.is_server_error() { + let content = resp.text().await?; + match content_type { + ContentType::Json => serde_json::from_str(&content).map_err(Error::from), + ContentType::Text => return Err(Error::from(serde_json::Error::custom("Received `text/plain` content type response that cannot be converted to `models::IdResponse`"))), + ContentType::Unsupported(unknown_type) => return Err(Error::from(serde_json::Error::custom(format!("Received `{unknown_type}` content type response that cannot be converted to `models::IdResponse`")))), + } + } else { + let content = resp.text().await?; + let entity: Option = serde_json::from_str(&content).ok(); + Err(Error::ResponseError(ResponseContent { status, content, entity })) + } +} + +pub async fn add_provider(configuration: &configuration::Configuration, typed_data_provider_definition: models::TypedDataProviderDefinition) -> Result> { + // add a prefix to parameters to efficiently prevent name collisions + let p_body_typed_data_provider_definition = typed_data_provider_definition; + + let uri_str = format!("{}/layerDb/providers", configuration.base_path); + let mut req_builder = configuration.client.request(reqwest::Method::POST, &uri_str); + + if let Some(ref user_agent) = configuration.user_agent { + req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone()); + } + if let Some(ref token) = configuration.bearer_access_token { + req_builder = req_builder.bearer_auth(token.to_owned()); + }; + req_builder = req_builder.json(&p_body_typed_data_provider_definition); + + let req = req_builder.build()?; + let resp = configuration.client.execute(req).await?; + + let status = resp.status(); + let content_type = resp + .headers() + .get("content-type") + .and_then(|v| v.to_str().ok()) + .unwrap_or("application/octet-stream"); + let content_type = super::ContentType::from(content_type); + + if !status.is_client_error() && !status.is_server_error() { + let content = resp.text().await?; + match content_type { + ContentType::Json => serde_json::from_str(&content).map_err(Error::from), + ContentType::Text => return Err(Error::from(serde_json::Error::custom("Received `text/plain` content type response that cannot be converted to `models::IdResponse`"))), + ContentType::Unsupported(unknown_type) => return Err(Error::from(serde_json::Error::custom(format!("Received `{unknown_type}` content type response that cannot be converted to `models::IdResponse`")))), + } + } else { + let content = resp.text().await?; + let entity: Option = serde_json::from_str(&content).ok(); + Err(Error::ResponseError(ResponseContent { status, content, entity })) + } +} + +pub async fn autocomplete_handler(configuration: &configuration::Configuration, provider: &str, collection: &str, search_type: models::SearchType, search_string: &str, limit: i32, offset: i32) -> Result, Error> { + // add a prefix to parameters to efficiently prevent name collisions + let p_path_provider = provider; + let p_path_collection = collection; + let p_query_search_type = search_type; + let p_query_search_string = search_string; + let p_query_limit = limit; + let p_query_offset = offset; + + let uri_str = format!("{}/layers/collections/search/autocomplete/{provider}/{collection}", configuration.base_path, provider=crate::apis::urlencode(p_path_provider), collection=crate::apis::urlencode(p_path_collection)); + let mut req_builder = configuration.client.request(reqwest::Method::GET, &uri_str); + + req_builder = req_builder.query(&[("searchType", &p_query_search_type.to_string())]); + req_builder = req_builder.query(&[("searchString", &p_query_search_string.to_string())]); + req_builder = req_builder.query(&[("limit", &p_query_limit.to_string())]); + req_builder = req_builder.query(&[("offset", &p_query_offset.to_string())]); + if let Some(ref user_agent) = configuration.user_agent { + req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone()); + } + if let Some(ref token) = configuration.bearer_access_token { + req_builder = req_builder.bearer_auth(token.to_owned()); + }; + + let req = req_builder.build()?; + let resp = configuration.client.execute(req).await?; + + let status = resp.status(); + let content_type = resp + .headers() + .get("content-type") + .and_then(|v| v.to_str().ok()) + .unwrap_or("application/octet-stream"); + let content_type = super::ContentType::from(content_type); + + if !status.is_client_error() && !status.is_server_error() { + let content = resp.text().await?; + match content_type { + ContentType::Json => serde_json::from_str(&content).map_err(Error::from), + ContentType::Text => return Err(Error::from(serde_json::Error::custom("Received `text/plain` content type response that cannot be converted to `Vec<String>`"))), + ContentType::Unsupported(unknown_type) => return Err(Error::from(serde_json::Error::custom(format!("Received `{unknown_type}` content type response that cannot be converted to `Vec<String>`")))), + } + } else { + let content = resp.text().await?; + let entity: Option = serde_json::from_str(&content).ok(); + Err(Error::ResponseError(ResponseContent { status, content, entity })) + } +} + +pub async fn delete_provider(configuration: &configuration::Configuration, provider: &str) -> Result<(), Error> { + // add a prefix to parameters to efficiently prevent name collisions + let p_path_provider = provider; + + let uri_str = format!("{}/layerDb/providers/{provider}", configuration.base_path, provider=crate::apis::urlencode(p_path_provider)); + let mut req_builder = configuration.client.request(reqwest::Method::DELETE, &uri_str); + + if let Some(ref user_agent) = configuration.user_agent { + req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone()); + } + if let Some(ref token) = configuration.bearer_access_token { + req_builder = req_builder.bearer_auth(token.to_owned()); + }; + + let req = req_builder.build()?; + let resp = configuration.client.execute(req).await?; + + let status = resp.status(); + + if !status.is_client_error() && !status.is_server_error() { + Ok(()) + } else { + let content = resp.text().await?; + let entity: Option = serde_json::from_str(&content).ok(); + Err(Error::ResponseError(ResponseContent { status, content, entity })) + } +} + +pub async fn get_provider_definition(configuration: &configuration::Configuration, provider: &str) -> Result> { + // add a prefix to parameters to efficiently prevent name collisions + let p_path_provider = provider; + + let uri_str = format!("{}/layerDb/providers/{provider}", configuration.base_path, provider=crate::apis::urlencode(p_path_provider)); + let mut req_builder = configuration.client.request(reqwest::Method::GET, &uri_str); + + if let Some(ref user_agent) = configuration.user_agent { + req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone()); + } + if let Some(ref token) = configuration.bearer_access_token { + req_builder = req_builder.bearer_auth(token.to_owned()); + }; + + let req = req_builder.build()?; + let resp = configuration.client.execute(req).await?; + + let status = resp.status(); + let content_type = resp + .headers() + .get("content-type") + .and_then(|v| v.to_str().ok()) + .unwrap_or("application/octet-stream"); + let content_type = super::ContentType::from(content_type); + + if !status.is_client_error() && !status.is_server_error() { + let content = resp.text().await?; + match content_type { + ContentType::Json => serde_json::from_str(&content).map_err(Error::from), + ContentType::Text => return Err(Error::from(serde_json::Error::custom("Received `text/plain` content type response that cannot be converted to `models::TypedDataProviderDefinition`"))), + ContentType::Unsupported(unknown_type) => return Err(Error::from(serde_json::Error::custom(format!("Received `{unknown_type}` content type response that cannot be converted to `models::TypedDataProviderDefinition`")))), + } + } else { + let content = resp.text().await?; + let entity: Option = serde_json::from_str(&content).ok(); + Err(Error::ResponseError(ResponseContent { status, content, entity })) + } +} + +pub async fn layer_handler(configuration: &configuration::Configuration, provider: &str, layer: &str) -> Result> { + // add a prefix to parameters to efficiently prevent name collisions + let p_path_provider = provider; + let p_path_layer = layer; + + let uri_str = format!("{}/layers/{provider}/{layer}", configuration.base_path, provider=crate::apis::urlencode(p_path_provider), layer=crate::apis::urlencode(p_path_layer)); + let mut req_builder = configuration.client.request(reqwest::Method::GET, &uri_str); + + if let Some(ref user_agent) = configuration.user_agent { + req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone()); + } + if let Some(ref token) = configuration.bearer_access_token { + req_builder = req_builder.bearer_auth(token.to_owned()); + }; + + let req = req_builder.build()?; + let resp = configuration.client.execute(req).await?; + + let status = resp.status(); + let content_type = resp + .headers() + .get("content-type") + .and_then(|v| v.to_str().ok()) + .unwrap_or("application/octet-stream"); + let content_type = super::ContentType::from(content_type); + + if !status.is_client_error() && !status.is_server_error() { + let content = resp.text().await?; + match content_type { + ContentType::Json => serde_json::from_str(&content).map_err(Error::from), + ContentType::Text => return Err(Error::from(serde_json::Error::custom("Received `text/plain` content type response that cannot be converted to `models::Layer`"))), + ContentType::Unsupported(unknown_type) => return Err(Error::from(serde_json::Error::custom(format!("Received `{unknown_type}` content type response that cannot be converted to `models::Layer`")))), + } + } else { + let content = resp.text().await?; + let entity: Option = serde_json::from_str(&content).ok(); + Err(Error::ResponseError(ResponseContent { status, content, entity })) + } +} + +pub async fn layer_to_dataset(configuration: &configuration::Configuration, provider: &str, layer: &str) -> Result> { + // add a prefix to parameters to efficiently prevent name collisions + let p_path_provider = provider; + let p_path_layer = layer; + + let uri_str = format!("{}/layers/{provider}/{layer}/dataset", configuration.base_path, provider=crate::apis::urlencode(p_path_provider), layer=crate::apis::urlencode(p_path_layer)); + let mut req_builder = configuration.client.request(reqwest::Method::POST, &uri_str); + + if let Some(ref user_agent) = configuration.user_agent { + req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone()); + } + if let Some(ref token) = configuration.bearer_access_token { + req_builder = req_builder.bearer_auth(token.to_owned()); + }; + + let req = req_builder.build()?; + let resp = configuration.client.execute(req).await?; + + let status = resp.status(); + let content_type = resp + .headers() + .get("content-type") + .and_then(|v| v.to_str().ok()) + .unwrap_or("application/octet-stream"); + let content_type = super::ContentType::from(content_type); + + if !status.is_client_error() && !status.is_server_error() { + let content = resp.text().await?; + match content_type { + ContentType::Json => serde_json::from_str(&content).map_err(Error::from), + ContentType::Text => return Err(Error::from(serde_json::Error::custom("Received `text/plain` content type response that cannot be converted to `models::TaskResponse`"))), + ContentType::Unsupported(unknown_type) => return Err(Error::from(serde_json::Error::custom(format!("Received `{unknown_type}` content type response that cannot be converted to `models::TaskResponse`")))), + } + } else { + let content = resp.text().await?; + let entity: Option = serde_json::from_str(&content).ok(); + Err(Error::ResponseError(ResponseContent { status, content, entity })) + } +} + +pub async fn layer_to_workflow_id_handler(configuration: &configuration::Configuration, provider: &str, layer: &str) -> Result> { + // add a prefix to parameters to efficiently prevent name collisions + let p_path_provider = provider; + let p_path_layer = layer; + + let uri_str = format!("{}/layers/{provider}/{layer}/workflowId", configuration.base_path, provider=crate::apis::urlencode(p_path_provider), layer=crate::apis::urlencode(p_path_layer)); + let mut req_builder = configuration.client.request(reqwest::Method::POST, &uri_str); + + if let Some(ref user_agent) = configuration.user_agent { + req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone()); + } + if let Some(ref token) = configuration.bearer_access_token { + req_builder = req_builder.bearer_auth(token.to_owned()); + }; + + let req = req_builder.build()?; + let resp = configuration.client.execute(req).await?; + + let status = resp.status(); + let content_type = resp + .headers() + .get("content-type") + .and_then(|v| v.to_str().ok()) + .unwrap_or("application/octet-stream"); + let content_type = super::ContentType::from(content_type); + + if !status.is_client_error() && !status.is_server_error() { + let content = resp.text().await?; + match content_type { + ContentType::Json => serde_json::from_str(&content).map_err(Error::from), + ContentType::Text => return Err(Error::from(serde_json::Error::custom("Received `text/plain` content type response that cannot be converted to `models::IdResponse`"))), + ContentType::Unsupported(unknown_type) => return Err(Error::from(serde_json::Error::custom(format!("Received `{unknown_type}` content type response that cannot be converted to `models::IdResponse`")))), + } + } else { + let content = resp.text().await?; + let entity: Option = serde_json::from_str(&content).ok(); + Err(Error::ResponseError(ResponseContent { status, content, entity })) + } +} + +pub async fn list_collection_handler(configuration: &configuration::Configuration, provider: &str, collection: &str, offset: i32, limit: i32) -> Result> { + // add a prefix to parameters to efficiently prevent name collisions + let p_path_provider = provider; + let p_path_collection = collection; + let p_query_offset = offset; + let p_query_limit = limit; + + let uri_str = format!("{}/layers/collections/{provider}/{collection}", configuration.base_path, provider=crate::apis::urlencode(p_path_provider), collection=crate::apis::urlencode(p_path_collection)); + let mut req_builder = configuration.client.request(reqwest::Method::GET, &uri_str); + + req_builder = req_builder.query(&[("offset", &p_query_offset.to_string())]); + req_builder = req_builder.query(&[("limit", &p_query_limit.to_string())]); + if let Some(ref user_agent) = configuration.user_agent { + req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone()); + } + if let Some(ref token) = configuration.bearer_access_token { + req_builder = req_builder.bearer_auth(token.to_owned()); + }; + + let req = req_builder.build()?; + let resp = configuration.client.execute(req).await?; + + let status = resp.status(); + let content_type = resp + .headers() + .get("content-type") + .and_then(|v| v.to_str().ok()) + .unwrap_or("application/octet-stream"); + let content_type = super::ContentType::from(content_type); + + if !status.is_client_error() && !status.is_server_error() { + let content = resp.text().await?; + match content_type { + ContentType::Json => serde_json::from_str(&content).map_err(Error::from), + ContentType::Text => return Err(Error::from(serde_json::Error::custom("Received `text/plain` content type response that cannot be converted to `models::LayerCollection`"))), + ContentType::Unsupported(unknown_type) => return Err(Error::from(serde_json::Error::custom(format!("Received `{unknown_type}` content type response that cannot be converted to `models::LayerCollection`")))), + } + } else { + let content = resp.text().await?; + let entity: Option = serde_json::from_str(&content).ok(); + Err(Error::ResponseError(ResponseContent { status, content, entity })) + } +} + +pub async fn list_providers(configuration: &configuration::Configuration, offset: i32, limit: i32) -> Result, Error> { + // add a prefix to parameters to efficiently prevent name collisions + let p_query_offset = offset; + let p_query_limit = limit; + + let uri_str = format!("{}/layerDb/providers", configuration.base_path); + let mut req_builder = configuration.client.request(reqwest::Method::GET, &uri_str); + + req_builder = req_builder.query(&[("offset", &p_query_offset.to_string())]); + req_builder = req_builder.query(&[("limit", &p_query_limit.to_string())]); + if let Some(ref user_agent) = configuration.user_agent { + req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone()); + } + if let Some(ref token) = configuration.bearer_access_token { + req_builder = req_builder.bearer_auth(token.to_owned()); + }; + + let req = req_builder.build()?; + let resp = configuration.client.execute(req).await?; + + let status = resp.status(); + let content_type = resp + .headers() + .get("content-type") + .and_then(|v| v.to_str().ok()) + .unwrap_or("application/octet-stream"); + let content_type = super::ContentType::from(content_type); + + if !status.is_client_error() && !status.is_server_error() { + let content = resp.text().await?; + match content_type { + ContentType::Json => serde_json::from_str(&content).map_err(Error::from), + ContentType::Text => return Err(Error::from(serde_json::Error::custom("Received `text/plain` content type response that cannot be converted to `Vec<models::LayerProviderListing>`"))), + ContentType::Unsupported(unknown_type) => return Err(Error::from(serde_json::Error::custom(format!("Received `{unknown_type}` content type response that cannot be converted to `Vec<models::LayerProviderListing>`")))), + } + } else { + let content = resp.text().await?; + let entity: Option = serde_json::from_str(&content).ok(); + Err(Error::ResponseError(ResponseContent { status, content, entity })) + } +} + +pub async fn list_root_collections_handler(configuration: &configuration::Configuration, offset: i32, limit: i32) -> Result> { + // add a prefix to parameters to efficiently prevent name collisions + let p_query_offset = offset; + let p_query_limit = limit; + + let uri_str = format!("{}/layers/collections", configuration.base_path); + let mut req_builder = configuration.client.request(reqwest::Method::GET, &uri_str); + + req_builder = req_builder.query(&[("offset", &p_query_offset.to_string())]); + req_builder = req_builder.query(&[("limit", &p_query_limit.to_string())]); + if let Some(ref user_agent) = configuration.user_agent { + req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone()); + } + if let Some(ref token) = configuration.bearer_access_token { + req_builder = req_builder.bearer_auth(token.to_owned()); + }; + + let req = req_builder.build()?; + let resp = configuration.client.execute(req).await?; + + let status = resp.status(); + let content_type = resp + .headers() + .get("content-type") + .and_then(|v| v.to_str().ok()) + .unwrap_or("application/octet-stream"); + let content_type = super::ContentType::from(content_type); + + if !status.is_client_error() && !status.is_server_error() { + let content = resp.text().await?; + match content_type { + ContentType::Json => serde_json::from_str(&content).map_err(Error::from), + ContentType::Text => return Err(Error::from(serde_json::Error::custom("Received `text/plain` content type response that cannot be converted to `models::LayerCollection`"))), + ContentType::Unsupported(unknown_type) => return Err(Error::from(serde_json::Error::custom(format!("Received `{unknown_type}` content type response that cannot be converted to `models::LayerCollection`")))), + } + } else { + let content = resp.text().await?; + let entity: Option = serde_json::from_str(&content).ok(); + Err(Error::ResponseError(ResponseContent { status, content, entity })) + } +} + +pub async fn provider_capabilities_handler(configuration: &configuration::Configuration, provider: &str) -> Result> { + // add a prefix to parameters to efficiently prevent name collisions + let p_path_provider = provider; + + let uri_str = format!("{}/layers/{provider}/capabilities", configuration.base_path, provider=crate::apis::urlencode(p_path_provider)); + let mut req_builder = configuration.client.request(reqwest::Method::GET, &uri_str); + + if let Some(ref user_agent) = configuration.user_agent { + req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone()); + } + if let Some(ref token) = configuration.bearer_access_token { + req_builder = req_builder.bearer_auth(token.to_owned()); + }; + + let req = req_builder.build()?; + let resp = configuration.client.execute(req).await?; + + let status = resp.status(); + let content_type = resp + .headers() + .get("content-type") + .and_then(|v| v.to_str().ok()) + .unwrap_or("application/octet-stream"); + let content_type = super::ContentType::from(content_type); + + if !status.is_client_error() && !status.is_server_error() { + let content = resp.text().await?; + match content_type { + ContentType::Json => serde_json::from_str(&content).map_err(Error::from), + ContentType::Text => return Err(Error::from(serde_json::Error::custom("Received `text/plain` content type response that cannot be converted to `models::ProviderCapabilities`"))), + ContentType::Unsupported(unknown_type) => return Err(Error::from(serde_json::Error::custom(format!("Received `{unknown_type}` content type response that cannot be converted to `models::ProviderCapabilities`")))), + } + } else { + let content = resp.text().await?; + let entity: Option = serde_json::from_str(&content).ok(); + Err(Error::ResponseError(ResponseContent { status, content, entity })) + } +} + +pub async fn remove_collection(configuration: &configuration::Configuration, collection: &str) -> Result<(), Error> { + // add a prefix to parameters to efficiently prevent name collisions + let p_path_collection = collection; + + let uri_str = format!("{}/layerDb/collections/{collection}", configuration.base_path, collection=crate::apis::urlencode(p_path_collection)); + let mut req_builder = configuration.client.request(reqwest::Method::DELETE, &uri_str); + + if let Some(ref user_agent) = configuration.user_agent { + req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone()); + } + if let Some(ref token) = configuration.bearer_access_token { + req_builder = req_builder.bearer_auth(token.to_owned()); + }; + + let req = req_builder.build()?; + let resp = configuration.client.execute(req).await?; + + let status = resp.status(); + + if !status.is_client_error() && !status.is_server_error() { + Ok(()) + } else { + let content = resp.text().await?; + let entity: Option = serde_json::from_str(&content).ok(); + Err(Error::ResponseError(ResponseContent { status, content, entity })) + } +} + +pub async fn remove_collection_from_collection(configuration: &configuration::Configuration, parent: &str, collection: &str) -> Result<(), Error> { + // add a prefix to parameters to efficiently prevent name collisions + let p_path_parent = parent; + let p_path_collection = collection; + + let uri_str = format!("{}/layerDb/collections/{parent}/collections/{collection}", configuration.base_path, parent=crate::apis::urlencode(p_path_parent), collection=crate::apis::urlencode(p_path_collection)); + let mut req_builder = configuration.client.request(reqwest::Method::DELETE, &uri_str); + + if let Some(ref user_agent) = configuration.user_agent { + req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone()); + } + if let Some(ref token) = configuration.bearer_access_token { + req_builder = req_builder.bearer_auth(token.to_owned()); + }; + + let req = req_builder.build()?; + let resp = configuration.client.execute(req).await?; + + let status = resp.status(); + + if !status.is_client_error() && !status.is_server_error() { + Ok(()) + } else { + let content = resp.text().await?; + let entity: Option = serde_json::from_str(&content).ok(); + Err(Error::ResponseError(ResponseContent { status, content, entity })) + } +} + +pub async fn remove_layer(configuration: &configuration::Configuration, layer: &str) -> Result<(), Error> { + // add a prefix to parameters to efficiently prevent name collisions + let p_path_layer = layer; + + let uri_str = format!("{}/layerDb/layers/{layer}", configuration.base_path, layer=crate::apis::urlencode(p_path_layer)); + let mut req_builder = configuration.client.request(reqwest::Method::DELETE, &uri_str); + + if let Some(ref user_agent) = configuration.user_agent { + req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone()); + } + if let Some(ref token) = configuration.bearer_access_token { + req_builder = req_builder.bearer_auth(token.to_owned()); + }; + + let req = req_builder.build()?; + let resp = configuration.client.execute(req).await?; + + let status = resp.status(); + + if !status.is_client_error() && !status.is_server_error() { + Ok(()) + } else { + let content = resp.text().await?; + let entity: Option = serde_json::from_str(&content).ok(); + Err(Error::ResponseError(ResponseContent { status, content, entity })) + } +} + +pub async fn remove_layer_from_collection(configuration: &configuration::Configuration, collection: &str, layer: &str) -> Result<(), Error> { + // add a prefix to parameters to efficiently prevent name collisions + let p_path_collection = collection; + let p_path_layer = layer; + + let uri_str = format!("{}/layerDb/collections/{collection}/layers/{layer}", configuration.base_path, collection=crate::apis::urlencode(p_path_collection), layer=crate::apis::urlencode(p_path_layer)); + let mut req_builder = configuration.client.request(reqwest::Method::DELETE, &uri_str); + + if let Some(ref user_agent) = configuration.user_agent { + req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone()); + } + if let Some(ref token) = configuration.bearer_access_token { + req_builder = req_builder.bearer_auth(token.to_owned()); + }; + + let req = req_builder.build()?; + let resp = configuration.client.execute(req).await?; + + let status = resp.status(); + + if !status.is_client_error() && !status.is_server_error() { + Ok(()) + } else { + let content = resp.text().await?; + let entity: Option = serde_json::from_str(&content).ok(); + Err(Error::ResponseError(ResponseContent { status, content, entity })) + } +} + +pub async fn search_handler(configuration: &configuration::Configuration, provider: &str, collection: &str, search_type: models::SearchType, search_string: &str, limit: i32, offset: i32) -> Result> { + // add a prefix to parameters to efficiently prevent name collisions + let p_path_provider = provider; + let p_path_collection = collection; + let p_query_search_type = search_type; + let p_query_search_string = search_string; + let p_query_limit = limit; + let p_query_offset = offset; + + let uri_str = format!("{}/layers/collections/search/{provider}/{collection}", configuration.base_path, provider=crate::apis::urlencode(p_path_provider), collection=crate::apis::urlencode(p_path_collection)); + let mut req_builder = configuration.client.request(reqwest::Method::GET, &uri_str); + + req_builder = req_builder.query(&[("searchType", &p_query_search_type.to_string())]); + req_builder = req_builder.query(&[("searchString", &p_query_search_string.to_string())]); + req_builder = req_builder.query(&[("limit", &p_query_limit.to_string())]); + req_builder = req_builder.query(&[("offset", &p_query_offset.to_string())]); + if let Some(ref user_agent) = configuration.user_agent { + req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone()); + } + if let Some(ref token) = configuration.bearer_access_token { + req_builder = req_builder.bearer_auth(token.to_owned()); + }; + + let req = req_builder.build()?; + let resp = configuration.client.execute(req).await?; + + let status = resp.status(); + let content_type = resp + .headers() + .get("content-type") + .and_then(|v| v.to_str().ok()) + .unwrap_or("application/octet-stream"); + let content_type = super::ContentType::from(content_type); + + if !status.is_client_error() && !status.is_server_error() { + let content = resp.text().await?; + match content_type { + ContentType::Json => serde_json::from_str(&content).map_err(Error::from), + ContentType::Text => return Err(Error::from(serde_json::Error::custom("Received `text/plain` content type response that cannot be converted to `models::LayerCollection`"))), + ContentType::Unsupported(unknown_type) => return Err(Error::from(serde_json::Error::custom(format!("Received `{unknown_type}` content type response that cannot be converted to `models::LayerCollection`")))), + } + } else { + let content = resp.text().await?; + let entity: Option = serde_json::from_str(&content).ok(); + Err(Error::ResponseError(ResponseContent { status, content, entity })) + } +} + +pub async fn update_collection(configuration: &configuration::Configuration, collection: &str, update_layer_collection: models::UpdateLayerCollection) -> Result<(), Error> { + // add a prefix to parameters to efficiently prevent name collisions + let p_path_collection = collection; + let p_body_update_layer_collection = update_layer_collection; + + let uri_str = format!("{}/layerDb/collections/{collection}", configuration.base_path, collection=crate::apis::urlencode(p_path_collection)); + let mut req_builder = configuration.client.request(reqwest::Method::PUT, &uri_str); + + if let Some(ref user_agent) = configuration.user_agent { + req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone()); + } + if let Some(ref token) = configuration.bearer_access_token { + req_builder = req_builder.bearer_auth(token.to_owned()); + }; + req_builder = req_builder.json(&p_body_update_layer_collection); + + let req = req_builder.build()?; + let resp = configuration.client.execute(req).await?; + + let status = resp.status(); + + if !status.is_client_error() && !status.is_server_error() { + Ok(()) + } else { + let content = resp.text().await?; + let entity: Option = serde_json::from_str(&content).ok(); + Err(Error::ResponseError(ResponseContent { status, content, entity })) + } +} + +pub async fn update_layer(configuration: &configuration::Configuration, layer: &str, update_layer: models::UpdateLayer) -> Result<(), Error> { + // add a prefix to parameters to efficiently prevent name collisions + let p_path_layer = layer; + let p_body_update_layer = update_layer; + + let uri_str = format!("{}/layerDb/layers/{layer}", configuration.base_path, layer=crate::apis::urlencode(p_path_layer)); + let mut req_builder = configuration.client.request(reqwest::Method::PUT, &uri_str); + + if let Some(ref user_agent) = configuration.user_agent { + req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone()); + } + if let Some(ref token) = configuration.bearer_access_token { + req_builder = req_builder.bearer_auth(token.to_owned()); + }; + req_builder = req_builder.json(&p_body_update_layer); + + let req = req_builder.build()?; + let resp = configuration.client.execute(req).await?; + + let status = resp.status(); + + if !status.is_client_error() && !status.is_server_error() { + Ok(()) + } else { + let content = resp.text().await?; + let entity: Option = serde_json::from_str(&content).ok(); + Err(Error::ResponseError(ResponseContent { status, content, entity })) + } +} + +pub async fn update_provider_definition(configuration: &configuration::Configuration, provider: &str, typed_data_provider_definition: models::TypedDataProviderDefinition) -> Result<(), Error> { + // add a prefix to parameters to efficiently prevent name collisions + let p_path_provider = provider; + let p_body_typed_data_provider_definition = typed_data_provider_definition; + + let uri_str = format!("{}/layerDb/providers/{provider}", configuration.base_path, provider=crate::apis::urlencode(p_path_provider)); + let mut req_builder = configuration.client.request(reqwest::Method::PUT, &uri_str); + + if let Some(ref user_agent) = configuration.user_agent { + req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone()); + } + if let Some(ref token) = configuration.bearer_access_token { + req_builder = req_builder.bearer_auth(token.to_owned()); + }; + req_builder = req_builder.json(&p_body_typed_data_provider_definition); + + let req = req_builder.build()?; + let resp = configuration.client.execute(req).await?; + + let status = resp.status(); + + if !status.is_client_error() && !status.is_server_error() { + Ok(()) + } else { + let content = resp.text().await?; + let entity: Option = serde_json::from_str(&content).ok(); + Err(Error::ResponseError(ResponseContent { status, content, entity })) + } +} + diff --git a/rust/src/apis/ml_api.rs b/rust/src/apis/ml_api.rs new file mode 100644 index 00000000..9537395c --- /dev/null +++ b/rust/src/apis/ml_api.rs @@ -0,0 +1,155 @@ +/* + * Geo Engine API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * Generated by: https://openapi-generator.tech + */ + + +use reqwest; +use serde::{Deserialize, Serialize, de::Error as _}; +use crate::{apis::ResponseContent, models}; +use super::{Error, configuration, ContentType}; + + +/// struct for typed errors of method [`add_ml_model`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum AddMlModelError { + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`get_ml_model`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum GetMlModelError { + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`list_ml_models`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum ListMlModelsError { + UnknownValue(serde_json::Value), +} + + +pub async fn add_ml_model(configuration: &configuration::Configuration, ml_model: models::MlModel) -> Result> { + // add a prefix to parameters to efficiently prevent name collisions + let p_body_ml_model = ml_model; + + let uri_str = format!("{}/ml/models", configuration.base_path); + let mut req_builder = configuration.client.request(reqwest::Method::POST, &uri_str); + + if let Some(ref user_agent) = configuration.user_agent { + req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone()); + } + if let Some(ref token) = configuration.bearer_access_token { + req_builder = req_builder.bearer_auth(token.to_owned()); + }; + req_builder = req_builder.json(&p_body_ml_model); + + let req = req_builder.build()?; + let resp = configuration.client.execute(req).await?; + + let status = resp.status(); + let content_type = resp + .headers() + .get("content-type") + .and_then(|v| v.to_str().ok()) + .unwrap_or("application/octet-stream"); + let content_type = super::ContentType::from(content_type); + + if !status.is_client_error() && !status.is_server_error() { + let content = resp.text().await?; + match content_type { + ContentType::Json => serde_json::from_str(&content).map_err(Error::from), + ContentType::Text => return Err(Error::from(serde_json::Error::custom("Received `text/plain` content type response that cannot be converted to `models::MlModelNameResponse`"))), + ContentType::Unsupported(unknown_type) => return Err(Error::from(serde_json::Error::custom(format!("Received `{unknown_type}` content type response that cannot be converted to `models::MlModelNameResponse`")))), + } + } else { + let content = resp.text().await?; + let entity: Option = serde_json::from_str(&content).ok(); + Err(Error::ResponseError(ResponseContent { status, content, entity })) + } +} + +pub async fn get_ml_model(configuration: &configuration::Configuration, model_name: &str) -> Result> { + // add a prefix to parameters to efficiently prevent name collisions + let p_path_model_name = model_name; + + let uri_str = format!("{}/ml/models/{model_name}", configuration.base_path, model_name=crate::apis::urlencode(p_path_model_name)); + let mut req_builder = configuration.client.request(reqwest::Method::GET, &uri_str); + + if let Some(ref user_agent) = configuration.user_agent { + req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone()); + } + if let Some(ref token) = configuration.bearer_access_token { + req_builder = req_builder.bearer_auth(token.to_owned()); + }; + + let req = req_builder.build()?; + let resp = configuration.client.execute(req).await?; + + let status = resp.status(); + let content_type = resp + .headers() + .get("content-type") + .and_then(|v| v.to_str().ok()) + .unwrap_or("application/octet-stream"); + let content_type = super::ContentType::from(content_type); + + if !status.is_client_error() && !status.is_server_error() { + let content = resp.text().await?; + match content_type { + ContentType::Json => serde_json::from_str(&content).map_err(Error::from), + ContentType::Text => return Err(Error::from(serde_json::Error::custom("Received `text/plain` content type response that cannot be converted to `models::MlModel`"))), + ContentType::Unsupported(unknown_type) => return Err(Error::from(serde_json::Error::custom(format!("Received `{unknown_type}` content type response that cannot be converted to `models::MlModel`")))), + } + } else { + let content = resp.text().await?; + let entity: Option = serde_json::from_str(&content).ok(); + Err(Error::ResponseError(ResponseContent { status, content, entity })) + } +} + +pub async fn list_ml_models(configuration: &configuration::Configuration, ) -> Result, Error> { + + let uri_str = format!("{}/ml/models", configuration.base_path); + let mut req_builder = configuration.client.request(reqwest::Method::GET, &uri_str); + + if let Some(ref user_agent) = configuration.user_agent { + req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone()); + } + if let Some(ref token) = configuration.bearer_access_token { + req_builder = req_builder.bearer_auth(token.to_owned()); + }; + + let req = req_builder.build()?; + let resp = configuration.client.execute(req).await?; + + let status = resp.status(); + let content_type = resp + .headers() + .get("content-type") + .and_then(|v| v.to_str().ok()) + .unwrap_or("application/octet-stream"); + let content_type = super::ContentType::from(content_type); + + if !status.is_client_error() && !status.is_server_error() { + let content = resp.text().await?; + match content_type { + ContentType::Json => serde_json::from_str(&content).map_err(Error::from), + ContentType::Text => return Err(Error::from(serde_json::Error::custom("Received `text/plain` content type response that cannot be converted to `Vec<models::MlModel>`"))), + ContentType::Unsupported(unknown_type) => return Err(Error::from(serde_json::Error::custom(format!("Received `{unknown_type}` content type response that cannot be converted to `Vec<models::MlModel>`")))), + } + } else { + let content = resp.text().await?; + let entity: Option = serde_json::from_str(&content).ok(); + Err(Error::ResponseError(ResponseContent { status, content, entity })) + } +} + diff --git a/rust/src/apis/mod.rs b/rust/src/apis/mod.rs new file mode 100644 index 00000000..0ec7b3dd --- /dev/null +++ b/rust/src/apis/mod.rs @@ -0,0 +1,131 @@ +use std::error; +use std::fmt; + +#[derive(Debug, Clone)] +pub struct ResponseContent { + pub status: reqwest::StatusCode, + pub content: String, + pub entity: Option, +} + +#[derive(Debug)] +pub enum Error { + Reqwest(reqwest::Error), + Serde(serde_json::Error), + Io(std::io::Error), + ResponseError(ResponseContent), +} + +impl fmt::Display for Error { + fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { + let (module, e) = match self { + Error::Reqwest(e) => ("reqwest", e.to_string()), + Error::Serde(e) => ("serde", e.to_string()), + Error::Io(e) => ("IO", e.to_string()), + Error::ResponseError(e) => ("response", format!("status code {}", e.status)), + }; + write!(f, "error in {}: {}", module, e) + } +} + +impl error::Error for Error { + fn source(&self) -> Option<&(dyn error::Error + 'static)> { + Some(match self { + Error::Reqwest(e) => e, + Error::Serde(e) => e, + Error::Io(e) => e, + Error::ResponseError(_) => return None, + }) + } +} + +impl From for Error { + fn from(e: reqwest::Error) -> Self { + Error::Reqwest(e) + } +} + +impl From for Error { + fn from(e: serde_json::Error) -> Self { + Error::Serde(e) + } +} + +impl From for Error { + fn from(e: std::io::Error) -> Self { + Error::Io(e) + } +} + +pub fn urlencode>(s: T) -> String { + ::url::form_urlencoded::byte_serialize(s.as_ref().as_bytes()).collect() +} + +pub fn parse_deep_object(prefix: &str, value: &serde_json::Value) -> Vec<(String, String)> { + if let serde_json::Value::Object(object) = value { + let mut params = vec![]; + + for (key, value) in object { + match value { + serde_json::Value::Object(_) => params.append(&mut parse_deep_object( + &format!("{}[{}]", prefix, key), + value, + )), + serde_json::Value::Array(array) => { + for (i, value) in array.iter().enumerate() { + params.append(&mut parse_deep_object( + &format!("{}[{}][{}]", prefix, key, i), + value, + )); + } + }, + serde_json::Value::String(s) => params.push((format!("{}[{}]", prefix, key), s.clone())), + _ => params.push((format!("{}[{}]", prefix, key), value.to_string())), + } + } + + return params; + } + + unimplemented!("Only objects are supported with style=deepObject") +} + +/// Internal use only +/// A content type supported by this client. +#[allow(dead_code)] +enum ContentType { + Json, + Text, + Unsupported(String) +} + +impl From<&str> for ContentType { + fn from(content_type: &str) -> Self { + if content_type.starts_with("application") && content_type.contains("json") { + return Self::Json; + } else if content_type.starts_with("text/plain") { + return Self::Text; + } else { + return Self::Unsupported(content_type.to_string()); + } + } +} + +pub mod datasets_api; +pub mod general_api; +pub mod layers_api; +pub mod ml_api; +pub mod ogcwcs_api; +pub mod ogcwfs_api; +pub mod ogcwms_api; +pub mod permissions_api; +pub mod plots_api; +pub mod projects_api; +pub mod session_api; +pub mod spatial_references_api; +pub mod tasks_api; +pub mod uploads_api; +pub mod user_api; +pub mod workflows_api; + +pub mod configuration; diff --git a/rust/src/apis/ogcwcs_api.rs b/rust/src/apis/ogcwcs_api.rs new file mode 100644 index 00000000..768f6381 --- /dev/null +++ b/rust/src/apis/ogcwcs_api.rs @@ -0,0 +1,118 @@ +/* + * Geo Engine API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * Generated by: https://openapi-generator.tech + */ + + +use reqwest; +use serde::{Deserialize, Serialize, de::Error as _}; +use crate::{apis::ResponseContent, models}; +use super::{Error, configuration, ContentType}; + + +/// struct for typed errors of method [`wcs_handler`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum WcsHandlerError { + UnknownValue(serde_json::Value), +} + + +pub async fn wcs_handler(configuration: &configuration::Configuration, workflow: &str, request: models::WcsRequest, boundingbox: Option<&str>, format: Option, gridbasecrs: Option<&str>, gridoffsets: Option<&str>, gridorigin: Option<&str>, identifier: Option<&str>, identifiers: Option<&str>, nodatavalue: Option, resx: Option, resy: Option, service: Option, time: Option<&str>, version: Option<&str>) -> Result> { + // add a prefix to parameters to efficiently prevent name collisions + let p_path_workflow = workflow; + let p_query_request = request; + let p_query_boundingbox = boundingbox; + let p_query_format = format; + let p_query_gridbasecrs = gridbasecrs; + let p_query_gridoffsets = gridoffsets; + let p_query_gridorigin = gridorigin; + let p_query_identifier = identifier; + let p_query_identifiers = identifiers; + let p_query_nodatavalue = nodatavalue; + let p_query_resx = resx; + let p_query_resy = resy; + let p_query_service = service; + let p_query_time = time; + let p_query_version = version; + + let uri_str = format!("{}/wcs/{workflow}", configuration.base_path, workflow=crate::apis::urlencode(p_path_workflow)); + let mut req_builder = configuration.client.request(reqwest::Method::GET, &uri_str); + + if let Some(ref param_value) = p_query_boundingbox { + req_builder = req_builder.query(&[("boundingbox", ¶m_value.to_string())]); + } + if let Some(ref param_value) = p_query_format { + req_builder = req_builder.query(&[("format", ¶m_value.to_string())]); + } + if let Some(ref param_value) = p_query_gridbasecrs { + req_builder = req_builder.query(&[("gridbasecrs", ¶m_value.to_string())]); + } + if let Some(ref param_value) = p_query_gridoffsets { + req_builder = req_builder.query(&[("gridoffsets", ¶m_value.to_string())]); + } + if let Some(ref param_value) = p_query_gridorigin { + req_builder = req_builder.query(&[("gridorigin", ¶m_value.to_string())]); + } + if let Some(ref param_value) = p_query_identifier { + req_builder = req_builder.query(&[("identifier", ¶m_value.to_string())]); + } + if let Some(ref param_value) = p_query_identifiers { + req_builder = req_builder.query(&[("identifiers", ¶m_value.to_string())]); + } + if let Some(ref param_value) = p_query_nodatavalue { + req_builder = req_builder.query(&[("nodatavalue", ¶m_value.to_string())]); + } + req_builder = req_builder.query(&[("request", &p_query_request.to_string())]); + if let Some(ref param_value) = p_query_resx { + req_builder = req_builder.query(&[("resx", ¶m_value.to_string())]); + } + if let Some(ref param_value) = p_query_resy { + req_builder = req_builder.query(&[("resy", ¶m_value.to_string())]); + } + if let Some(ref param_value) = p_query_service { + req_builder = req_builder.query(&[("service", ¶m_value.to_string())]); + } + if let Some(ref param_value) = p_query_time { + req_builder = req_builder.query(&[("time", ¶m_value.to_string())]); + } + if let Some(ref param_value) = p_query_version { + req_builder = req_builder.query(&[("version", ¶m_value.to_string())]); + } + if let Some(ref user_agent) = configuration.user_agent { + req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone()); + } + if let Some(ref token) = configuration.bearer_access_token { + req_builder = req_builder.bearer_auth(token.to_owned()); + }; + + let req = req_builder.build()?; + let resp = configuration.client.execute(req).await?; + + let status = resp.status(); + let content_type = resp + .headers() + .get("content-type") + .and_then(|v| v.to_str().ok()) + .unwrap_or("application/octet-stream"); + let content_type = super::ContentType::from(content_type); + + if !status.is_client_error() && !status.is_server_error() { + let content = resp.text().await?; + match content_type { + ContentType::Json => serde_json::from_str(&content).map_err(Error::from), + ContentType::Text => return Err(Error::from(serde_json::Error::custom("Received `text/plain` content type response that cannot be converted to `String`"))), + ContentType::Unsupported(unknown_type) => return Err(Error::from(serde_json::Error::custom(format!("Received `{unknown_type}` content type response that cannot be converted to `String`")))), + } + } else { + let content = resp.text().await?; + let entity: Option = serde_json::from_str(&content).ok(); + Err(Error::ResponseError(ResponseContent { status, content, entity })) + } +} + diff --git a/rust/src/apis/ogcwfs_api.rs b/rust/src/apis/ogcwfs_api.rs new file mode 100644 index 00000000..41ff8b32 --- /dev/null +++ b/rust/src/apis/ogcwfs_api.rs @@ -0,0 +1,114 @@ +/* + * Geo Engine API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * Generated by: https://openapi-generator.tech + */ + + +use reqwest; +use serde::{Deserialize, Serialize, de::Error as _}; +use crate::{apis::ResponseContent, models}; +use super::{Error, configuration, ContentType}; + + +/// struct for typed errors of method [`wfs_handler`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum WfsHandlerError { + UnknownValue(serde_json::Value), +} + + +pub async fn wfs_handler(configuration: &configuration::Configuration, workflow: &str, request: models::WfsRequest, bbox: Option<&str>, count: Option, filter: Option<&str>, namespaces: Option<&str>, property_name: Option<&str>, result_type: Option<&str>, service: Option, sort_by: Option<&str>, srs_name: Option<&str>, time: Option<&str>, type_names: Option<&str>, version: Option<&str>) -> Result> { + // add a prefix to parameters to efficiently prevent name collisions + let p_path_workflow = workflow; + let p_query_request = request; + let p_query_bbox = bbox; + let p_query_count = count; + let p_query_filter = filter; + let p_query_namespaces = namespaces; + let p_query_property_name = property_name; + let p_query_result_type = result_type; + let p_query_service = service; + let p_query_sort_by = sort_by; + let p_query_srs_name = srs_name; + let p_query_time = time; + let p_query_type_names = type_names; + let p_query_version = version; + + let uri_str = format!("{}/wfs/{workflow}", configuration.base_path, workflow=crate::apis::urlencode(p_path_workflow)); + let mut req_builder = configuration.client.request(reqwest::Method::GET, &uri_str); + + if let Some(ref param_value) = p_query_bbox { + req_builder = req_builder.query(&[("bbox", ¶m_value.to_string())]); + } + if let Some(ref param_value) = p_query_count { + req_builder = req_builder.query(&[("count", ¶m_value.to_string())]); + } + if let Some(ref param_value) = p_query_filter { + req_builder = req_builder.query(&[("filter", ¶m_value.to_string())]); + } + if let Some(ref param_value) = p_query_namespaces { + req_builder = req_builder.query(&[("namespaces", ¶m_value.to_string())]); + } + if let Some(ref param_value) = p_query_property_name { + req_builder = req_builder.query(&[("propertyName", ¶m_value.to_string())]); + } + req_builder = req_builder.query(&[("request", &p_query_request.to_string())]); + if let Some(ref param_value) = p_query_result_type { + req_builder = req_builder.query(&[("resultType", ¶m_value.to_string())]); + } + if let Some(ref param_value) = p_query_service { + req_builder = req_builder.query(&[("service", ¶m_value.to_string())]); + } + if let Some(ref param_value) = p_query_sort_by { + req_builder = req_builder.query(&[("sortBy", ¶m_value.to_string())]); + } + if let Some(ref param_value) = p_query_srs_name { + req_builder = req_builder.query(&[("srsName", ¶m_value.to_string())]); + } + if let Some(ref param_value) = p_query_time { + req_builder = req_builder.query(&[("time", ¶m_value.to_string())]); + } + if let Some(ref param_value) = p_query_type_names { + req_builder = req_builder.query(&[("typeNames", ¶m_value.to_string())]); + } + if let Some(ref param_value) = p_query_version { + req_builder = req_builder.query(&[("version", ¶m_value.to_string())]); + } + if let Some(ref user_agent) = configuration.user_agent { + req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone()); + } + if let Some(ref token) = configuration.bearer_access_token { + req_builder = req_builder.bearer_auth(token.to_owned()); + }; + + let req = req_builder.build()?; + let resp = configuration.client.execute(req).await?; + + let status = resp.status(); + let content_type = resp + .headers() + .get("content-type") + .and_then(|v| v.to_str().ok()) + .unwrap_or("application/octet-stream"); + let content_type = super::ContentType::from(content_type); + + if !status.is_client_error() && !status.is_server_error() { + let content = resp.text().await?; + match content_type { + ContentType::Json => serde_json::from_str(&content).map_err(Error::from), + ContentType::Text => return Err(Error::from(serde_json::Error::custom("Received `text/plain` content type response that cannot be converted to `models::GeoJson`"))), + ContentType::Unsupported(unknown_type) => return Err(Error::from(serde_json::Error::custom(format!("Received `{unknown_type}` content type response that cannot be converted to `models::GeoJson`")))), + } + } else { + let content = resp.text().await?; + let entity: Option = serde_json::from_str(&content).ok(); + Err(Error::ResponseError(ResponseContent { status, content, entity })) + } +} + diff --git a/rust/src/apis/ogcwms_api.rs b/rust/src/apis/ogcwms_api.rs new file mode 100644 index 00000000..f99d3dfc --- /dev/null +++ b/rust/src/apis/ogcwms_api.rs @@ -0,0 +1,131 @@ +/* + * Geo Engine API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * Generated by: https://openapi-generator.tech + */ + + +use reqwest; +use serde::{Deserialize, Serialize, de::Error as _}; +use crate::{apis::ResponseContent, models}; +use super::{Error, configuration, ContentType}; + + +/// struct for typed errors of method [`wms_handler`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum WmsHandlerError { + UnknownValue(serde_json::Value), +} + + +pub async fn wms_handler(configuration: &configuration::Configuration, workflow: &str, request: models::WmsRequest, bbox: Option<&str>, bgcolor: Option<&str>, crs: Option<&str>, elevation: Option<&str>, exceptions: Option<&str>, format: Option<&str>, height: Option, info_format: Option<&str>, layer: Option<&str>, layers: Option<&str>, query_layers: Option<&str>, service: Option, sld: Option<&str>, sld_body: Option<&str>, styles: Option<&str>, time: Option<&str>, transparent: Option, version: Option<&str>, width: Option) -> Result> { + // add a prefix to parameters to efficiently prevent name collisions + let p_path_workflow = workflow; + let p_query_request = request; + let p_query_bbox = bbox; + let p_query_bgcolor = bgcolor; + let p_query_crs = crs; + let p_query_elevation = elevation; + let p_query_exceptions = exceptions; + let p_query_format = format; + let p_query_height = height; + let p_query_info_format = info_format; + let p_query_layer = layer; + let p_query_layers = layers; + let p_query_query_layers = query_layers; + let p_query_service = service; + let p_query_sld = sld; + let p_query_sld_body = sld_body; + let p_query_styles = styles; + let p_query_time = time; + let p_query_transparent = transparent; + let p_query_version = version; + let p_query_width = width; + + let uri_str = format!("{}/wms/{workflow}", configuration.base_path, workflow=crate::apis::urlencode(p_path_workflow)); + let mut req_builder = configuration.client.request(reqwest::Method::GET, &uri_str); + + if let Some(ref param_value) = p_query_bbox { + req_builder = req_builder.query(&[("bbox", ¶m_value.to_string())]); + } + if let Some(ref param_value) = p_query_bgcolor { + req_builder = req_builder.query(&[("bgcolor", ¶m_value.to_string())]); + } + if let Some(ref param_value) = p_query_crs { + req_builder = req_builder.query(&[("crs", ¶m_value.to_string())]); + } + if let Some(ref param_value) = p_query_elevation { + req_builder = req_builder.query(&[("elevation", ¶m_value.to_string())]); + } + if let Some(ref param_value) = p_query_exceptions { + req_builder = req_builder.query(&[("exceptions", ¶m_value.to_string())]); + } + if let Some(ref param_value) = p_query_format { + req_builder = req_builder.query(&[("format", ¶m_value.to_string())]); + } + if let Some(ref param_value) = p_query_height { + req_builder = req_builder.query(&[("height", ¶m_value.to_string())]); + } + if let Some(ref param_value) = p_query_info_format { + req_builder = req_builder.query(&[("info_format", ¶m_value.to_string())]); + } + if let Some(ref param_value) = p_query_layer { + req_builder = req_builder.query(&[("layer", ¶m_value.to_string())]); + } + if let Some(ref param_value) = p_query_layers { + req_builder = req_builder.query(&[("layers", ¶m_value.to_string())]); + } + if let Some(ref param_value) = p_query_query_layers { + req_builder = req_builder.query(&[("query_layers", ¶m_value.to_string())]); + } + req_builder = req_builder.query(&[("request", &p_query_request.to_string())]); + if let Some(ref param_value) = p_query_service { + req_builder = req_builder.query(&[("service", ¶m_value.to_string())]); + } + if let Some(ref param_value) = p_query_sld { + req_builder = req_builder.query(&[("sld", ¶m_value.to_string())]); + } + if let Some(ref param_value) = p_query_sld_body { + req_builder = req_builder.query(&[("sld_body", ¶m_value.to_string())]); + } + if let Some(ref param_value) = p_query_styles { + req_builder = req_builder.query(&[("styles", ¶m_value.to_string())]); + } + if let Some(ref param_value) = p_query_time { + req_builder = req_builder.query(&[("time", ¶m_value.to_string())]); + } + if let Some(ref param_value) = p_query_transparent { + req_builder = req_builder.query(&[("transparent", ¶m_value.to_string())]); + } + if let Some(ref param_value) = p_query_version { + req_builder = req_builder.query(&[("version", ¶m_value.to_string())]); + } + if let Some(ref param_value) = p_query_width { + req_builder = req_builder.query(&[("width", ¶m_value.to_string())]); + } + if let Some(ref user_agent) = configuration.user_agent { + req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone()); + } + if let Some(ref token) = configuration.bearer_access_token { + req_builder = req_builder.bearer_auth(token.to_owned()); + }; + + let req = req_builder.build()?; + let resp = configuration.client.execute(req).await?; + + let status = resp.status(); + + if !status.is_client_error() && !status.is_server_error() { + Ok(resp) + } else { + let content = resp.text().await?; + let entity: Option = serde_json::from_str(&content).ok(); + Err(Error::ResponseError(ResponseContent { status, content, entity })) + } +} + diff --git a/rust/src/apis/permissions_api.rs b/rust/src/apis/permissions_api.rs new file mode 100644 index 00000000..e932271e --- /dev/null +++ b/rust/src/apis/permissions_api.rs @@ -0,0 +1,141 @@ +/* + * Geo Engine API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * Generated by: https://openapi-generator.tech + */ + + +use reqwest; +use serde::{Deserialize, Serialize, de::Error as _}; +use crate::{apis::ResponseContent, models}; +use super::{Error, configuration, ContentType}; + + +/// struct for typed errors of method [`add_permission_handler`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum AddPermissionHandlerError { + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`get_resource_permissions_handler`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum GetResourcePermissionsHandlerError { + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`remove_permission_handler`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum RemovePermissionHandlerError { + UnknownValue(serde_json::Value), +} + + +pub async fn add_permission_handler(configuration: &configuration::Configuration, permission_request: models::PermissionRequest) -> Result<(), Error> { + // add a prefix to parameters to efficiently prevent name collisions + let p_body_permission_request = permission_request; + + let uri_str = format!("{}/permissions", configuration.base_path); + let mut req_builder = configuration.client.request(reqwest::Method::PUT, &uri_str); + + if let Some(ref user_agent) = configuration.user_agent { + req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone()); + } + if let Some(ref token) = configuration.bearer_access_token { + req_builder = req_builder.bearer_auth(token.to_owned()); + }; + req_builder = req_builder.json(&p_body_permission_request); + + let req = req_builder.build()?; + let resp = configuration.client.execute(req).await?; + + let status = resp.status(); + + if !status.is_client_error() && !status.is_server_error() { + Ok(()) + } else { + let content = resp.text().await?; + let entity: Option = serde_json::from_str(&content).ok(); + Err(Error::ResponseError(ResponseContent { status, content, entity })) + } +} + +pub async fn get_resource_permissions_handler(configuration: &configuration::Configuration, resource_type: &str, resource_id: &str, limit: i32, offset: i32) -> Result, Error> { + // add a prefix to parameters to efficiently prevent name collisions + let p_path_resource_type = resource_type; + let p_path_resource_id = resource_id; + let p_query_limit = limit; + let p_query_offset = offset; + + let uri_str = format!("{}/permissions/resources/{resource_type}/{resource_id}", configuration.base_path, resource_type=crate::apis::urlencode(p_path_resource_type), resource_id=crate::apis::urlencode(p_path_resource_id)); + let mut req_builder = configuration.client.request(reqwest::Method::GET, &uri_str); + + req_builder = req_builder.query(&[("limit", &p_query_limit.to_string())]); + req_builder = req_builder.query(&[("offset", &p_query_offset.to_string())]); + if let Some(ref user_agent) = configuration.user_agent { + req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone()); + } + if let Some(ref token) = configuration.bearer_access_token { + req_builder = req_builder.bearer_auth(token.to_owned()); + }; + + let req = req_builder.build()?; + let resp = configuration.client.execute(req).await?; + + let status = resp.status(); + let content_type = resp + .headers() + .get("content-type") + .and_then(|v| v.to_str().ok()) + .unwrap_or("application/octet-stream"); + let content_type = super::ContentType::from(content_type); + + if !status.is_client_error() && !status.is_server_error() { + let content = resp.text().await?; + match content_type { + ContentType::Json => serde_json::from_str(&content).map_err(Error::from), + ContentType::Text => return Err(Error::from(serde_json::Error::custom("Received `text/plain` content type response that cannot be converted to `Vec<models::PermissionListing>`"))), + ContentType::Unsupported(unknown_type) => return Err(Error::from(serde_json::Error::custom(format!("Received `{unknown_type}` content type response that cannot be converted to `Vec<models::PermissionListing>`")))), + } + } else { + let content = resp.text().await?; + let entity: Option = serde_json::from_str(&content).ok(); + Err(Error::ResponseError(ResponseContent { status, content, entity })) + } +} + +pub async fn remove_permission_handler(configuration: &configuration::Configuration, permission_request: models::PermissionRequest) -> Result<(), Error> { + // add a prefix to parameters to efficiently prevent name collisions + let p_body_permission_request = permission_request; + + let uri_str = format!("{}/permissions", configuration.base_path); + let mut req_builder = configuration.client.request(reqwest::Method::DELETE, &uri_str); + + if let Some(ref user_agent) = configuration.user_agent { + req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone()); + } + if let Some(ref token) = configuration.bearer_access_token { + req_builder = req_builder.bearer_auth(token.to_owned()); + }; + req_builder = req_builder.json(&p_body_permission_request); + + let req = req_builder.build()?; + let resp = configuration.client.execute(req).await?; + + let status = resp.status(); + + if !status.is_client_error() && !status.is_server_error() { + Ok(()) + } else { + let content = resp.text().await?; + let entity: Option = serde_json::from_str(&content).ok(); + Err(Error::ResponseError(ResponseContent { status, content, entity })) + } +} + diff --git a/rust/src/apis/plots_api.rs b/rust/src/apis/plots_api.rs new file mode 100644 index 00000000..8552ca3b --- /dev/null +++ b/rust/src/apis/plots_api.rs @@ -0,0 +1,75 @@ +/* + * Geo Engine API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * Generated by: https://openapi-generator.tech + */ + + +use reqwest; +use serde::{Deserialize, Serialize, de::Error as _}; +use crate::{apis::ResponseContent, models}; +use super::{Error, configuration, ContentType}; + + +/// struct for typed errors of method [`get_plot_handler`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum GetPlotHandlerError { + UnknownValue(serde_json::Value), +} + + +/// # Example 1. Upload the file `plain_data.csv` with the following content: ```csv a 1 2 ``` 2. Create a dataset from it using the \"Plain Data\" example at `/dataset`. 3. Create a statistics workflow using the \"Statistics Plot\" example at `/workflow`. 4. Generate the plot with this handler. +pub async fn get_plot_handler(configuration: &configuration::Configuration, bbox: &str, time: &str, spatial_resolution: &str, id: &str, crs: Option<&str>) -> Result> { + // add a prefix to parameters to efficiently prevent name collisions + let p_query_bbox = bbox; + let p_query_time = time; + let p_query_spatial_resolution = spatial_resolution; + let p_path_id = id; + let p_query_crs = crs; + + let uri_str = format!("{}/plot/{id}", configuration.base_path, id=crate::apis::urlencode(p_path_id)); + let mut req_builder = configuration.client.request(reqwest::Method::GET, &uri_str); + + req_builder = req_builder.query(&[("bbox", &p_query_bbox.to_string())]); + if let Some(ref param_value) = p_query_crs { + req_builder = req_builder.query(&[("crs", ¶m_value.to_string())]); + } + req_builder = req_builder.query(&[("time", &p_query_time.to_string())]); + req_builder = req_builder.query(&[("spatialResolution", &p_query_spatial_resolution.to_string())]); + if let Some(ref user_agent) = configuration.user_agent { + req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone()); + } + if let Some(ref token) = configuration.bearer_access_token { + req_builder = req_builder.bearer_auth(token.to_owned()); + }; + + let req = req_builder.build()?; + let resp = configuration.client.execute(req).await?; + + let status = resp.status(); + let content_type = resp + .headers() + .get("content-type") + .and_then(|v| v.to_str().ok()) + .unwrap_or("application/octet-stream"); + let content_type = super::ContentType::from(content_type); + + if !status.is_client_error() && !status.is_server_error() { + let content = resp.text().await?; + match content_type { + ContentType::Json => serde_json::from_str(&content).map_err(Error::from), + ContentType::Text => return Err(Error::from(serde_json::Error::custom("Received `text/plain` content type response that cannot be converted to `models::WrappedPlotOutput`"))), + ContentType::Unsupported(unknown_type) => return Err(Error::from(serde_json::Error::custom(format!("Received `{unknown_type}` content type response that cannot be converted to `models::WrappedPlotOutput`")))), + } + } else { + let content = resp.text().await?; + let entity: Option = serde_json::from_str(&content).ok(); + Err(Error::ResponseError(ResponseContent { status, content, entity })) + } +} + diff --git a/rust/src/apis/projects_api.rs b/rust/src/apis/projects_api.rs new file mode 100644 index 00000000..f1538691 --- /dev/null +++ b/rust/src/apis/projects_api.rs @@ -0,0 +1,330 @@ +/* + * Geo Engine API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * Generated by: https://openapi-generator.tech + */ + + +use reqwest; +use serde::{Deserialize, Serialize, de::Error as _}; +use crate::{apis::ResponseContent, models}; +use super::{Error, configuration, ContentType}; + + +/// struct for typed errors of method [`create_project_handler`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum CreateProjectHandlerError { + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`delete_project_handler`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum DeleteProjectHandlerError { + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`list_projects_handler`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum ListProjectsHandlerError { + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`load_project_latest_handler`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum LoadProjectLatestHandlerError { + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`load_project_version_handler`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum LoadProjectVersionHandlerError { + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`project_versions_handler`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum ProjectVersionsHandlerError { + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`update_project_handler`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum UpdateProjectHandlerError { + UnknownValue(serde_json::Value), +} + + +pub async fn create_project_handler(configuration: &configuration::Configuration, create_project: models::CreateProject) -> Result> { + // add a prefix to parameters to efficiently prevent name collisions + let p_body_create_project = create_project; + + let uri_str = format!("{}/project", configuration.base_path); + let mut req_builder = configuration.client.request(reqwest::Method::POST, &uri_str); + + if let Some(ref user_agent) = configuration.user_agent { + req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone()); + } + if let Some(ref token) = configuration.bearer_access_token { + req_builder = req_builder.bearer_auth(token.to_owned()); + }; + req_builder = req_builder.json(&p_body_create_project); + + let req = req_builder.build()?; + let resp = configuration.client.execute(req).await?; + + let status = resp.status(); + let content_type = resp + .headers() + .get("content-type") + .and_then(|v| v.to_str().ok()) + .unwrap_or("application/octet-stream"); + let content_type = super::ContentType::from(content_type); + + if !status.is_client_error() && !status.is_server_error() { + let content = resp.text().await?; + match content_type { + ContentType::Json => serde_json::from_str(&content).map_err(Error::from), + ContentType::Text => return Err(Error::from(serde_json::Error::custom("Received `text/plain` content type response that cannot be converted to `models::IdResponse`"))), + ContentType::Unsupported(unknown_type) => return Err(Error::from(serde_json::Error::custom(format!("Received `{unknown_type}` content type response that cannot be converted to `models::IdResponse`")))), + } + } else { + let content = resp.text().await?; + let entity: Option = serde_json::from_str(&content).ok(); + Err(Error::ResponseError(ResponseContent { status, content, entity })) + } +} + +pub async fn delete_project_handler(configuration: &configuration::Configuration, project: &str) -> Result<(), Error> { + // add a prefix to parameters to efficiently prevent name collisions + let p_path_project = project; + + let uri_str = format!("{}/project/{project}", configuration.base_path, project=crate::apis::urlencode(p_path_project)); + let mut req_builder = configuration.client.request(reqwest::Method::DELETE, &uri_str); + + if let Some(ref user_agent) = configuration.user_agent { + req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone()); + } + if let Some(ref token) = configuration.bearer_access_token { + req_builder = req_builder.bearer_auth(token.to_owned()); + }; + + let req = req_builder.build()?; + let resp = configuration.client.execute(req).await?; + + let status = resp.status(); + + if !status.is_client_error() && !status.is_server_error() { + Ok(()) + } else { + let content = resp.text().await?; + let entity: Option = serde_json::from_str(&content).ok(); + Err(Error::ResponseError(ResponseContent { status, content, entity })) + } +} + +pub async fn list_projects_handler(configuration: &configuration::Configuration, order: models::OrderBy, offset: i32, limit: i32) -> Result, Error> { + // add a prefix to parameters to efficiently prevent name collisions + let p_path_order = order; + let p_path_offset = offset; + let p_path_limit = limit; + + let uri_str = format!( + "{}/projects?order={}&offset={}&limit={}", + configuration.base_path, + p_path_order.to_string(), + p_path_offset, + p_path_limit + ); + let mut req_builder = configuration.client.request(reqwest::Method::GET, &uri_str); + + if let Some(ref user_agent) = configuration.user_agent { + req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone()); + } + if let Some(ref token) = configuration.bearer_access_token { + req_builder = req_builder.bearer_auth(token.to_owned()); + }; + + let req = req_builder.build()?; + let resp = configuration.client.execute(req).await?; + + let status = resp.status(); + let content_type = resp + .headers() + .get("content-type") + .and_then(|v| v.to_str().ok()) + .unwrap_or("application/octet-stream"); + let content_type = super::ContentType::from(content_type); + + if !status.is_client_error() && !status.is_server_error() { + let content = resp.text().await?; + match content_type { + ContentType::Json => serde_json::from_str(&content).map_err(Error::from), + ContentType::Text => return Err(Error::from(serde_json::Error::custom("Received `text/plain` content type response that cannot be converted to `Vec<models::ProjectListing>`"))), + ContentType::Unsupported(unknown_type) => return Err(Error::from(serde_json::Error::custom(format!("Received `{unknown_type}` content type response that cannot be converted to `Vec<models::ProjectListing>`")))), + } + } else { + let content = resp.text().await?; + let entity: Option = serde_json::from_str(&content).ok(); + Err(Error::ResponseError(ResponseContent { status, content, entity })) + } +} + +pub async fn load_project_latest_handler(configuration: &configuration::Configuration, project: &str) -> Result> { + // add a prefix to parameters to efficiently prevent name collisions + let p_path_project = project; + + let uri_str = format!("{}/project/{project}", configuration.base_path, project=crate::apis::urlencode(p_path_project)); + let mut req_builder = configuration.client.request(reqwest::Method::GET, &uri_str); + + if let Some(ref user_agent) = configuration.user_agent { + req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone()); + } + if let Some(ref token) = configuration.bearer_access_token { + req_builder = req_builder.bearer_auth(token.to_owned()); + }; + + let req = req_builder.build()?; + let resp = configuration.client.execute(req).await?; + + let status = resp.status(); + let content_type = resp + .headers() + .get("content-type") + .and_then(|v| v.to_str().ok()) + .unwrap_or("application/octet-stream"); + let content_type = super::ContentType::from(content_type); + + if !status.is_client_error() && !status.is_server_error() { + let content = resp.text().await?; + match content_type { + ContentType::Json => serde_json::from_str(&content).map_err(Error::from), + ContentType::Text => return Err(Error::from(serde_json::Error::custom("Received `text/plain` content type response that cannot be converted to `models::Project`"))), + ContentType::Unsupported(unknown_type) => return Err(Error::from(serde_json::Error::custom(format!("Received `{unknown_type}` content type response that cannot be converted to `models::Project`")))), + } + } else { + let content = resp.text().await?; + let entity: Option = serde_json::from_str(&content).ok(); + Err(Error::ResponseError(ResponseContent { status, content, entity })) + } +} + +pub async fn load_project_version_handler(configuration: &configuration::Configuration, project: &str, version: &str) -> Result> { + // add a prefix to parameters to efficiently prevent name collisions + let p_path_project = project; + let p_path_version = version; + + let uri_str = format!("{}/project/{project}/{version}", configuration.base_path, project=crate::apis::urlencode(p_path_project), version=crate::apis::urlencode(p_path_version)); + let mut req_builder = configuration.client.request(reqwest::Method::GET, &uri_str); + + if let Some(ref user_agent) = configuration.user_agent { + req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone()); + } + if let Some(ref token) = configuration.bearer_access_token { + req_builder = req_builder.bearer_auth(token.to_owned()); + }; + + let req = req_builder.build()?; + let resp = configuration.client.execute(req).await?; + + let status = resp.status(); + let content_type = resp + .headers() + .get("content-type") + .and_then(|v| v.to_str().ok()) + .unwrap_or("application/octet-stream"); + let content_type = super::ContentType::from(content_type); + + if !status.is_client_error() && !status.is_server_error() { + let content = resp.text().await?; + match content_type { + ContentType::Json => serde_json::from_str(&content).map_err(Error::from), + ContentType::Text => return Err(Error::from(serde_json::Error::custom("Received `text/plain` content type response that cannot be converted to `models::Project`"))), + ContentType::Unsupported(unknown_type) => return Err(Error::from(serde_json::Error::custom(format!("Received `{unknown_type}` content type response that cannot be converted to `models::Project`")))), + } + } else { + let content = resp.text().await?; + let entity: Option = serde_json::from_str(&content).ok(); + Err(Error::ResponseError(ResponseContent { status, content, entity })) + } +} + +pub async fn project_versions_handler(configuration: &configuration::Configuration, project: &str) -> Result, Error> { + // add a prefix to parameters to efficiently prevent name collisions + let p_path_project = project; + + let uri_str = format!("{}/project/{project}/versions", configuration.base_path, project=crate::apis::urlencode(p_path_project)); + let mut req_builder = configuration.client.request(reqwest::Method::GET, &uri_str); + + if let Some(ref user_agent) = configuration.user_agent { + req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone()); + } + if let Some(ref token) = configuration.bearer_access_token { + req_builder = req_builder.bearer_auth(token.to_owned()); + }; + + let req = req_builder.build()?; + let resp = configuration.client.execute(req).await?; + + let status = resp.status(); + let content_type = resp + .headers() + .get("content-type") + .and_then(|v| v.to_str().ok()) + .unwrap_or("application/octet-stream"); + let content_type = super::ContentType::from(content_type); + + if !status.is_client_error() && !status.is_server_error() { + let content = resp.text().await?; + match content_type { + ContentType::Json => serde_json::from_str(&content).map_err(Error::from), + ContentType::Text => return Err(Error::from(serde_json::Error::custom("Received `text/plain` content type response that cannot be converted to `Vec<models::ProjectVersion>`"))), + ContentType::Unsupported(unknown_type) => return Err(Error::from(serde_json::Error::custom(format!("Received `{unknown_type}` content type response that cannot be converted to `Vec<models::ProjectVersion>`")))), + } + } else { + let content = resp.text().await?; + let entity: Option = serde_json::from_str(&content).ok(); + Err(Error::ResponseError(ResponseContent { status, content, entity })) + } +} + +pub async fn update_project_handler(configuration: &configuration::Configuration, project: &str, update_project: models::UpdateProject) -> Result<(), Error> { + // add a prefix to parameters to efficiently prevent name collisions + let p_path_project = project; + let p_body_update_project = update_project; + + let uri_str = format!("{}/project/{project}", configuration.base_path, project=crate::apis::urlencode(p_path_project)); + let mut req_builder = configuration.client.request(reqwest::Method::PATCH, &uri_str); + + if let Some(ref user_agent) = configuration.user_agent { + req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone()); + } + if let Some(ref token) = configuration.bearer_access_token { + req_builder = req_builder.bearer_auth(token.to_owned()); + }; + req_builder = req_builder.json(&p_body_update_project); + + let req = req_builder.build()?; + let resp = configuration.client.execute(req).await?; + + let status = resp.status(); + + if !status.is_client_error() && !status.is_server_error() { + Ok(()) + } else { + let content = resp.text().await?; + let entity: Option = serde_json::from_str(&content).ok(); + Err(Error::ResponseError(ResponseContent { status, content, entity })) + } +} + diff --git a/rust/src/apis/session_api.rs b/rust/src/apis/session_api.rs new file mode 100644 index 00000000..bb25b9c5 --- /dev/null +++ b/rust/src/apis/session_api.rs @@ -0,0 +1,387 @@ +/* + * Geo Engine API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * Generated by: https://openapi-generator.tech + */ + + +use reqwest; +use serde::{Deserialize, Serialize, de::Error as _}; +use crate::{apis::ResponseContent, models}; +use super::{Error, configuration, ContentType}; + + +/// struct for typed errors of method [`anonymous_handler`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum AnonymousHandlerError { + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`login_handler`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum LoginHandlerError { + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`logout_handler`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum LogoutHandlerError { + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`oidc_init`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum OidcInitError { + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`oidc_login`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum OidcLoginError { + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`register_user_handler`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum RegisterUserHandlerError { + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`session_handler`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum SessionHandlerError { + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`session_project_handler`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum SessionProjectHandlerError { + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`session_view_handler`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum SessionViewHandlerError { + UnknownValue(serde_json::Value), +} + + +pub async fn anonymous_handler(configuration: &configuration::Configuration, ) -> Result> { + + let uri_str = format!("{}/anonymous", configuration.base_path); + let mut req_builder = configuration.client.request(reqwest::Method::POST, &uri_str); + + if let Some(ref user_agent) = configuration.user_agent { + req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone()); + } + + let req = req_builder.build()?; + let resp = configuration.client.execute(req).await?; + + let status = resp.status(); + let content_type = resp + .headers() + .get("content-type") + .and_then(|v| v.to_str().ok()) + .unwrap_or("application/octet-stream"); + let content_type = super::ContentType::from(content_type); + + if !status.is_client_error() && !status.is_server_error() { + let content = resp.text().await?; + match content_type { + ContentType::Json => serde_json::from_str(&content).map_err(Error::from), + ContentType::Text => return Err(Error::from(serde_json::Error::custom("Received `text/plain` content type response that cannot be converted to `models::UserSession`"))), + ContentType::Unsupported(unknown_type) => return Err(Error::from(serde_json::Error::custom(format!("Received `{unknown_type}` content type response that cannot be converted to `models::UserSession`")))), + } + } else { + let content = resp.text().await?; + let entity: Option = serde_json::from_str(&content).ok(); + Err(Error::ResponseError(ResponseContent { status, content, entity })) + } +} + +pub async fn login_handler(configuration: &configuration::Configuration, user_credentials: models::UserCredentials) -> Result> { + // add a prefix to parameters to efficiently prevent name collisions + let p_body_user_credentials = user_credentials; + + let uri_str = format!("{}/login", configuration.base_path); + let mut req_builder = configuration.client.request(reqwest::Method::POST, &uri_str); + + if let Some(ref user_agent) = configuration.user_agent { + req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone()); + } + req_builder = req_builder.json(&p_body_user_credentials); + + let req = req_builder.build()?; + let resp = configuration.client.execute(req).await?; + + let status = resp.status(); + let content_type = resp + .headers() + .get("content-type") + .and_then(|v| v.to_str().ok()) + .unwrap_or("application/octet-stream"); + let content_type = super::ContentType::from(content_type); + + if !status.is_client_error() && !status.is_server_error() { + let content = resp.text().await?; + match content_type { + ContentType::Json => serde_json::from_str(&content).map_err(Error::from), + ContentType::Text => return Err(Error::from(serde_json::Error::custom("Received `text/plain` content type response that cannot be converted to `models::UserSession`"))), + ContentType::Unsupported(unknown_type) => return Err(Error::from(serde_json::Error::custom(format!("Received `{unknown_type}` content type response that cannot be converted to `models::UserSession`")))), + } + } else { + let content = resp.text().await?; + let entity: Option = serde_json::from_str(&content).ok(); + Err(Error::ResponseError(ResponseContent { status, content, entity })) + } +} + +pub async fn logout_handler(configuration: &configuration::Configuration, ) -> Result<(), Error> { + + let uri_str = format!("{}/logout", configuration.base_path); + let mut req_builder = configuration.client.request(reqwest::Method::POST, &uri_str); + + if let Some(ref user_agent) = configuration.user_agent { + req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone()); + } + if let Some(ref token) = configuration.bearer_access_token { + req_builder = req_builder.bearer_auth(token.to_owned()); + }; + + let req = req_builder.build()?; + let resp = configuration.client.execute(req).await?; + + let status = resp.status(); + + if !status.is_client_error() && !status.is_server_error() { + Ok(()) + } else { + let content = resp.text().await?; + let entity: Option = serde_json::from_str(&content).ok(); + Err(Error::ResponseError(ResponseContent { status, content, entity })) + } +} + +/// # Errors This call fails if Open ID Connect is disabled, misconfigured or the Id Provider is unreachable. +pub async fn oidc_init(configuration: &configuration::Configuration, redirect_uri: &str) -> Result> { + // add a prefix to parameters to efficiently prevent name collisions + let p_query_redirect_uri = redirect_uri; + + let uri_str = format!("{}/oidcInit", configuration.base_path); + let mut req_builder = configuration.client.request(reqwest::Method::POST, &uri_str); + + req_builder = req_builder.query(&[("redirectUri", &p_query_redirect_uri.to_string())]); + if let Some(ref user_agent) = configuration.user_agent { + req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone()); + } + + let req = req_builder.build()?; + let resp = configuration.client.execute(req).await?; + + let status = resp.status(); + let content_type = resp + .headers() + .get("content-type") + .and_then(|v| v.to_str().ok()) + .unwrap_or("application/octet-stream"); + let content_type = super::ContentType::from(content_type); + + if !status.is_client_error() && !status.is_server_error() { + let content = resp.text().await?; + match content_type { + ContentType::Json => serde_json::from_str(&content).map_err(Error::from), + ContentType::Text => return Err(Error::from(serde_json::Error::custom("Received `text/plain` content type response that cannot be converted to `models::AuthCodeRequestUrl`"))), + ContentType::Unsupported(unknown_type) => return Err(Error::from(serde_json::Error::custom(format!("Received `{unknown_type}` content type response that cannot be converted to `models::AuthCodeRequestUrl`")))), + } + } else { + let content = resp.text().await?; + let entity: Option = serde_json::from_str(&content).ok(); + Err(Error::ResponseError(ResponseContent { status, content, entity })) + } +} + +/// # Errors This call fails if the [`AuthCodeResponse`] is invalid, if a previous oidcLogin call with the same state was already successfully or unsuccessfully resolved, if the Open Id Connect configuration is invalid, or if the Id Provider is unreachable. +pub async fn oidc_login(configuration: &configuration::Configuration, redirect_uri: &str, auth_code_response: models::AuthCodeResponse) -> Result> { + // add a prefix to parameters to efficiently prevent name collisions + let p_query_redirect_uri = redirect_uri; + let p_body_auth_code_response = auth_code_response; + + let uri_str = format!("{}/oidcLogin", configuration.base_path); + let mut req_builder = configuration.client.request(reqwest::Method::POST, &uri_str); + + req_builder = req_builder.query(&[("redirectUri", &p_query_redirect_uri.to_string())]); + if let Some(ref user_agent) = configuration.user_agent { + req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone()); + } + req_builder = req_builder.json(&p_body_auth_code_response); + + let req = req_builder.build()?; + let resp = configuration.client.execute(req).await?; + + let status = resp.status(); + let content_type = resp + .headers() + .get("content-type") + .and_then(|v| v.to_str().ok()) + .unwrap_or("application/octet-stream"); + let content_type = super::ContentType::from(content_type); + + if !status.is_client_error() && !status.is_server_error() { + let content = resp.text().await?; + match content_type { + ContentType::Json => serde_json::from_str(&content).map_err(Error::from), + ContentType::Text => return Err(Error::from(serde_json::Error::custom("Received `text/plain` content type response that cannot be converted to `models::UserSession`"))), + ContentType::Unsupported(unknown_type) => return Err(Error::from(serde_json::Error::custom(format!("Received `{unknown_type}` content type response that cannot be converted to `models::UserSession`")))), + } + } else { + let content = resp.text().await?; + let entity: Option = serde_json::from_str(&content).ok(); + Err(Error::ResponseError(ResponseContent { status, content, entity })) + } +} + +pub async fn register_user_handler(configuration: &configuration::Configuration, user_registration: models::UserRegistration) -> Result> { + // add a prefix to parameters to efficiently prevent name collisions + let p_body_user_registration = user_registration; + + let uri_str = format!("{}/user", configuration.base_path); + let mut req_builder = configuration.client.request(reqwest::Method::POST, &uri_str); + + if let Some(ref user_agent) = configuration.user_agent { + req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone()); + } + req_builder = req_builder.json(&p_body_user_registration); + + let req = req_builder.build()?; + let resp = configuration.client.execute(req).await?; + + let status = resp.status(); + let content_type = resp + .headers() + .get("content-type") + .and_then(|v| v.to_str().ok()) + .unwrap_or("application/octet-stream"); + let content_type = super::ContentType::from(content_type); + + if !status.is_client_error() && !status.is_server_error() { + let content = resp.text().await?; + match content_type { + ContentType::Json => serde_json::from_str(&content).map_err(Error::from), + ContentType::Text => return Err(Error::from(serde_json::Error::custom("Received `text/plain` content type response that cannot be converted to `uuid::Uuid`"))), + ContentType::Unsupported(unknown_type) => return Err(Error::from(serde_json::Error::custom(format!("Received `{unknown_type}` content type response that cannot be converted to `uuid::Uuid`")))), + } + } else { + let content = resp.text().await?; + let entity: Option = serde_json::from_str(&content).ok(); + Err(Error::ResponseError(ResponseContent { status, content, entity })) + } +} + +pub async fn session_handler(configuration: &configuration::Configuration, ) -> Result> { + + let uri_str = format!("{}/session", configuration.base_path); + let mut req_builder = configuration.client.request(reqwest::Method::GET, &uri_str); + + if let Some(ref user_agent) = configuration.user_agent { + req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone()); + } + if let Some(ref token) = configuration.bearer_access_token { + req_builder = req_builder.bearer_auth(token.to_owned()); + }; + + let req = req_builder.build()?; + let resp = configuration.client.execute(req).await?; + + let status = resp.status(); + let content_type = resp + .headers() + .get("content-type") + .and_then(|v| v.to_str().ok()) + .unwrap_or("application/octet-stream"); + let content_type = super::ContentType::from(content_type); + + if !status.is_client_error() && !status.is_server_error() { + let content = resp.text().await?; + match content_type { + ContentType::Json => serde_json::from_str(&content).map_err(Error::from), + ContentType::Text => return Err(Error::from(serde_json::Error::custom("Received `text/plain` content type response that cannot be converted to `models::UserSession`"))), + ContentType::Unsupported(unknown_type) => return Err(Error::from(serde_json::Error::custom(format!("Received `{unknown_type}` content type response that cannot be converted to `models::UserSession`")))), + } + } else { + let content = resp.text().await?; + let entity: Option = serde_json::from_str(&content).ok(); + Err(Error::ResponseError(ResponseContent { status, content, entity })) + } +} + +pub async fn session_project_handler(configuration: &configuration::Configuration, project: &str) -> Result<(), Error> { + // add a prefix to parameters to efficiently prevent name collisions + let p_path_project = project; + + let uri_str = format!("{}/session/project/{project}", configuration.base_path, project=crate::apis::urlencode(p_path_project)); + let mut req_builder = configuration.client.request(reqwest::Method::POST, &uri_str); + + if let Some(ref user_agent) = configuration.user_agent { + req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone()); + } + if let Some(ref token) = configuration.bearer_access_token { + req_builder = req_builder.bearer_auth(token.to_owned()); + }; + + let req = req_builder.build()?; + let resp = configuration.client.execute(req).await?; + + let status = resp.status(); + + if !status.is_client_error() && !status.is_server_error() { + Ok(()) + } else { + let content = resp.text().await?; + let entity: Option = serde_json::from_str(&content).ok(); + Err(Error::ResponseError(ResponseContent { status, content, entity })) + } +} + +pub async fn session_view_handler(configuration: &configuration::Configuration, st_rectangle: models::StRectangle) -> Result<(), Error> { + // add a prefix to parameters to efficiently prevent name collisions + let p_body_st_rectangle = st_rectangle; + + let uri_str = format!("{}/session/view", configuration.base_path); + let mut req_builder = configuration.client.request(reqwest::Method::POST, &uri_str); + + if let Some(ref user_agent) = configuration.user_agent { + req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone()); + } + if let Some(ref token) = configuration.bearer_access_token { + req_builder = req_builder.bearer_auth(token.to_owned()); + }; + req_builder = req_builder.json(&p_body_st_rectangle); + + let req = req_builder.build()?; + let resp = configuration.client.execute(req).await?; + + let status = resp.status(); + + if !status.is_client_error() && !status.is_server_error() { + Ok(()) + } else { + let content = resp.text().await?; + let entity: Option = serde_json::from_str(&content).ok(); + Err(Error::ResponseError(ResponseContent { status, content, entity })) + } +} + diff --git a/rust/src/apis/spatial_references_api.rs b/rust/src/apis/spatial_references_api.rs new file mode 100644 index 00000000..98ab7285 --- /dev/null +++ b/rust/src/apis/spatial_references_api.rs @@ -0,0 +1,64 @@ +/* + * Geo Engine API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * Generated by: https://openapi-generator.tech + */ + + +use reqwest; +use serde::{Deserialize, Serialize, de::Error as _}; +use crate::{apis::ResponseContent, models}; +use super::{Error, configuration, ContentType}; + + +/// struct for typed errors of method [`get_spatial_reference_specification_handler`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum GetSpatialReferenceSpecificationHandlerError { + UnknownValue(serde_json::Value), +} + + +pub async fn get_spatial_reference_specification_handler(configuration: &configuration::Configuration, srs_string: &str) -> Result> { + // add a prefix to parameters to efficiently prevent name collisions + let p_path_srs_string = srs_string; + + let uri_str = format!("{}/spatialReferenceSpecification/{srsString}", configuration.base_path, srsString=crate::apis::urlencode(p_path_srs_string)); + let mut req_builder = configuration.client.request(reqwest::Method::GET, &uri_str); + + if let Some(ref user_agent) = configuration.user_agent { + req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone()); + } + if let Some(ref token) = configuration.bearer_access_token { + req_builder = req_builder.bearer_auth(token.to_owned()); + }; + + let req = req_builder.build()?; + let resp = configuration.client.execute(req).await?; + + let status = resp.status(); + let content_type = resp + .headers() + .get("content-type") + .and_then(|v| v.to_str().ok()) + .unwrap_or("application/octet-stream"); + let content_type = super::ContentType::from(content_type); + + if !status.is_client_error() && !status.is_server_error() { + let content = resp.text().await?; + match content_type { + ContentType::Json => serde_json::from_str(&content).map_err(Error::from), + ContentType::Text => return Err(Error::from(serde_json::Error::custom("Received `text/plain` content type response that cannot be converted to `models::SpatialReferenceSpecification`"))), + ContentType::Unsupported(unknown_type) => return Err(Error::from(serde_json::Error::custom(format!("Received `{unknown_type}` content type response that cannot be converted to `models::SpatialReferenceSpecification`")))), + } + } else { + let content = resp.text().await?; + let entity: Option = serde_json::from_str(&content).ok(); + Err(Error::ResponseError(ResponseContent { status, content, entity })) + } +} + diff --git a/rust/src/apis/tasks_api.rs b/rust/src/apis/tasks_api.rs new file mode 100644 index 00000000..54bd59a2 --- /dev/null +++ b/rust/src/apis/tasks_api.rs @@ -0,0 +1,158 @@ +/* + * Geo Engine API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * Generated by: https://openapi-generator.tech + */ + + +use reqwest; +use serde::{Deserialize, Serialize, de::Error as _}; +use crate::{apis::ResponseContent, models}; +use super::{Error, configuration, ContentType}; + + +/// struct for typed errors of method [`abort_handler`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum AbortHandlerError { + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`list_handler`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum ListHandlerError { + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`status_handler`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum StatusHandlerError { + UnknownValue(serde_json::Value), +} + + +/// # Parameters * `force` - If true, the task will be aborted without clean-up. You can abort a task that is already in the process of aborting. +pub async fn abort_handler(configuration: &configuration::Configuration, id: &str, force: Option) -> Result<(), Error> { + // add a prefix to parameters to efficiently prevent name collisions + let p_path_id = id; + let p_query_force = force; + + let uri_str = format!("{}/tasks/{id}", configuration.base_path, id=crate::apis::urlencode(p_path_id)); + let mut req_builder = configuration.client.request(reqwest::Method::DELETE, &uri_str); + + if let Some(ref param_value) = p_query_force { + req_builder = req_builder.query(&[("force", ¶m_value.to_string())]); + } + if let Some(ref user_agent) = configuration.user_agent { + req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone()); + } + if let Some(ref token) = configuration.bearer_access_token { + req_builder = req_builder.bearer_auth(token.to_owned()); + }; + + let req = req_builder.build()?; + let resp = configuration.client.execute(req).await?; + + let status = resp.status(); + + if !status.is_client_error() && !status.is_server_error() { + Ok(()) + } else { + let content = resp.text().await?; + let entity: Option = serde_json::from_str(&content).ok(); + Err(Error::ResponseError(ResponseContent { status, content, entity })) + } +} + +pub async fn list_handler(configuration: &configuration::Configuration, filter: Option<&str>, offset: i32, limit: i32) -> Result, Error> { + // add a prefix to parameters to efficiently prevent name collisions + let p_path_filter = filter; + let p_path_offset = offset; + let p_path_limit = limit; + + let uri_str = format!( + "{}/tasks/list?filter={}&offset={}&limit={}", + configuration.base_path, + p_path_filter.unwrap().to_string(), + p_path_offset, + p_path_limit + ); + let mut req_builder = configuration.client.request(reqwest::Method::GET, &uri_str); + + if let Some(ref user_agent) = configuration.user_agent { + req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone()); + } + if let Some(ref token) = configuration.bearer_access_token { + req_builder = req_builder.bearer_auth(token.to_owned()); + }; + + let req = req_builder.build()?; + let resp = configuration.client.execute(req).await?; + + let status = resp.status(); + let content_type = resp + .headers() + .get("content-type") + .and_then(|v| v.to_str().ok()) + .unwrap_or("application/octet-stream"); + let content_type = super::ContentType::from(content_type); + + if !status.is_client_error() && !status.is_server_error() { + let content = resp.text().await?; + match content_type { + ContentType::Json => serde_json::from_str(&content).map_err(Error::from), + ContentType::Text => return Err(Error::from(serde_json::Error::custom("Received `text/plain` content type response that cannot be converted to `Vec<models::TaskStatusWithId>`"))), + ContentType::Unsupported(unknown_type) => return Err(Error::from(serde_json::Error::custom(format!("Received `{unknown_type}` content type response that cannot be converted to `Vec<models::TaskStatusWithId>`")))), + } + } else { + let content = resp.text().await?; + let entity: Option = serde_json::from_str(&content).ok(); + Err(Error::ResponseError(ResponseContent { status, content, entity })) + } +} + +pub async fn status_handler(configuration: &configuration::Configuration, id: &str) -> Result> { + // add a prefix to parameters to efficiently prevent name collisions + let p_path_id = id; + + let uri_str = format!("{}/tasks/{id}/status", configuration.base_path, id=crate::apis::urlencode(p_path_id)); + let mut req_builder = configuration.client.request(reqwest::Method::GET, &uri_str); + + if let Some(ref user_agent) = configuration.user_agent { + req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone()); + } + if let Some(ref token) = configuration.bearer_access_token { + req_builder = req_builder.bearer_auth(token.to_owned()); + }; + + let req = req_builder.build()?; + let resp = configuration.client.execute(req).await?; + + let status = resp.status(); + let content_type = resp + .headers() + .get("content-type") + .and_then(|v| v.to_str().ok()) + .unwrap_or("application/octet-stream"); + let content_type = super::ContentType::from(content_type); + + if !status.is_client_error() && !status.is_server_error() { + let content = resp.text().await?; + match content_type { + ContentType::Json => serde_json::from_str(&content).map_err(Error::from), + ContentType::Text => return Err(Error::from(serde_json::Error::custom("Received `text/plain` content type response that cannot be converted to `models::TaskStatus`"))), + ContentType::Unsupported(unknown_type) => return Err(Error::from(serde_json::Error::custom(format!("Received `{unknown_type}` content type response that cannot be converted to `models::TaskStatus`")))), + } + } else { + let content = resp.text().await?; + let entity: Option = serde_json::from_str(&content).ok(); + Err(Error::ResponseError(ResponseContent { status, content, entity })) + } +} + diff --git a/rust/src/apis/uploads_api.rs b/rust/src/apis/uploads_api.rs new file mode 100644 index 00000000..feef0eb6 --- /dev/null +++ b/rust/src/apis/uploads_api.rs @@ -0,0 +1,168 @@ +/* + * Geo Engine API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * Generated by: https://openapi-generator.tech + */ + + +use reqwest; +use serde::{Deserialize, Serialize, de::Error as _}; +use crate::{apis::ResponseContent, models}; +use super::{Error, configuration, ContentType}; +use tokio::fs::File as TokioFile; +use tokio_util::codec::{BytesCodec, FramedRead}; + + +/// struct for typed errors of method [`list_upload_file_layers_handler`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum ListUploadFileLayersHandlerError { + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`list_upload_files_handler`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum ListUploadFilesHandlerError { + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`upload_handler`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum UploadHandlerError { + UnknownValue(serde_json::Value), +} + + +pub async fn list_upload_file_layers_handler(configuration: &configuration::Configuration, upload_id: &str, file_name: &str) -> Result> { + // add a prefix to parameters to efficiently prevent name collisions + let p_path_upload_id = upload_id; + let p_path_file_name = file_name; + + let uri_str = format!("{}/uploads/{upload_id}/files/{file_name}/layers", configuration.base_path, upload_id=crate::apis::urlencode(p_path_upload_id), file_name=crate::apis::urlencode(p_path_file_name)); + let mut req_builder = configuration.client.request(reqwest::Method::GET, &uri_str); + + if let Some(ref user_agent) = configuration.user_agent { + req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone()); + } + if let Some(ref token) = configuration.bearer_access_token { + req_builder = req_builder.bearer_auth(token.to_owned()); + }; + + let req = req_builder.build()?; + let resp = configuration.client.execute(req).await?; + + let status = resp.status(); + let content_type = resp + .headers() + .get("content-type") + .and_then(|v| v.to_str().ok()) + .unwrap_or("application/octet-stream"); + let content_type = super::ContentType::from(content_type); + + if !status.is_client_error() && !status.is_server_error() { + let content = resp.text().await?; + match content_type { + ContentType::Json => serde_json::from_str(&content).map_err(Error::from), + ContentType::Text => return Err(Error::from(serde_json::Error::custom("Received `text/plain` content type response that cannot be converted to `models::UploadFileLayersResponse`"))), + ContentType::Unsupported(unknown_type) => return Err(Error::from(serde_json::Error::custom(format!("Received `{unknown_type}` content type response that cannot be converted to `models::UploadFileLayersResponse`")))), + } + } else { + let content = resp.text().await?; + let entity: Option = serde_json::from_str(&content).ok(); + Err(Error::ResponseError(ResponseContent { status, content, entity })) + } +} + +pub async fn list_upload_files_handler(configuration: &configuration::Configuration, upload_id: &str) -> Result> { + // add a prefix to parameters to efficiently prevent name collisions + let p_path_upload_id = upload_id; + + let uri_str = format!("{}/uploads/{upload_id}/files", configuration.base_path, upload_id=crate::apis::urlencode(p_path_upload_id)); + let mut req_builder = configuration.client.request(reqwest::Method::GET, &uri_str); + + if let Some(ref user_agent) = configuration.user_agent { + req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone()); + } + if let Some(ref token) = configuration.bearer_access_token { + req_builder = req_builder.bearer_auth(token.to_owned()); + }; + + let req = req_builder.build()?; + let resp = configuration.client.execute(req).await?; + + let status = resp.status(); + let content_type = resp + .headers() + .get("content-type") + .and_then(|v| v.to_str().ok()) + .unwrap_or("application/octet-stream"); + let content_type = super::ContentType::from(content_type); + + if !status.is_client_error() && !status.is_server_error() { + let content = resp.text().await?; + match content_type { + ContentType::Json => serde_json::from_str(&content).map_err(Error::from), + ContentType::Text => return Err(Error::from(serde_json::Error::custom("Received `text/plain` content type response that cannot be converted to `models::UploadFilesResponse`"))), + ContentType::Unsupported(unknown_type) => return Err(Error::from(serde_json::Error::custom(format!("Received `{unknown_type}` content type response that cannot be converted to `models::UploadFilesResponse`")))), + } + } else { + let content = resp.text().await?; + let entity: Option = serde_json::from_str(&content).ok(); + Err(Error::ResponseError(ResponseContent { status, content, entity })) + } +} + +pub async fn upload_handler(configuration: &configuration::Configuration, files_left_square_bracket_right_square_bracket: Vec) -> Result> { + // add a prefix to parameters to efficiently prevent name collisions + let p_form_files_left_square_bracket_right_square_bracket = files_left_square_bracket_right_square_bracket; + + let uri_str = format!("{}/upload", configuration.base_path); + let mut req_builder = configuration.client.request(reqwest::Method::POST, &uri_str); + + if let Some(ref user_agent) = configuration.user_agent { + req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone()); + } + if let Some(ref token) = configuration.bearer_access_token { + req_builder = req_builder.bearer_auth(token.to_owned()); + }; + let mut multipart_form = reqwest::multipart::Form::new(); + for value in &p_form_files_left_square_bracket_right_square_bracket { + let file = TokioFile::open(value).await?; + let stream = FramedRead::new(file, BytesCodec::new()); + let file_name = value.file_name().map(|n| n.to_string_lossy().to_string()).unwrap_or_default(); + let file_part = reqwest::multipart::Part::stream(reqwest::Body::wrap_stream(stream)).file_name(file_name); + multipart_form = multipart_form.part("files[]", file_part); + } + req_builder = req_builder.multipart(multipart_form); + + let req = req_builder.build()?; + let resp = configuration.client.execute(req).await?; + + let status = resp.status(); + let content_type = resp + .headers() + .get("content-type") + .and_then(|v| v.to_str().ok()) + .unwrap_or("application/octet-stream"); + let content_type = super::ContentType::from(content_type); + + if !status.is_client_error() && !status.is_server_error() { + let content = resp.text().await?; + match content_type { + ContentType::Json => serde_json::from_str(&content).map_err(Error::from), + ContentType::Text => return Err(Error::from(serde_json::Error::custom("Received `text/plain` content type response that cannot be converted to `models::IdResponse`"))), + ContentType::Unsupported(unknown_type) => return Err(Error::from(serde_json::Error::custom(format!("Received `{unknown_type}` content type response that cannot be converted to `models::IdResponse`")))), + } + } else { + let content = resp.text().await?; + let entity: Option = serde_json::from_str(&content).ok(); + Err(Error::ResponseError(ResponseContent { status, content, entity })) + } +} + diff --git a/rust/src/apis/user_api.rs b/rust/src/apis/user_api.rs new file mode 100644 index 00000000..e7a379ef --- /dev/null +++ b/rust/src/apis/user_api.rs @@ -0,0 +1,588 @@ +/* + * Geo Engine API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * Generated by: https://openapi-generator.tech + */ + + +use reqwest; +use serde::{Deserialize, Serialize, de::Error as _}; +use crate::{apis::ResponseContent, models}; +use super::{Error, configuration, ContentType}; + + +/// struct for typed errors of method [`add_role_handler`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum AddRoleHandlerError { + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`assign_role_handler`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum AssignRoleHandlerError { + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`computation_quota_handler`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum ComputationQuotaHandlerError { + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`computations_quota_handler`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum ComputationsQuotaHandlerError { + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`data_usage_handler`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum DataUsageHandlerError { + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`data_usage_summary_handler`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum DataUsageSummaryHandlerError { + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`get_role_by_name_handler`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum GetRoleByNameHandlerError { + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`get_role_descriptions`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum GetRoleDescriptionsError { + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`get_user_quota_handler`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum GetUserQuotaHandlerError { + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`quota_handler`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum QuotaHandlerError { + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`remove_role_handler`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum RemoveRoleHandlerError { + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`revoke_role_handler`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum RevokeRoleHandlerError { + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`update_user_quota_handler`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum UpdateUserQuotaHandlerError { + UnknownValue(serde_json::Value), +} + + +pub async fn add_role_handler(configuration: &configuration::Configuration, add_role: models::AddRole) -> Result> { + // add a prefix to parameters to efficiently prevent name collisions + let p_body_add_role = add_role; + + let uri_str = format!("{}/roles", configuration.base_path); + let mut req_builder = configuration.client.request(reqwest::Method::PUT, &uri_str); + + if let Some(ref user_agent) = configuration.user_agent { + req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone()); + } + if let Some(ref token) = configuration.bearer_access_token { + req_builder = req_builder.bearer_auth(token.to_owned()); + }; + req_builder = req_builder.json(&p_body_add_role); + + let req = req_builder.build()?; + let resp = configuration.client.execute(req).await?; + + let status = resp.status(); + let content_type = resp + .headers() + .get("content-type") + .and_then(|v| v.to_str().ok()) + .unwrap_or("application/octet-stream"); + let content_type = super::ContentType::from(content_type); + + if !status.is_client_error() && !status.is_server_error() { + let content = resp.text().await?; + match content_type { + ContentType::Json => serde_json::from_str(&content).map_err(Error::from), + ContentType::Text => return Err(Error::from(serde_json::Error::custom("Received `text/plain` content type response that cannot be converted to `models::IdResponse`"))), + ContentType::Unsupported(unknown_type) => return Err(Error::from(serde_json::Error::custom(format!("Received `{unknown_type}` content type response that cannot be converted to `models::IdResponse`")))), + } + } else { + let content = resp.text().await?; + let entity: Option = serde_json::from_str(&content).ok(); + Err(Error::ResponseError(ResponseContent { status, content, entity })) + } +} + +pub async fn assign_role_handler(configuration: &configuration::Configuration, user: &str, role: &str) -> Result<(), Error> { + // add a prefix to parameters to efficiently prevent name collisions + let p_path_user = user; + let p_path_role = role; + + let uri_str = format!("{}/users/{user}/roles/{role}", configuration.base_path, user=crate::apis::urlencode(p_path_user), role=crate::apis::urlencode(p_path_role)); + let mut req_builder = configuration.client.request(reqwest::Method::POST, &uri_str); + + if let Some(ref user_agent) = configuration.user_agent { + req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone()); + } + if let Some(ref token) = configuration.bearer_access_token { + req_builder = req_builder.bearer_auth(token.to_owned()); + }; + + let req = req_builder.build()?; + let resp = configuration.client.execute(req).await?; + + let status = resp.status(); + + if !status.is_client_error() && !status.is_server_error() { + Ok(()) + } else { + let content = resp.text().await?; + let entity: Option = serde_json::from_str(&content).ok(); + Err(Error::ResponseError(ResponseContent { status, content, entity })) + } +} + +pub async fn computation_quota_handler(configuration: &configuration::Configuration, computation: &str) -> Result, Error> { + // add a prefix to parameters to efficiently prevent name collisions + let p_path_computation = computation; + + let uri_str = format!("{}/quota/computations/{computation}", configuration.base_path, computation=crate::apis::urlencode(p_path_computation)); + let mut req_builder = configuration.client.request(reqwest::Method::GET, &uri_str); + + if let Some(ref user_agent) = configuration.user_agent { + req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone()); + } + if let Some(ref token) = configuration.bearer_access_token { + req_builder = req_builder.bearer_auth(token.to_owned()); + }; + + let req = req_builder.build()?; + let resp = configuration.client.execute(req).await?; + + let status = resp.status(); + let content_type = resp + .headers() + .get("content-type") + .and_then(|v| v.to_str().ok()) + .unwrap_or("application/octet-stream"); + let content_type = super::ContentType::from(content_type); + + if !status.is_client_error() && !status.is_server_error() { + let content = resp.text().await?; + match content_type { + ContentType::Json => serde_json::from_str(&content).map_err(Error::from), + ContentType::Text => return Err(Error::from(serde_json::Error::custom("Received `text/plain` content type response that cannot be converted to `Vec<models::OperatorQuota>`"))), + ContentType::Unsupported(unknown_type) => return Err(Error::from(serde_json::Error::custom(format!("Received `{unknown_type}` content type response that cannot be converted to `Vec<models::OperatorQuota>`")))), + } + } else { + let content = resp.text().await?; + let entity: Option = serde_json::from_str(&content).ok(); + Err(Error::ResponseError(ResponseContent { status, content, entity })) + } +} + +pub async fn computations_quota_handler(configuration: &configuration::Configuration, offset: i32, limit: i32) -> Result, Error> { + // add a prefix to parameters to efficiently prevent name collisions + let p_query_offset = offset; + let p_query_limit = limit; + + let uri_str = format!("{}/quota/computations", configuration.base_path); + let mut req_builder = configuration.client.request(reqwest::Method::GET, &uri_str); + + req_builder = req_builder.query(&[("offset", &p_query_offset.to_string())]); + req_builder = req_builder.query(&[("limit", &p_query_limit.to_string())]); + if let Some(ref user_agent) = configuration.user_agent { + req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone()); + } + if let Some(ref token) = configuration.bearer_access_token { + req_builder = req_builder.bearer_auth(token.to_owned()); + }; + + let req = req_builder.build()?; + let resp = configuration.client.execute(req).await?; + + let status = resp.status(); + let content_type = resp + .headers() + .get("content-type") + .and_then(|v| v.to_str().ok()) + .unwrap_or("application/octet-stream"); + let content_type = super::ContentType::from(content_type); + + if !status.is_client_error() && !status.is_server_error() { + let content = resp.text().await?; + match content_type { + ContentType::Json => serde_json::from_str(&content).map_err(Error::from), + ContentType::Text => return Err(Error::from(serde_json::Error::custom("Received `text/plain` content type response that cannot be converted to `Vec<models::ComputationQuota>`"))), + ContentType::Unsupported(unknown_type) => return Err(Error::from(serde_json::Error::custom(format!("Received `{unknown_type}` content type response that cannot be converted to `Vec<models::ComputationQuota>`")))), + } + } else { + let content = resp.text().await?; + let entity: Option = serde_json::from_str(&content).ok(); + Err(Error::ResponseError(ResponseContent { status, content, entity })) + } +} + +pub async fn data_usage_handler(configuration: &configuration::Configuration, offset: i64, limit: i64) -> Result, Error> { + // add a prefix to parameters to efficiently prevent name collisions + let p_query_offset = offset; + let p_query_limit = limit; + + let uri_str = format!("{}/quota/dataUsage", configuration.base_path); + let mut req_builder = configuration.client.request(reqwest::Method::GET, &uri_str); + + req_builder = req_builder.query(&[("offset", &p_query_offset.to_string())]); + req_builder = req_builder.query(&[("limit", &p_query_limit.to_string())]); + if let Some(ref user_agent) = configuration.user_agent { + req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone()); + } + if let Some(ref token) = configuration.bearer_access_token { + req_builder = req_builder.bearer_auth(token.to_owned()); + }; + + let req = req_builder.build()?; + let resp = configuration.client.execute(req).await?; + + let status = resp.status(); + let content_type = resp + .headers() + .get("content-type") + .and_then(|v| v.to_str().ok()) + .unwrap_or("application/octet-stream"); + let content_type = super::ContentType::from(content_type); + + if !status.is_client_error() && !status.is_server_error() { + let content = resp.text().await?; + match content_type { + ContentType::Json => serde_json::from_str(&content).map_err(Error::from), + ContentType::Text => return Err(Error::from(serde_json::Error::custom("Received `text/plain` content type response that cannot be converted to `Vec<models::DataUsage>`"))), + ContentType::Unsupported(unknown_type) => return Err(Error::from(serde_json::Error::custom(format!("Received `{unknown_type}` content type response that cannot be converted to `Vec<models::DataUsage>`")))), + } + } else { + let content = resp.text().await?; + let entity: Option = serde_json::from_str(&content).ok(); + Err(Error::ResponseError(ResponseContent { status, content, entity })) + } +} + +pub async fn data_usage_summary_handler(configuration: &configuration::Configuration, granularity: models::UsageSummaryGranularity, offset: i64, limit: i64, dataset: Option<&str>) -> Result, Error> { + // add a prefix to parameters to efficiently prevent name collisions + let p_query_granularity = granularity; + let p_query_offset = offset; + let p_query_limit = limit; + let p_query_dataset = dataset; + + let uri_str = format!("{}/quota/dataUsage/summary", configuration.base_path); + let mut req_builder = configuration.client.request(reqwest::Method::GET, &uri_str); + + req_builder = req_builder.query(&[("granularity", &p_query_granularity.to_string())]); + req_builder = req_builder.query(&[("offset", &p_query_offset.to_string())]); + req_builder = req_builder.query(&[("limit", &p_query_limit.to_string())]); + if let Some(ref param_value) = p_query_dataset { + req_builder = req_builder.query(&[("dataset", ¶m_value.to_string())]); + } + if let Some(ref user_agent) = configuration.user_agent { + req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone()); + } + if let Some(ref token) = configuration.bearer_access_token { + req_builder = req_builder.bearer_auth(token.to_owned()); + }; + + let req = req_builder.build()?; + let resp = configuration.client.execute(req).await?; + + let status = resp.status(); + let content_type = resp + .headers() + .get("content-type") + .and_then(|v| v.to_str().ok()) + .unwrap_or("application/octet-stream"); + let content_type = super::ContentType::from(content_type); + + if !status.is_client_error() && !status.is_server_error() { + let content = resp.text().await?; + match content_type { + ContentType::Json => serde_json::from_str(&content).map_err(Error::from), + ContentType::Text => return Err(Error::from(serde_json::Error::custom("Received `text/plain` content type response that cannot be converted to `Vec<models::DataUsageSummary>`"))), + ContentType::Unsupported(unknown_type) => return Err(Error::from(serde_json::Error::custom(format!("Received `{unknown_type}` content type response that cannot be converted to `Vec<models::DataUsageSummary>`")))), + } + } else { + let content = resp.text().await?; + let entity: Option = serde_json::from_str(&content).ok(); + Err(Error::ResponseError(ResponseContent { status, content, entity })) + } +} + +pub async fn get_role_by_name_handler(configuration: &configuration::Configuration, name: &str) -> Result> { + // add a prefix to parameters to efficiently prevent name collisions + let p_path_name = name; + + let uri_str = format!("{}/roles/byName/{name}", configuration.base_path, name=crate::apis::urlencode(p_path_name)); + let mut req_builder = configuration.client.request(reqwest::Method::GET, &uri_str); + + if let Some(ref user_agent) = configuration.user_agent { + req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone()); + } + if let Some(ref token) = configuration.bearer_access_token { + req_builder = req_builder.bearer_auth(token.to_owned()); + }; + + let req = req_builder.build()?; + let resp = configuration.client.execute(req).await?; + + let status = resp.status(); + let content_type = resp + .headers() + .get("content-type") + .and_then(|v| v.to_str().ok()) + .unwrap_or("application/octet-stream"); + let content_type = super::ContentType::from(content_type); + + if !status.is_client_error() && !status.is_server_error() { + let content = resp.text().await?; + match content_type { + ContentType::Json => serde_json::from_str(&content).map_err(Error::from), + ContentType::Text => return Err(Error::from(serde_json::Error::custom("Received `text/plain` content type response that cannot be converted to `models::IdResponse`"))), + ContentType::Unsupported(unknown_type) => return Err(Error::from(serde_json::Error::custom(format!("Received `{unknown_type}` content type response that cannot be converted to `models::IdResponse`")))), + } + } else { + let content = resp.text().await?; + let entity: Option = serde_json::from_str(&content).ok(); + Err(Error::ResponseError(ResponseContent { status, content, entity })) + } +} + +pub async fn get_role_descriptions(configuration: &configuration::Configuration, ) -> Result, Error> { + + let uri_str = format!("{}/user/roles/descriptions", configuration.base_path); + let mut req_builder = configuration.client.request(reqwest::Method::GET, &uri_str); + + if let Some(ref user_agent) = configuration.user_agent { + req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone()); + } + if let Some(ref token) = configuration.bearer_access_token { + req_builder = req_builder.bearer_auth(token.to_owned()); + }; + + let req = req_builder.build()?; + let resp = configuration.client.execute(req).await?; + + let status = resp.status(); + let content_type = resp + .headers() + .get("content-type") + .and_then(|v| v.to_str().ok()) + .unwrap_or("application/octet-stream"); + let content_type = super::ContentType::from(content_type); + + if !status.is_client_error() && !status.is_server_error() { + let content = resp.text().await?; + match content_type { + ContentType::Json => serde_json::from_str(&content).map_err(Error::from), + ContentType::Text => return Err(Error::from(serde_json::Error::custom("Received `text/plain` content type response that cannot be converted to `Vec<models::RoleDescription>`"))), + ContentType::Unsupported(unknown_type) => return Err(Error::from(serde_json::Error::custom(format!("Received `{unknown_type}` content type response that cannot be converted to `Vec<models::RoleDescription>`")))), + } + } else { + let content = resp.text().await?; + let entity: Option = serde_json::from_str(&content).ok(); + Err(Error::ResponseError(ResponseContent { status, content, entity })) + } +} + +pub async fn get_user_quota_handler(configuration: &configuration::Configuration, user: &str) -> Result> { + // add a prefix to parameters to efficiently prevent name collisions + let p_path_user = user; + + let uri_str = format!("{}/quotas/{user}", configuration.base_path, user=crate::apis::urlencode(p_path_user)); + let mut req_builder = configuration.client.request(reqwest::Method::GET, &uri_str); + + if let Some(ref user_agent) = configuration.user_agent { + req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone()); + } + if let Some(ref token) = configuration.bearer_access_token { + req_builder = req_builder.bearer_auth(token.to_owned()); + }; + + let req = req_builder.build()?; + let resp = configuration.client.execute(req).await?; + + let status = resp.status(); + let content_type = resp + .headers() + .get("content-type") + .and_then(|v| v.to_str().ok()) + .unwrap_or("application/octet-stream"); + let content_type = super::ContentType::from(content_type); + + if !status.is_client_error() && !status.is_server_error() { + let content = resp.text().await?; + match content_type { + ContentType::Json => serde_json::from_str(&content).map_err(Error::from), + ContentType::Text => return Err(Error::from(serde_json::Error::custom("Received `text/plain` content type response that cannot be converted to `models::Quota`"))), + ContentType::Unsupported(unknown_type) => return Err(Error::from(serde_json::Error::custom(format!("Received `{unknown_type}` content type response that cannot be converted to `models::Quota`")))), + } + } else { + let content = resp.text().await?; + let entity: Option = serde_json::from_str(&content).ok(); + Err(Error::ResponseError(ResponseContent { status, content, entity })) + } +} + +pub async fn quota_handler(configuration: &configuration::Configuration, ) -> Result> { + + let uri_str = format!("{}/quota", configuration.base_path); + let mut req_builder = configuration.client.request(reqwest::Method::GET, &uri_str); + + if let Some(ref user_agent) = configuration.user_agent { + req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone()); + } + if let Some(ref token) = configuration.bearer_access_token { + req_builder = req_builder.bearer_auth(token.to_owned()); + }; + + let req = req_builder.build()?; + let resp = configuration.client.execute(req).await?; + + let status = resp.status(); + let content_type = resp + .headers() + .get("content-type") + .and_then(|v| v.to_str().ok()) + .unwrap_or("application/octet-stream"); + let content_type = super::ContentType::from(content_type); + + if !status.is_client_error() && !status.is_server_error() { + let content = resp.text().await?; + match content_type { + ContentType::Json => serde_json::from_str(&content).map_err(Error::from), + ContentType::Text => return Err(Error::from(serde_json::Error::custom("Received `text/plain` content type response that cannot be converted to `models::Quota`"))), + ContentType::Unsupported(unknown_type) => return Err(Error::from(serde_json::Error::custom(format!("Received `{unknown_type}` content type response that cannot be converted to `models::Quota`")))), + } + } else { + let content = resp.text().await?; + let entity: Option = serde_json::from_str(&content).ok(); + Err(Error::ResponseError(ResponseContent { status, content, entity })) + } +} + +pub async fn remove_role_handler(configuration: &configuration::Configuration, role: &str) -> Result<(), Error> { + // add a prefix to parameters to efficiently prevent name collisions + let p_path_role = role; + + let uri_str = format!("{}/roles/{role}", configuration.base_path, role=crate::apis::urlencode(p_path_role)); + let mut req_builder = configuration.client.request(reqwest::Method::DELETE, &uri_str); + + if let Some(ref user_agent) = configuration.user_agent { + req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone()); + } + if let Some(ref token) = configuration.bearer_access_token { + req_builder = req_builder.bearer_auth(token.to_owned()); + }; + + let req = req_builder.build()?; + let resp = configuration.client.execute(req).await?; + + let status = resp.status(); + + if !status.is_client_error() && !status.is_server_error() { + Ok(()) + } else { + let content = resp.text().await?; + let entity: Option = serde_json::from_str(&content).ok(); + Err(Error::ResponseError(ResponseContent { status, content, entity })) + } +} + +pub async fn revoke_role_handler(configuration: &configuration::Configuration, user: &str, role: &str) -> Result<(), Error> { + // add a prefix to parameters to efficiently prevent name collisions + let p_path_user = user; + let p_path_role = role; + + let uri_str = format!("{}/users/{user}/roles/{role}", configuration.base_path, user=crate::apis::urlencode(p_path_user), role=crate::apis::urlencode(p_path_role)); + let mut req_builder = configuration.client.request(reqwest::Method::DELETE, &uri_str); + + if let Some(ref user_agent) = configuration.user_agent { + req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone()); + } + if let Some(ref token) = configuration.bearer_access_token { + req_builder = req_builder.bearer_auth(token.to_owned()); + }; + + let req = req_builder.build()?; + let resp = configuration.client.execute(req).await?; + + let status = resp.status(); + + if !status.is_client_error() && !status.is_server_error() { + Ok(()) + } else { + let content = resp.text().await?; + let entity: Option = serde_json::from_str(&content).ok(); + Err(Error::ResponseError(ResponseContent { status, content, entity })) + } +} + +pub async fn update_user_quota_handler(configuration: &configuration::Configuration, user: &str, update_quota: models::UpdateQuota) -> Result<(), Error> { + // add a prefix to parameters to efficiently prevent name collisions + let p_path_user = user; + let p_body_update_quota = update_quota; + + let uri_str = format!("{}/quotas/{user}", configuration.base_path, user=crate::apis::urlencode(p_path_user)); + let mut req_builder = configuration.client.request(reqwest::Method::POST, &uri_str); + + if let Some(ref user_agent) = configuration.user_agent { + req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone()); + } + if let Some(ref token) = configuration.bearer_access_token { + req_builder = req_builder.bearer_auth(token.to_owned()); + }; + req_builder = req_builder.json(&p_body_update_quota); + + let req = req_builder.build()?; + let resp = configuration.client.execute(req).await?; + + let status = resp.status(); + + if !status.is_client_error() && !status.is_server_error() { + Ok(()) + } else { + let content = resp.text().await?; + let entity: Option = serde_json::from_str(&content).ok(); + Err(Error::ResponseError(ResponseContent { status, content, entity })) + } +} + diff --git a/rust/src/apis/workflows_api.rs b/rust/src/apis/workflows_api.rs new file mode 100644 index 00000000..e6c26758 --- /dev/null +++ b/rust/src/apis/workflows_api.rs @@ -0,0 +1,329 @@ +/* + * Geo Engine API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * Generated by: https://openapi-generator.tech + */ + + +use reqwest; +use serde::{Deserialize, Serialize, de::Error as _}; +use crate::{apis::ResponseContent, models}; +use super::{Error, configuration, ContentType}; + + +/// struct for typed errors of method [`dataset_from_workflow_handler`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum DatasetFromWorkflowHandlerError { + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`get_workflow_all_metadata_zip_handler`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum GetWorkflowAllMetadataZipHandlerError { + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`get_workflow_metadata_handler`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum GetWorkflowMetadataHandlerError { + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`get_workflow_provenance_handler`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum GetWorkflowProvenanceHandlerError { + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`load_workflow_handler`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum LoadWorkflowHandlerError { + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`raster_stream_websocket`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum RasterStreamWebsocketError { + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`register_workflow_handler`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum RegisterWorkflowHandlerError { + UnknownValue(serde_json::Value), +} + + +pub async fn dataset_from_workflow_handler(configuration: &configuration::Configuration, id: &str, raster_dataset_from_workflow: models::RasterDatasetFromWorkflow) -> Result> { + // add a prefix to parameters to efficiently prevent name collisions + let p_path_id = id; + let p_body_raster_dataset_from_workflow = raster_dataset_from_workflow; + + let uri_str = format!("{}/datasetFromWorkflow/{id}", configuration.base_path, id=crate::apis::urlencode(p_path_id)); + let mut req_builder = configuration.client.request(reqwest::Method::POST, &uri_str); + + if let Some(ref user_agent) = configuration.user_agent { + req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone()); + } + if let Some(ref token) = configuration.bearer_access_token { + req_builder = req_builder.bearer_auth(token.to_owned()); + }; + req_builder = req_builder.json(&p_body_raster_dataset_from_workflow); + + let req = req_builder.build()?; + let resp = configuration.client.execute(req).await?; + + let status = resp.status(); + let content_type = resp + .headers() + .get("content-type") + .and_then(|v| v.to_str().ok()) + .unwrap_or("application/octet-stream"); + let content_type = super::ContentType::from(content_type); + + if !status.is_client_error() && !status.is_server_error() { + let content = resp.text().await?; + match content_type { + ContentType::Json => serde_json::from_str(&content).map_err(Error::from), + ContentType::Text => return Err(Error::from(serde_json::Error::custom("Received `text/plain` content type response that cannot be converted to `models::TaskResponse`"))), + ContentType::Unsupported(unknown_type) => return Err(Error::from(serde_json::Error::custom(format!("Received `{unknown_type}` content type response that cannot be converted to `models::TaskResponse`")))), + } + } else { + let content = resp.text().await?; + let entity: Option = serde_json::from_str(&content).ok(); + Err(Error::ResponseError(ResponseContent { status, content, entity })) + } +} + +pub async fn get_workflow_all_metadata_zip_handler(configuration: &configuration::Configuration, id: &str) -> Result> { + // add a prefix to parameters to efficiently prevent name collisions + let p_path_id = id; + + let uri_str = format!("{}/workflow/{id}/allMetadata/zip", configuration.base_path, id=crate::apis::urlencode(p_path_id)); + let mut req_builder = configuration.client.request(reqwest::Method::GET, &uri_str); + + if let Some(ref user_agent) = configuration.user_agent { + req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone()); + } + if let Some(ref token) = configuration.bearer_access_token { + req_builder = req_builder.bearer_auth(token.to_owned()); + }; + + let req = req_builder.build()?; + let resp = configuration.client.execute(req).await?; + + let status = resp.status(); + + if !status.is_client_error() && !status.is_server_error() { + Ok(resp) + } else { + let content = resp.text().await?; + let entity: Option = serde_json::from_str(&content).ok(); + Err(Error::ResponseError(ResponseContent { status, content, entity })) + } +} + +pub async fn get_workflow_metadata_handler(configuration: &configuration::Configuration, id: &str) -> Result> { + // add a prefix to parameters to efficiently prevent name collisions + let p_path_id = id; + + let uri_str = format!("{}/workflow/{id}/metadata", configuration.base_path, id=crate::apis::urlencode(p_path_id)); + let mut req_builder = configuration.client.request(reqwest::Method::GET, &uri_str); + + if let Some(ref user_agent) = configuration.user_agent { + req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone()); + } + if let Some(ref token) = configuration.bearer_access_token { + req_builder = req_builder.bearer_auth(token.to_owned()); + }; + + let req = req_builder.build()?; + let resp = configuration.client.execute(req).await?; + + let status = resp.status(); + let content_type = resp + .headers() + .get("content-type") + .and_then(|v| v.to_str().ok()) + .unwrap_or("application/octet-stream"); + let content_type = super::ContentType::from(content_type); + + if !status.is_client_error() && !status.is_server_error() { + let content = resp.text().await?; + match content_type { + ContentType::Json => serde_json::from_str(&content).map_err(Error::from), + ContentType::Text => return Err(Error::from(serde_json::Error::custom("Received `text/plain` content type response that cannot be converted to `models::TypedResultDescriptor`"))), + ContentType::Unsupported(unknown_type) => return Err(Error::from(serde_json::Error::custom(format!("Received `{unknown_type}` content type response that cannot be converted to `models::TypedResultDescriptor`")))), + } + } else { + let content = resp.text().await?; + let entity: Option = serde_json::from_str(&content).ok(); + Err(Error::ResponseError(ResponseContent { status, content, entity })) + } +} + +pub async fn get_workflow_provenance_handler(configuration: &configuration::Configuration, id: &str) -> Result, Error> { + // add a prefix to parameters to efficiently prevent name collisions + let p_path_id = id; + + let uri_str = format!("{}/workflow/{id}/provenance", configuration.base_path, id=crate::apis::urlencode(p_path_id)); + let mut req_builder = configuration.client.request(reqwest::Method::GET, &uri_str); + + if let Some(ref user_agent) = configuration.user_agent { + req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone()); + } + if let Some(ref token) = configuration.bearer_access_token { + req_builder = req_builder.bearer_auth(token.to_owned()); + }; + + let req = req_builder.build()?; + let resp = configuration.client.execute(req).await?; + + let status = resp.status(); + let content_type = resp + .headers() + .get("content-type") + .and_then(|v| v.to_str().ok()) + .unwrap_or("application/octet-stream"); + let content_type = super::ContentType::from(content_type); + + if !status.is_client_error() && !status.is_server_error() { + let content = resp.text().await?; + match content_type { + ContentType::Json => serde_json::from_str(&content).map_err(Error::from), + ContentType::Text => return Err(Error::from(serde_json::Error::custom("Received `text/plain` content type response that cannot be converted to `Vec<models::ProvenanceEntry>`"))), + ContentType::Unsupported(unknown_type) => return Err(Error::from(serde_json::Error::custom(format!("Received `{unknown_type}` content type response that cannot be converted to `Vec<models::ProvenanceEntry>`")))), + } + } else { + let content = resp.text().await?; + let entity: Option = serde_json::from_str(&content).ok(); + Err(Error::ResponseError(ResponseContent { status, content, entity })) + } +} + +pub async fn load_workflow_handler(configuration: &configuration::Configuration, id: &str) -> Result> { + // add a prefix to parameters to efficiently prevent name collisions + let p_path_id = id; + + let uri_str = format!("{}/workflow/{id}", configuration.base_path, id=crate::apis::urlencode(p_path_id)); + let mut req_builder = configuration.client.request(reqwest::Method::GET, &uri_str); + + if let Some(ref user_agent) = configuration.user_agent { + req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone()); + } + if let Some(ref token) = configuration.bearer_access_token { + req_builder = req_builder.bearer_auth(token.to_owned()); + }; + + let req = req_builder.build()?; + let resp = configuration.client.execute(req).await?; + + let status = resp.status(); + let content_type = resp + .headers() + .get("content-type") + .and_then(|v| v.to_str().ok()) + .unwrap_or("application/octet-stream"); + let content_type = super::ContentType::from(content_type); + + if !status.is_client_error() && !status.is_server_error() { + let content = resp.text().await?; + match content_type { + ContentType::Json => serde_json::from_str(&content).map_err(Error::from), + ContentType::Text => return Err(Error::from(serde_json::Error::custom("Received `text/plain` content type response that cannot be converted to `models::Workflow`"))), + ContentType::Unsupported(unknown_type) => return Err(Error::from(serde_json::Error::custom(format!("Received `{unknown_type}` content type response that cannot be converted to `models::Workflow`")))), + } + } else { + let content = resp.text().await?; + let entity: Option = serde_json::from_str(&content).ok(); + Err(Error::ResponseError(ResponseContent { status, content, entity })) + } +} + +pub async fn raster_stream_websocket(configuration: &configuration::Configuration, id: &str, spatial_bounds: models::SpatialPartition2D, time_interval: &str, attributes: &str, result_type: models::RasterStreamWebsocketResultType) -> Result<(), Error> { + // add a prefix to parameters to efficiently prevent name collisions + let p_path_id = id; + let p_query_spatial_bounds = spatial_bounds; + let p_query_time_interval = time_interval; + let p_query_attributes = attributes; + let p_query_result_type = result_type; + + let uri_str = format!("{}/workflow/{id}/rasterStream", configuration.base_path, id=crate::apis::urlencode(p_path_id)); + let mut req_builder = configuration.client.request(reqwest::Method::GET, &uri_str); + + req_builder = req_builder.query(&[("spatialBounds", &p_query_spatial_bounds.to_string())]); + req_builder = req_builder.query(&[("timeInterval", &p_query_time_interval.to_string())]); + req_builder = req_builder.query(&[("attributes", &p_query_attributes.to_string())]); + req_builder = req_builder.query(&[("resultType", &p_query_result_type.to_string())]); + if let Some(ref user_agent) = configuration.user_agent { + req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone()); + } + if let Some(ref token) = configuration.bearer_access_token { + req_builder = req_builder.bearer_auth(token.to_owned()); + }; + + let req = req_builder.build()?; + let resp = configuration.client.execute(req).await?; + + let status = resp.status(); + + if !status.is_client_error() && !status.is_server_error() { + Ok(()) + } else { + let content = resp.text().await?; + let entity: Option = serde_json::from_str(&content).ok(); + Err(Error::ResponseError(ResponseContent { status, content, entity })) + } +} + +pub async fn register_workflow_handler(configuration: &configuration::Configuration, workflow: models::Workflow) -> Result> { + // add a prefix to parameters to efficiently prevent name collisions + let p_body_workflow = workflow; + + let uri_str = format!("{}/workflow", configuration.base_path); + let mut req_builder = configuration.client.request(reqwest::Method::POST, &uri_str); + + if let Some(ref user_agent) = configuration.user_agent { + req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone()); + } + if let Some(ref token) = configuration.bearer_access_token { + req_builder = req_builder.bearer_auth(token.to_owned()); + }; + req_builder = req_builder.json(&p_body_workflow); + + let req = req_builder.build()?; + let resp = configuration.client.execute(req).await?; + + let status = resp.status(); + let content_type = resp + .headers() + .get("content-type") + .and_then(|v| v.to_str().ok()) + .unwrap_or("application/octet-stream"); + let content_type = super::ContentType::from(content_type); + + if !status.is_client_error() && !status.is_server_error() { + let content = resp.text().await?; + match content_type { + ContentType::Json => serde_json::from_str(&content).map_err(Error::from), + ContentType::Text => return Err(Error::from(serde_json::Error::custom("Received `text/plain` content type response that cannot be converted to `models::IdResponse`"))), + ContentType::Unsupported(unknown_type) => return Err(Error::from(serde_json::Error::custom(format!("Received `{unknown_type}` content type response that cannot be converted to `models::IdResponse`")))), + } + } else { + let content = resp.text().await?; + let entity: Option = serde_json::from_str(&content).ok(); + Err(Error::ResponseError(ResponseContent { status, content, entity })) + } +} + diff --git a/rust/src/lib.rs b/rust/src/lib.rs new file mode 100644 index 00000000..e1520628 --- /dev/null +++ b/rust/src/lib.rs @@ -0,0 +1,11 @@ +#![allow(unused_imports)] +#![allow(clippy::too_many_arguments)] + +extern crate serde_repr; +extern crate serde; +extern crate serde_json; +extern crate url; +extern crate reqwest; + +pub mod apis; +pub mod models; diff --git a/rust/src/models/add_dataset.rs b/rust/src/models/add_dataset.rs new file mode 100644 index 00000000..8849a80a --- /dev/null +++ b/rust/src/models/add_dataset.rs @@ -0,0 +1,45 @@ +/* + * Geo Engine API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct AddDataset { + #[serde(rename = "description")] + pub description: String, + #[serde(rename = "displayName")] + pub display_name: String, + #[serde(rename = "name", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")] + pub name: Option>, + #[serde(rename = "provenance", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")] + pub provenance: Option>>, + #[serde(rename = "sourceOperator")] + pub source_operator: String, + #[serde(rename = "symbology", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")] + pub symbology: Option>>, + #[serde(rename = "tags", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")] + pub tags: Option>>, +} + +impl AddDataset { + pub fn new(description: String, display_name: String, source_operator: String) -> AddDataset { + AddDataset { + description, + display_name, + name: None, + provenance: None, + source_operator, + symbology: None, + tags: None, + } + } +} + diff --git a/rust/src/models/add_layer.rs b/rust/src/models/add_layer.rs new file mode 100644 index 00000000..7ffa1c7e --- /dev/null +++ b/rust/src/models/add_layer.rs @@ -0,0 +1,44 @@ +/* + * Geo Engine API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct AddLayer { + #[serde(rename = "description")] + pub description: String, + /// metadata used for loading the data + #[serde(rename = "metadata", skip_serializing_if = "Option::is_none")] + pub metadata: Option>, + #[serde(rename = "name")] + pub name: String, + /// properties, for instance, to be rendered in the UI + #[serde(rename = "properties", skip_serializing_if = "Option::is_none")] + pub properties: Option>>, + #[serde(rename = "symbology", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")] + pub symbology: Option>>, + #[serde(rename = "workflow")] + pub workflow: Box, +} + +impl AddLayer { + pub fn new(description: String, name: String, workflow: models::Workflow) -> AddLayer { + AddLayer { + description, + metadata: None, + name, + properties: None, + symbology: None, + workflow: Box::new(workflow), + } + } +} + diff --git a/rust/src/models/add_layer_collection.rs b/rust/src/models/add_layer_collection.rs new file mode 100644 index 00000000..8b8bf6e1 --- /dev/null +++ b/rust/src/models/add_layer_collection.rs @@ -0,0 +1,33 @@ +/* + * Geo Engine API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct AddLayerCollection { + #[serde(rename = "description")] + pub description: String, + #[serde(rename = "name")] + pub name: String, + #[serde(rename = "properties", skip_serializing_if = "Option::is_none")] + pub properties: Option>>, +} + +impl AddLayerCollection { + pub fn new(description: String, name: String) -> AddLayerCollection { + AddLayerCollection { + description, + name, + properties: None, + } + } +} + diff --git a/rust/src/models/add_role.rs b/rust/src/models/add_role.rs new file mode 100644 index 00000000..e54ff449 --- /dev/null +++ b/rust/src/models/add_role.rs @@ -0,0 +1,27 @@ +/* + * Geo Engine API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct AddRole { + #[serde(rename = "name")] + pub name: String, +} + +impl AddRole { + pub fn new(name: String) -> AddRole { + AddRole { + name, + } + } +} + diff --git a/rust/src/models/aruna_data_provider_definition.rs b/rust/src/models/aruna_data_provider_definition.rs new file mode 100644 index 00000000..a4c70dc9 --- /dev/null +++ b/rust/src/models/aruna_data_provider_definition.rs @@ -0,0 +1,66 @@ +/* + * Geo Engine API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct ArunaDataProviderDefinition { + #[serde(rename = "apiToken")] + pub api_token: String, + #[serde(rename = "apiUrl")] + pub api_url: String, + #[serde(rename = "cacheTtl", skip_serializing_if = "Option::is_none")] + pub cache_ttl: Option, + #[serde(rename = "description")] + pub description: String, + #[serde(rename = "filterLabel")] + pub filter_label: String, + #[serde(rename = "id")] + pub id: uuid::Uuid, + #[serde(rename = "name")] + pub name: String, + #[serde(rename = "priority", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")] + pub priority: Option>, + #[serde(rename = "projectId")] + pub project_id: String, + #[serde(rename = "type")] + pub r#type: Type, +} + +impl ArunaDataProviderDefinition { + pub fn new(api_token: String, api_url: String, description: String, filter_label: String, id: uuid::Uuid, name: String, project_id: String, r#type: Type) -> ArunaDataProviderDefinition { + ArunaDataProviderDefinition { + api_token, + api_url, + cache_ttl: None, + description, + filter_label, + id, + name, + priority: None, + project_id, + r#type, + } + } +} +/// +#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)] +pub enum Type { + #[serde(rename = "Aruna")] + Aruna, +} + +impl Default for Type { + fn default() -> Type { + Self::Aruna + } +} + diff --git a/rust/src/models/auth_code_request_url.rs b/rust/src/models/auth_code_request_url.rs new file mode 100644 index 00000000..cc8d7762 --- /dev/null +++ b/rust/src/models/auth_code_request_url.rs @@ -0,0 +1,27 @@ +/* + * Geo Engine API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct AuthCodeRequestUrl { + #[serde(rename = "url")] + pub url: String, +} + +impl AuthCodeRequestUrl { + pub fn new(url: String) -> AuthCodeRequestUrl { + AuthCodeRequestUrl { + url, + } + } +} + diff --git a/rust/src/models/auth_code_response.rs b/rust/src/models/auth_code_response.rs new file mode 100644 index 00000000..4143b989 --- /dev/null +++ b/rust/src/models/auth_code_response.rs @@ -0,0 +1,33 @@ +/* + * Geo Engine API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct AuthCodeResponse { + #[serde(rename = "code")] + pub code: String, + #[serde(rename = "sessionState")] + pub session_state: String, + #[serde(rename = "state")] + pub state: String, +} + +impl AuthCodeResponse { + pub fn new(code: String, session_state: String, state: String) -> AuthCodeResponse { + AuthCodeResponse { + code, + session_state, + state, + } + } +} + diff --git a/rust/src/models/auto_create_dataset.rs b/rust/src/models/auto_create_dataset.rs new file mode 100644 index 00000000..8ba3f88c --- /dev/null +++ b/rust/src/models/auto_create_dataset.rs @@ -0,0 +1,42 @@ +/* + * Geo Engine API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct AutoCreateDataset { + #[serde(rename = "datasetDescription")] + pub dataset_description: String, + #[serde(rename = "datasetName")] + pub dataset_name: String, + #[serde(rename = "layerName", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")] + pub layer_name: Option>, + #[serde(rename = "mainFile")] + pub main_file: String, + #[serde(rename = "tags", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")] + pub tags: Option>>, + #[serde(rename = "upload")] + pub upload: uuid::Uuid, +} + +impl AutoCreateDataset { + pub fn new(dataset_description: String, dataset_name: String, main_file: String, upload: uuid::Uuid) -> AutoCreateDataset { + AutoCreateDataset { + dataset_description, + dataset_name, + layer_name: None, + main_file, + tags: None, + upload, + } + } +} + diff --git a/rust/src/models/axis_order.rs b/rust/src/models/axis_order.rs new file mode 100644 index 00000000..49b103d3 --- /dev/null +++ b/rust/src/models/axis_order.rs @@ -0,0 +1,38 @@ +/* + * Geo Engine API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// +#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)] +pub enum AxisOrder { + #[serde(rename = "northEast")] + NorthEast, + #[serde(rename = "eastNorth")] + EastNorth, + +} + +impl std::fmt::Display for AxisOrder { + fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result { + match self { + Self::NorthEast => write!(f, "northEast"), + Self::EastNorth => write!(f, "eastNorth"), + } + } +} + +impl Default for AxisOrder { + fn default() -> AxisOrder { + Self::NorthEast + } +} + diff --git a/rust/src/models/bounding_box2_d.rs b/rust/src/models/bounding_box2_d.rs new file mode 100644 index 00000000..b1e338ab --- /dev/null +++ b/rust/src/models/bounding_box2_d.rs @@ -0,0 +1,32 @@ +/* + * Geo Engine API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// BoundingBox2D : A bounding box that includes all border points. Note: may degenerate to a point! +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct BoundingBox2D { + #[serde(rename = "lowerLeftCoordinate")] + pub lower_left_coordinate: Box, + #[serde(rename = "upperRightCoordinate")] + pub upper_right_coordinate: Box, +} + +impl BoundingBox2D { + /// A bounding box that includes all border points. Note: may degenerate to a point! + pub fn new(lower_left_coordinate: models::Coordinate2D, upper_right_coordinate: models::Coordinate2D) -> BoundingBox2D { + BoundingBox2D { + lower_left_coordinate: Box::new(lower_left_coordinate), + upper_right_coordinate: Box::new(upper_right_coordinate), + } + } +} + diff --git a/rust/src/models/breakpoint.rs b/rust/src/models/breakpoint.rs new file mode 100644 index 00000000..3281e6d3 --- /dev/null +++ b/rust/src/models/breakpoint.rs @@ -0,0 +1,30 @@ +/* + * Geo Engine API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct Breakpoint { + #[serde(rename = "color")] + pub color: Vec, + #[serde(rename = "value")] + pub value: f64, +} + +impl Breakpoint { + pub fn new(color: Vec, value: f64) -> Breakpoint { + Breakpoint { + color, + value, + } + } +} + diff --git a/rust/src/models/classification_measurement.rs b/rust/src/models/classification_measurement.rs new file mode 100644 index 00000000..f328ccbd --- /dev/null +++ b/rust/src/models/classification_measurement.rs @@ -0,0 +1,45 @@ +/* + * Geo Engine API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct ClassificationMeasurement { + #[serde(rename = "classes")] + pub classes: std::collections::HashMap, + #[serde(rename = "measurement")] + pub measurement: String, + #[serde(rename = "type")] + pub r#type: Type, +} + +impl ClassificationMeasurement { + pub fn new(classes: std::collections::HashMap, measurement: String, r#type: Type) -> ClassificationMeasurement { + ClassificationMeasurement { + classes, + measurement, + r#type, + } + } +} +/// +#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)] +pub enum Type { + #[serde(rename = "classification")] + Classification, +} + +impl Default for Type { + fn default() -> Type { + Self::Classification + } +} + diff --git a/rust/src/models/collection_item.rs b/rust/src/models/collection_item.rs new file mode 100644 index 00000000..08ae737b --- /dev/null +++ b/rust/src/models/collection_item.rs @@ -0,0 +1,29 @@ +/* + * Geo Engine API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)] +#[serde(tag = "type")] +pub enum CollectionItem { + #[serde(rename="collection")] + Collection(Box), + #[serde(rename="layer")] + Layer(Box), +} + +impl Default for CollectionItem { + fn default() -> Self { + Self::Collection(Default::default()) + } +} + + diff --git a/rust/src/models/collection_type.rs b/rust/src/models/collection_type.rs new file mode 100644 index 00000000..505f0ed9 --- /dev/null +++ b/rust/src/models/collection_type.rs @@ -0,0 +1,35 @@ +/* + * Geo Engine API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// +#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)] +pub enum CollectionType { + #[serde(rename = "FeatureCollection")] + FeatureCollection, + +} + +impl std::fmt::Display for CollectionType { + fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result { + match self { + Self::FeatureCollection => write!(f, "FeatureCollection"), + } + } +} + +impl Default for CollectionType { + fn default() -> CollectionType { + Self::FeatureCollection + } +} + diff --git a/rust/src/models/color_param.rs b/rust/src/models/color_param.rs new file mode 100644 index 00000000..19fc8338 --- /dev/null +++ b/rust/src/models/color_param.rs @@ -0,0 +1,29 @@ +/* + * Geo Engine API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)] +#[serde(tag = "type")] +pub enum ColorParam { + #[serde(rename="static")] + Static(Box), + #[serde(rename="derived")] + Derived(Box), +} + +impl Default for ColorParam { + fn default() -> Self { + Self::Static(Default::default()) + } +} + + diff --git a/rust/src/models/colorizer.rs b/rust/src/models/colorizer.rs new file mode 100644 index 00000000..c7b6602e --- /dev/null +++ b/rust/src/models/colorizer.rs @@ -0,0 +1,32 @@ +/* + * Geo Engine API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// Colorizer : A colorizer specifies a mapping between raster values and an output image There are different variants that perform different kinds of mapping. +#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)] +#[serde(tag = "type")] +pub enum Colorizer { + #[serde(rename="linearGradient")] + LinearGradient(Box), + #[serde(rename="logarithmicGradient")] + LogarithmicGradient(Box), + #[serde(rename="palette")] + Palette(Box), +} + +impl Default for Colorizer { + fn default() -> Self { + Self::LinearGradient(Default::default()) + } +} + + diff --git a/rust/src/models/column_names.rs b/rust/src/models/column_names.rs new file mode 100644 index 00000000..167b4ba5 --- /dev/null +++ b/rust/src/models/column_names.rs @@ -0,0 +1,43 @@ +/* + * Geo Engine API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)] +#[serde(untagged)] +pub enum ColumnNames { + Default(Box), + Suffix(Box), + Names(Box), +} + +impl Default for ColumnNames { + fn default() -> Self { + Self::Default(Default::default()) + } +} +/// +#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)] +pub enum Type { + #[serde(rename = "default")] + Default, + #[serde(rename = "suffix")] + Suffix, + #[serde(rename = "names")] + Names, +} + +impl Default for Type { + fn default() -> Type { + Self::Default + } +} + diff --git a/rust/src/models/computation_quota.rs b/rust/src/models/computation_quota.rs new file mode 100644 index 00000000..f1b4d1f4 --- /dev/null +++ b/rust/src/models/computation_quota.rs @@ -0,0 +1,36 @@ +/* + * Geo Engine API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct ComputationQuota { + #[serde(rename = "computationId")] + pub computation_id: uuid::Uuid, + #[serde(rename = "count")] + pub count: i64, + #[serde(rename = "timestamp")] + pub timestamp: String, + #[serde(rename = "workflowId")] + pub workflow_id: uuid::Uuid, +} + +impl ComputationQuota { + pub fn new(computation_id: uuid::Uuid, count: i64, timestamp: String, workflow_id: uuid::Uuid) -> ComputationQuota { + ComputationQuota { + computation_id, + count, + timestamp, + workflow_id, + } + } +} + diff --git a/rust/src/models/continuous_measurement.rs b/rust/src/models/continuous_measurement.rs new file mode 100644 index 00000000..878ca6b7 --- /dev/null +++ b/rust/src/models/continuous_measurement.rs @@ -0,0 +1,45 @@ +/* + * Geo Engine API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct ContinuousMeasurement { + #[serde(rename = "measurement")] + pub measurement: String, + #[serde(rename = "type")] + pub r#type: Type, + #[serde(rename = "unit", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")] + pub unit: Option>, +} + +impl ContinuousMeasurement { + pub fn new(measurement: String, r#type: Type) -> ContinuousMeasurement { + ContinuousMeasurement { + measurement, + r#type, + unit: None, + } + } +} +/// +#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)] +pub enum Type { + #[serde(rename = "continuous")] + Continuous, +} + +impl Default for Type { + fn default() -> Type { + Self::Continuous + } +} + diff --git a/rust/src/models/coordinate2_d.rs b/rust/src/models/coordinate2_d.rs new file mode 100644 index 00000000..5dc1155e --- /dev/null +++ b/rust/src/models/coordinate2_d.rs @@ -0,0 +1,30 @@ +/* + * Geo Engine API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct Coordinate2D { + #[serde(rename = "x")] + pub x: f64, + #[serde(rename = "y")] + pub y: f64, +} + +impl Coordinate2D { + pub fn new(x: f64, y: f64) -> Coordinate2D { + Coordinate2D { + x, + y, + } + } +} + diff --git a/rust/src/models/copernicus_dataspace_data_provider_definition.rs b/rust/src/models/copernicus_dataspace_data_provider_definition.rs new file mode 100644 index 00000000..400d8941 --- /dev/null +++ b/rust/src/models/copernicus_dataspace_data_provider_definition.rs @@ -0,0 +1,66 @@ +/* + * Geo Engine API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct CopernicusDataspaceDataProviderDefinition { + #[serde(rename = "description")] + pub description: String, + #[serde(rename = "gdalConfig")] + pub gdal_config: Vec>, + #[serde(rename = "id")] + pub id: uuid::Uuid, + #[serde(rename = "name")] + pub name: String, + #[serde(rename = "priority", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")] + pub priority: Option>, + #[serde(rename = "s3AccessKey")] + pub s3_access_key: String, + #[serde(rename = "s3SecretKey")] + pub s3_secret_key: String, + #[serde(rename = "s3Url")] + pub s3_url: String, + #[serde(rename = "stacUrl")] + pub stac_url: String, + #[serde(rename = "type")] + pub r#type: Type, +} + +impl CopernicusDataspaceDataProviderDefinition { + pub fn new(description: String, gdal_config: Vec>, id: uuid::Uuid, name: String, s3_access_key: String, s3_secret_key: String, s3_url: String, stac_url: String, r#type: Type) -> CopernicusDataspaceDataProviderDefinition { + CopernicusDataspaceDataProviderDefinition { + description, + gdal_config, + id, + name, + priority: None, + s3_access_key, + s3_secret_key, + s3_url, + stac_url, + r#type, + } + } +} +/// +#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)] +pub enum Type { + #[serde(rename = "CopernicusDataspace")] + CopernicusDataspace, +} + +impl Default for Type { + fn default() -> Type { + Self::CopernicusDataspace + } +} + diff --git a/rust/src/models/create_dataset.rs b/rust/src/models/create_dataset.rs new file mode 100644 index 00000000..03ede841 --- /dev/null +++ b/rust/src/models/create_dataset.rs @@ -0,0 +1,30 @@ +/* + * Geo Engine API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct CreateDataset { + #[serde(rename = "dataPath")] + pub data_path: Box, + #[serde(rename = "definition")] + pub definition: Box, +} + +impl CreateDataset { + pub fn new(data_path: models::DataPath, definition: models::DatasetDefinition) -> CreateDataset { + CreateDataset { + data_path: Box::new(data_path), + definition: Box::new(definition), + } + } +} + diff --git a/rust/src/models/create_project.rs b/rust/src/models/create_project.rs new file mode 100644 index 00000000..80d4910b --- /dev/null +++ b/rust/src/models/create_project.rs @@ -0,0 +1,36 @@ +/* + * Geo Engine API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct CreateProject { + #[serde(rename = "bounds")] + pub bounds: Box, + #[serde(rename = "description")] + pub description: String, + #[serde(rename = "name")] + pub name: String, + #[serde(rename = "timeStep", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")] + pub time_step: Option>>, +} + +impl CreateProject { + pub fn new(bounds: models::StRectangle, description: String, name: String) -> CreateProject { + CreateProject { + bounds: Box::new(bounds), + description, + name, + time_step: None, + } + } +} + diff --git a/rust/src/models/csv_header.rs b/rust/src/models/csv_header.rs new file mode 100644 index 00000000..7a40da35 --- /dev/null +++ b/rust/src/models/csv_header.rs @@ -0,0 +1,41 @@ +/* + * Geo Engine API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// +#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)] +pub enum CsvHeader { + #[serde(rename = "yes")] + Yes, + #[serde(rename = "no")] + No, + #[serde(rename = "auto")] + Auto, + +} + +impl std::fmt::Display for CsvHeader { + fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result { + match self { + Self::Yes => write!(f, "yes"), + Self::No => write!(f, "no"), + Self::Auto => write!(f, "auto"), + } + } +} + +impl Default for CsvHeader { + fn default() -> CsvHeader { + Self::Yes + } +} + diff --git a/rust/src/models/data_id.rs b/rust/src/models/data_id.rs new file mode 100644 index 00000000..28b81598 --- /dev/null +++ b/rust/src/models/data_id.rs @@ -0,0 +1,30 @@ +/* + * Geo Engine API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// DataId : The identifier for loadable data. It is used in the source operators to get the loading info (aka parametrization) for accessing the data. Internal data is loaded from datasets, external from `DataProvider`s. +#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)] +#[serde(tag = "type")] +pub enum DataId { + #[serde(rename="internal")] + Internal(Box), + #[serde(rename="external")] + External(Box), +} + +impl Default for DataId { + fn default() -> Self { + Self::Internal(Default::default()) + } +} + + diff --git a/rust/src/models/data_path.rs b/rust/src/models/data_path.rs new file mode 100644 index 00000000..8418f1b5 --- /dev/null +++ b/rust/src/models/data_path.rs @@ -0,0 +1,26 @@ +/* + * Geo Engine API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)] +#[serde(untagged)] +pub enum DataPath { + DataPathOneOf(Box), + DataPathOneOf1(Box), +} + +impl Default for DataPath { + fn default() -> Self { + Self::DataPathOneOf(Default::default()) + } +} + diff --git a/rust/src/models/data_path_one_of.rs b/rust/src/models/data_path_one_of.rs new file mode 100644 index 00000000..dec8f706 --- /dev/null +++ b/rust/src/models/data_path_one_of.rs @@ -0,0 +1,27 @@ +/* + * Geo Engine API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct DataPathOneOf { + #[serde(rename = "volume")] + pub volume: String, +} + +impl DataPathOneOf { + pub fn new(volume: String) -> DataPathOneOf { + DataPathOneOf { + volume, + } + } +} + diff --git a/rust/src/models/data_path_one_of_1.rs b/rust/src/models/data_path_one_of_1.rs new file mode 100644 index 00000000..18f6491e --- /dev/null +++ b/rust/src/models/data_path_one_of_1.rs @@ -0,0 +1,27 @@ +/* + * Geo Engine API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct DataPathOneOf1 { + #[serde(rename = "upload")] + pub upload: uuid::Uuid, +} + +impl DataPathOneOf1 { + pub fn new(upload: uuid::Uuid) -> DataPathOneOf1 { + DataPathOneOf1 { + upload, + } + } +} + diff --git a/rust/src/models/data_provider_resource.rs b/rust/src/models/data_provider_resource.rs new file mode 100644 index 00000000..89e2047b --- /dev/null +++ b/rust/src/models/data_provider_resource.rs @@ -0,0 +1,42 @@ +/* + * Geo Engine API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct DataProviderResource { + #[serde(rename = "id")] + pub id: uuid::Uuid, + #[serde(rename = "type")] + pub r#type: Type, +} + +impl DataProviderResource { + pub fn new(id: uuid::Uuid, r#type: Type) -> DataProviderResource { + DataProviderResource { + id, + r#type, + } + } +} +/// +#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)] +pub enum Type { + #[serde(rename = "provider")] + Provider, +} + +impl Default for Type { + fn default() -> Type { + Self::Provider + } +} + diff --git a/rust/src/models/data_usage.rs b/rust/src/models/data_usage.rs new file mode 100644 index 00000000..d6e32807 --- /dev/null +++ b/rust/src/models/data_usage.rs @@ -0,0 +1,39 @@ +/* + * Geo Engine API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct DataUsage { + #[serde(rename = "computationId")] + pub computation_id: uuid::Uuid, + #[serde(rename = "count")] + pub count: i64, + #[serde(rename = "data")] + pub data: String, + #[serde(rename = "timestamp")] + pub timestamp: String, + #[serde(rename = "userId")] + pub user_id: uuid::Uuid, +} + +impl DataUsage { + pub fn new(computation_id: uuid::Uuid, count: i64, data: String, timestamp: String, user_id: uuid::Uuid) -> DataUsage { + DataUsage { + computation_id, + count, + data, + timestamp, + user_id, + } + } +} + diff --git a/rust/src/models/data_usage_summary.rs b/rust/src/models/data_usage_summary.rs new file mode 100644 index 00000000..28ef71a7 --- /dev/null +++ b/rust/src/models/data_usage_summary.rs @@ -0,0 +1,33 @@ +/* + * Geo Engine API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct DataUsageSummary { + #[serde(rename = "count")] + pub count: i64, + #[serde(rename = "data")] + pub data: String, + #[serde(rename = "timestamp")] + pub timestamp: String, +} + +impl DataUsageSummary { + pub fn new(count: i64, data: String, timestamp: String) -> DataUsageSummary { + DataUsageSummary { + count, + data, + timestamp, + } + } +} + diff --git a/rust/src/models/database_connection_config.rs b/rust/src/models/database_connection_config.rs new file mode 100644 index 00000000..8e8d6818 --- /dev/null +++ b/rust/src/models/database_connection_config.rs @@ -0,0 +1,42 @@ +/* + * Geo Engine API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct DatabaseConnectionConfig { + #[serde(rename = "database")] + pub database: String, + #[serde(rename = "host")] + pub host: String, + #[serde(rename = "password")] + pub password: String, + #[serde(rename = "port")] + pub port: i32, + #[serde(rename = "schema")] + pub schema: String, + #[serde(rename = "user")] + pub user: String, +} + +impl DatabaseConnectionConfig { + pub fn new(database: String, host: String, password: String, port: i32, schema: String, user: String) -> DatabaseConnectionConfig { + DatabaseConnectionConfig { + database, + host, + password, + port, + schema, + user, + } + } +} + diff --git a/rust/src/models/dataset.rs b/rust/src/models/dataset.rs new file mode 100644 index 00000000..d2cb2f20 --- /dev/null +++ b/rust/src/models/dataset.rs @@ -0,0 +1,54 @@ +/* + * Geo Engine API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct Dataset { + #[serde(rename = "dataPath", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")] + pub data_path: Option>>, + #[serde(rename = "description")] + pub description: String, + #[serde(rename = "displayName")] + pub display_name: String, + #[serde(rename = "id")] + pub id: uuid::Uuid, + #[serde(rename = "name")] + pub name: String, + #[serde(rename = "provenance", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")] + pub provenance: Option>>, + #[serde(rename = "resultDescriptor")] + pub result_descriptor: Box, + #[serde(rename = "sourceOperator")] + pub source_operator: String, + #[serde(rename = "symbology", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")] + pub symbology: Option>>, + #[serde(rename = "tags", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")] + pub tags: Option>>, +} + +impl Dataset { + pub fn new(description: String, display_name: String, id: uuid::Uuid, name: String, result_descriptor: models::TypedResultDescriptor, source_operator: String) -> Dataset { + Dataset { + data_path: None, + description, + display_name, + id, + name, + provenance: None, + result_descriptor: Box::new(result_descriptor), + source_operator, + symbology: None, + tags: None, + } + } +} + diff --git a/rust/src/models/dataset_definition.rs b/rust/src/models/dataset_definition.rs new file mode 100644 index 00000000..4a164cf8 --- /dev/null +++ b/rust/src/models/dataset_definition.rs @@ -0,0 +1,30 @@ +/* + * Geo Engine API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct DatasetDefinition { + #[serde(rename = "metaData")] + pub meta_data: Box, + #[serde(rename = "properties")] + pub properties: Box, +} + +impl DatasetDefinition { + pub fn new(meta_data: models::MetaDataDefinition, properties: models::AddDataset) -> DatasetDefinition { + DatasetDefinition { + meta_data: Box::new(meta_data), + properties: Box::new(properties), + } + } +} + diff --git a/rust/src/models/dataset_layer_listing_collection.rs b/rust/src/models/dataset_layer_listing_collection.rs new file mode 100644 index 00000000..468bee9e --- /dev/null +++ b/rust/src/models/dataset_layer_listing_collection.rs @@ -0,0 +1,33 @@ +/* + * Geo Engine API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct DatasetLayerListingCollection { + #[serde(rename = "description")] + pub description: String, + #[serde(rename = "name")] + pub name: String, + #[serde(rename = "tags")] + pub tags: Vec, +} + +impl DatasetLayerListingCollection { + pub fn new(description: String, name: String, tags: Vec) -> DatasetLayerListingCollection { + DatasetLayerListingCollection { + description, + name, + tags, + } + } +} + diff --git a/rust/src/models/dataset_layer_listing_provider_definition.rs b/rust/src/models/dataset_layer_listing_provider_definition.rs new file mode 100644 index 00000000..f71c75ff --- /dev/null +++ b/rust/src/models/dataset_layer_listing_provider_definition.rs @@ -0,0 +1,54 @@ +/* + * Geo Engine API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct DatasetLayerListingProviderDefinition { + #[serde(rename = "collections")] + pub collections: Vec, + #[serde(rename = "description")] + pub description: String, + #[serde(rename = "id")] + pub id: uuid::Uuid, + #[serde(rename = "name")] + pub name: String, + #[serde(rename = "priority", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")] + pub priority: Option>, + #[serde(rename = "type")] + pub r#type: Type, +} + +impl DatasetLayerListingProviderDefinition { + pub fn new(collections: Vec, description: String, id: uuid::Uuid, name: String, r#type: Type) -> DatasetLayerListingProviderDefinition { + DatasetLayerListingProviderDefinition { + collections, + description, + id, + name, + priority: None, + r#type, + } + } +} +/// +#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)] +pub enum Type { + #[serde(rename = "DatasetLayerListing")] + DatasetLayerListing, +} + +impl Default for Type { + fn default() -> Type { + Self::DatasetLayerListing + } +} + diff --git a/rust/src/models/dataset_listing.rs b/rust/src/models/dataset_listing.rs new file mode 100644 index 00000000..5d6c702a --- /dev/null +++ b/rust/src/models/dataset_listing.rs @@ -0,0 +1,48 @@ +/* + * Geo Engine API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct DatasetListing { + #[serde(rename = "description")] + pub description: String, + #[serde(rename = "displayName")] + pub display_name: String, + #[serde(rename = "id")] + pub id: uuid::Uuid, + #[serde(rename = "name")] + pub name: String, + #[serde(rename = "resultDescriptor")] + pub result_descriptor: Box, + #[serde(rename = "sourceOperator")] + pub source_operator: String, + #[serde(rename = "symbology", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")] + pub symbology: Option>>, + #[serde(rename = "tags")] + pub tags: Vec, +} + +impl DatasetListing { + pub fn new(description: String, display_name: String, id: uuid::Uuid, name: String, result_descriptor: models::TypedResultDescriptor, source_operator: String, tags: Vec) -> DatasetListing { + DatasetListing { + description, + display_name, + id, + name, + result_descriptor: Box::new(result_descriptor), + source_operator, + symbology: None, + tags, + } + } +} + diff --git a/rust/src/models/dataset_name_response.rs b/rust/src/models/dataset_name_response.rs new file mode 100644 index 00000000..b8ea70d2 --- /dev/null +++ b/rust/src/models/dataset_name_response.rs @@ -0,0 +1,27 @@ +/* + * Geo Engine API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct DatasetNameResponse { + #[serde(rename = "datasetName")] + pub dataset_name: String, +} + +impl DatasetNameResponse { + pub fn new(dataset_name: String) -> DatasetNameResponse { + DatasetNameResponse { + dataset_name, + } + } +} + diff --git a/rust/src/models/dataset_resource.rs b/rust/src/models/dataset_resource.rs new file mode 100644 index 00000000..0e98e539 --- /dev/null +++ b/rust/src/models/dataset_resource.rs @@ -0,0 +1,42 @@ +/* + * Geo Engine API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct DatasetResource { + #[serde(rename = "id")] + pub id: String, + #[serde(rename = "type")] + pub r#type: Type, +} + +impl DatasetResource { + pub fn new(id: String, r#type: Type) -> DatasetResource { + DatasetResource { + id, + r#type, + } + } +} +/// +#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)] +pub enum Type { + #[serde(rename = "dataset")] + Dataset, +} + +impl Default for Type { + fn default() -> Type { + Self::Dataset + } +} + diff --git a/rust/src/models/default.rs b/rust/src/models/default.rs new file mode 100644 index 00000000..6abd0133 --- /dev/null +++ b/rust/src/models/default.rs @@ -0,0 +1,39 @@ +/* + * Geo Engine API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct Default { + #[serde(rename = "type")] + pub r#type: Type, +} + +impl Default { + pub fn new(r#type: Type) -> Default { + Default { + r#type, + } + } +} +/// +#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)] +pub enum Type { + #[serde(rename = "default")] + Default, +} + +impl std::default::Default for Type { + fn default() -> Type { + Self::Default + } +} + diff --git a/rust/src/models/derived_color.rs b/rust/src/models/derived_color.rs new file mode 100644 index 00000000..5537e1ce --- /dev/null +++ b/rust/src/models/derived_color.rs @@ -0,0 +1,45 @@ +/* + * Geo Engine API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct DerivedColor { + #[serde(rename = "attribute")] + pub attribute: String, + #[serde(rename = "colorizer")] + pub colorizer: Box, + #[serde(rename = "type")] + pub r#type: Type, +} + +impl DerivedColor { + pub fn new(attribute: String, colorizer: models::Colorizer, r#type: Type) -> DerivedColor { + DerivedColor { + attribute, + colorizer: Box::new(colorizer), + r#type, + } + } +} +/// +#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)] +pub enum Type { + #[serde(rename = "derived")] + Derived, +} + +impl Default for Type { + fn default() -> Type { + Self::Derived + } +} + diff --git a/rust/src/models/derived_number.rs b/rust/src/models/derived_number.rs new file mode 100644 index 00000000..83b8c704 --- /dev/null +++ b/rust/src/models/derived_number.rs @@ -0,0 +1,48 @@ +/* + * Geo Engine API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct DerivedNumber { + #[serde(rename = "attribute")] + pub attribute: String, + #[serde(rename = "defaultValue")] + pub default_value: f64, + #[serde(rename = "factor")] + pub factor: f64, + #[serde(rename = "type")] + pub r#type: Type, +} + +impl DerivedNumber { + pub fn new(attribute: String, default_value: f64, factor: f64, r#type: Type) -> DerivedNumber { + DerivedNumber { + attribute, + default_value, + factor, + r#type, + } + } +} +/// +#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)] +pub enum Type { + #[serde(rename = "derived")] + Derived, +} + +impl Default for Type { + fn default() -> Type { + Self::Derived + } +} + diff --git a/rust/src/models/ebv_portal_data_provider_definition.rs b/rust/src/models/ebv_portal_data_provider_definition.rs new file mode 100644 index 00000000..f87b784b --- /dev/null +++ b/rust/src/models/ebv_portal_data_provider_definition.rs @@ -0,0 +1,62 @@ +/* + * Geo Engine API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct EbvPortalDataProviderDefinition { + #[serde(rename = "baseUrl")] + pub base_url: String, + #[serde(rename = "cacheTtl", skip_serializing_if = "Option::is_none")] + pub cache_ttl: Option, + /// Path were the `NetCDF` data can be found + #[serde(rename = "data")] + pub data: String, + #[serde(rename = "description")] + pub description: String, + #[serde(rename = "name")] + pub name: String, + /// Path were overview files are stored + #[serde(rename = "overviews")] + pub overviews: String, + #[serde(rename = "priority", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")] + pub priority: Option>, + #[serde(rename = "type")] + pub r#type: Type, +} + +impl EbvPortalDataProviderDefinition { + pub fn new(base_url: String, data: String, description: String, name: String, overviews: String, r#type: Type) -> EbvPortalDataProviderDefinition { + EbvPortalDataProviderDefinition { + base_url, + cache_ttl: None, + data, + description, + name, + overviews, + priority: None, + r#type, + } + } +} +/// +#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)] +pub enum Type { + #[serde(rename = "EbvPortal")] + EbvPortal, +} + +impl Default for Type { + fn default() -> Type { + Self::EbvPortal + } +} + diff --git a/rust/src/models/edr_data_provider_definition.rs b/rust/src/models/edr_data_provider_definition.rs new file mode 100644 index 00000000..49046aa6 --- /dev/null +++ b/rust/src/models/edr_data_provider_definition.rs @@ -0,0 +1,67 @@ +/* + * Geo Engine API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct EdrDataProviderDefinition { + #[serde(rename = "baseUrl")] + pub base_url: String, + #[serde(rename = "cacheTtl", skip_serializing_if = "Option::is_none")] + pub cache_ttl: Option, + #[serde(rename = "description")] + pub description: String, + /// List of vertical reference systems with a discrete scale + #[serde(rename = "discreteVrs", skip_serializing_if = "Option::is_none")] + pub discrete_vrs: Option>, + #[serde(rename = "id")] + pub id: uuid::Uuid, + #[serde(rename = "name")] + pub name: String, + #[serde(rename = "priority", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")] + pub priority: Option>, + #[serde(rename = "provenance", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")] + pub provenance: Option>>, + #[serde(rename = "type")] + pub r#type: Type, + #[serde(rename = "vectorSpec", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")] + pub vector_spec: Option>>, +} + +impl EdrDataProviderDefinition { + pub fn new(base_url: String, description: String, id: uuid::Uuid, name: String, r#type: Type) -> EdrDataProviderDefinition { + EdrDataProviderDefinition { + base_url, + cache_ttl: None, + description, + discrete_vrs: None, + id, + name, + priority: None, + provenance: None, + r#type, + vector_spec: None, + } + } +} +/// +#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)] +pub enum Type { + #[serde(rename = "Edr")] + Edr, +} + +impl Default for Type { + fn default() -> Type { + Self::Edr + } +} + diff --git a/rust/src/models/edr_vector_spec.rs b/rust/src/models/edr_vector_spec.rs new file mode 100644 index 00000000..2ac542b7 --- /dev/null +++ b/rust/src/models/edr_vector_spec.rs @@ -0,0 +1,33 @@ +/* + * Geo Engine API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct EdrVectorSpec { + #[serde(rename = "time")] + pub time: String, + #[serde(rename = "x")] + pub x: String, + #[serde(rename = "y", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")] + pub y: Option>, +} + +impl EdrVectorSpec { + pub fn new(time: String, x: String) -> EdrVectorSpec { + EdrVectorSpec { + time, + x, + y: None, + } + } +} + diff --git a/rust/src/models/error_response.rs b/rust/src/models/error_response.rs new file mode 100644 index 00000000..b4f66f3f --- /dev/null +++ b/rust/src/models/error_response.rs @@ -0,0 +1,30 @@ +/* + * Geo Engine API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct ErrorResponse { + #[serde(rename = "error")] + pub error: String, + #[serde(rename = "message")] + pub message: String, +} + +impl ErrorResponse { + pub fn new(error: String, message: String) -> ErrorResponse { + ErrorResponse { + error, + message, + } + } +} + diff --git a/rust/src/models/expression.rs b/rust/src/models/expression.rs new file mode 100644 index 00000000..a44611c4 --- /dev/null +++ b/rust/src/models/expression.rs @@ -0,0 +1,47 @@ +/* + * Geo Engine API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// Expression : The `Expression` operator performs a pixel-wise mathematical expression on one or more bands of a raster source. The expression is specified as a user-defined script in a very simple language. The output is a raster time series with the result of the expression and with time intervals that are the same as for the inputs. Users can specify an output data type. Internally, the expression is evaluated using floating-point numbers. An example usage scenario is to calculate NDVI for a red and a near-infrared raster channel. The expression uses a raster source with two bands, referred to as A and B, and calculates the formula `(A - B) / (A + B)`. When the temporal resolution is months, our output NDVI will also be a monthly time series. ## Types The following describes the types used in the parameters. ### Expression Expressions are simple scripts to perform pixel-wise computations. One can refer to the raster inputs as `A` for the first raster band, `B` for the second, and so on. Furthermore, expressions can check with `A IS NODATA`, `B IS NODATA`, etc. for NO DATA values. This is important if `mapNoData` is set to true. Otherwise, NO DATA values are mapped automatically to the output NO DATA value. Finally, the value `NODATA` can be used to output NO DATA. Users can think of this implicit function signature for, e.g., two inputs: ```Rust fn (A: f64, B: f64) -> f64 ``` As a start, expressions contain algebraic operations and mathematical functions. ```Rust (A + B) / 2 ``` In addition, branches can be used to check for conditions. ```Rust if A IS NODATA { B } else { A } ``` Function calls can be used to access utility functions. ```Rust max(A, 0) ``` Currently, the following functions are available: - `abs(a)`: absolute value - `min(a, b)`, `min(a, b, c)`: minimum value - `max(a, b)`, `max(a, b, c)`: maximum value - `sqrt(a)`: square root - `ln(a)`: natural logarithm - `log10(a)`: base 10 logarithm - `cos(a)`, `sin(a)`, `tan(a)`, `acos(a)`, `asin(a)`, `atan(a)`: trigonometric functions - `pi()`, `e()`: mathematical constants - `round(a)`, `ceil(a)`, `floor(a)`: rounding functions - `mod(a, b)`: division remainder - `to_degrees(a)`, `to_radians(a)`: conversion to degrees or radians To generate more complex expressions, it is possible to have variable assignments. ```Rust let mean = (A + B) / 2; let coefficient = 0.357; mean * coefficient ``` Note, that all assignments are separated by semicolons. However, the last expression must be without a semicolon. +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct Expression { + #[serde(rename = "params")] + pub params: Box, + #[serde(rename = "sources")] + pub sources: Box, + #[serde(rename = "type")] + pub r#type: Type, +} + +impl Expression { + /// The `Expression` operator performs a pixel-wise mathematical expression on one or more bands of a raster source. The expression is specified as a user-defined script in a very simple language. The output is a raster time series with the result of the expression and with time intervals that are the same as for the inputs. Users can specify an output data type. Internally, the expression is evaluated using floating-point numbers. An example usage scenario is to calculate NDVI for a red and a near-infrared raster channel. The expression uses a raster source with two bands, referred to as A and B, and calculates the formula `(A - B) / (A + B)`. When the temporal resolution is months, our output NDVI will also be a monthly time series. ## Types The following describes the types used in the parameters. ### Expression Expressions are simple scripts to perform pixel-wise computations. One can refer to the raster inputs as `A` for the first raster band, `B` for the second, and so on. Furthermore, expressions can check with `A IS NODATA`, `B IS NODATA`, etc. for NO DATA values. This is important if `mapNoData` is set to true. Otherwise, NO DATA values are mapped automatically to the output NO DATA value. Finally, the value `NODATA` can be used to output NO DATA. Users can think of this implicit function signature for, e.g., two inputs: ```Rust fn (A: f64, B: f64) -> f64 ``` As a start, expressions contain algebraic operations and mathematical functions. ```Rust (A + B) / 2 ``` In addition, branches can be used to check for conditions. ```Rust if A IS NODATA { B } else { A } ``` Function calls can be used to access utility functions. ```Rust max(A, 0) ``` Currently, the following functions are available: - `abs(a)`: absolute value - `min(a, b)`, `min(a, b, c)`: minimum value - `max(a, b)`, `max(a, b, c)`: maximum value - `sqrt(a)`: square root - `ln(a)`: natural logarithm - `log10(a)`: base 10 logarithm - `cos(a)`, `sin(a)`, `tan(a)`, `acos(a)`, `asin(a)`, `atan(a)`: trigonometric functions - `pi()`, `e()`: mathematical constants - `round(a)`, `ceil(a)`, `floor(a)`: rounding functions - `mod(a, b)`: division remainder - `to_degrees(a)`, `to_radians(a)`: conversion to degrees or radians To generate more complex expressions, it is possible to have variable assignments. ```Rust let mean = (A + B) / 2; let coefficient = 0.357; mean * coefficient ``` Note, that all assignments are separated by semicolons. However, the last expression must be without a semicolon. + pub fn new(params: models::ExpressionParameters, sources: models::SingleRasterSource, r#type: Type) -> Expression { + Expression { + params: Box::new(params), + sources: Box::new(sources), + r#type, + } + } +} +/// +#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)] +pub enum Type { + #[serde(rename = "Expression")] + Expression, +} + +impl Default for Type { + fn default() -> Type { + Self::Expression + } +} + diff --git a/rust/src/models/expression_parameters.rs b/rust/src/models/expression_parameters.rs new file mode 100644 index 00000000..8c3d65ce --- /dev/null +++ b/rust/src/models/expression_parameters.rs @@ -0,0 +1,42 @@ +/* + * Geo Engine API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// ExpressionParameters : ## Types The following describes the types used in the parameters. +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct ExpressionParameters { + /// Expression script Example: `\"(A - B) / (A + B)\"` + #[serde(rename = "expression")] + pub expression: String, + /// Should NO DATA values be mapped with the `expression`? Otherwise, they are mapped automatically to NO DATA. + #[serde(rename = "mapNoData")] + pub map_no_data: bool, + /// Description about the output + #[serde(rename = "outputBand", skip_serializing_if = "Option::is_none")] + pub output_band: Option>, + /// A raster data type for the output + #[serde(rename = "outputType")] + pub output_type: models::RasterDataType, +} + +impl ExpressionParameters { + /// ## Types The following describes the types used in the parameters. + pub fn new(expression: String, map_no_data: bool, output_type: models::RasterDataType) -> ExpressionParameters { + ExpressionParameters { + expression, + map_no_data, + output_band: None, + output_type, + } + } +} + diff --git a/rust/src/models/external_data_id.rs b/rust/src/models/external_data_id.rs new file mode 100644 index 00000000..60da43f3 --- /dev/null +++ b/rust/src/models/external_data_id.rs @@ -0,0 +1,45 @@ +/* + * Geo Engine API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct ExternalDataId { + #[serde(rename = "layerId")] + pub layer_id: String, + #[serde(rename = "providerId")] + pub provider_id: uuid::Uuid, + #[serde(rename = "type")] + pub r#type: Type, +} + +impl ExternalDataId { + pub fn new(layer_id: String, provider_id: uuid::Uuid, r#type: Type) -> ExternalDataId { + ExternalDataId { + layer_id, + provider_id, + r#type, + } + } +} +/// +#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)] +pub enum Type { + #[serde(rename = "external")] + External, +} + +impl Default for Type { + fn default() -> Type { + Self::External + } +} + diff --git a/rust/src/models/feature_aggregation_method.rs b/rust/src/models/feature_aggregation_method.rs new file mode 100644 index 00000000..b04a0f0e --- /dev/null +++ b/rust/src/models/feature_aggregation_method.rs @@ -0,0 +1,38 @@ +/* + * Geo Engine API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// +#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)] +pub enum FeatureAggregationMethod { + #[serde(rename = "first")] + First, + #[serde(rename = "mean")] + Mean, + +} + +impl std::fmt::Display for FeatureAggregationMethod { + fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result { + match self { + Self::First => write!(f, "first"), + Self::Mean => write!(f, "mean"), + } + } +} + +impl Default for FeatureAggregationMethod { + fn default() -> FeatureAggregationMethod { + Self::First + } +} + diff --git a/rust/src/models/feature_data_type.rs b/rust/src/models/feature_data_type.rs new file mode 100644 index 00000000..53e94ab9 --- /dev/null +++ b/rust/src/models/feature_data_type.rs @@ -0,0 +1,50 @@ +/* + * Geo Engine API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// +#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)] +pub enum FeatureDataType { + #[serde(rename = "category")] + Category, + #[serde(rename = "int")] + Int, + #[serde(rename = "float")] + Float, + #[serde(rename = "text")] + Text, + #[serde(rename = "bool")] + Bool, + #[serde(rename = "dateTime")] + DateTime, + +} + +impl std::fmt::Display for FeatureDataType { + fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result { + match self { + Self::Category => write!(f, "category"), + Self::Int => write!(f, "int"), + Self::Float => write!(f, "float"), + Self::Text => write!(f, "text"), + Self::Bool => write!(f, "bool"), + Self::DateTime => write!(f, "dateTime"), + } + } +} + +impl Default for FeatureDataType { + fn default() -> FeatureDataType { + Self::Category + } +} + diff --git a/rust/src/models/file_not_found_handling.rs b/rust/src/models/file_not_found_handling.rs new file mode 100644 index 00000000..f06ef954 --- /dev/null +++ b/rust/src/models/file_not_found_handling.rs @@ -0,0 +1,38 @@ +/* + * Geo Engine API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// +#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)] +pub enum FileNotFoundHandling { + #[serde(rename = "NoData")] + NoData, + #[serde(rename = "Error")] + Error, + +} + +impl std::fmt::Display for FileNotFoundHandling { + fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result { + match self { + Self::NoData => write!(f, "NoData"), + Self::Error => write!(f, "Error"), + } + } +} + +impl Default for FileNotFoundHandling { + fn default() -> FileNotFoundHandling { + Self::NoData + } +} + diff --git a/rust/src/models/format_specifics.rs b/rust/src/models/format_specifics.rs new file mode 100644 index 00000000..61efcd33 --- /dev/null +++ b/rust/src/models/format_specifics.rs @@ -0,0 +1,27 @@ +/* + * Geo Engine API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct FormatSpecifics { + #[serde(rename = "csv")] + pub csv: Box, +} + +impl FormatSpecifics { + pub fn new(csv: models::FormatSpecificsCsv) -> FormatSpecifics { + FormatSpecifics { + csv: Box::new(csv), + } + } +} + diff --git a/rust/src/models/format_specifics_csv.rs b/rust/src/models/format_specifics_csv.rs new file mode 100644 index 00000000..dfc54a79 --- /dev/null +++ b/rust/src/models/format_specifics_csv.rs @@ -0,0 +1,27 @@ +/* + * Geo Engine API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct FormatSpecificsCsv { + #[serde(rename = "header")] + pub header: models::CsvHeader, +} + +impl FormatSpecificsCsv { + pub fn new(header: models::CsvHeader) -> FormatSpecificsCsv { + FormatSpecificsCsv { + header, + } + } +} + diff --git a/rust/src/models/gbif_data_provider_definition.rs b/rust/src/models/gbif_data_provider_definition.rs new file mode 100644 index 00000000..63a78904 --- /dev/null +++ b/rust/src/models/gbif_data_provider_definition.rs @@ -0,0 +1,60 @@ +/* + * Geo Engine API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct GbifDataProviderDefinition { + #[serde(rename = "autocompleteTimeout")] + pub autocomplete_timeout: i32, + #[serde(rename = "cacheTtl", skip_serializing_if = "Option::is_none")] + pub cache_ttl: Option, + #[serde(rename = "columns")] + pub columns: Vec, + #[serde(rename = "dbConfig")] + pub db_config: Box, + #[serde(rename = "description")] + pub description: String, + #[serde(rename = "name")] + pub name: String, + #[serde(rename = "priority", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")] + pub priority: Option>, + #[serde(rename = "type")] + pub r#type: Type, +} + +impl GbifDataProviderDefinition { + pub fn new(autocomplete_timeout: i32, columns: Vec, db_config: models::DatabaseConnectionConfig, description: String, name: String, r#type: Type) -> GbifDataProviderDefinition { + GbifDataProviderDefinition { + autocomplete_timeout, + cache_ttl: None, + columns, + db_config: Box::new(db_config), + description, + name, + priority: None, + r#type, + } + } +} +/// +#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)] +pub enum Type { + #[serde(rename = "Gbif")] + Gbif, +} + +impl Default for Type { + fn default() -> Type { + Self::Gbif + } +} + diff --git a/rust/src/models/gdal_dataset_parameters.rs b/rust/src/models/gdal_dataset_parameters.rs new file mode 100644 index 00000000..9f2b3504 --- /dev/null +++ b/rust/src/models/gdal_dataset_parameters.rs @@ -0,0 +1,59 @@ +/* + * Geo Engine API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// GdalDatasetParameters : Parameters for loading data using Gdal +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct GdalDatasetParameters { + #[serde(rename = "allowAlphabandAsMask", skip_serializing_if = "Option::is_none")] + pub allow_alphaband_as_mask: Option, + #[serde(rename = "fileNotFoundHandling")] + pub file_not_found_handling: models::FileNotFoundHandling, + #[serde(rename = "filePath")] + pub file_path: String, + #[serde(rename = "gdalConfigOptions", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")] + pub gdal_config_options: Option>>>, + #[serde(rename = "gdalOpenOptions", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")] + pub gdal_open_options: Option>>, + #[serde(rename = "geoTransform")] + pub geo_transform: Box, + #[serde(rename = "height")] + pub height: i32, + #[serde(rename = "noDataValue", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")] + pub no_data_value: Option>, + #[serde(rename = "propertiesMapping", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")] + pub properties_mapping: Option>>, + #[serde(rename = "rasterbandChannel")] + pub rasterband_channel: i32, + #[serde(rename = "width")] + pub width: i32, +} + +impl GdalDatasetParameters { + /// Parameters for loading data using Gdal + pub fn new(file_not_found_handling: models::FileNotFoundHandling, file_path: String, geo_transform: models::GeoTransform, height: i32, rasterband_channel: i32, width: i32) -> GdalDatasetParameters { + GdalDatasetParameters { + allow_alphaband_as_mask: None, + file_not_found_handling, + file_path, + gdal_config_options: None, + gdal_open_options: None, + geo_transform: Box::new(geo_transform), + height, + no_data_value: None, + properties_mapping: None, + rasterband_channel, + width, + } + } +} + diff --git a/rust/src/models/gdal_loading_info_temporal_slice.rs b/rust/src/models/gdal_loading_info_temporal_slice.rs new file mode 100644 index 00000000..3a530258 --- /dev/null +++ b/rust/src/models/gdal_loading_info_temporal_slice.rs @@ -0,0 +1,35 @@ +/* + * Geo Engine API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// GdalLoadingInfoTemporalSlice : one temporal slice of the dataset that requires reading from exactly one Gdal dataset +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct GdalLoadingInfoTemporalSlice { + #[serde(rename = "cacheTtl", skip_serializing_if = "Option::is_none")] + pub cache_ttl: Option, + #[serde(rename = "params", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")] + pub params: Option>>, + #[serde(rename = "time")] + pub time: Box, +} + +impl GdalLoadingInfoTemporalSlice { + /// one temporal slice of the dataset that requires reading from exactly one Gdal dataset + pub fn new(time: models::TimeInterval) -> GdalLoadingInfoTemporalSlice { + GdalLoadingInfoTemporalSlice { + cache_ttl: None, + params: None, + time: Box::new(time), + } + } +} + diff --git a/rust/src/models/gdal_meta_data_list.rs b/rust/src/models/gdal_meta_data_list.rs new file mode 100644 index 00000000..fe3b948e --- /dev/null +++ b/rust/src/models/gdal_meta_data_list.rs @@ -0,0 +1,45 @@ +/* + * Geo Engine API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct GdalMetaDataList { + #[serde(rename = "params")] + pub params: Vec, + #[serde(rename = "resultDescriptor")] + pub result_descriptor: Box, + #[serde(rename = "type")] + pub r#type: Type, +} + +impl GdalMetaDataList { + pub fn new(params: Vec, result_descriptor: models::RasterResultDescriptor, r#type: Type) -> GdalMetaDataList { + GdalMetaDataList { + params, + result_descriptor: Box::new(result_descriptor), + r#type, + } + } +} +/// +#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)] +pub enum Type { + #[serde(rename = "GdalMetaDataList")] + GdalMetaDataList, +} + +impl Default for Type { + fn default() -> Type { + Self::GdalMetaDataList + } +} + diff --git a/rust/src/models/gdal_meta_data_regular.rs b/rust/src/models/gdal_meta_data_regular.rs new file mode 100644 index 00000000..97e4b6aa --- /dev/null +++ b/rust/src/models/gdal_meta_data_regular.rs @@ -0,0 +1,57 @@ +/* + * Geo Engine API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct GdalMetaDataRegular { + #[serde(rename = "cacheTtl", skip_serializing_if = "Option::is_none")] + pub cache_ttl: Option, + #[serde(rename = "dataTime")] + pub data_time: Box, + #[serde(rename = "params")] + pub params: Box, + #[serde(rename = "resultDescriptor")] + pub result_descriptor: Box, + #[serde(rename = "step")] + pub step: Box, + #[serde(rename = "timePlaceholders")] + pub time_placeholders: std::collections::HashMap, + #[serde(rename = "type")] + pub r#type: Type, +} + +impl GdalMetaDataRegular { + pub fn new(data_time: models::TimeInterval, params: models::GdalDatasetParameters, result_descriptor: models::RasterResultDescriptor, step: models::TimeStep, time_placeholders: std::collections::HashMap, r#type: Type) -> GdalMetaDataRegular { + GdalMetaDataRegular { + cache_ttl: None, + data_time: Box::new(data_time), + params: Box::new(params), + result_descriptor: Box::new(result_descriptor), + step: Box::new(step), + time_placeholders, + r#type, + } + } +} +/// +#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)] +pub enum Type { + #[serde(rename = "GdalMetaDataRegular")] + GdalMetaDataRegular, +} + +impl Default for Type { + fn default() -> Type { + Self::GdalMetaDataRegular + } +} + diff --git a/rust/src/models/gdal_meta_data_static.rs b/rust/src/models/gdal_meta_data_static.rs new file mode 100644 index 00000000..0cb98bd4 --- /dev/null +++ b/rust/src/models/gdal_meta_data_static.rs @@ -0,0 +1,51 @@ +/* + * Geo Engine API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct GdalMetaDataStatic { + #[serde(rename = "cacheTtl", skip_serializing_if = "Option::is_none")] + pub cache_ttl: Option, + #[serde(rename = "params")] + pub params: Box, + #[serde(rename = "resultDescriptor")] + pub result_descriptor: Box, + #[serde(rename = "time", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")] + pub time: Option>>, + #[serde(rename = "type")] + pub r#type: Type, +} + +impl GdalMetaDataStatic { + pub fn new(params: models::GdalDatasetParameters, result_descriptor: models::RasterResultDescriptor, r#type: Type) -> GdalMetaDataStatic { + GdalMetaDataStatic { + cache_ttl: None, + params: Box::new(params), + result_descriptor: Box::new(result_descriptor), + time: None, + r#type, + } + } +} +/// +#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)] +pub enum Type { + #[serde(rename = "GdalStatic")] + GdalStatic, +} + +impl Default for Type { + fn default() -> Type { + Self::GdalStatic + } +} + diff --git a/rust/src/models/gdal_metadata_mapping.rs b/rust/src/models/gdal_metadata_mapping.rs new file mode 100644 index 00000000..acc126e0 --- /dev/null +++ b/rust/src/models/gdal_metadata_mapping.rs @@ -0,0 +1,33 @@ +/* + * Geo Engine API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct GdalMetadataMapping { + #[serde(rename = "source_key")] + pub source_key: Box, + #[serde(rename = "target_key")] + pub target_key: Box, + #[serde(rename = "target_type")] + pub target_type: models::RasterPropertiesEntryType, +} + +impl GdalMetadataMapping { + pub fn new(source_key: models::RasterPropertiesKey, target_key: models::RasterPropertiesKey, target_type: models::RasterPropertiesEntryType) -> GdalMetadataMapping { + GdalMetadataMapping { + source_key: Box::new(source_key), + target_key: Box::new(target_key), + target_type, + } + } +} + diff --git a/rust/src/models/gdal_metadata_net_cdf_cf.rs b/rust/src/models/gdal_metadata_net_cdf_cf.rs new file mode 100644 index 00000000..93ffd89a --- /dev/null +++ b/rust/src/models/gdal_metadata_net_cdf_cf.rs @@ -0,0 +1,64 @@ +/* + * Geo Engine API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// GdalMetadataNetCdfCf : Meta data for 4D `NetCDF` CF datasets +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct GdalMetadataNetCdfCf { + /// A band offset specifies the first band index to use for the first point in time. All other time steps are added to this offset. + #[serde(rename = "bandOffset")] + pub band_offset: i32, + #[serde(rename = "cacheTtl", skip_serializing_if = "Option::is_none")] + pub cache_ttl: Option, + /// We use the end to specify the last, non-inclusive valid time point. Queries behind this point return no data. TODO: Alternatively, we could think about using the number of possible time steps in the future. + #[serde(rename = "end")] + pub end: i64, + #[serde(rename = "params")] + pub params: Box, + #[serde(rename = "resultDescriptor")] + pub result_descriptor: Box, + #[serde(rename = "start")] + pub start: i64, + #[serde(rename = "step")] + pub step: Box, + #[serde(rename = "type")] + pub r#type: Type, +} + +impl GdalMetadataNetCdfCf { + /// Meta data for 4D `NetCDF` CF datasets + pub fn new(band_offset: i32, end: i64, params: models::GdalDatasetParameters, result_descriptor: models::RasterResultDescriptor, start: i64, step: models::TimeStep, r#type: Type) -> GdalMetadataNetCdfCf { + GdalMetadataNetCdfCf { + band_offset, + cache_ttl: None, + end, + params: Box::new(params), + result_descriptor: Box::new(result_descriptor), + start, + step: Box::new(step), + r#type, + } + } +} +/// +#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)] +pub enum Type { + #[serde(rename = "GdalMetaDataNetCdfCf")] + GdalMetaDataNetCdfCf, +} + +impl Default for Type { + fn default() -> Type { + Self::GdalMetaDataNetCdfCf + } +} + diff --git a/rust/src/models/gdal_multi_band.rs b/rust/src/models/gdal_multi_band.rs new file mode 100644 index 00000000..bb441213 --- /dev/null +++ b/rust/src/models/gdal_multi_band.rs @@ -0,0 +1,42 @@ +/* + * Geo Engine API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct GdalMultiBand { + #[serde(rename = "resultDescriptor")] + pub result_descriptor: Box, + #[serde(rename = "type")] + pub r#type: Type, +} + +impl GdalMultiBand { + pub fn new(result_descriptor: models::RasterResultDescriptor, r#type: Type) -> GdalMultiBand { + GdalMultiBand { + result_descriptor: Box::new(result_descriptor), + r#type, + } + } +} +/// +#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)] +pub enum Type { + #[serde(rename = "GdalMultiBand")] + GdalMultiBand, +} + +impl Default for Type { + fn default() -> Type { + Self::GdalMultiBand + } +} + diff --git a/rust/src/models/gdal_source.rs b/rust/src/models/gdal_source.rs new file mode 100644 index 00000000..18760f7b --- /dev/null +++ b/rust/src/models/gdal_source.rs @@ -0,0 +1,44 @@ +/* + * Geo Engine API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// GdalSource : The [`GdalSource`] is a source operator that reads raster data using GDAL. The counterpart for vector data is the [`OgrSource`]. ## Errors If the given dataset does not exist or is not readable, an error is thrown. +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct GdalSource { + #[serde(rename = "params")] + pub params: Box, + #[serde(rename = "type")] + pub r#type: Type, +} + +impl GdalSource { + /// The [`GdalSource`] is a source operator that reads raster data using GDAL. The counterpart for vector data is the [`OgrSource`]. ## Errors If the given dataset does not exist or is not readable, an error is thrown. + pub fn new(params: models::GdalSourceParameters, r#type: Type) -> GdalSource { + GdalSource { + params: Box::new(params), + r#type, + } + } +} +/// +#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)] +pub enum Type { + #[serde(rename = "GdalSource")] + GdalSource, +} + +impl Default for Type { + fn default() -> Type { + Self::GdalSource + } +} + diff --git a/rust/src/models/gdal_source_parameters.rs b/rust/src/models/gdal_source_parameters.rs new file mode 100644 index 00000000..66e512da --- /dev/null +++ b/rust/src/models/gdal_source_parameters.rs @@ -0,0 +1,34 @@ +/* + * Geo Engine API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// GdalSourceParameters : Parameters for the [`GdalSource`] operator. +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct GdalSourceParameters { + /// Dataset name or identifier to be loaded. + #[serde(rename = "data")] + pub data: String, + /// *Optional*: overview level to use. If not provided, the data source will determine the resolution, i.e., uses its native resolution. + #[serde(rename = "overviewLevel", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")] + pub overview_level: Option>, +} + +impl GdalSourceParameters { + /// Parameters for the [`GdalSource`] operator. + pub fn new(data: String) -> GdalSourceParameters { + GdalSourceParameters { + data, + overview_level: None, + } + } +} + diff --git a/rust/src/models/gdal_source_time_placeholder.rs b/rust/src/models/gdal_source_time_placeholder.rs new file mode 100644 index 00000000..69f48f61 --- /dev/null +++ b/rust/src/models/gdal_source_time_placeholder.rs @@ -0,0 +1,30 @@ +/* + * Geo Engine API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct GdalSourceTimePlaceholder { + #[serde(rename = "format")] + pub format: String, + #[serde(rename = "reference")] + pub reference: models::TimeReference, +} + +impl GdalSourceTimePlaceholder { + pub fn new(format: String, reference: models::TimeReference) -> GdalSourceTimePlaceholder { + GdalSourceTimePlaceholder { + format, + reference, + } + } +} + diff --git a/rust/src/models/geo_json.rs b/rust/src/models/geo_json.rs new file mode 100644 index 00000000..50e0d44b --- /dev/null +++ b/rust/src/models/geo_json.rs @@ -0,0 +1,30 @@ +/* + * Geo Engine API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct GeoJson { + #[serde(rename = "features")] + pub features: Vec, + #[serde(rename = "type")] + pub r#type: models::CollectionType, +} + +impl GeoJson { + pub fn new(features: Vec, r#type: models::CollectionType) -> GeoJson { + GeoJson { + features, + r#type, + } + } +} + diff --git a/rust/src/models/geo_transform.rs b/rust/src/models/geo_transform.rs new file mode 100644 index 00000000..25702ff2 --- /dev/null +++ b/rust/src/models/geo_transform.rs @@ -0,0 +1,33 @@ +/* + * Geo Engine API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct GeoTransform { + #[serde(rename = "originCoordinate")] + pub origin_coordinate: Box, + #[serde(rename = "xPixelSize")] + pub x_pixel_size: f64, + #[serde(rename = "yPixelSize")] + pub y_pixel_size: f64, +} + +impl GeoTransform { + pub fn new(origin_coordinate: models::Coordinate2D, x_pixel_size: f64, y_pixel_size: f64) -> GeoTransform { + GeoTransform { + origin_coordinate: Box::new(origin_coordinate), + x_pixel_size, + y_pixel_size, + } + } +} + diff --git a/rust/src/models/get_coverage_format.rs b/rust/src/models/get_coverage_format.rs new file mode 100644 index 00000000..52a8c209 --- /dev/null +++ b/rust/src/models/get_coverage_format.rs @@ -0,0 +1,35 @@ +/* + * Geo Engine API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// +#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)] +pub enum GetCoverageFormat { + #[serde(rename = "image/tiff")] + ImageSlashTiff, + +} + +impl std::fmt::Display for GetCoverageFormat { + fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result { + match self { + Self::ImageSlashTiff => write!(f, "image/tiff"), + } + } +} + +impl Default for GetCoverageFormat { + fn default() -> GetCoverageFormat { + Self::ImageSlashTiff + } +} + diff --git a/rust/src/models/get_map_exception_format.rs b/rust/src/models/get_map_exception_format.rs new file mode 100644 index 00000000..10357620 --- /dev/null +++ b/rust/src/models/get_map_exception_format.rs @@ -0,0 +1,38 @@ +/* + * Geo Engine API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// +#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)] +pub enum GetMapExceptionFormat { + #[serde(rename = "XML")] + Xml, + #[serde(rename = "JSON")] + Json, + +} + +impl std::fmt::Display for GetMapExceptionFormat { + fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result { + match self { + Self::Xml => write!(f, "XML"), + Self::Json => write!(f, "JSON"), + } + } +} + +impl Default for GetMapExceptionFormat { + fn default() -> GetMapExceptionFormat { + Self::Xml + } +} + diff --git a/rust/src/models/gfbio_abcd_data_provider_definition.rs b/rust/src/models/gfbio_abcd_data_provider_definition.rs new file mode 100644 index 00000000..d47ce4da --- /dev/null +++ b/rust/src/models/gfbio_abcd_data_provider_definition.rs @@ -0,0 +1,54 @@ +/* + * Geo Engine API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct GfbioAbcdDataProviderDefinition { + #[serde(rename = "cacheTtl", skip_serializing_if = "Option::is_none")] + pub cache_ttl: Option, + #[serde(rename = "dbConfig")] + pub db_config: Box, + #[serde(rename = "description")] + pub description: String, + #[serde(rename = "name")] + pub name: String, + #[serde(rename = "priority", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")] + pub priority: Option>, + #[serde(rename = "type")] + pub r#type: Type, +} + +impl GfbioAbcdDataProviderDefinition { + pub fn new(db_config: models::DatabaseConnectionConfig, description: String, name: String, r#type: Type) -> GfbioAbcdDataProviderDefinition { + GfbioAbcdDataProviderDefinition { + cache_ttl: None, + db_config: Box::new(db_config), + description, + name, + priority: None, + r#type, + } + } +} +/// +#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)] +pub enum Type { + #[serde(rename = "GfbioAbcd")] + GfbioAbcd, +} + +impl Default for Type { + fn default() -> Type { + Self::GfbioAbcd + } +} + diff --git a/rust/src/models/gfbio_collections_data_provider_definition.rs b/rust/src/models/gfbio_collections_data_provider_definition.rs new file mode 100644 index 00000000..f996b250 --- /dev/null +++ b/rust/src/models/gfbio_collections_data_provider_definition.rs @@ -0,0 +1,63 @@ +/* + * Geo Engine API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct GfbioCollectionsDataProviderDefinition { + #[serde(rename = "abcdDbConfig")] + pub abcd_db_config: Box, + #[serde(rename = "cacheTtl", skip_serializing_if = "Option::is_none")] + pub cache_ttl: Option, + #[serde(rename = "collectionApiAuthToken")] + pub collection_api_auth_token: String, + #[serde(rename = "collectionApiUrl")] + pub collection_api_url: String, + #[serde(rename = "description")] + pub description: String, + #[serde(rename = "name")] + pub name: String, + #[serde(rename = "pangaeaUrl")] + pub pangaea_url: String, + #[serde(rename = "priority", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")] + pub priority: Option>, + #[serde(rename = "type")] + pub r#type: Type, +} + +impl GfbioCollectionsDataProviderDefinition { + pub fn new(abcd_db_config: models::DatabaseConnectionConfig, collection_api_auth_token: String, collection_api_url: String, description: String, name: String, pangaea_url: String, r#type: Type) -> GfbioCollectionsDataProviderDefinition { + GfbioCollectionsDataProviderDefinition { + abcd_db_config: Box::new(abcd_db_config), + cache_ttl: None, + collection_api_auth_token, + collection_api_url, + description, + name, + pangaea_url, + priority: None, + r#type, + } + } +} +/// +#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)] +pub enum Type { + #[serde(rename = "GfbioCollections")] + GfbioCollections, +} + +impl Default for Type { + fn default() -> Type { + Self::GfbioCollections + } +} + diff --git a/rust/src/models/grid_bounding_box2_d.rs b/rust/src/models/grid_bounding_box2_d.rs new file mode 100644 index 00000000..4eaf4912 --- /dev/null +++ b/rust/src/models/grid_bounding_box2_d.rs @@ -0,0 +1,30 @@ +/* + * Geo Engine API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct GridBoundingBox2D { + #[serde(rename = "bottomRightIdx")] + pub bottom_right_idx: Box, + #[serde(rename = "topLeftIdx")] + pub top_left_idx: Box, +} + +impl GridBoundingBox2D { + pub fn new(bottom_right_idx: models::GridIdx2D, top_left_idx: models::GridIdx2D) -> GridBoundingBox2D { + GridBoundingBox2D { + bottom_right_idx: Box::new(bottom_right_idx), + top_left_idx: Box::new(top_left_idx), + } + } +} + diff --git a/rust/src/models/grid_idx2_d.rs b/rust/src/models/grid_idx2_d.rs new file mode 100644 index 00000000..f64f53c0 --- /dev/null +++ b/rust/src/models/grid_idx2_d.rs @@ -0,0 +1,30 @@ +/* + * Geo Engine API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct GridIdx2D { + #[serde(rename = "xIdx")] + pub x_idx: i32, + #[serde(rename = "yIdx")] + pub y_idx: i32, +} + +impl GridIdx2D { + pub fn new(x_idx: i32, y_idx: i32) -> GridIdx2D { + GridIdx2D { + x_idx, + y_idx, + } + } +} + diff --git a/rust/src/models/histogram.rs b/rust/src/models/histogram.rs new file mode 100644 index 00000000..c9c2635d --- /dev/null +++ b/rust/src/models/histogram.rs @@ -0,0 +1,47 @@ +/* + * Geo Engine API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// Histogram : The `Histogram` is a _plot operator_ that computes a histogram plot either over attributes of a vector dataset or values of a raster source. The output is a plot in [Vega-Lite](https://vega.github.io/vega-lite/) specification. For instance, you want to plot the data distribution of numeric attributes of a feature collection. Then you can use a histogram with a suitable number of buckets to visualize and assess this. ## Errors The operator returns an error if the selected column (`columnName`) does not exist or is not numeric. ## Notes If `bounds` or `buckets` are not defined, the operator will determine these values by itself which requires processing the data twice. If the `buckets` parameter is set to `squareRootChoiceRule`, the operator estimates it using the square root of the number of elements in the data. +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct Histogram { + #[serde(rename = "params")] + pub params: Box, + #[serde(rename = "sources")] + pub sources: Box, + #[serde(rename = "type")] + pub r#type: Type, +} + +impl Histogram { + /// The `Histogram` is a _plot operator_ that computes a histogram plot either over attributes of a vector dataset or values of a raster source. The output is a plot in [Vega-Lite](https://vega.github.io/vega-lite/) specification. For instance, you want to plot the data distribution of numeric attributes of a feature collection. Then you can use a histogram with a suitable number of buckets to visualize and assess this. ## Errors The operator returns an error if the selected column (`columnName`) does not exist or is not numeric. ## Notes If `bounds` or `buckets` are not defined, the operator will determine these values by itself which requires processing the data twice. If the `buckets` parameter is set to `squareRootChoiceRule`, the operator estimates it using the square root of the number of elements in the data. + pub fn new(params: models::HistogramParameters, sources: models::SingleRasterOrVectorSource, r#type: Type) -> Histogram { + Histogram { + params: Box::new(params), + sources: Box::new(sources), + r#type, + } + } +} +/// +#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)] +pub enum Type { + #[serde(rename = "Histogram")] + Histogram, +} + +impl Default for Type { + fn default() -> Type { + Self::Histogram + } +} + diff --git a/rust/src/models/histogram_bounds.rs b/rust/src/models/histogram_bounds.rs new file mode 100644 index 00000000..2206e535 --- /dev/null +++ b/rust/src/models/histogram_bounds.rs @@ -0,0 +1,26 @@ +/* + * Geo Engine API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)] +#[serde(untagged)] +pub enum HistogramBounds { + HistogramBoundsOneOf(Box), + HistogramBoundsOneOf1(Box), +} + +impl Default for HistogramBounds { + fn default() -> Self { + Self::HistogramBoundsOneOf(Default::default()) + } +} + diff --git a/rust/src/models/histogram_bounds_one_of.rs b/rust/src/models/histogram_bounds_one_of.rs new file mode 100644 index 00000000..16f51107 --- /dev/null +++ b/rust/src/models/histogram_bounds_one_of.rs @@ -0,0 +1,27 @@ +/* + * Geo Engine API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct HistogramBoundsOneOf { + #[serde(rename = "data", deserialize_with = "Option::deserialize")] + pub data: Option, +} + +impl HistogramBoundsOneOf { + pub fn new(data: Option) -> HistogramBoundsOneOf { + HistogramBoundsOneOf { + data, + } + } +} + diff --git a/rust/src/models/histogram_bounds_one_of_1.rs b/rust/src/models/histogram_bounds_one_of_1.rs new file mode 100644 index 00000000..1b5c824c --- /dev/null +++ b/rust/src/models/histogram_bounds_one_of_1.rs @@ -0,0 +1,27 @@ +/* + * Geo Engine API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct HistogramBoundsOneOf1 { + #[serde(rename = "values")] + pub values: Box, +} + +impl HistogramBoundsOneOf1 { + pub fn new(values: models::HistogramBoundsOneOf1Values) -> HistogramBoundsOneOf1 { + HistogramBoundsOneOf1 { + values: Box::new(values), + } + } +} + diff --git a/rust/src/models/histogram_bounds_one_of_1_values.rs b/rust/src/models/histogram_bounds_one_of_1_values.rs new file mode 100644 index 00000000..84fd92f3 --- /dev/null +++ b/rust/src/models/histogram_bounds_one_of_1_values.rs @@ -0,0 +1,30 @@ +/* + * Geo Engine API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct HistogramBoundsOneOf1Values { + #[serde(rename = "max")] + pub max: f64, + #[serde(rename = "min")] + pub min: f64, +} + +impl HistogramBoundsOneOf1Values { + pub fn new(max: f64, min: f64) -> HistogramBoundsOneOf1Values { + HistogramBoundsOneOf1Values { + max, + min, + } + } +} + diff --git a/rust/src/models/histogram_buckets.rs b/rust/src/models/histogram_buckets.rs new file mode 100644 index 00000000..8d20d874 --- /dev/null +++ b/rust/src/models/histogram_buckets.rs @@ -0,0 +1,40 @@ +/* + * Geo Engine API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)] +#[serde(untagged)] +pub enum HistogramBuckets { + HistogramBucketsOneOf(Box), + HistogramBucketsOneOf1(Box), +} + +impl Default for HistogramBuckets { + fn default() -> Self { + Self::HistogramBucketsOneOf(Default::default()) + } +} +/// +#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)] +pub enum Type { + #[serde(rename = "number")] + Number, + #[serde(rename = "squareRootChoiceRule")] + SquareRootChoiceRule, +} + +impl Default for Type { + fn default() -> Type { + Self::Number + } +} + diff --git a/rust/src/models/histogram_buckets_one_of.rs b/rust/src/models/histogram_buckets_one_of.rs new file mode 100644 index 00000000..b8d9f6d8 --- /dev/null +++ b/rust/src/models/histogram_buckets_one_of.rs @@ -0,0 +1,42 @@ +/* + * Geo Engine API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct HistogramBucketsOneOf { + #[serde(rename = "type")] + pub r#type: Type, + #[serde(rename = "value")] + pub value: i32, +} + +impl HistogramBucketsOneOf { + pub fn new(r#type: Type, value: i32) -> HistogramBucketsOneOf { + HistogramBucketsOneOf { + r#type, + value, + } + } +} +/// +#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)] +pub enum Type { + #[serde(rename = "number")] + Number, +} + +impl Default for Type { + fn default() -> Type { + Self::Number + } +} + diff --git a/rust/src/models/histogram_buckets_one_of_1.rs b/rust/src/models/histogram_buckets_one_of_1.rs new file mode 100644 index 00000000..74c5d062 --- /dev/null +++ b/rust/src/models/histogram_buckets_one_of_1.rs @@ -0,0 +1,42 @@ +/* + * Geo Engine API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct HistogramBucketsOneOf1 { + #[serde(rename = "maxNumberOfBuckets", skip_serializing_if = "Option::is_none")] + pub max_number_of_buckets: Option, + #[serde(rename = "type")] + pub r#type: Type, +} + +impl HistogramBucketsOneOf1 { + pub fn new(r#type: Type) -> HistogramBucketsOneOf1 { + HistogramBucketsOneOf1 { + max_number_of_buckets: None, + r#type, + } + } +} +/// +#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)] +pub enum Type { + #[serde(rename = "squareRootChoiceRule")] + SquareRootChoiceRule, +} + +impl Default for Type { + fn default() -> Type { + Self::SquareRootChoiceRule + } +} + diff --git a/rust/src/models/histogram_parameters.rs b/rust/src/models/histogram_parameters.rs new file mode 100644 index 00000000..a29038dd --- /dev/null +++ b/rust/src/models/histogram_parameters.rs @@ -0,0 +1,42 @@ +/* + * Geo Engine API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// HistogramParameters : The parameter spec for `Histogram` +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct HistogramParameters { + /// Name of the (numeric) vector attribute or raster band to compute the histogram on. + #[serde(rename = "attributeName")] + pub attribute_name: String, + /// If `data`, it computes the bounds of the underlying data. If `values`, one can specify custom bounds. + #[serde(rename = "bounds")] + pub bounds: Box, + /// The number of buckets. The value can be specified or calculated. + #[serde(rename = "buckets")] + pub buckets: Box, + /// Flag, if the histogram should have user interactions for a range selection. It is `false` by default. + #[serde(rename = "interactive", skip_serializing_if = "Option::is_none")] + pub interactive: Option, +} + +impl HistogramParameters { + /// The parameter spec for `Histogram` + pub fn new(attribute_name: String, bounds: models::HistogramBounds, buckets: models::HistogramBuckets) -> HistogramParameters { + HistogramParameters { + attribute_name, + bounds: Box::new(bounds), + buckets: Box::new(buckets), + interactive: None, + } + } +} + diff --git a/rust/src/models/id_response.rs b/rust/src/models/id_response.rs new file mode 100644 index 00000000..47aadf36 --- /dev/null +++ b/rust/src/models/id_response.rs @@ -0,0 +1,27 @@ +/* + * Geo Engine API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct IdResponse { + #[serde(rename = "id")] + pub id: uuid::Uuid, +} + +impl IdResponse { + pub fn new(id: uuid::Uuid) -> IdResponse { + IdResponse { + id, + } + } +} + diff --git a/rust/src/models/internal_data_id.rs b/rust/src/models/internal_data_id.rs new file mode 100644 index 00000000..573164d7 --- /dev/null +++ b/rust/src/models/internal_data_id.rs @@ -0,0 +1,42 @@ +/* + * Geo Engine API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct InternalDataId { + #[serde(rename = "datasetId")] + pub dataset_id: uuid::Uuid, + #[serde(rename = "type")] + pub r#type: Type, +} + +impl InternalDataId { + pub fn new(dataset_id: uuid::Uuid, r#type: Type) -> InternalDataId { + InternalDataId { + dataset_id, + r#type, + } + } +} +/// +#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)] +pub enum Type { + #[serde(rename = "internal")] + Internal, +} + +impl Default for Type { + fn default() -> Type { + Self::Internal + } +} + diff --git a/rust/src/models/layer.rs b/rust/src/models/layer.rs new file mode 100644 index 00000000..ff55dd2d --- /dev/null +++ b/rust/src/models/layer.rs @@ -0,0 +1,47 @@ +/* + * Geo Engine API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct Layer { + #[serde(rename = "description")] + pub description: String, + #[serde(rename = "id")] + pub id: Box, + /// metadata used for loading the data + #[serde(rename = "metadata", skip_serializing_if = "Option::is_none")] + pub metadata: Option>, + #[serde(rename = "name")] + pub name: String, + /// properties, for instance, to be rendered in the UI + #[serde(rename = "properties", skip_serializing_if = "Option::is_none")] + pub properties: Option>>, + #[serde(rename = "symbology", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")] + pub symbology: Option>>, + #[serde(rename = "workflow")] + pub workflow: Box, +} + +impl Layer { + pub fn new(description: String, id: models::ProviderLayerId, name: String, workflow: models::Workflow) -> Layer { + Layer { + description, + id: Box::new(id), + metadata: None, + name, + properties: None, + symbology: None, + workflow: Box::new(workflow), + } + } +} + diff --git a/rust/src/models/layer_collection.rs b/rust/src/models/layer_collection.rs new file mode 100644 index 00000000..1141c0cd --- /dev/null +++ b/rust/src/models/layer_collection.rs @@ -0,0 +1,43 @@ +/* + * Geo Engine API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct LayerCollection { + #[serde(rename = "description")] + pub description: String, + /// a common label for the collection's entries, if there is any + #[serde(rename = "entryLabel", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")] + pub entry_label: Option>, + #[serde(rename = "id")] + pub id: Box, + #[serde(rename = "items")] + pub items: Vec, + #[serde(rename = "name")] + pub name: String, + #[serde(rename = "properties")] + pub properties: Vec>, +} + +impl LayerCollection { + pub fn new(description: String, id: models::ProviderLayerCollectionId, items: Vec, name: String, properties: Vec>) -> LayerCollection { + LayerCollection { + description, + entry_label: None, + id: Box::new(id), + items, + name, + properties, + } + } +} + diff --git a/rust/src/models/layer_collection_listing.rs b/rust/src/models/layer_collection_listing.rs new file mode 100644 index 00000000..6c1c5938 --- /dev/null +++ b/rust/src/models/layer_collection_listing.rs @@ -0,0 +1,51 @@ +/* + * Geo Engine API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct LayerCollectionListing { + #[serde(rename = "description")] + pub description: String, + #[serde(rename = "id")] + pub id: Box, + #[serde(rename = "name")] + pub name: String, + #[serde(rename = "properties", skip_serializing_if = "Option::is_none")] + pub properties: Option>>, + #[serde(rename = "type")] + pub r#type: Type, +} + +impl LayerCollectionListing { + pub fn new(description: String, id: models::ProviderLayerCollectionId, name: String, r#type: Type) -> LayerCollectionListing { + LayerCollectionListing { + description, + id: Box::new(id), + name, + properties: None, + r#type, + } + } +} +/// +#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)] +pub enum Type { + #[serde(rename = "collection")] + Collection, +} + +impl Default for Type { + fn default() -> Type { + Self::Collection + } +} + diff --git a/rust/src/models/layer_collection_resource.rs b/rust/src/models/layer_collection_resource.rs new file mode 100644 index 00000000..96b6de91 --- /dev/null +++ b/rust/src/models/layer_collection_resource.rs @@ -0,0 +1,42 @@ +/* + * Geo Engine API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct LayerCollectionResource { + #[serde(rename = "id")] + pub id: String, + #[serde(rename = "type")] + pub r#type: Type, +} + +impl LayerCollectionResource { + pub fn new(id: String, r#type: Type) -> LayerCollectionResource { + LayerCollectionResource { + id, + r#type, + } + } +} +/// +#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)] +pub enum Type { + #[serde(rename = "layerCollection")] + LayerCollection, +} + +impl Default for Type { + fn default() -> Type { + Self::LayerCollection + } +} + diff --git a/rust/src/models/layer_listing.rs b/rust/src/models/layer_listing.rs new file mode 100644 index 00000000..239152cf --- /dev/null +++ b/rust/src/models/layer_listing.rs @@ -0,0 +1,52 @@ +/* + * Geo Engine API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct LayerListing { + #[serde(rename = "description")] + pub description: String, + #[serde(rename = "id")] + pub id: Box, + #[serde(rename = "name")] + pub name: String, + /// properties, for instance, to be rendered in the UI + #[serde(rename = "properties", skip_serializing_if = "Option::is_none")] + pub properties: Option>>, + #[serde(rename = "type")] + pub r#type: Type, +} + +impl LayerListing { + pub fn new(description: String, id: models::ProviderLayerId, name: String, r#type: Type) -> LayerListing { + LayerListing { + description, + id: Box::new(id), + name, + properties: None, + r#type, + } + } +} +/// +#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)] +pub enum Type { + #[serde(rename = "layer")] + Layer, +} + +impl Default for Type { + fn default() -> Type { + Self::Layer + } +} + diff --git a/rust/src/models/layer_provider_listing.rs b/rust/src/models/layer_provider_listing.rs new file mode 100644 index 00000000..4f95bc4d --- /dev/null +++ b/rust/src/models/layer_provider_listing.rs @@ -0,0 +1,33 @@ +/* + * Geo Engine API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct LayerProviderListing { + #[serde(rename = "id")] + pub id: uuid::Uuid, + #[serde(rename = "name")] + pub name: String, + #[serde(rename = "priority")] + pub priority: i32, +} + +impl LayerProviderListing { + pub fn new(id: uuid::Uuid, name: String, priority: i32) -> LayerProviderListing { + LayerProviderListing { + id, + name, + priority, + } + } +} + diff --git a/rust/src/models/layer_resource.rs b/rust/src/models/layer_resource.rs new file mode 100644 index 00000000..6b7900e6 --- /dev/null +++ b/rust/src/models/layer_resource.rs @@ -0,0 +1,42 @@ +/* + * Geo Engine API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct LayerResource { + #[serde(rename = "id")] + pub id: String, + #[serde(rename = "type")] + pub r#type: Type, +} + +impl LayerResource { + pub fn new(id: String, r#type: Type) -> LayerResource { + LayerResource { + id, + r#type, + } + } +} +/// +#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)] +pub enum Type { + #[serde(rename = "layer")] + Layer, +} + +impl Default for Type { + fn default() -> Type { + Self::Layer + } +} + diff --git a/rust/src/models/layer_visibility.rs b/rust/src/models/layer_visibility.rs new file mode 100644 index 00000000..b4c3b2e2 --- /dev/null +++ b/rust/src/models/layer_visibility.rs @@ -0,0 +1,30 @@ +/* + * Geo Engine API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct LayerVisibility { + #[serde(rename = "data")] + pub data: bool, + #[serde(rename = "legend")] + pub legend: bool, +} + +impl LayerVisibility { + pub fn new(data: bool, legend: bool) -> LayerVisibility { + LayerVisibility { + data, + legend, + } + } +} + diff --git a/rust/src/models/legacy_typed_operator.rs b/rust/src/models/legacy_typed_operator.rs new file mode 100644 index 00000000..893f67b1 --- /dev/null +++ b/rust/src/models/legacy_typed_operator.rs @@ -0,0 +1,48 @@ +/* + * Geo Engine API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// LegacyTypedOperator : An enum to differentiate between `Operator` variants +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct LegacyTypedOperator { + #[serde(rename = "operator")] + pub operator: Box, + #[serde(rename = "type")] + pub r#type: Type, +} + +impl LegacyTypedOperator { + /// An enum to differentiate between `Operator` variants + pub fn new(operator: models::LegacyTypedOperatorOperator, r#type: Type) -> LegacyTypedOperator { + LegacyTypedOperator { + operator: Box::new(operator), + r#type, + } + } +} +/// +#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)] +pub enum Type { + #[serde(rename = "Vector")] + Vector, + #[serde(rename = "Raster")] + Raster, + #[serde(rename = "Plot")] + Plot, +} + +impl Default for Type { + fn default() -> Type { + Self::Vector + } +} + diff --git a/rust/src/models/legacy_typed_operator_operator.rs b/rust/src/models/legacy_typed_operator_operator.rs new file mode 100644 index 00000000..86c62b2d --- /dev/null +++ b/rust/src/models/legacy_typed_operator_operator.rs @@ -0,0 +1,33 @@ +/* + * Geo Engine API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct LegacyTypedOperatorOperator { + #[serde(rename = "params", skip_serializing_if = "Option::is_none")] + pub params: Option, + #[serde(rename = "sources", skip_serializing_if = "Option::is_none")] + pub sources: Option, + #[serde(rename = "type")] + pub r#type: String, +} + +impl LegacyTypedOperatorOperator { + pub fn new(r#type: String) -> LegacyTypedOperatorOperator { + LegacyTypedOperatorOperator { + params: None, + sources: None, + r#type, + } + } +} + diff --git a/rust/src/models/line_symbology.rs b/rust/src/models/line_symbology.rs new file mode 100644 index 00000000..7985696d --- /dev/null +++ b/rust/src/models/line_symbology.rs @@ -0,0 +1,48 @@ +/* + * Geo Engine API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct LineSymbology { + #[serde(rename = "autoSimplified")] + pub auto_simplified: bool, + #[serde(rename = "stroke")] + pub stroke: Box, + #[serde(rename = "text", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")] + pub text: Option>>, + #[serde(rename = "type")] + pub r#type: Type, +} + +impl LineSymbology { + pub fn new(auto_simplified: bool, stroke: models::StrokeParam, r#type: Type) -> LineSymbology { + LineSymbology { + auto_simplified, + stroke: Box::new(stroke), + text: None, + r#type, + } + } +} +/// +#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)] +pub enum Type { + #[serde(rename = "line")] + Line, +} + +impl Default for Type { + fn default() -> Type { + Self::Line + } +} + diff --git a/rust/src/models/linear_gradient.rs b/rust/src/models/linear_gradient.rs new file mode 100644 index 00000000..084378c1 --- /dev/null +++ b/rust/src/models/linear_gradient.rs @@ -0,0 +1,51 @@ +/* + * Geo Engine API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct LinearGradient { + #[serde(rename = "breakpoints")] + pub breakpoints: Vec, + #[serde(rename = "noDataColor")] + pub no_data_color: Vec, + #[serde(rename = "overColor")] + pub over_color: Vec, + #[serde(rename = "type")] + pub r#type: Type, + #[serde(rename = "underColor")] + pub under_color: Vec, +} + +impl LinearGradient { + pub fn new(breakpoints: Vec, no_data_color: Vec, over_color: Vec, r#type: Type, under_color: Vec) -> LinearGradient { + LinearGradient { + breakpoints, + no_data_color, + over_color, + r#type, + under_color, + } + } +} +/// +#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)] +pub enum Type { + #[serde(rename = "linearGradient")] + LinearGradient, +} + +impl Default for Type { + fn default() -> Type { + Self::LinearGradient + } +} + diff --git a/rust/src/models/logarithmic_gradient.rs b/rust/src/models/logarithmic_gradient.rs new file mode 100644 index 00000000..23d0b225 --- /dev/null +++ b/rust/src/models/logarithmic_gradient.rs @@ -0,0 +1,51 @@ +/* + * Geo Engine API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct LogarithmicGradient { + #[serde(rename = "breakpoints")] + pub breakpoints: Vec, + #[serde(rename = "noDataColor")] + pub no_data_color: Vec, + #[serde(rename = "overColor")] + pub over_color: Vec, + #[serde(rename = "type")] + pub r#type: Type, + #[serde(rename = "underColor")] + pub under_color: Vec, +} + +impl LogarithmicGradient { + pub fn new(breakpoints: Vec, no_data_color: Vec, over_color: Vec, r#type: Type, under_color: Vec) -> LogarithmicGradient { + LogarithmicGradient { + breakpoints, + no_data_color, + over_color, + r#type, + under_color, + } + } +} +/// +#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)] +pub enum Type { + #[serde(rename = "logarithmicGradient")] + LogarithmicGradient, +} + +impl Default for Type { + fn default() -> Type { + Self::LogarithmicGradient + } +} + diff --git a/rust/src/models/measurement.rs b/rust/src/models/measurement.rs new file mode 100644 index 00000000..3235fa98 --- /dev/null +++ b/rust/src/models/measurement.rs @@ -0,0 +1,31 @@ +/* + * Geo Engine API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)] +#[serde(untagged)] +pub enum Measurement { + #[serde(rename="unitless")] + Unitless(Box), + #[serde(rename="continuous")] + Continuous(Box), + #[serde(rename="classification")] + Classification(Box), +} + +impl Default for Measurement { + fn default() -> Self { + Self::Unitless(Default::default()) + } +} + + diff --git a/rust/src/models/meta_data_definition.rs b/rust/src/models/meta_data_definition.rs new file mode 100644 index 00000000..814d18d9 --- /dev/null +++ b/rust/src/models/meta_data_definition.rs @@ -0,0 +1,39 @@ +/* + * Geo Engine API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)] +#[serde(tag = "type")] +pub enum MetaDataDefinition { + #[serde(rename="MockMetaData")] + MockMetaData(Box), + #[serde(rename="OgrMetaData")] + OgrMetaData(Box), + #[serde(rename="GdalMetaDataRegular")] + GdalMetaDataRegular(Box), + #[serde(rename="GdalStatic")] + GdalStatic(Box), + #[serde(rename="GdalMetaDataNetCdfCf")] + GdalMetaDataNetCdfCf(Box), + #[serde(rename="GdalMetaDataList")] + GdalMetaDataList(Box), + #[serde(rename="GdalMultiBand")] + GdalMultiBand(Box), +} + +impl Default for MetaDataDefinition { + fn default() -> Self { + Self::MockMetaData(Default::default()) + } +} + + diff --git a/rust/src/models/meta_data_suggestion.rs b/rust/src/models/meta_data_suggestion.rs new file mode 100644 index 00000000..e4dabecd --- /dev/null +++ b/rust/src/models/meta_data_suggestion.rs @@ -0,0 +1,33 @@ +/* + * Geo Engine API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct MetaDataSuggestion { + #[serde(rename = "layerName")] + pub layer_name: String, + #[serde(rename = "mainFile")] + pub main_file: String, + #[serde(rename = "metaData")] + pub meta_data: Box, +} + +impl MetaDataSuggestion { + pub fn new(layer_name: String, main_file: String, meta_data: models::MetaDataDefinition) -> MetaDataSuggestion { + MetaDataSuggestion { + layer_name, + main_file, + meta_data: Box::new(meta_data), + } + } +} + diff --git a/rust/src/models/ml_model.rs b/rust/src/models/ml_model.rs new file mode 100644 index 00000000..6d5cda51 --- /dev/null +++ b/rust/src/models/ml_model.rs @@ -0,0 +1,42 @@ +/* + * Geo Engine API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct MlModel { + #[serde(rename = "description")] + pub description: String, + #[serde(rename = "displayName")] + pub display_name: String, + #[serde(rename = "fileName")] + pub file_name: String, + #[serde(rename = "metadata")] + pub metadata: Box, + #[serde(rename = "name")] + pub name: String, + #[serde(rename = "upload")] + pub upload: uuid::Uuid, +} + +impl MlModel { + pub fn new(description: String, display_name: String, file_name: String, metadata: models::MlModelMetadata, name: String, upload: uuid::Uuid) -> MlModel { + MlModel { + description, + display_name, + file_name, + metadata: Box::new(metadata), + name, + upload, + } + } +} + diff --git a/rust/src/models/ml_model_input_no_data_handling.rs b/rust/src/models/ml_model_input_no_data_handling.rs new file mode 100644 index 00000000..ece7739f --- /dev/null +++ b/rust/src/models/ml_model_input_no_data_handling.rs @@ -0,0 +1,30 @@ +/* + * Geo Engine API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct MlModelInputNoDataHandling { + #[serde(rename = "noDataValue", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")] + pub no_data_value: Option>, + #[serde(rename = "variant")] + pub variant: models::MlModelInputNoDataHandlingVariant, +} + +impl MlModelInputNoDataHandling { + pub fn new(variant: models::MlModelInputNoDataHandlingVariant) -> MlModelInputNoDataHandling { + MlModelInputNoDataHandling { + no_data_value: None, + variant, + } + } +} + diff --git a/rust/src/models/ml_model_input_no_data_handling_variant.rs b/rust/src/models/ml_model_input_no_data_handling_variant.rs new file mode 100644 index 00000000..658f91ab --- /dev/null +++ b/rust/src/models/ml_model_input_no_data_handling_variant.rs @@ -0,0 +1,38 @@ +/* + * Geo Engine API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// +#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)] +pub enum MlModelInputNoDataHandlingVariant { + #[serde(rename = "encodedNoData")] + EncodedNoData, + #[serde(rename = "skipIfNoData")] + SkipIfNoData, + +} + +impl std::fmt::Display for MlModelInputNoDataHandlingVariant { + fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result { + match self { + Self::EncodedNoData => write!(f, "encodedNoData"), + Self::SkipIfNoData => write!(f, "skipIfNoData"), + } + } +} + +impl Default for MlModelInputNoDataHandlingVariant { + fn default() -> MlModelInputNoDataHandlingVariant { + Self::EncodedNoData + } +} + diff --git a/rust/src/models/ml_model_metadata.rs b/rust/src/models/ml_model_metadata.rs new file mode 100644 index 00000000..e3755403 --- /dev/null +++ b/rust/src/models/ml_model_metadata.rs @@ -0,0 +1,42 @@ +/* + * Geo Engine API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct MlModelMetadata { + #[serde(rename = "inputNoDataHandling")] + pub input_no_data_handling: Box, + #[serde(rename = "inputShape")] + pub input_shape: Box, + #[serde(rename = "inputType")] + pub input_type: models::RasterDataType, + #[serde(rename = "outputNoDataHandling")] + pub output_no_data_handling: Box, + #[serde(rename = "outputShape")] + pub output_shape: Box, + #[serde(rename = "outputType")] + pub output_type: models::RasterDataType, +} + +impl MlModelMetadata { + pub fn new(input_no_data_handling: models::MlModelInputNoDataHandling, input_shape: models::MlTensorShape3D, input_type: models::RasterDataType, output_no_data_handling: models::MlModelOutputNoDataHandling, output_shape: models::MlTensorShape3D, output_type: models::RasterDataType) -> MlModelMetadata { + MlModelMetadata { + input_no_data_handling: Box::new(input_no_data_handling), + input_shape: Box::new(input_shape), + input_type, + output_no_data_handling: Box::new(output_no_data_handling), + output_shape: Box::new(output_shape), + output_type, + } + } +} + diff --git a/rust/src/models/ml_model_name_response.rs b/rust/src/models/ml_model_name_response.rs new file mode 100644 index 00000000..138e4b99 --- /dev/null +++ b/rust/src/models/ml_model_name_response.rs @@ -0,0 +1,27 @@ +/* + * Geo Engine API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct MlModelNameResponse { + #[serde(rename = "mlModelName")] + pub ml_model_name: String, +} + +impl MlModelNameResponse { + pub fn new(ml_model_name: String) -> MlModelNameResponse { + MlModelNameResponse { + ml_model_name, + } + } +} + diff --git a/rust/src/models/ml_model_output_no_data_handling.rs b/rust/src/models/ml_model_output_no_data_handling.rs new file mode 100644 index 00000000..14a77d67 --- /dev/null +++ b/rust/src/models/ml_model_output_no_data_handling.rs @@ -0,0 +1,30 @@ +/* + * Geo Engine API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct MlModelOutputNoDataHandling { + #[serde(rename = "noDataValue", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")] + pub no_data_value: Option>, + #[serde(rename = "variant")] + pub variant: models::MlModelOutputNoDataHandlingVariant, +} + +impl MlModelOutputNoDataHandling { + pub fn new(variant: models::MlModelOutputNoDataHandlingVariant) -> MlModelOutputNoDataHandling { + MlModelOutputNoDataHandling { + no_data_value: None, + variant, + } + } +} + diff --git a/rust/src/models/ml_model_output_no_data_handling_variant.rs b/rust/src/models/ml_model_output_no_data_handling_variant.rs new file mode 100644 index 00000000..0b5d4b70 --- /dev/null +++ b/rust/src/models/ml_model_output_no_data_handling_variant.rs @@ -0,0 +1,38 @@ +/* + * Geo Engine API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// +#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)] +pub enum MlModelOutputNoDataHandlingVariant { + #[serde(rename = "encodedNoData")] + EncodedNoData, + #[serde(rename = "nanIsNoData")] + NanIsNoData, + +} + +impl std::fmt::Display for MlModelOutputNoDataHandlingVariant { + fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result { + match self { + Self::EncodedNoData => write!(f, "encodedNoData"), + Self::NanIsNoData => write!(f, "nanIsNoData"), + } + } +} + +impl Default for MlModelOutputNoDataHandlingVariant { + fn default() -> MlModelOutputNoDataHandlingVariant { + Self::EncodedNoData + } +} + diff --git a/rust/src/models/ml_model_resource.rs b/rust/src/models/ml_model_resource.rs new file mode 100644 index 00000000..547b6adc --- /dev/null +++ b/rust/src/models/ml_model_resource.rs @@ -0,0 +1,42 @@ +/* + * Geo Engine API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct MlModelResource { + #[serde(rename = "id")] + pub id: String, + #[serde(rename = "type")] + pub r#type: Type, +} + +impl MlModelResource { + pub fn new(id: String, r#type: Type) -> MlModelResource { + MlModelResource { + id, + r#type, + } + } +} +/// +#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)] +pub enum Type { + #[serde(rename = "mlModel")] + MlModel, +} + +impl Default for Type { + fn default() -> Type { + Self::MlModel + } +} + diff --git a/rust/src/models/ml_tensor_shape3_d.rs b/rust/src/models/ml_tensor_shape3_d.rs new file mode 100644 index 00000000..9ab17b4d --- /dev/null +++ b/rust/src/models/ml_tensor_shape3_d.rs @@ -0,0 +1,35 @@ +/* + * Geo Engine API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// MlTensorShape3D : A struct describing tensor shape for `MlModelMetadata` +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct MlTensorShape3D { + #[serde(rename = "bands")] + pub bands: i32, + #[serde(rename = "x")] + pub x: i32, + #[serde(rename = "y")] + pub y: i32, +} + +impl MlTensorShape3D { + /// A struct describing tensor shape for `MlModelMetadata` + pub fn new(bands: i32, x: i32, y: i32) -> MlTensorShape3D { + MlTensorShape3D { + bands, + x, + y, + } + } +} + diff --git a/rust/src/models/mock_dataset_data_source_loading_info.rs b/rust/src/models/mock_dataset_data_source_loading_info.rs new file mode 100644 index 00000000..e8e45c77 --- /dev/null +++ b/rust/src/models/mock_dataset_data_source_loading_info.rs @@ -0,0 +1,27 @@ +/* + * Geo Engine API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct MockDatasetDataSourceLoadingInfo { + #[serde(rename = "points")] + pub points: Vec, +} + +impl MockDatasetDataSourceLoadingInfo { + pub fn new(points: Vec) -> MockDatasetDataSourceLoadingInfo { + MockDatasetDataSourceLoadingInfo { + points, + } + } +} + diff --git a/rust/src/models/mock_meta_data.rs b/rust/src/models/mock_meta_data.rs new file mode 100644 index 00000000..c75d0959 --- /dev/null +++ b/rust/src/models/mock_meta_data.rs @@ -0,0 +1,45 @@ +/* + * Geo Engine API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct MockMetaData { + #[serde(rename = "loadingInfo")] + pub loading_info: Box, + #[serde(rename = "resultDescriptor")] + pub result_descriptor: Box, + #[serde(rename = "type")] + pub r#type: Type, +} + +impl MockMetaData { + pub fn new(loading_info: models::MockDatasetDataSourceLoadingInfo, result_descriptor: models::VectorResultDescriptor, r#type: Type) -> MockMetaData { + MockMetaData { + loading_info: Box::new(loading_info), + result_descriptor: Box::new(result_descriptor), + r#type, + } + } +} +/// +#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)] +pub enum Type { + #[serde(rename = "MockMetaData")] + MockMetaData, +} + +impl Default for Type { + fn default() -> Type { + Self::MockMetaData + } +} + diff --git a/rust/src/models/mock_point_source.rs b/rust/src/models/mock_point_source.rs new file mode 100644 index 00000000..f7fbbcc7 --- /dev/null +++ b/rust/src/models/mock_point_source.rs @@ -0,0 +1,44 @@ +/* + * Geo Engine API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// MockPointSource : The [`MockPointSource`] is a source operator that provides mock vector point data for testing and development purposes. +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct MockPointSource { + #[serde(rename = "params")] + pub params: Box, + #[serde(rename = "type")] + pub r#type: Type, +} + +impl MockPointSource { + /// The [`MockPointSource`] is a source operator that provides mock vector point data for testing and development purposes. + pub fn new(params: models::MockPointSourceParameters, r#type: Type) -> MockPointSource { + MockPointSource { + params: Box::new(params), + r#type, + } + } +} +/// +#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)] +pub enum Type { + #[serde(rename = "MockPointSource")] + MockPointSource, +} + +impl Default for Type { + fn default() -> Type { + Self::MockPointSource + } +} + diff --git a/rust/src/models/mock_point_source_parameters.rs b/rust/src/models/mock_point_source_parameters.rs new file mode 100644 index 00000000..6f449aa4 --- /dev/null +++ b/rust/src/models/mock_point_source_parameters.rs @@ -0,0 +1,34 @@ +/* + * Geo Engine API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// MockPointSourceParameters : Parameters for the [`MockPointSource`] operator. +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct MockPointSourceParameters { + /// Points to be output by the mock point source. + #[serde(rename = "points")] + pub points: Vec, + /// Defines how the spatial bounds of the source are derived. Defaults to `None`. + #[serde(rename = "spatialBounds")] + pub spatial_bounds: Box, +} + +impl MockPointSourceParameters { + /// Parameters for the [`MockPointSource`] operator. + pub fn new(points: Vec, spatial_bounds: models::SpatialBoundsDerive) -> MockPointSourceParameters { + MockPointSourceParameters { + points, + spatial_bounds: Box::new(spatial_bounds), + } + } +} + diff --git a/rust/src/models/mod.rs b/rust/src/models/mod.rs new file mode 100644 index 00000000..1089052b --- /dev/null +++ b/rust/src/models/mod.rs @@ -0,0 +1,558 @@ +pub mod add_dataset; +pub use self::add_dataset::AddDataset; +pub mod add_layer; +pub use self::add_layer::AddLayer; +pub mod add_layer_collection; +pub use self::add_layer_collection::AddLayerCollection; +pub mod add_role; +pub use self::add_role::AddRole; +pub mod aruna_data_provider_definition; +pub use self::aruna_data_provider_definition::ArunaDataProviderDefinition; +pub mod auth_code_request_url; +pub use self::auth_code_request_url::AuthCodeRequestUrl; +pub mod auth_code_response; +pub use self::auth_code_response::AuthCodeResponse; +pub mod auto_create_dataset; +pub use self::auto_create_dataset::AutoCreateDataset; +pub mod axis_order; +pub use self::axis_order::AxisOrder; +pub mod bounding_box2_d; +pub use self::bounding_box2_d::BoundingBox2D; +pub mod breakpoint; +pub use self::breakpoint::Breakpoint; +pub mod classification_measurement; +pub use self::classification_measurement::ClassificationMeasurement; +pub mod collection_item; +pub use self::collection_item::CollectionItem; +pub mod collection_type; +pub use self::collection_type::CollectionType; +pub mod color_param; +pub use self::color_param::ColorParam; +pub mod colorizer; +pub use self::colorizer::Colorizer; +pub mod column_names; +pub use self::column_names::ColumnNames; +pub mod computation_quota; +pub use self::computation_quota::ComputationQuota; +pub mod continuous_measurement; +pub use self::continuous_measurement::ContinuousMeasurement; +pub mod coordinate2_d; +pub use self::coordinate2_d::Coordinate2D; +pub mod copernicus_dataspace_data_provider_definition; +pub use self::copernicus_dataspace_data_provider_definition::CopernicusDataspaceDataProviderDefinition; +pub mod create_dataset; +pub use self::create_dataset::CreateDataset; +pub mod create_project; +pub use self::create_project::CreateProject; +pub mod csv_header; +pub use self::csv_header::CsvHeader; +pub mod data_id; +pub use self::data_id::DataId; +pub mod data_path; +pub use self::data_path::DataPath; +pub mod data_path_one_of; +pub use self::data_path_one_of::DataPathOneOf; +pub mod data_path_one_of_1; +pub use self::data_path_one_of_1::DataPathOneOf1; +pub mod data_provider_resource; +pub use self::data_provider_resource::DataProviderResource; +pub mod data_usage; +pub use self::data_usage::DataUsage; +pub mod data_usage_summary; +pub use self::data_usage_summary::DataUsageSummary; +pub mod database_connection_config; +pub use self::database_connection_config::DatabaseConnectionConfig; +pub mod dataset; +pub use self::dataset::Dataset; +pub mod dataset_definition; +pub use self::dataset_definition::DatasetDefinition; +pub mod dataset_layer_listing_collection; +pub use self::dataset_layer_listing_collection::DatasetLayerListingCollection; +pub mod dataset_layer_listing_provider_definition; +pub use self::dataset_layer_listing_provider_definition::DatasetLayerListingProviderDefinition; +pub mod dataset_listing; +pub use self::dataset_listing::DatasetListing; +pub mod dataset_name_response; +pub use self::dataset_name_response::DatasetNameResponse; +pub mod dataset_resource; +pub use self::dataset_resource::DatasetResource; +pub mod default; +pub use self::default::Default; +pub mod derived_color; +pub use self::derived_color::DerivedColor; +pub mod derived_number; +pub use self::derived_number::DerivedNumber; +pub mod ebv_portal_data_provider_definition; +pub use self::ebv_portal_data_provider_definition::EbvPortalDataProviderDefinition; +pub mod edr_data_provider_definition; +pub use self::edr_data_provider_definition::EdrDataProviderDefinition; +pub mod edr_vector_spec; +pub use self::edr_vector_spec::EdrVectorSpec; +pub mod error_response; +pub use self::error_response::ErrorResponse; +pub mod expression; +pub use self::expression::Expression; +pub mod expression_parameters; +pub use self::expression_parameters::ExpressionParameters; +pub mod external_data_id; +pub use self::external_data_id::ExternalDataId; +pub mod feature_aggregation_method; +pub use self::feature_aggregation_method::FeatureAggregationMethod; +pub mod feature_data_type; +pub use self::feature_data_type::FeatureDataType; +pub mod file_not_found_handling; +pub use self::file_not_found_handling::FileNotFoundHandling; +pub mod format_specifics; +pub use self::format_specifics::FormatSpecifics; +pub mod format_specifics_csv; +pub use self::format_specifics_csv::FormatSpecificsCsv; +pub mod gbif_data_provider_definition; +pub use self::gbif_data_provider_definition::GbifDataProviderDefinition; +pub mod gdal_dataset_parameters; +pub use self::gdal_dataset_parameters::GdalDatasetParameters; +pub mod gdal_loading_info_temporal_slice; +pub use self::gdal_loading_info_temporal_slice::GdalLoadingInfoTemporalSlice; +pub mod gdal_meta_data_list; +pub use self::gdal_meta_data_list::GdalMetaDataList; +pub mod gdal_meta_data_regular; +pub use self::gdal_meta_data_regular::GdalMetaDataRegular; +pub mod gdal_meta_data_static; +pub use self::gdal_meta_data_static::GdalMetaDataStatic; +pub mod gdal_metadata_mapping; +pub use self::gdal_metadata_mapping::GdalMetadataMapping; +pub mod gdal_metadata_net_cdf_cf; +pub use self::gdal_metadata_net_cdf_cf::GdalMetadataNetCdfCf; +pub mod gdal_multi_band; +pub use self::gdal_multi_band::GdalMultiBand; +pub mod gdal_source; +pub use self::gdal_source::GdalSource; +pub mod gdal_source_parameters; +pub use self::gdal_source_parameters::GdalSourceParameters; +pub mod gdal_source_time_placeholder; +pub use self::gdal_source_time_placeholder::GdalSourceTimePlaceholder; +pub mod geo_json; +pub use self::geo_json::GeoJson; +pub mod geo_transform; +pub use self::geo_transform::GeoTransform; +pub mod get_coverage_format; +pub use self::get_coverage_format::GetCoverageFormat; +pub mod get_map_exception_format; +pub use self::get_map_exception_format::GetMapExceptionFormat; +pub mod gfbio_abcd_data_provider_definition; +pub use self::gfbio_abcd_data_provider_definition::GfbioAbcdDataProviderDefinition; +pub mod gfbio_collections_data_provider_definition; +pub use self::gfbio_collections_data_provider_definition::GfbioCollectionsDataProviderDefinition; +pub mod grid_bounding_box2_d; +pub use self::grid_bounding_box2_d::GridBoundingBox2D; +pub mod grid_idx2_d; +pub use self::grid_idx2_d::GridIdx2D; +pub mod histogram; +pub use self::histogram::Histogram; +pub mod histogram_bounds; +pub use self::histogram_bounds::HistogramBounds; +pub mod histogram_bounds_one_of; +pub use self::histogram_bounds_one_of::HistogramBoundsOneOf; +pub mod histogram_bounds_one_of_1; +pub use self::histogram_bounds_one_of_1::HistogramBoundsOneOf1; +pub mod histogram_bounds_one_of_1_values; +pub use self::histogram_bounds_one_of_1_values::HistogramBoundsOneOf1Values; +pub mod histogram_buckets; +pub use self::histogram_buckets::HistogramBuckets; +pub mod histogram_buckets_one_of; +pub use self::histogram_buckets_one_of::HistogramBucketsOneOf; +pub mod histogram_buckets_one_of_1; +pub use self::histogram_buckets_one_of_1::HistogramBucketsOneOf1; +pub mod histogram_parameters; +pub use self::histogram_parameters::HistogramParameters; +pub mod id_response; +pub use self::id_response::IdResponse; +pub mod internal_data_id; +pub use self::internal_data_id::InternalDataId; +pub mod layer; +pub use self::layer::Layer; +pub mod layer_collection; +pub use self::layer_collection::LayerCollection; +pub mod layer_collection_listing; +pub use self::layer_collection_listing::LayerCollectionListing; +pub mod layer_collection_resource; +pub use self::layer_collection_resource::LayerCollectionResource; +pub mod layer_listing; +pub use self::layer_listing::LayerListing; +pub mod layer_provider_listing; +pub use self::layer_provider_listing::LayerProviderListing; +pub mod layer_resource; +pub use self::layer_resource::LayerResource; +pub mod layer_visibility; +pub use self::layer_visibility::LayerVisibility; +pub mod legacy_typed_operator; +pub use self::legacy_typed_operator::LegacyTypedOperator; +pub mod legacy_typed_operator_operator; +pub use self::legacy_typed_operator_operator::LegacyTypedOperatorOperator; +pub mod line_symbology; +pub use self::line_symbology::LineSymbology; +pub mod linear_gradient; +pub use self::linear_gradient::LinearGradient; +pub mod logarithmic_gradient; +pub use self::logarithmic_gradient::LogarithmicGradient; +pub mod measurement; +pub use self::measurement::Measurement; +pub mod meta_data_definition; +pub use self::meta_data_definition::MetaDataDefinition; +pub mod meta_data_suggestion; +pub use self::meta_data_suggestion::MetaDataSuggestion; +pub mod ml_model; +pub use self::ml_model::MlModel; +pub mod ml_model_input_no_data_handling; +pub use self::ml_model_input_no_data_handling::MlModelInputNoDataHandling; +pub mod ml_model_input_no_data_handling_variant; +pub use self::ml_model_input_no_data_handling_variant::MlModelInputNoDataHandlingVariant; +pub mod ml_model_metadata; +pub use self::ml_model_metadata::MlModelMetadata; +pub mod ml_model_name_response; +pub use self::ml_model_name_response::MlModelNameResponse; +pub mod ml_model_output_no_data_handling; +pub use self::ml_model_output_no_data_handling::MlModelOutputNoDataHandling; +pub mod ml_model_output_no_data_handling_variant; +pub use self::ml_model_output_no_data_handling_variant::MlModelOutputNoDataHandlingVariant; +pub mod ml_model_resource; +pub use self::ml_model_resource::MlModelResource; +pub mod ml_tensor_shape3_d; +pub use self::ml_tensor_shape3_d::MlTensorShape3D; +pub mod mock_dataset_data_source_loading_info; +pub use self::mock_dataset_data_source_loading_info::MockDatasetDataSourceLoadingInfo; +pub mod mock_meta_data; +pub use self::mock_meta_data::MockMetaData; +pub mod mock_point_source; +pub use self::mock_point_source::MockPointSource; +pub mod mock_point_source_parameters; +pub use self::mock_point_source_parameters::MockPointSourceParameters; +pub mod multi_band_raster_colorizer; +pub use self::multi_band_raster_colorizer::MultiBandRasterColorizer; +pub mod multi_line_string; +pub use self::multi_line_string::MultiLineString; +pub mod multi_point; +pub use self::multi_point::MultiPoint; +pub mod multi_polygon; +pub use self::multi_polygon::MultiPolygon; +pub mod multiple_raster_or_single_vector_operator; +pub use self::multiple_raster_or_single_vector_operator::MultipleRasterOrSingleVectorOperator; +pub mod multiple_raster_or_single_vector_source; +pub use self::multiple_raster_or_single_vector_source::MultipleRasterOrSingleVectorSource; +pub mod names; +pub use self::names::Names; +pub mod net_cdf_cf_data_provider_definition; +pub use self::net_cdf_cf_data_provider_definition::NetCdfCfDataProviderDefinition; +pub mod number_param; +pub use self::number_param::NumberParam; +pub mod ogr_meta_data; +pub use self::ogr_meta_data::OgrMetaData; +pub mod ogr_source_column_spec; +pub use self::ogr_source_column_spec::OgrSourceColumnSpec; +pub mod ogr_source_dataset; +pub use self::ogr_source_dataset::OgrSourceDataset; +pub mod ogr_source_dataset_time_type; +pub use self::ogr_source_dataset_time_type::OgrSourceDatasetTimeType; +pub mod ogr_source_dataset_time_type_none; +pub use self::ogr_source_dataset_time_type_none::OgrSourceDatasetTimeTypeNone; +pub mod ogr_source_dataset_time_type_start; +pub use self::ogr_source_dataset_time_type_start::OgrSourceDatasetTimeTypeStart; +pub mod ogr_source_dataset_time_type_start_duration; +pub use self::ogr_source_dataset_time_type_start_duration::OgrSourceDatasetTimeTypeStartDuration; +pub mod ogr_source_dataset_time_type_start_end; +pub use self::ogr_source_dataset_time_type_start_end::OgrSourceDatasetTimeTypeStartEnd; +pub mod ogr_source_duration_spec; +pub use self::ogr_source_duration_spec::OgrSourceDurationSpec; +pub mod ogr_source_duration_spec_infinite; +pub use self::ogr_source_duration_spec_infinite::OgrSourceDurationSpecInfinite; +pub mod ogr_source_duration_spec_value; +pub use self::ogr_source_duration_spec_value::OgrSourceDurationSpecValue; +pub mod ogr_source_duration_spec_zero; +pub use self::ogr_source_duration_spec_zero::OgrSourceDurationSpecZero; +pub mod ogr_source_error_spec; +pub use self::ogr_source_error_spec::OgrSourceErrorSpec; +pub mod ogr_source_time_format; +pub use self::ogr_source_time_format::OgrSourceTimeFormat; +pub mod ogr_source_time_format_auto; +pub use self::ogr_source_time_format_auto::OgrSourceTimeFormatAuto; +pub mod ogr_source_time_format_custom; +pub use self::ogr_source_time_format_custom::OgrSourceTimeFormatCustom; +pub mod ogr_source_time_format_unix_time_stamp; +pub use self::ogr_source_time_format_unix_time_stamp::OgrSourceTimeFormatUnixTimeStamp; +pub mod operator_quota; +pub use self::operator_quota::OperatorQuota; +pub mod order_by; +pub use self::order_by::OrderBy; +pub mod palette_colorizer; +pub use self::palette_colorizer::PaletteColorizer; +pub mod pangaea_data_provider_definition; +pub use self::pangaea_data_provider_definition::PangaeaDataProviderDefinition; +pub mod permission; +pub use self::permission::Permission; +pub mod permission_listing; +pub use self::permission_listing::PermissionListing; +pub mod permission_request; +pub use self::permission_request::PermissionRequest; +pub mod plot; +pub use self::plot::Plot; +pub mod plot_operator; +pub use self::plot_operator::PlotOperator; +pub mod plot_output_format; +pub use self::plot_output_format::PlotOutputFormat; +pub mod plot_result_descriptor; +pub use self::plot_result_descriptor::PlotResultDescriptor; +pub mod point_symbology; +pub use self::point_symbology::PointSymbology; +pub mod polygon_symbology; +pub use self::polygon_symbology::PolygonSymbology; +pub mod project; +pub use self::project::Project; +pub mod project_layer; +pub use self::project_layer::ProjectLayer; +pub mod project_listing; +pub use self::project_listing::ProjectListing; +pub mod project_resource; +pub use self::project_resource::ProjectResource; +pub mod project_update_token; +pub use self::project_update_token::ProjectUpdateToken; +pub mod project_version; +pub use self::project_version::ProjectVersion; +pub mod provenance; +pub use self::provenance::Provenance; +pub mod provenance_entry; +pub use self::provenance_entry::ProvenanceEntry; +pub mod provenances; +pub use self::provenances::Provenances; +pub mod provider_capabilities; +pub use self::provider_capabilities::ProviderCapabilities; +pub mod provider_layer_collection_id; +pub use self::provider_layer_collection_id::ProviderLayerCollectionId; +pub mod provider_layer_id; +pub use self::provider_layer_id::ProviderLayerId; +pub mod quota; +pub use self::quota::Quota; +pub mod raster_band_descriptor; +pub use self::raster_band_descriptor::RasterBandDescriptor; +pub mod raster_colorizer; +pub use self::raster_colorizer::RasterColorizer; +pub mod raster_data_type; +pub use self::raster_data_type::RasterDataType; +pub mod raster_dataset_from_workflow; +pub use self::raster_dataset_from_workflow::RasterDatasetFromWorkflow; +pub mod raster_operator; +pub use self::raster_operator::RasterOperator; +pub mod raster_properties_entry_type; +pub use self::raster_properties_entry_type::RasterPropertiesEntryType; +pub mod raster_properties_key; +pub use self::raster_properties_key::RasterPropertiesKey; +pub mod raster_result_descriptor; +pub use self::raster_result_descriptor::RasterResultDescriptor; +pub mod raster_stream_websocket_result_type; +pub use self::raster_stream_websocket_result_type::RasterStreamWebsocketResultType; +pub mod raster_symbology; +pub use self::raster_symbology::RasterSymbology; +pub mod raster_to_dataset_query_rectangle; +pub use self::raster_to_dataset_query_rectangle::RasterToDatasetQueryRectangle; +pub mod raster_vector_join; +pub use self::raster_vector_join::RasterVectorJoin; +pub mod raster_vector_join_parameters; +pub use self::raster_vector_join_parameters::RasterVectorJoinParameters; +pub mod regular_time_dimension; +pub use self::regular_time_dimension::RegularTimeDimension; +pub mod resource; +pub use self::resource::Resource; +pub mod role; +pub use self::role::Role; +pub mod role_description; +pub use self::role_description::RoleDescription; +pub mod search_capabilities; +pub use self::search_capabilities::SearchCapabilities; +pub mod search_type; +pub use self::search_type::SearchType; +pub mod search_types; +pub use self::search_types::SearchTypes; +pub mod sentinel_s2_l2_a_cogs_provider_definition; +pub use self::sentinel_s2_l2_a_cogs_provider_definition::SentinelS2L2ACogsProviderDefinition; +pub mod server_info; +pub use self::server_info::ServerInfo; +pub mod single_band_raster_colorizer; +pub use self::single_band_raster_colorizer::SingleBandRasterColorizer; +pub mod single_raster_or_vector_operator; +pub use self::single_raster_or_vector_operator::SingleRasterOrVectorOperator; +pub mod single_raster_or_vector_source; +pub use self::single_raster_or_vector_source::SingleRasterOrVectorSource; +pub mod single_raster_source; +pub use self::single_raster_source::SingleRasterSource; +pub mod single_vector_multiple_raster_sources; +pub use self::single_vector_multiple_raster_sources::SingleVectorMultipleRasterSources; +pub mod spatial_bounds_derive; +pub use self::spatial_bounds_derive::SpatialBoundsDerive; +pub mod spatial_bounds_derive_bounds; +pub use self::spatial_bounds_derive_bounds::SpatialBoundsDeriveBounds; +pub mod spatial_bounds_derive_derive; +pub use self::spatial_bounds_derive_derive::SpatialBoundsDeriveDerive; +pub mod spatial_bounds_derive_none; +pub use self::spatial_bounds_derive_none::SpatialBoundsDeriveNone; +pub mod spatial_grid_definition; +pub use self::spatial_grid_definition::SpatialGridDefinition; +pub mod spatial_grid_descriptor; +pub use self::spatial_grid_descriptor::SpatialGridDescriptor; +pub mod spatial_grid_descriptor_state; +pub use self::spatial_grid_descriptor_state::SpatialGridDescriptorState; +pub mod spatial_partition2_d; +pub use self::spatial_partition2_d::SpatialPartition2D; +pub mod spatial_reference_specification; +pub use self::spatial_reference_specification::SpatialReferenceSpecification; +pub mod st_rectangle; +pub use self::st_rectangle::StRectangle; +pub mod stac_api_retries; +pub use self::stac_api_retries::StacApiRetries; +pub mod stac_query_buffer; +pub use self::stac_query_buffer::StacQueryBuffer; +pub mod static_color; +pub use self::static_color::StaticColor; +pub mod static_number; +pub use self::static_number::StaticNumber; +pub mod statistics; +pub use self::statistics::Statistics; +pub mod statistics_parameters; +pub use self::statistics_parameters::StatisticsParameters; +pub mod stroke_param; +pub use self::stroke_param::StrokeParam; +pub mod suffix; +pub use self::suffix::Suffix; +pub mod suggest_meta_data; +pub use self::suggest_meta_data::SuggestMetaData; +pub mod symbology; +pub use self::symbology::Symbology; +pub mod task_filter; +pub use self::task_filter::TaskFilter; +pub mod task_response; +pub use self::task_response::TaskResponse; +pub mod task_status; +pub use self::task_status::TaskStatus; +pub mod task_status_aborted; +pub use self::task_status_aborted::TaskStatusAborted; +pub mod task_status_completed; +pub use self::task_status_completed::TaskStatusCompleted; +pub mod task_status_failed; +pub use self::task_status_failed::TaskStatusFailed; +pub mod task_status_running; +pub use self::task_status_running::TaskStatusRunning; +pub mod task_status_with_id; +pub use self::task_status_with_id::TaskStatusWithId; +pub mod temporal_aggregation_method; +pub use self::temporal_aggregation_method::TemporalAggregationMethod; +pub mod text_symbology; +pub use self::text_symbology::TextSymbology; +pub mod time_descriptor; +pub use self::time_descriptor::TimeDescriptor; +pub mod time_dimension; +pub use self::time_dimension::TimeDimension; +pub mod time_dimension_one_of; +pub use self::time_dimension_one_of::TimeDimensionOneOf; +pub mod time_dimension_one_of_1; +pub use self::time_dimension_one_of_1::TimeDimensionOneOf1; +pub mod time_granularity; +pub use self::time_granularity::TimeGranularity; +pub mod time_interval; +pub use self::time_interval::TimeInterval; +pub mod time_reference; +pub use self::time_reference::TimeReference; +pub mod time_step; +pub use self::time_step::TimeStep; +pub mod typed_data_provider_definition; +pub use self::typed_data_provider_definition::TypedDataProviderDefinition; +pub mod typed_geometry; +pub use self::typed_geometry::TypedGeometry; +pub mod typed_geometry_one_of; +pub use self::typed_geometry_one_of::TypedGeometryOneOf; +pub mod typed_geometry_one_of_1; +pub use self::typed_geometry_one_of_1::TypedGeometryOneOf1; +pub mod typed_geometry_one_of_2; +pub use self::typed_geometry_one_of_2::TypedGeometryOneOf2; +pub mod typed_geometry_one_of_3; +pub use self::typed_geometry_one_of_3::TypedGeometryOneOf3; +pub mod typed_operator; +pub use self::typed_operator::TypedOperator; +pub mod typed_plot_operator; +pub use self::typed_plot_operator::TypedPlotOperator; +pub mod typed_plot_result_descriptor; +pub use self::typed_plot_result_descriptor::TypedPlotResultDescriptor; +pub mod typed_raster_operator; +pub use self::typed_raster_operator::TypedRasterOperator; +pub mod typed_raster_result_descriptor; +pub use self::typed_raster_result_descriptor::TypedRasterResultDescriptor; +pub mod typed_result_descriptor; +pub use self::typed_result_descriptor::TypedResultDescriptor; +pub mod typed_vector_operator; +pub use self::typed_vector_operator::TypedVectorOperator; +pub mod typed_vector_result_descriptor; +pub use self::typed_vector_result_descriptor::TypedVectorResultDescriptor; +pub mod unitless_measurement; +pub use self::unitless_measurement::UnitlessMeasurement; +pub mod unix_time_stamp_type; +pub use self::unix_time_stamp_type::UnixTimeStampType; +pub mod update_dataset; +pub use self::update_dataset::UpdateDataset; +pub mod update_layer; +pub use self::update_layer::UpdateLayer; +pub mod update_layer_collection; +pub use self::update_layer_collection::UpdateLayerCollection; +pub mod update_project; +pub use self::update_project::UpdateProject; +pub mod update_quota; +pub use self::update_quota::UpdateQuota; +pub mod upload_file_layers_response; +pub use self::upload_file_layers_response::UploadFileLayersResponse; +pub mod upload_files_response; +pub use self::upload_files_response::UploadFilesResponse; +pub mod usage_summary_granularity; +pub use self::usage_summary_granularity::UsageSummaryGranularity; +pub mod user_credentials; +pub use self::user_credentials::UserCredentials; +pub mod user_info; +pub use self::user_info::UserInfo; +pub mod user_registration; +pub use self::user_registration::UserRegistration; +pub mod user_session; +pub use self::user_session::UserSession; +pub mod vec_update; +pub use self::vec_update::VecUpdate; +pub mod vector_column_info; +pub use self::vector_column_info::VectorColumnInfo; +pub mod vector_data_type; +pub use self::vector_data_type::VectorDataType; +pub mod vector_operator; +pub use self::vector_operator::VectorOperator; +pub mod vector_result_descriptor; +pub use self::vector_result_descriptor::VectorResultDescriptor; +pub mod volume; +pub use self::volume::Volume; +pub mod volume_file_layers_response; +pub use self::volume_file_layers_response::VolumeFileLayersResponse; +pub mod wcs_request; +pub use self::wcs_request::WcsRequest; +pub mod wcs_service; +pub use self::wcs_service::WcsService; +pub mod wcs_version; +pub use self::wcs_version::WcsVersion; +pub mod wfs_request; +pub use self::wfs_request::WfsRequest; +pub mod wfs_service; +pub use self::wfs_service::WfsService; +pub mod wfs_version; +pub use self::wfs_version::WfsVersion; +pub mod wildlive_data_connector_definition; +pub use self::wildlive_data_connector_definition::WildliveDataConnectorDefinition; +pub mod wms_request; +pub use self::wms_request::WmsRequest; +pub mod wms_response_format; +pub use self::wms_response_format::WmsResponseFormat; +pub mod wms_service; +pub use self::wms_service::WmsService; +pub mod wms_version; +pub use self::wms_version::WmsVersion; +pub mod workflow; +pub use self::workflow::Workflow; +pub mod wrapped_plot_output; +pub use self::wrapped_plot_output::WrappedPlotOutput; diff --git a/rust/src/models/multi_band_raster_colorizer.rs b/rust/src/models/multi_band_raster_colorizer.rs new file mode 100644 index 00000000..5d3bdf30 --- /dev/null +++ b/rust/src/models/multi_band_raster_colorizer.rs @@ -0,0 +1,91 @@ +/* + * Geo Engine API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct MultiBandRasterColorizer { + /// The band index of the blue channel. + #[serde(rename = "blueBand")] + pub blue_band: i32, + /// The maximum value for the red channel. + #[serde(rename = "blueMax")] + pub blue_max: f64, + /// The minimum value for the red channel. + #[serde(rename = "blueMin")] + pub blue_min: f64, + /// A scaling factor for the blue channel between 0 and 1. + #[serde(rename = "blueScale", skip_serializing_if = "Option::is_none")] + pub blue_scale: Option, + /// The band index of the green channel. + #[serde(rename = "greenBand")] + pub green_band: i32, + /// The maximum value for the red channel. + #[serde(rename = "greenMax")] + pub green_max: f64, + /// The minimum value for the red channel. + #[serde(rename = "greenMin")] + pub green_min: f64, + /// A scaling factor for the green channel between 0 and 1. + #[serde(rename = "greenScale", skip_serializing_if = "Option::is_none")] + pub green_scale: Option, + /// The color to use for no data values. If not specified, the no data values will be transparent. + #[serde(rename = "noDataColor", skip_serializing_if = "Option::is_none")] + pub no_data_color: Option>, + /// The band index of the red channel. + #[serde(rename = "redBand")] + pub red_band: i32, + /// The maximum value for the red channel. + #[serde(rename = "redMax")] + pub red_max: f64, + /// The minimum value for the red channel. + #[serde(rename = "redMin")] + pub red_min: f64, + /// A scaling factor for the red channel between 0 and 1. + #[serde(rename = "redScale", skip_serializing_if = "Option::is_none")] + pub red_scale: Option, + #[serde(rename = "type")] + pub r#type: Type, +} + +impl MultiBandRasterColorizer { + pub fn new(blue_band: i32, blue_max: f64, blue_min: f64, green_band: i32, green_max: f64, green_min: f64, red_band: i32, red_max: f64, red_min: f64, r#type: Type) -> MultiBandRasterColorizer { + MultiBandRasterColorizer { + blue_band, + blue_max, + blue_min, + blue_scale: None, + green_band, + green_max, + green_min, + green_scale: None, + no_data_color: None, + red_band, + red_max, + red_min, + red_scale: None, + r#type, + } + } +} +/// +#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)] +pub enum Type { + #[serde(rename = "multiBand")] + MultiBand, +} + +impl Default for Type { + fn default() -> Type { + Self::MultiBand + } +} + diff --git a/rust/src/models/multi_line_string.rs b/rust/src/models/multi_line_string.rs new file mode 100644 index 00000000..dc8caec2 --- /dev/null +++ b/rust/src/models/multi_line_string.rs @@ -0,0 +1,27 @@ +/* + * Geo Engine API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct MultiLineString { + #[serde(rename = "coordinates")] + pub coordinates: Vec>, +} + +impl MultiLineString { + pub fn new(coordinates: Vec>) -> MultiLineString { + MultiLineString { + coordinates, + } + } +} + diff --git a/rust/src/models/multi_point.rs b/rust/src/models/multi_point.rs new file mode 100644 index 00000000..9ba269d6 --- /dev/null +++ b/rust/src/models/multi_point.rs @@ -0,0 +1,27 @@ +/* + * Geo Engine API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct MultiPoint { + #[serde(rename = "coordinates")] + pub coordinates: Vec, +} + +impl MultiPoint { + pub fn new(coordinates: Vec) -> MultiPoint { + MultiPoint { + coordinates, + } + } +} + diff --git a/rust/src/models/multi_polygon.rs b/rust/src/models/multi_polygon.rs new file mode 100644 index 00000000..511bad9d --- /dev/null +++ b/rust/src/models/multi_polygon.rs @@ -0,0 +1,27 @@ +/* + * Geo Engine API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct MultiPolygon { + #[serde(rename = "polygons")] + pub polygons: Vec>>, +} + +impl MultiPolygon { + pub fn new(polygons: Vec>>) -> MultiPolygon { + MultiPolygon { + polygons, + } + } +} + diff --git a/rust/src/models/multiple_raster_or_single_vector_operator.rs b/rust/src/models/multiple_raster_or_single_vector_operator.rs new file mode 100644 index 00000000..7a474804 --- /dev/null +++ b/rust/src/models/multiple_raster_or_single_vector_operator.rs @@ -0,0 +1,40 @@ +/* + * Geo Engine API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// MultipleRasterOrSingleVectorOperator : It is either a set of `RasterOperator` or a single `VectorOperator` +/// It is either a set of `RasterOperator` or a single `VectorOperator` +#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)] +#[serde(untagged)] +pub enum MultipleRasterOrSingleVectorOperator { + RasterOperator(Vec), + VectorOperator(Box), +} + +impl Default for MultipleRasterOrSingleVectorOperator { + fn default() -> Self { + Self::RasterOperator(Default::default()) + } +} +/// +#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)] +pub enum Type { + #[serde(rename = "RasterVectorJoin")] + RasterVectorJoin, +} + +impl Default for Type { + fn default() -> Type { + Self::RasterVectorJoin + } +} + diff --git a/rust/src/models/multiple_raster_or_single_vector_source.rs b/rust/src/models/multiple_raster_or_single_vector_source.rs new file mode 100644 index 00000000..cfe9a5cf --- /dev/null +++ b/rust/src/models/multiple_raster_or_single_vector_source.rs @@ -0,0 +1,29 @@ +/* + * Geo Engine API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// MultipleRasterOrSingleVectorSource : Either one or more raster operators or a single vector operator as source for this operator. +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct MultipleRasterOrSingleVectorSource { + #[serde(rename = "source")] + pub source: Box, +} + +impl MultipleRasterOrSingleVectorSource { + /// Either one or more raster operators or a single vector operator as source for this operator. + pub fn new(source: models::MultipleRasterOrSingleVectorOperator) -> MultipleRasterOrSingleVectorSource { + MultipleRasterOrSingleVectorSource { + source: Box::new(source), + } + } +} + diff --git a/rust/src/models/names.rs b/rust/src/models/names.rs new file mode 100644 index 00000000..b850edd1 --- /dev/null +++ b/rust/src/models/names.rs @@ -0,0 +1,42 @@ +/* + * Geo Engine API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct Names { + #[serde(rename = "type")] + pub r#type: Type, + #[serde(rename = "values")] + pub values: Vec, +} + +impl Names { + pub fn new(r#type: Type, values: Vec) -> Names { + Names { + r#type, + values, + } + } +} +/// +#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)] +pub enum Type { + #[serde(rename = "names")] + Names, +} + +impl Default for Type { + fn default() -> Type { + Self::Names + } +} + diff --git a/rust/src/models/net_cdf_cf_data_provider_definition.rs b/rust/src/models/net_cdf_cf_data_provider_definition.rs new file mode 100644 index 00000000..b635f15c --- /dev/null +++ b/rust/src/models/net_cdf_cf_data_provider_definition.rs @@ -0,0 +1,59 @@ +/* + * Geo Engine API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct NetCdfCfDataProviderDefinition { + #[serde(rename = "cacheTtl", skip_serializing_if = "Option::is_none")] + pub cache_ttl: Option, + /// Path were the `NetCDF` data can be found + #[serde(rename = "data")] + pub data: String, + #[serde(rename = "description")] + pub description: String, + #[serde(rename = "name")] + pub name: String, + /// Path were overview files are stored + #[serde(rename = "overviews")] + pub overviews: String, + #[serde(rename = "priority", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")] + pub priority: Option>, + #[serde(rename = "type")] + pub r#type: Type, +} + +impl NetCdfCfDataProviderDefinition { + pub fn new(data: String, description: String, name: String, overviews: String, r#type: Type) -> NetCdfCfDataProviderDefinition { + NetCdfCfDataProviderDefinition { + cache_ttl: None, + data, + description, + name, + overviews, + priority: None, + r#type, + } + } +} +/// +#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)] +pub enum Type { + #[serde(rename = "NetCdfCf")] + NetCdfCf, +} + +impl Default for Type { + fn default() -> Type { + Self::NetCdfCf + } +} + diff --git a/rust/src/models/number_param.rs b/rust/src/models/number_param.rs new file mode 100644 index 00000000..486589a0 --- /dev/null +++ b/rust/src/models/number_param.rs @@ -0,0 +1,29 @@ +/* + * Geo Engine API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)] +#[serde(tag = "type")] +pub enum NumberParam { + #[serde(rename="static")] + Static(Box), + #[serde(rename="derived")] + Derived(Box), +} + +impl Default for NumberParam { + fn default() -> Self { + Self::Static(Default::default()) + } +} + + diff --git a/rust/src/models/ogr_meta_data.rs b/rust/src/models/ogr_meta_data.rs new file mode 100644 index 00000000..692e31e7 --- /dev/null +++ b/rust/src/models/ogr_meta_data.rs @@ -0,0 +1,45 @@ +/* + * Geo Engine API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct OgrMetaData { + #[serde(rename = "loadingInfo")] + pub loading_info: Box, + #[serde(rename = "resultDescriptor")] + pub result_descriptor: Box, + #[serde(rename = "type")] + pub r#type: Type, +} + +impl OgrMetaData { + pub fn new(loading_info: models::OgrSourceDataset, result_descriptor: models::VectorResultDescriptor, r#type: Type) -> OgrMetaData { + OgrMetaData { + loading_info: Box::new(loading_info), + result_descriptor: Box::new(result_descriptor), + r#type, + } + } +} +/// +#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)] +pub enum Type { + #[serde(rename = "OgrMetaData")] + OgrMetaData, +} + +impl Default for Type { + fn default() -> Type { + Self::OgrMetaData + } +} + diff --git a/rust/src/models/ogr_source_column_spec.rs b/rust/src/models/ogr_source_column_spec.rs new file mode 100644 index 00000000..d729a698 --- /dev/null +++ b/rust/src/models/ogr_source_column_spec.rs @@ -0,0 +1,51 @@ +/* + * Geo Engine API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct OgrSourceColumnSpec { + #[serde(rename = "bool", skip_serializing_if = "Option::is_none")] + pub bool: Option>, + #[serde(rename = "datetime", skip_serializing_if = "Option::is_none")] + pub datetime: Option>, + #[serde(rename = "float", skip_serializing_if = "Option::is_none")] + pub float: Option>, + #[serde(rename = "formatSpecifics", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")] + pub format_specifics: Option>>, + #[serde(rename = "int", skip_serializing_if = "Option::is_none")] + pub int: Option>, + #[serde(rename = "rename", skip_serializing_if = "Option::is_none")] + pub rename: Option>, + #[serde(rename = "text", skip_serializing_if = "Option::is_none")] + pub text: Option>, + #[serde(rename = "x")] + pub x: String, + #[serde(rename = "y", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")] + pub y: Option>, +} + +impl OgrSourceColumnSpec { + pub fn new(x: String) -> OgrSourceColumnSpec { + OgrSourceColumnSpec { + bool: None, + datetime: None, + float: None, + format_specifics: None, + int: None, + rename: None, + text: None, + x, + y: None, + } + } +} + diff --git a/rust/src/models/ogr_source_dataset.rs b/rust/src/models/ogr_source_dataset.rs new file mode 100644 index 00000000..4717bc10 --- /dev/null +++ b/rust/src/models/ogr_source_dataset.rs @@ -0,0 +1,60 @@ +/* + * Geo Engine API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct OgrSourceDataset { + #[serde(rename = "attributeQuery", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")] + pub attribute_query: Option>, + #[serde(rename = "cacheTtl", skip_serializing_if = "Option::is_none")] + pub cache_ttl: Option, + #[serde(rename = "columns", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")] + pub columns: Option>>, + #[serde(rename = "dataType", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")] + pub data_type: Option>, + #[serde(rename = "defaultGeometry", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")] + pub default_geometry: Option>>, + #[serde(rename = "fileName")] + pub file_name: String, + #[serde(rename = "forceOgrSpatialFilter", skip_serializing_if = "Option::is_none")] + pub force_ogr_spatial_filter: Option, + #[serde(rename = "forceOgrTimeFilter", skip_serializing_if = "Option::is_none")] + pub force_ogr_time_filter: Option, + #[serde(rename = "layerName")] + pub layer_name: String, + #[serde(rename = "onError")] + pub on_error: models::OgrSourceErrorSpec, + #[serde(rename = "sqlQuery", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")] + pub sql_query: Option>, + #[serde(rename = "time", skip_serializing_if = "Option::is_none")] + pub time: Option>, +} + +impl OgrSourceDataset { + pub fn new(file_name: String, layer_name: String, on_error: models::OgrSourceErrorSpec) -> OgrSourceDataset { + OgrSourceDataset { + attribute_query: None, + cache_ttl: None, + columns: None, + data_type: None, + default_geometry: None, + file_name, + force_ogr_spatial_filter: None, + force_ogr_time_filter: None, + layer_name, + on_error, + sql_query: None, + time: None, + } + } +} + diff --git a/rust/src/models/ogr_source_dataset_time_type.rs b/rust/src/models/ogr_source_dataset_time_type.rs new file mode 100644 index 00000000..7cd03da9 --- /dev/null +++ b/rust/src/models/ogr_source_dataset_time_type.rs @@ -0,0 +1,33 @@ +/* + * Geo Engine API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)] +#[serde(tag = "type")] +pub enum OgrSourceDatasetTimeType { + #[serde(rename="none")] + None(Box), + #[serde(rename="start")] + Start(Box), + #[serde(rename="start+end")] + StartPlusEnd(Box), + #[serde(rename="start+duration")] + StartPlusDuration(Box), +} + +impl Default for OgrSourceDatasetTimeType { + fn default() -> Self { + Self::None(Default::default()) + } +} + + diff --git a/rust/src/models/ogr_source_dataset_time_type_none.rs b/rust/src/models/ogr_source_dataset_time_type_none.rs new file mode 100644 index 00000000..f25d10bb --- /dev/null +++ b/rust/src/models/ogr_source_dataset_time_type_none.rs @@ -0,0 +1,39 @@ +/* + * Geo Engine API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct OgrSourceDatasetTimeTypeNone { + #[serde(rename = "type")] + pub r#type: Type, +} + +impl OgrSourceDatasetTimeTypeNone { + pub fn new(r#type: Type) -> OgrSourceDatasetTimeTypeNone { + OgrSourceDatasetTimeTypeNone { + r#type, + } + } +} +/// +#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)] +pub enum Type { + #[serde(rename = "none")] + None, +} + +impl Default for Type { + fn default() -> Type { + Self::None + } +} + diff --git a/rust/src/models/ogr_source_dataset_time_type_start.rs b/rust/src/models/ogr_source_dataset_time_type_start.rs new file mode 100644 index 00000000..051399de --- /dev/null +++ b/rust/src/models/ogr_source_dataset_time_type_start.rs @@ -0,0 +1,48 @@ +/* + * Geo Engine API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct OgrSourceDatasetTimeTypeStart { + #[serde(rename = "duration")] + pub duration: Box, + #[serde(rename = "startField")] + pub start_field: String, + #[serde(rename = "startFormat")] + pub start_format: Box, + #[serde(rename = "type")] + pub r#type: Type, +} + +impl OgrSourceDatasetTimeTypeStart { + pub fn new(duration: models::OgrSourceDurationSpec, start_field: String, start_format: models::OgrSourceTimeFormat, r#type: Type) -> OgrSourceDatasetTimeTypeStart { + OgrSourceDatasetTimeTypeStart { + duration: Box::new(duration), + start_field, + start_format: Box::new(start_format), + r#type, + } + } +} +/// +#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)] +pub enum Type { + #[serde(rename = "start")] + Start, +} + +impl Default for Type { + fn default() -> Type { + Self::Start + } +} + diff --git a/rust/src/models/ogr_source_dataset_time_type_start_duration.rs b/rust/src/models/ogr_source_dataset_time_type_start_duration.rs new file mode 100644 index 00000000..51d9ce65 --- /dev/null +++ b/rust/src/models/ogr_source_dataset_time_type_start_duration.rs @@ -0,0 +1,48 @@ +/* + * Geo Engine API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct OgrSourceDatasetTimeTypeStartDuration { + #[serde(rename = "durationField")] + pub duration_field: String, + #[serde(rename = "startField")] + pub start_field: String, + #[serde(rename = "startFormat")] + pub start_format: Box, + #[serde(rename = "type")] + pub r#type: Type, +} + +impl OgrSourceDatasetTimeTypeStartDuration { + pub fn new(duration_field: String, start_field: String, start_format: models::OgrSourceTimeFormat, r#type: Type) -> OgrSourceDatasetTimeTypeStartDuration { + OgrSourceDatasetTimeTypeStartDuration { + duration_field, + start_field, + start_format: Box::new(start_format), + r#type, + } + } +} +/// +#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)] +pub enum Type { + #[serde(rename = "start+duration")] + StartPlusDuration, +} + +impl Default for Type { + fn default() -> Type { + Self::StartPlusDuration + } +} + diff --git a/rust/src/models/ogr_source_dataset_time_type_start_end.rs b/rust/src/models/ogr_source_dataset_time_type_start_end.rs new file mode 100644 index 00000000..fdd0b161 --- /dev/null +++ b/rust/src/models/ogr_source_dataset_time_type_start_end.rs @@ -0,0 +1,51 @@ +/* + * Geo Engine API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct OgrSourceDatasetTimeTypeStartEnd { + #[serde(rename = "endField")] + pub end_field: String, + #[serde(rename = "endFormat")] + pub end_format: Box, + #[serde(rename = "startField")] + pub start_field: String, + #[serde(rename = "startFormat")] + pub start_format: Box, + #[serde(rename = "type")] + pub r#type: Type, +} + +impl OgrSourceDatasetTimeTypeStartEnd { + pub fn new(end_field: String, end_format: models::OgrSourceTimeFormat, start_field: String, start_format: models::OgrSourceTimeFormat, r#type: Type) -> OgrSourceDatasetTimeTypeStartEnd { + OgrSourceDatasetTimeTypeStartEnd { + end_field, + end_format: Box::new(end_format), + start_field, + start_format: Box::new(start_format), + r#type, + } + } +} +/// +#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)] +pub enum Type { + #[serde(rename = "start+end")] + StartPlusEnd, +} + +impl Default for Type { + fn default() -> Type { + Self::StartPlusEnd + } +} + diff --git a/rust/src/models/ogr_source_duration_spec.rs b/rust/src/models/ogr_source_duration_spec.rs new file mode 100644 index 00000000..4e8ab26d --- /dev/null +++ b/rust/src/models/ogr_source_duration_spec.rs @@ -0,0 +1,31 @@ +/* + * Geo Engine API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)] +#[serde(tag = "type")] +pub enum OgrSourceDurationSpec { + #[serde(rename="infinite")] + Infinite(Box), + #[serde(rename="zero")] + Zero(Box), + #[serde(rename="value")] + Value(Box), +} + +impl Default for OgrSourceDurationSpec { + fn default() -> Self { + Self::Infinite(Default::default()) + } +} + + diff --git a/rust/src/models/ogr_source_duration_spec_infinite.rs b/rust/src/models/ogr_source_duration_spec_infinite.rs new file mode 100644 index 00000000..9fd4fcaa --- /dev/null +++ b/rust/src/models/ogr_source_duration_spec_infinite.rs @@ -0,0 +1,39 @@ +/* + * Geo Engine API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct OgrSourceDurationSpecInfinite { + #[serde(rename = "type")] + pub r#type: Type, +} + +impl OgrSourceDurationSpecInfinite { + pub fn new(r#type: Type) -> OgrSourceDurationSpecInfinite { + OgrSourceDurationSpecInfinite { + r#type, + } + } +} +/// +#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)] +pub enum Type { + #[serde(rename = "infinite")] + Infinite, +} + +impl Default for Type { + fn default() -> Type { + Self::Infinite + } +} + diff --git a/rust/src/models/ogr_source_duration_spec_value.rs b/rust/src/models/ogr_source_duration_spec_value.rs new file mode 100644 index 00000000..950e2c4e --- /dev/null +++ b/rust/src/models/ogr_source_duration_spec_value.rs @@ -0,0 +1,45 @@ +/* + * Geo Engine API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct OgrSourceDurationSpecValue { + #[serde(rename = "granularity")] + pub granularity: models::TimeGranularity, + #[serde(rename = "step")] + pub step: i32, + #[serde(rename = "type")] + pub r#type: Type, +} + +impl OgrSourceDurationSpecValue { + pub fn new(granularity: models::TimeGranularity, step: i32, r#type: Type) -> OgrSourceDurationSpecValue { + OgrSourceDurationSpecValue { + granularity, + step, + r#type, + } + } +} +/// +#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)] +pub enum Type { + #[serde(rename = "value")] + Value, +} + +impl Default for Type { + fn default() -> Type { + Self::Value + } +} + diff --git a/rust/src/models/ogr_source_duration_spec_zero.rs b/rust/src/models/ogr_source_duration_spec_zero.rs new file mode 100644 index 00000000..e31dfe6e --- /dev/null +++ b/rust/src/models/ogr_source_duration_spec_zero.rs @@ -0,0 +1,39 @@ +/* + * Geo Engine API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct OgrSourceDurationSpecZero { + #[serde(rename = "type")] + pub r#type: Type, +} + +impl OgrSourceDurationSpecZero { + pub fn new(r#type: Type) -> OgrSourceDurationSpecZero { + OgrSourceDurationSpecZero { + r#type, + } + } +} +/// +#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)] +pub enum Type { + #[serde(rename = "zero")] + Zero, +} + +impl Default for Type { + fn default() -> Type { + Self::Zero + } +} + diff --git a/rust/src/models/ogr_source_error_spec.rs b/rust/src/models/ogr_source_error_spec.rs new file mode 100644 index 00000000..7c1d0ad5 --- /dev/null +++ b/rust/src/models/ogr_source_error_spec.rs @@ -0,0 +1,38 @@ +/* + * Geo Engine API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// +#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)] +pub enum OgrSourceErrorSpec { + #[serde(rename = "ignore")] + Ignore, + #[serde(rename = "abort")] + Abort, + +} + +impl std::fmt::Display for OgrSourceErrorSpec { + fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result { + match self { + Self::Ignore => write!(f, "ignore"), + Self::Abort => write!(f, "abort"), + } + } +} + +impl Default for OgrSourceErrorSpec { + fn default() -> OgrSourceErrorSpec { + Self::Ignore + } +} + diff --git a/rust/src/models/ogr_source_time_format.rs b/rust/src/models/ogr_source_time_format.rs new file mode 100644 index 00000000..da56fad7 --- /dev/null +++ b/rust/src/models/ogr_source_time_format.rs @@ -0,0 +1,31 @@ +/* + * Geo Engine API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)] +#[serde(tag = "format")] +pub enum OgrSourceTimeFormat { + #[serde(rename="custom")] + Custom(Box), + #[serde(rename="unixTimeStamp")] + UnixTimeStamp(Box), + #[serde(rename="auto")] + Auto(Box), +} + +impl Default for OgrSourceTimeFormat { + fn default() -> Self { + Self::Custom(Default::default()) + } +} + + diff --git a/rust/src/models/ogr_source_time_format_auto.rs b/rust/src/models/ogr_source_time_format_auto.rs new file mode 100644 index 00000000..4b5824f2 --- /dev/null +++ b/rust/src/models/ogr_source_time_format_auto.rs @@ -0,0 +1,39 @@ +/* + * Geo Engine API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct OgrSourceTimeFormatAuto { + #[serde(rename = "format")] + pub format: Format, +} + +impl OgrSourceTimeFormatAuto { + pub fn new(format: Format) -> OgrSourceTimeFormatAuto { + OgrSourceTimeFormatAuto { + format, + } + } +} +/// +#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)] +pub enum Format { + #[serde(rename = "auto")] + Auto, +} + +impl Default for Format { + fn default() -> Format { + Self::Auto + } +} + diff --git a/rust/src/models/ogr_source_time_format_custom.rs b/rust/src/models/ogr_source_time_format_custom.rs new file mode 100644 index 00000000..1d3e9ce3 --- /dev/null +++ b/rust/src/models/ogr_source_time_format_custom.rs @@ -0,0 +1,42 @@ +/* + * Geo Engine API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct OgrSourceTimeFormatCustom { + #[serde(rename = "customFormat")] + pub custom_format: String, + #[serde(rename = "format")] + pub format: Format, +} + +impl OgrSourceTimeFormatCustom { + pub fn new(custom_format: String, format: Format) -> OgrSourceTimeFormatCustom { + OgrSourceTimeFormatCustom { + custom_format, + format, + } + } +} +/// +#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)] +pub enum Format { + #[serde(rename = "custom")] + Custom, +} + +impl Default for Format { + fn default() -> Format { + Self::Custom + } +} + diff --git a/rust/src/models/ogr_source_time_format_unix_time_stamp.rs b/rust/src/models/ogr_source_time_format_unix_time_stamp.rs new file mode 100644 index 00000000..ce4fb2e0 --- /dev/null +++ b/rust/src/models/ogr_source_time_format_unix_time_stamp.rs @@ -0,0 +1,42 @@ +/* + * Geo Engine API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct OgrSourceTimeFormatUnixTimeStamp { + #[serde(rename = "format")] + pub format: Format, + #[serde(rename = "timestampType")] + pub timestamp_type: models::UnixTimeStampType, +} + +impl OgrSourceTimeFormatUnixTimeStamp { + pub fn new(format: Format, timestamp_type: models::UnixTimeStampType) -> OgrSourceTimeFormatUnixTimeStamp { + OgrSourceTimeFormatUnixTimeStamp { + format, + timestamp_type, + } + } +} +/// +#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)] +pub enum Format { + #[serde(rename = "unixTimeStamp")] + UnixTimeStamp, +} + +impl Default for Format { + fn default() -> Format { + Self::UnixTimeStamp + } +} + diff --git a/rust/src/models/operator_quota.rs b/rust/src/models/operator_quota.rs new file mode 100644 index 00000000..b4487329 --- /dev/null +++ b/rust/src/models/operator_quota.rs @@ -0,0 +1,33 @@ +/* + * Geo Engine API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct OperatorQuota { + #[serde(rename = "count")] + pub count: i64, + #[serde(rename = "operatorName")] + pub operator_name: String, + #[serde(rename = "operatorPath")] + pub operator_path: String, +} + +impl OperatorQuota { + pub fn new(count: i64, operator_name: String, operator_path: String) -> OperatorQuota { + OperatorQuota { + count, + operator_name, + operator_path, + } + } +} + diff --git a/rust/src/models/order_by.rs b/rust/src/models/order_by.rs new file mode 100644 index 00000000..b2b732cb --- /dev/null +++ b/rust/src/models/order_by.rs @@ -0,0 +1,38 @@ +/* + * Geo Engine API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// +#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)] +pub enum OrderBy { + #[serde(rename = "NameAsc")] + NameAsc, + #[serde(rename = "NameDesc")] + NameDesc, + +} + +impl std::fmt::Display for OrderBy { + fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result { + match self { + Self::NameAsc => write!(f, "NameAsc"), + Self::NameDesc => write!(f, "NameDesc"), + } + } +} + +impl Default for OrderBy { + fn default() -> OrderBy { + Self::NameAsc + } +} + diff --git a/rust/src/models/palette_colorizer.rs b/rust/src/models/palette_colorizer.rs new file mode 100644 index 00000000..fa61fa7b --- /dev/null +++ b/rust/src/models/palette_colorizer.rs @@ -0,0 +1,49 @@ +/* + * Geo Engine API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct PaletteColorizer { + /// A map from value to color It is assumed that is has at least one and at most 256 entries. + #[serde(rename = "colors")] + pub colors: std::collections::HashMap>, + #[serde(rename = "defaultColor")] + pub default_color: Vec, + #[serde(rename = "noDataColor")] + pub no_data_color: Vec, + #[serde(rename = "type")] + pub r#type: Type, +} + +impl PaletteColorizer { + pub fn new(colors: std::collections::HashMap>, default_color: Vec, no_data_color: Vec, r#type: Type) -> PaletteColorizer { + PaletteColorizer { + colors, + default_color, + no_data_color, + r#type, + } + } +} +/// +#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)] +pub enum Type { + #[serde(rename = "palette")] + Palette, +} + +impl Default for Type { + fn default() -> Type { + Self::Palette + } +} + diff --git a/rust/src/models/pangaea_data_provider_definition.rs b/rust/src/models/pangaea_data_provider_definition.rs new file mode 100644 index 00000000..91e9b641 --- /dev/null +++ b/rust/src/models/pangaea_data_provider_definition.rs @@ -0,0 +1,54 @@ +/* + * Geo Engine API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct PangaeaDataProviderDefinition { + #[serde(rename = "baseUrl")] + pub base_url: String, + #[serde(rename = "cacheTtl")] + pub cache_ttl: i32, + #[serde(rename = "description")] + pub description: String, + #[serde(rename = "name")] + pub name: String, + #[serde(rename = "priority", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")] + pub priority: Option>, + #[serde(rename = "type")] + pub r#type: Type, +} + +impl PangaeaDataProviderDefinition { + pub fn new(base_url: String, cache_ttl: i32, description: String, name: String, r#type: Type) -> PangaeaDataProviderDefinition { + PangaeaDataProviderDefinition { + base_url, + cache_ttl, + description, + name, + priority: None, + r#type, + } + } +} +/// +#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)] +pub enum Type { + #[serde(rename = "Pangaea")] + Pangaea, +} + +impl Default for Type { + fn default() -> Type { + Self::Pangaea + } +} + diff --git a/rust/src/models/permission.rs b/rust/src/models/permission.rs new file mode 100644 index 00000000..190ffb62 --- /dev/null +++ b/rust/src/models/permission.rs @@ -0,0 +1,38 @@ +/* + * Geo Engine API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// +#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)] +pub enum Permission { + #[serde(rename = "Read")] + Read, + #[serde(rename = "Owner")] + Owner, + +} + +impl std::fmt::Display for Permission { + fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result { + match self { + Self::Read => write!(f, "Read"), + Self::Owner => write!(f, "Owner"), + } + } +} + +impl Default for Permission { + fn default() -> Permission { + Self::Read + } +} + diff --git a/rust/src/models/permission_listing.rs b/rust/src/models/permission_listing.rs new file mode 100644 index 00000000..582ec8c7 --- /dev/null +++ b/rust/src/models/permission_listing.rs @@ -0,0 +1,33 @@ +/* + * Geo Engine API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct PermissionListing { + #[serde(rename = "permission")] + pub permission: models::Permission, + #[serde(rename = "resource")] + pub resource: Box, + #[serde(rename = "role")] + pub role: Box, +} + +impl PermissionListing { + pub fn new(permission: models::Permission, resource: models::Resource, role: models::Role) -> PermissionListing { + PermissionListing { + permission, + resource: Box::new(resource), + role: Box::new(role), + } + } +} + diff --git a/rust/src/models/permission_request.rs b/rust/src/models/permission_request.rs new file mode 100644 index 00000000..4f38633b --- /dev/null +++ b/rust/src/models/permission_request.rs @@ -0,0 +1,35 @@ +/* + * Geo Engine API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// PermissionRequest : Request for adding a new permission to the given role on the given resource +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct PermissionRequest { + #[serde(rename = "permission")] + pub permission: models::Permission, + #[serde(rename = "resource")] + pub resource: Box, + #[serde(rename = "roleId")] + pub role_id: uuid::Uuid, +} + +impl PermissionRequest { + /// Request for adding a new permission to the given role on the given resource + pub fn new(permission: models::Permission, resource: models::Resource, role_id: uuid::Uuid) -> PermissionRequest { + PermissionRequest { + permission, + resource: Box::new(resource), + role_id, + } + } +} + diff --git a/rust/src/models/plot.rs b/rust/src/models/plot.rs new file mode 100644 index 00000000..3434eff2 --- /dev/null +++ b/rust/src/models/plot.rs @@ -0,0 +1,30 @@ +/* + * Geo Engine API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct Plot { + #[serde(rename = "name")] + pub name: String, + #[serde(rename = "workflow")] + pub workflow: uuid::Uuid, +} + +impl Plot { + pub fn new(name: String, workflow: uuid::Uuid) -> Plot { + Plot { + name, + workflow, + } + } +} + diff --git a/rust/src/models/plot_operator.rs b/rust/src/models/plot_operator.rs new file mode 100644 index 00000000..9495a602 --- /dev/null +++ b/rust/src/models/plot_operator.rs @@ -0,0 +1,30 @@ +/* + * Geo Engine API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// PlotOperator : An operator that produces plot data. +#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)] +#[serde(tag = "type")] +pub enum PlotOperator { + #[serde(rename="Histogram")] + Histogram(Box), + #[serde(rename="Statistics")] + Statistics(Box), +} + +impl Default for PlotOperator { + fn default() -> Self { + Self::Histogram(Default::default()) + } +} + + diff --git a/rust/src/models/plot_output_format.rs b/rust/src/models/plot_output_format.rs new file mode 100644 index 00000000..c26b657b --- /dev/null +++ b/rust/src/models/plot_output_format.rs @@ -0,0 +1,41 @@ +/* + * Geo Engine API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// +#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)] +pub enum PlotOutputFormat { + #[serde(rename = "JsonPlain")] + JsonPlain, + #[serde(rename = "JsonVega")] + JsonVega, + #[serde(rename = "ImagePng")] + ImagePng, + +} + +impl std::fmt::Display for PlotOutputFormat { + fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result { + match self { + Self::JsonPlain => write!(f, "JsonPlain"), + Self::JsonVega => write!(f, "JsonVega"), + Self::ImagePng => write!(f, "ImagePng"), + } + } +} + +impl Default for PlotOutputFormat { + fn default() -> PlotOutputFormat { + Self::JsonPlain + } +} + diff --git a/rust/src/models/plot_result_descriptor.rs b/rust/src/models/plot_result_descriptor.rs new file mode 100644 index 00000000..a774ad2b --- /dev/null +++ b/rust/src/models/plot_result_descriptor.rs @@ -0,0 +1,35 @@ +/* + * Geo Engine API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// PlotResultDescriptor : A `ResultDescriptor` for plot queries +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct PlotResultDescriptor { + #[serde(rename = "bbox", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")] + pub bbox: Option>>, + #[serde(rename = "spatialReference")] + pub spatial_reference: String, + #[serde(rename = "time", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")] + pub time: Option>>, +} + +impl PlotResultDescriptor { + /// A `ResultDescriptor` for plot queries + pub fn new(spatial_reference: String) -> PlotResultDescriptor { + PlotResultDescriptor { + bbox: None, + spatial_reference, + time: None, + } + } +} + diff --git a/rust/src/models/point_symbology.rs b/rust/src/models/point_symbology.rs new file mode 100644 index 00000000..0c2940f0 --- /dev/null +++ b/rust/src/models/point_symbology.rs @@ -0,0 +1,51 @@ +/* + * Geo Engine API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct PointSymbology { + #[serde(rename = "fillColor")] + pub fill_color: Box, + #[serde(rename = "radius")] + pub radius: Box, + #[serde(rename = "stroke")] + pub stroke: Box, + #[serde(rename = "text", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")] + pub text: Option>>, + #[serde(rename = "type")] + pub r#type: Type, +} + +impl PointSymbology { + pub fn new(fill_color: models::ColorParam, radius: models::NumberParam, stroke: models::StrokeParam, r#type: Type) -> PointSymbology { + PointSymbology { + fill_color: Box::new(fill_color), + radius: Box::new(radius), + stroke: Box::new(stroke), + text: None, + r#type, + } + } +} +/// +#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)] +pub enum Type { + #[serde(rename = "point")] + Point, +} + +impl Default for Type { + fn default() -> Type { + Self::Point + } +} + diff --git a/rust/src/models/polygon_symbology.rs b/rust/src/models/polygon_symbology.rs new file mode 100644 index 00000000..e9518815 --- /dev/null +++ b/rust/src/models/polygon_symbology.rs @@ -0,0 +1,51 @@ +/* + * Geo Engine API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct PolygonSymbology { + #[serde(rename = "autoSimplified")] + pub auto_simplified: bool, + #[serde(rename = "fillColor")] + pub fill_color: Box, + #[serde(rename = "stroke")] + pub stroke: Box, + #[serde(rename = "text", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")] + pub text: Option>>, + #[serde(rename = "type")] + pub r#type: Type, +} + +impl PolygonSymbology { + pub fn new(auto_simplified: bool, fill_color: models::ColorParam, stroke: models::StrokeParam, r#type: Type) -> PolygonSymbology { + PolygonSymbology { + auto_simplified, + fill_color: Box::new(fill_color), + stroke: Box::new(stroke), + text: None, + r#type, + } + } +} +/// +#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)] +pub enum Type { + #[serde(rename = "polygon")] + Polygon, +} + +impl Default for Type { + fn default() -> Type { + Self::Polygon + } +} + diff --git a/rust/src/models/project.rs b/rust/src/models/project.rs new file mode 100644 index 00000000..6cbd7fcf --- /dev/null +++ b/rust/src/models/project.rs @@ -0,0 +1,48 @@ +/* + * Geo Engine API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct Project { + #[serde(rename = "bounds")] + pub bounds: Box, + #[serde(rename = "description")] + pub description: String, + #[serde(rename = "id")] + pub id: uuid::Uuid, + #[serde(rename = "layers")] + pub layers: Vec, + #[serde(rename = "name")] + pub name: String, + #[serde(rename = "plots")] + pub plots: Vec, + #[serde(rename = "timeStep")] + pub time_step: Box, + #[serde(rename = "version")] + pub version: Box, +} + +impl Project { + pub fn new(bounds: models::StRectangle, description: String, id: uuid::Uuid, layers: Vec, name: String, plots: Vec, time_step: models::TimeStep, version: models::ProjectVersion) -> Project { + Project { + bounds: Box::new(bounds), + description, + id, + layers, + name, + plots, + time_step: Box::new(time_step), + version: Box::new(version), + } + } +} + diff --git a/rust/src/models/project_layer.rs b/rust/src/models/project_layer.rs new file mode 100644 index 00000000..2914f94a --- /dev/null +++ b/rust/src/models/project_layer.rs @@ -0,0 +1,36 @@ +/* + * Geo Engine API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct ProjectLayer { + #[serde(rename = "name")] + pub name: String, + #[serde(rename = "symbology")] + pub symbology: Box, + #[serde(rename = "visibility")] + pub visibility: Box, + #[serde(rename = "workflow")] + pub workflow: uuid::Uuid, +} + +impl ProjectLayer { + pub fn new(name: String, symbology: models::Symbology, visibility: models::LayerVisibility, workflow: uuid::Uuid) -> ProjectLayer { + ProjectLayer { + name, + symbology: Box::new(symbology), + visibility: Box::new(visibility), + workflow, + } + } +} + diff --git a/rust/src/models/project_listing.rs b/rust/src/models/project_listing.rs new file mode 100644 index 00000000..35ca513a --- /dev/null +++ b/rust/src/models/project_listing.rs @@ -0,0 +1,42 @@ +/* + * Geo Engine API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct ProjectListing { + #[serde(rename = "changed")] + pub changed: String, + #[serde(rename = "description")] + pub description: String, + #[serde(rename = "id")] + pub id: uuid::Uuid, + #[serde(rename = "layerNames")] + pub layer_names: Vec, + #[serde(rename = "name")] + pub name: String, + #[serde(rename = "plotNames")] + pub plot_names: Vec, +} + +impl ProjectListing { + pub fn new(changed: String, description: String, id: uuid::Uuid, layer_names: Vec, name: String, plot_names: Vec) -> ProjectListing { + ProjectListing { + changed, + description, + id, + layer_names, + name, + plot_names, + } + } +} + diff --git a/rust/src/models/project_resource.rs b/rust/src/models/project_resource.rs new file mode 100644 index 00000000..3c07dc7f --- /dev/null +++ b/rust/src/models/project_resource.rs @@ -0,0 +1,42 @@ +/* + * Geo Engine API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct ProjectResource { + #[serde(rename = "id")] + pub id: uuid::Uuid, + #[serde(rename = "type")] + pub r#type: Type, +} + +impl ProjectResource { + pub fn new(id: uuid::Uuid, r#type: Type) -> ProjectResource { + ProjectResource { + id, + r#type, + } + } +} +/// +#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)] +pub enum Type { + #[serde(rename = "project")] + Project, +} + +impl Default for Type { + fn default() -> Type { + Self::Project + } +} + diff --git a/rust/src/models/project_update_token.rs b/rust/src/models/project_update_token.rs new file mode 100644 index 00000000..22932758 --- /dev/null +++ b/rust/src/models/project_update_token.rs @@ -0,0 +1,38 @@ +/* + * Geo Engine API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// +#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)] +pub enum ProjectUpdateToken { + #[serde(rename = "none")] + None, + #[serde(rename = "delete")] + Delete, + +} + +impl std::fmt::Display for ProjectUpdateToken { + fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result { + match self { + Self::None => write!(f, "none"), + Self::Delete => write!(f, "delete"), + } + } +} + +impl Default for ProjectUpdateToken { + fn default() -> ProjectUpdateToken { + Self::None + } +} + diff --git a/rust/src/models/project_version.rs b/rust/src/models/project_version.rs new file mode 100644 index 00000000..31200b58 --- /dev/null +++ b/rust/src/models/project_version.rs @@ -0,0 +1,30 @@ +/* + * Geo Engine API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct ProjectVersion { + #[serde(rename = "changed")] + pub changed: String, + #[serde(rename = "id")] + pub id: uuid::Uuid, +} + +impl ProjectVersion { + pub fn new(changed: String, id: uuid::Uuid) -> ProjectVersion { + ProjectVersion { + changed, + id, + } + } +} + diff --git a/rust/src/models/provenance.rs b/rust/src/models/provenance.rs new file mode 100644 index 00000000..5d5aea10 --- /dev/null +++ b/rust/src/models/provenance.rs @@ -0,0 +1,33 @@ +/* + * Geo Engine API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct Provenance { + #[serde(rename = "citation")] + pub citation: String, + #[serde(rename = "license")] + pub license: String, + #[serde(rename = "uri")] + pub uri: String, +} + +impl Provenance { + pub fn new(citation: String, license: String, uri: String) -> Provenance { + Provenance { + citation, + license, + uri, + } + } +} + diff --git a/rust/src/models/provenance_entry.rs b/rust/src/models/provenance_entry.rs new file mode 100644 index 00000000..1a6b6637 --- /dev/null +++ b/rust/src/models/provenance_entry.rs @@ -0,0 +1,30 @@ +/* + * Geo Engine API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct ProvenanceEntry { + #[serde(rename = "data")] + pub data: Vec, + #[serde(rename = "provenance")] + pub provenance: Box, +} + +impl ProvenanceEntry { + pub fn new(data: Vec, provenance: models::Provenance) -> ProvenanceEntry { + ProvenanceEntry { + data, + provenance: Box::new(provenance), + } + } +} + diff --git a/rust/src/models/provenances.rs b/rust/src/models/provenances.rs new file mode 100644 index 00000000..e0b9d2ef --- /dev/null +++ b/rust/src/models/provenances.rs @@ -0,0 +1,27 @@ +/* + * Geo Engine API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct Provenances { + #[serde(rename = "provenances")] + pub provenances: Vec, +} + +impl Provenances { + pub fn new(provenances: Vec) -> Provenances { + Provenances { + provenances, + } + } +} + diff --git a/rust/src/models/provider_capabilities.rs b/rust/src/models/provider_capabilities.rs new file mode 100644 index 00000000..f6e46656 --- /dev/null +++ b/rust/src/models/provider_capabilities.rs @@ -0,0 +1,30 @@ +/* + * Geo Engine API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct ProviderCapabilities { + #[serde(rename = "listing")] + pub listing: bool, + #[serde(rename = "search")] + pub search: Box, +} + +impl ProviderCapabilities { + pub fn new(listing: bool, search: models::SearchCapabilities) -> ProviderCapabilities { + ProviderCapabilities { + listing, + search: Box::new(search), + } + } +} + diff --git a/rust/src/models/provider_layer_collection_id.rs b/rust/src/models/provider_layer_collection_id.rs new file mode 100644 index 00000000..b3769071 --- /dev/null +++ b/rust/src/models/provider_layer_collection_id.rs @@ -0,0 +1,30 @@ +/* + * Geo Engine API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct ProviderLayerCollectionId { + #[serde(rename = "collectionId")] + pub collection_id: String, + #[serde(rename = "providerId")] + pub provider_id: uuid::Uuid, +} + +impl ProviderLayerCollectionId { + pub fn new(collection_id: String, provider_id: uuid::Uuid) -> ProviderLayerCollectionId { + ProviderLayerCollectionId { + collection_id, + provider_id, + } + } +} + diff --git a/rust/src/models/provider_layer_id.rs b/rust/src/models/provider_layer_id.rs new file mode 100644 index 00000000..bbcec78c --- /dev/null +++ b/rust/src/models/provider_layer_id.rs @@ -0,0 +1,30 @@ +/* + * Geo Engine API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct ProviderLayerId { + #[serde(rename = "layerId")] + pub layer_id: String, + #[serde(rename = "providerId")] + pub provider_id: uuid::Uuid, +} + +impl ProviderLayerId { + pub fn new(layer_id: String, provider_id: uuid::Uuid) -> ProviderLayerId { + ProviderLayerId { + layer_id, + provider_id, + } + } +} + diff --git a/rust/src/models/quota.rs b/rust/src/models/quota.rs new file mode 100644 index 00000000..439cfc3f --- /dev/null +++ b/rust/src/models/quota.rs @@ -0,0 +1,30 @@ +/* + * Geo Engine API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct Quota { + #[serde(rename = "available")] + pub available: i64, + #[serde(rename = "used")] + pub used: i64, +} + +impl Quota { + pub fn new(available: i64, used: i64) -> Quota { + Quota { + available, + used, + } + } +} + diff --git a/rust/src/models/raster_band_descriptor.rs b/rust/src/models/raster_band_descriptor.rs new file mode 100644 index 00000000..699a4ffb --- /dev/null +++ b/rust/src/models/raster_band_descriptor.rs @@ -0,0 +1,30 @@ +/* + * Geo Engine API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct RasterBandDescriptor { + #[serde(rename = "measurement")] + pub measurement: Box, + #[serde(rename = "name")] + pub name: String, +} + +impl RasterBandDescriptor { + pub fn new(measurement: models::Measurement, name: String) -> RasterBandDescriptor { + RasterBandDescriptor { + measurement: Box::new(measurement), + name, + } + } +} + diff --git a/rust/src/models/raster_colorizer.rs b/rust/src/models/raster_colorizer.rs new file mode 100644 index 00000000..cf4839a8 --- /dev/null +++ b/rust/src/models/raster_colorizer.rs @@ -0,0 +1,29 @@ +/* + * Geo Engine API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)] +#[serde(tag = "type")] +pub enum RasterColorizer { + #[serde(rename="singleBand")] + SingleBand(Box), + #[serde(rename="multiBand")] + MultiBand(Box), +} + +impl Default for RasterColorizer { + fn default() -> Self { + Self::SingleBand(Default::default()) + } +} + + diff --git a/rust/src/models/raster_data_type.rs b/rust/src/models/raster_data_type.rs new file mode 100644 index 00000000..90b3b952 --- /dev/null +++ b/rust/src/models/raster_data_type.rs @@ -0,0 +1,62 @@ +/* + * Geo Engine API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// +#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)] +pub enum RasterDataType { + #[serde(rename = "U8")] + U8, + #[serde(rename = "U16")] + U16, + #[serde(rename = "U32")] + U32, + #[serde(rename = "U64")] + U64, + #[serde(rename = "I8")] + I8, + #[serde(rename = "I16")] + I16, + #[serde(rename = "I32")] + I32, + #[serde(rename = "I64")] + I64, + #[serde(rename = "F32")] + F32, + #[serde(rename = "F64")] + F64, + +} + +impl std::fmt::Display for RasterDataType { + fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result { + match self { + Self::U8 => write!(f, "U8"), + Self::U16 => write!(f, "U16"), + Self::U32 => write!(f, "U32"), + Self::U64 => write!(f, "U64"), + Self::I8 => write!(f, "I8"), + Self::I16 => write!(f, "I16"), + Self::I32 => write!(f, "I32"), + Self::I64 => write!(f, "I64"), + Self::F32 => write!(f, "F32"), + Self::F64 => write!(f, "F64"), + } + } +} + +impl Default for RasterDataType { + fn default() -> RasterDataType { + Self::U8 + } +} + diff --git a/rust/src/models/raster_dataset_from_workflow.rs b/rust/src/models/raster_dataset_from_workflow.rs new file mode 100644 index 00000000..dc066ddb --- /dev/null +++ b/rust/src/models/raster_dataset_from_workflow.rs @@ -0,0 +1,41 @@ +/* + * Geo Engine API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// RasterDatasetFromWorkflow : parameter for the dataset from workflow handler (body) +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct RasterDatasetFromWorkflow { + #[serde(rename = "asCog", skip_serializing_if = "Option::is_none")] + pub as_cog: Option, + #[serde(rename = "description", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")] + pub description: Option>, + #[serde(rename = "displayName")] + pub display_name: String, + #[serde(rename = "name", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")] + pub name: Option>, + #[serde(rename = "query")] + pub query: Box, +} + +impl RasterDatasetFromWorkflow { + /// parameter for the dataset from workflow handler (body) + pub fn new(display_name: String, query: models::RasterToDatasetQueryRectangle) -> RasterDatasetFromWorkflow { + RasterDatasetFromWorkflow { + as_cog: None, + description: None, + display_name, + name: None, + query: Box::new(query), + } + } +} + diff --git a/rust/src/models/raster_operator.rs b/rust/src/models/raster_operator.rs new file mode 100644 index 00000000..1772e7cc --- /dev/null +++ b/rust/src/models/raster_operator.rs @@ -0,0 +1,30 @@ +/* + * Geo Engine API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// RasterOperator : An operator that produces raster data. +#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)] +#[serde(untagged)] +pub enum RasterOperator { + #[serde(rename="Expression")] + Expression(Box), + #[serde(rename="GdalSource")] + GdalSource(Box), +} + +impl Default for RasterOperator { + fn default() -> Self { + Self::Expression(Default::default()) + } +} + + diff --git a/rust/src/models/raster_properties_entry_type.rs b/rust/src/models/raster_properties_entry_type.rs new file mode 100644 index 00000000..370bd110 --- /dev/null +++ b/rust/src/models/raster_properties_entry_type.rs @@ -0,0 +1,38 @@ +/* + * Geo Engine API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// +#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)] +pub enum RasterPropertiesEntryType { + #[serde(rename = "Number")] + Number, + #[serde(rename = "String")] + String, + +} + +impl std::fmt::Display for RasterPropertiesEntryType { + fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result { + match self { + Self::Number => write!(f, "Number"), + Self::String => write!(f, "String"), + } + } +} + +impl Default for RasterPropertiesEntryType { + fn default() -> RasterPropertiesEntryType { + Self::Number + } +} + diff --git a/rust/src/models/raster_properties_key.rs b/rust/src/models/raster_properties_key.rs new file mode 100644 index 00000000..5ea5a958 --- /dev/null +++ b/rust/src/models/raster_properties_key.rs @@ -0,0 +1,30 @@ +/* + * Geo Engine API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct RasterPropertiesKey { + #[serde(rename = "domain", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")] + pub domain: Option>, + #[serde(rename = "key")] + pub key: String, +} + +impl RasterPropertiesKey { + pub fn new(key: String) -> RasterPropertiesKey { + RasterPropertiesKey { + domain: None, + key, + } + } +} + diff --git a/rust/src/models/raster_result_descriptor.rs b/rust/src/models/raster_result_descriptor.rs new file mode 100644 index 00000000..d9423ab4 --- /dev/null +++ b/rust/src/models/raster_result_descriptor.rs @@ -0,0 +1,41 @@ +/* + * Geo Engine API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// RasterResultDescriptor : A `ResultDescriptor` for raster queries +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct RasterResultDescriptor { + #[serde(rename = "bands")] + pub bands: Vec, + #[serde(rename = "dataType")] + pub data_type: models::RasterDataType, + #[serde(rename = "spatialGrid")] + pub spatial_grid: Box, + #[serde(rename = "spatialReference")] + pub spatial_reference: String, + #[serde(rename = "time")] + pub time: Box, +} + +impl RasterResultDescriptor { + /// A `ResultDescriptor` for raster queries + pub fn new(bands: Vec, data_type: models::RasterDataType, spatial_grid: models::SpatialGridDescriptor, spatial_reference: String, time: models::TimeDescriptor) -> RasterResultDescriptor { + RasterResultDescriptor { + bands, + data_type, + spatial_grid: Box::new(spatial_grid), + spatial_reference, + time: Box::new(time), + } + } +} + diff --git a/rust/src/models/raster_stream_websocket_result_type.rs b/rust/src/models/raster_stream_websocket_result_type.rs new file mode 100644 index 00000000..d086de6a --- /dev/null +++ b/rust/src/models/raster_stream_websocket_result_type.rs @@ -0,0 +1,36 @@ +/* + * Geo Engine API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// RasterStreamWebsocketResultType : The stream result type for `raster_stream_websocket`. +/// The stream result type for `raster_stream_websocket`. +#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)] +pub enum RasterStreamWebsocketResultType { + #[serde(rename = "arrow")] + Arrow, + +} + +impl std::fmt::Display for RasterStreamWebsocketResultType { + fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result { + match self { + Self::Arrow => write!(f, "arrow"), + } + } +} + +impl Default for RasterStreamWebsocketResultType { + fn default() -> RasterStreamWebsocketResultType { + Self::Arrow + } +} + diff --git a/rust/src/models/raster_symbology.rs b/rust/src/models/raster_symbology.rs new file mode 100644 index 00000000..215bef4d --- /dev/null +++ b/rust/src/models/raster_symbology.rs @@ -0,0 +1,45 @@ +/* + * Geo Engine API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct RasterSymbology { + #[serde(rename = "opacity")] + pub opacity: f64, + #[serde(rename = "rasterColorizer")] + pub raster_colorizer: Box, + #[serde(rename = "type")] + pub r#type: Type, +} + +impl RasterSymbology { + pub fn new(opacity: f64, raster_colorizer: models::RasterColorizer, r#type: Type) -> RasterSymbology { + RasterSymbology { + opacity, + raster_colorizer: Box::new(raster_colorizer), + r#type, + } + } +} +/// +#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)] +pub enum Type { + #[serde(rename = "raster")] + Raster, +} + +impl Default for Type { + fn default() -> Type { + Self::Raster + } +} + diff --git a/rust/src/models/raster_to_dataset_query_rectangle.rs b/rust/src/models/raster_to_dataset_query_rectangle.rs new file mode 100644 index 00000000..259a9711 --- /dev/null +++ b/rust/src/models/raster_to_dataset_query_rectangle.rs @@ -0,0 +1,32 @@ +/* + * Geo Engine API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// RasterToDatasetQueryRectangle : A spatio-temporal rectangle with a specified resolution +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct RasterToDatasetQueryRectangle { + #[serde(rename = "spatialBounds")] + pub spatial_bounds: Box, + #[serde(rename = "timeInterval")] + pub time_interval: Box, +} + +impl RasterToDatasetQueryRectangle { + /// A spatio-temporal rectangle with a specified resolution + pub fn new(spatial_bounds: models::SpatialPartition2D, time_interval: models::TimeInterval) -> RasterToDatasetQueryRectangle { + RasterToDatasetQueryRectangle { + spatial_bounds: Box::new(spatial_bounds), + time_interval: Box::new(time_interval), + } + } +} + diff --git a/rust/src/models/raster_vector_join.rs b/rust/src/models/raster_vector_join.rs new file mode 100644 index 00000000..c7ca94cc --- /dev/null +++ b/rust/src/models/raster_vector_join.rs @@ -0,0 +1,47 @@ +/* + * Geo Engine API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// RasterVectorJoin : The `RasterVectorJoin` operator allows combining a single vector input and multiple raster inputs. For each raster input, a new column is added to the collection from the vector input. The new column contains the value of the raster at the location of the vector feature. For features covering multiple pixels like `MultiPoints` or `MultiPolygons`, the value is calculated using an aggregation function selected by the user. The same is true if the temporal extent of a vector feature covers multiple raster time steps. More details are described below. **Example**: You have a collection of agricultural fields (`Polygons`) and a collection of raster images containing each pixel's monthly NDVI value. For your application, you want to know the NDVI value of each field. The `RasterVectorJoin` operator allows you to combine the vector and raster data and offers multiple spatial and temporal aggregation strategies. For example, you can use the `first` aggregation function to get the NDVI value of the first pixel that intersects with each field. This is useful for exploratory analysis since the computation is very fast. To calculate the mean NDVI value of all pixels that intersect with the field you should use the `mean` aggregation function. Since the NDVI data is a monthly time series, you have to specify the temporal aggregation function as well. The default is `none` which will create a new feature for each month. Other options are `first` and `mean` which will calculate the first or mean NDVI value for each field over time. ## Inputs The `RasterVectorJoin` operator expects one _vector_ input and one or more _raster_ inputs. | Parameter | Type | | --------- | ----------------------------------- | | `sources` | `SingleVectorMultipleRasterSources` | ## Errors If the length of `names` is not equal to the number of raster inputs, an error is thrown. +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct RasterVectorJoin { + #[serde(rename = "params")] + pub params: Box, + #[serde(rename = "sources")] + pub sources: Box, + #[serde(rename = "type")] + pub r#type: Type, +} + +impl RasterVectorJoin { + /// The `RasterVectorJoin` operator allows combining a single vector input and multiple raster inputs. For each raster input, a new column is added to the collection from the vector input. The new column contains the value of the raster at the location of the vector feature. For features covering multiple pixels like `MultiPoints` or `MultiPolygons`, the value is calculated using an aggregation function selected by the user. The same is true if the temporal extent of a vector feature covers multiple raster time steps. More details are described below. **Example**: You have a collection of agricultural fields (`Polygons`) and a collection of raster images containing each pixel's monthly NDVI value. For your application, you want to know the NDVI value of each field. The `RasterVectorJoin` operator allows you to combine the vector and raster data and offers multiple spatial and temporal aggregation strategies. For example, you can use the `first` aggregation function to get the NDVI value of the first pixel that intersects with each field. This is useful for exploratory analysis since the computation is very fast. To calculate the mean NDVI value of all pixels that intersect with the field you should use the `mean` aggregation function. Since the NDVI data is a monthly time series, you have to specify the temporal aggregation function as well. The default is `none` which will create a new feature for each month. Other options are `first` and `mean` which will calculate the first or mean NDVI value for each field over time. ## Inputs The `RasterVectorJoin` operator expects one _vector_ input and one or more _raster_ inputs. | Parameter | Type | | --------- | ----------------------------------- | | `sources` | `SingleVectorMultipleRasterSources` | ## Errors If the length of `names` is not equal to the number of raster inputs, an error is thrown. + pub fn new(params: models::RasterVectorJoinParameters, sources: models::SingleVectorMultipleRasterSources, r#type: Type) -> RasterVectorJoin { + RasterVectorJoin { + params: Box::new(params), + sources: Box::new(sources), + r#type, + } + } +} +/// +#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)] +pub enum Type { + #[serde(rename = "RasterVectorJoin")] + RasterVectorJoin, +} + +impl Default for Type { + fn default() -> Type { + Self::RasterVectorJoin + } +} + diff --git a/rust/src/models/raster_vector_join_parameters.rs b/rust/src/models/raster_vector_join_parameters.rs new file mode 100644 index 00000000..5f29f517 --- /dev/null +++ b/rust/src/models/raster_vector_join_parameters.rs @@ -0,0 +1,44 @@ +/* + * Geo Engine API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct RasterVectorJoinParameters { + /// The aggregation function to use for features covering multiple pixels. + #[serde(rename = "featureAggregation")] + pub feature_aggregation: models::FeatureAggregationMethod, + /// Whether to ignore no data values in the aggregation. Defaults to `false`. + #[serde(rename = "featureAggregationIgnoreNoData", skip_serializing_if = "Option::is_none")] + pub feature_aggregation_ignore_no_data: Option, + /// Specify how the new column names are derived from the raster band names. The `ColumnNames` type is used to specify how the new column names are derived from the raster band names. - **default**: Appends \" (n)\" to the band name with the smallest `n` that avoids a conflict. - **suffix**: Specifies a suffix for each input, to be appended to the band names. - **rename**: A list of names for each new column. + #[serde(rename = "names")] + pub names: Box, + /// The aggregation function to use for features covering multiple (raster) time steps. + #[serde(rename = "temporalAggregation")] + pub temporal_aggregation: models::TemporalAggregationMethod, + /// Whether to ignore no data values in the aggregation. Defaults to `false`. + #[serde(rename = "temporalAggregationIgnoreNoData", skip_serializing_if = "Option::is_none")] + pub temporal_aggregation_ignore_no_data: Option, +} + +impl RasterVectorJoinParameters { + pub fn new(feature_aggregation: models::FeatureAggregationMethod, names: models::ColumnNames, temporal_aggregation: models::TemporalAggregationMethod) -> RasterVectorJoinParameters { + RasterVectorJoinParameters { + feature_aggregation, + feature_aggregation_ignore_no_data: None, + names: Box::new(names), + temporal_aggregation, + temporal_aggregation_ignore_no_data: None, + } + } +} + diff --git a/rust/src/models/regular_time_dimension.rs b/rust/src/models/regular_time_dimension.rs new file mode 100644 index 00000000..973478c5 --- /dev/null +++ b/rust/src/models/regular_time_dimension.rs @@ -0,0 +1,30 @@ +/* + * Geo Engine API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct RegularTimeDimension { + #[serde(rename = "origin")] + pub origin: i64, + #[serde(rename = "step")] + pub step: Box, +} + +impl RegularTimeDimension { + pub fn new(origin: i64, step: models::TimeStep) -> RegularTimeDimension { + RegularTimeDimension { + origin, + step: Box::new(step), + } + } +} + diff --git a/rust/src/models/resource.rs b/rust/src/models/resource.rs new file mode 100644 index 00000000..bf13fb82 --- /dev/null +++ b/rust/src/models/resource.rs @@ -0,0 +1,38 @@ +/* + * Geo Engine API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// Resource : A resource that is affected by a permission. +#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)] +#[serde(tag = "type")] +pub enum Resource { + #[serde(rename="layer")] + Layer(Box), + #[serde(rename="layerCollection")] + LayerCollection(Box), + #[serde(rename="project")] + Project(Box), + #[serde(rename="dataset")] + Dataset(Box), + #[serde(rename="mlModel")] + MlModel(Box), + #[serde(rename="provider")] + Provider(Box), +} + +impl Default for Resource { + fn default() -> Self { + Self::Layer(Default::default()) + } +} + + diff --git a/rust/src/models/role.rs b/rust/src/models/role.rs new file mode 100644 index 00000000..9910a7cd --- /dev/null +++ b/rust/src/models/role.rs @@ -0,0 +1,30 @@ +/* + * Geo Engine API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct Role { + #[serde(rename = "id")] + pub id: uuid::Uuid, + #[serde(rename = "name")] + pub name: String, +} + +impl Role { + pub fn new(id: uuid::Uuid, name: String) -> Role { + Role { + id, + name, + } + } +} + diff --git a/rust/src/models/role_description.rs b/rust/src/models/role_description.rs new file mode 100644 index 00000000..e0f5b063 --- /dev/null +++ b/rust/src/models/role_description.rs @@ -0,0 +1,30 @@ +/* + * Geo Engine API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct RoleDescription { + #[serde(rename = "individual")] + pub individual: bool, + #[serde(rename = "role")] + pub role: Box, +} + +impl RoleDescription { + pub fn new(individual: bool, role: models::Role) -> RoleDescription { + RoleDescription { + individual, + role: Box::new(role), + } + } +} + diff --git a/rust/src/models/search_capabilities.rs b/rust/src/models/search_capabilities.rs new file mode 100644 index 00000000..88f86535 --- /dev/null +++ b/rust/src/models/search_capabilities.rs @@ -0,0 +1,33 @@ +/* + * Geo Engine API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct SearchCapabilities { + #[serde(rename = "autocomplete")] + pub autocomplete: bool, + #[serde(rename = "filters", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")] + pub filters: Option>>, + #[serde(rename = "searchTypes")] + pub search_types: Box, +} + +impl SearchCapabilities { + pub fn new(autocomplete: bool, search_types: models::SearchTypes) -> SearchCapabilities { + SearchCapabilities { + autocomplete, + filters: None, + search_types: Box::new(search_types), + } + } +} + diff --git a/rust/src/models/search_type.rs b/rust/src/models/search_type.rs new file mode 100644 index 00000000..8013ee1a --- /dev/null +++ b/rust/src/models/search_type.rs @@ -0,0 +1,38 @@ +/* + * Geo Engine API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// +#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)] +pub enum SearchType { + #[serde(rename = "fulltext")] + Fulltext, + #[serde(rename = "prefix")] + Prefix, + +} + +impl std::fmt::Display for SearchType { + fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result { + match self { + Self::Fulltext => write!(f, "fulltext"), + Self::Prefix => write!(f, "prefix"), + } + } +} + +impl Default for SearchType { + fn default() -> SearchType { + Self::Fulltext + } +} + diff --git a/rust/src/models/search_types.rs b/rust/src/models/search_types.rs new file mode 100644 index 00000000..59091b5a --- /dev/null +++ b/rust/src/models/search_types.rs @@ -0,0 +1,30 @@ +/* + * Geo Engine API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct SearchTypes { + #[serde(rename = "fulltext")] + pub fulltext: bool, + #[serde(rename = "prefix")] + pub prefix: bool, +} + +impl SearchTypes { + pub fn new(fulltext: bool, prefix: bool) -> SearchTypes { + SearchTypes { + fulltext, + prefix, + } + } +} + diff --git a/rust/src/models/sentinel_s2_l2_a_cogs_provider_definition.rs b/rust/src/models/sentinel_s2_l2_a_cogs_provider_definition.rs new file mode 100644 index 00000000..85a1a8ee --- /dev/null +++ b/rust/src/models/sentinel_s2_l2_a_cogs_provider_definition.rs @@ -0,0 +1,66 @@ +/* + * Geo Engine API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct SentinelS2L2ACogsProviderDefinition { + #[serde(rename = "apiUrl")] + pub api_url: String, + #[serde(rename = "cacheTtl", skip_serializing_if = "Option::is_none")] + pub cache_ttl: Option, + #[serde(rename = "description")] + pub description: String, + #[serde(rename = "gdalRetries", skip_serializing_if = "Option::is_none")] + pub gdal_retries: Option, + #[serde(rename = "id")] + pub id: uuid::Uuid, + #[serde(rename = "name")] + pub name: String, + #[serde(rename = "priority", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")] + pub priority: Option>, + #[serde(rename = "queryBuffer", skip_serializing_if = "Option::is_none")] + pub query_buffer: Option>, + #[serde(rename = "stacApiRetries", skip_serializing_if = "Option::is_none")] + pub stac_api_retries: Option>, + #[serde(rename = "type")] + pub r#type: Type, +} + +impl SentinelS2L2ACogsProviderDefinition { + pub fn new(api_url: String, description: String, id: uuid::Uuid, name: String, r#type: Type) -> SentinelS2L2ACogsProviderDefinition { + SentinelS2L2ACogsProviderDefinition { + api_url, + cache_ttl: None, + description, + gdal_retries: None, + id, + name, + priority: None, + query_buffer: None, + stac_api_retries: None, + r#type, + } + } +} +/// +#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)] +pub enum Type { + #[serde(rename = "SentinelS2L2ACogs")] + SentinelS2L2ACogs, +} + +impl Default for Type { + fn default() -> Type { + Self::SentinelS2L2ACogs + } +} + diff --git a/rust/src/models/server_info.rs b/rust/src/models/server_info.rs new file mode 100644 index 00000000..48593a9a --- /dev/null +++ b/rust/src/models/server_info.rs @@ -0,0 +1,36 @@ +/* + * Geo Engine API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct ServerInfo { + #[serde(rename = "buildDate")] + pub build_date: String, + #[serde(rename = "commitHash")] + pub commit_hash: String, + #[serde(rename = "features")] + pub features: String, + #[serde(rename = "version")] + pub version: String, +} + +impl ServerInfo { + pub fn new(build_date: String, commit_hash: String, features: String, version: String) -> ServerInfo { + ServerInfo { + build_date, + commit_hash, + features, + version, + } + } +} + diff --git a/rust/src/models/single_band_raster_colorizer.rs b/rust/src/models/single_band_raster_colorizer.rs new file mode 100644 index 00000000..27278e76 --- /dev/null +++ b/rust/src/models/single_band_raster_colorizer.rs @@ -0,0 +1,45 @@ +/* + * Geo Engine API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct SingleBandRasterColorizer { + #[serde(rename = "band")] + pub band: i32, + #[serde(rename = "bandColorizer")] + pub band_colorizer: Box, + #[serde(rename = "type")] + pub r#type: Type, +} + +impl SingleBandRasterColorizer { + pub fn new(band: i32, band_colorizer: models::Colorizer, r#type: Type) -> SingleBandRasterColorizer { + SingleBandRasterColorizer { + band, + band_colorizer: Box::new(band_colorizer), + r#type, + } + } +} +/// +#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)] +pub enum Type { + #[serde(rename = "singleBand")] + SingleBand, +} + +impl Default for Type { + fn default() -> Type { + Self::SingleBand + } +} + diff --git a/rust/src/models/single_raster_or_vector_operator.rs b/rust/src/models/single_raster_or_vector_operator.rs new file mode 100644 index 00000000..de0f8799 --- /dev/null +++ b/rust/src/models/single_raster_or_vector_operator.rs @@ -0,0 +1,42 @@ +/* + * Geo Engine API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// SingleRasterOrVectorOperator : It is either a set of `RasterOperator` or a single `VectorOperator` +/// It is either a set of `RasterOperator` or a single `VectorOperator` +#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)] +#[serde(untagged)] +pub enum SingleRasterOrVectorOperator { + RasterOperator(Box), + VectorOperator(Box), +} + +impl Default for SingleRasterOrVectorOperator { + fn default() -> Self { + Self::RasterOperator(Default::default()) + } +} +/// +#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)] +pub enum Type { + #[serde(rename = "GdalSource")] + GdalSource, + #[serde(rename = "RasterVectorJoin")] + RasterVectorJoin, +} + +impl Default for Type { + fn default() -> Type { + Self::GdalSource + } +} + diff --git a/rust/src/models/single_raster_or_vector_source.rs b/rust/src/models/single_raster_or_vector_source.rs new file mode 100644 index 00000000..f843bbae --- /dev/null +++ b/rust/src/models/single_raster_or_vector_source.rs @@ -0,0 +1,29 @@ +/* + * Geo Engine API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// SingleRasterOrVectorSource : A single vector operator or a single raster operators as source for this operator. +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct SingleRasterOrVectorSource { + #[serde(rename = "source")] + pub source: Box, +} + +impl SingleRasterOrVectorSource { + /// A single vector operator or a single raster operators as source for this operator. + pub fn new(source: models::SingleRasterOrVectorOperator) -> SingleRasterOrVectorSource { + SingleRasterOrVectorSource { + source: Box::new(source), + } + } +} + diff --git a/rust/src/models/single_raster_source.rs b/rust/src/models/single_raster_source.rs new file mode 100644 index 00000000..875412db --- /dev/null +++ b/rust/src/models/single_raster_source.rs @@ -0,0 +1,29 @@ +/* + * Geo Engine API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// SingleRasterSource : A single raster operator as a source for this operator. +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct SingleRasterSource { + #[serde(rename = "raster")] + pub raster: Box, +} + +impl SingleRasterSource { + /// A single raster operator as a source for this operator. + pub fn new(raster: models::RasterOperator) -> SingleRasterSource { + SingleRasterSource { + raster: Box::new(raster), + } + } +} + diff --git a/rust/src/models/single_vector_multiple_raster_sources.rs b/rust/src/models/single_vector_multiple_raster_sources.rs new file mode 100644 index 00000000..d5af2b39 --- /dev/null +++ b/rust/src/models/single_vector_multiple_raster_sources.rs @@ -0,0 +1,32 @@ +/* + * Geo Engine API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// SingleVectorMultipleRasterSources : A single vector operator and one or more raster operators as source for this operator. +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct SingleVectorMultipleRasterSources { + #[serde(rename = "rasters")] + pub rasters: Vec, + #[serde(rename = "vector")] + pub vector: Box, +} + +impl SingleVectorMultipleRasterSources { + /// A single vector operator and one or more raster operators as source for this operator. + pub fn new(rasters: Vec, vector: models::VectorOperator) -> SingleVectorMultipleRasterSources { + SingleVectorMultipleRasterSources { + rasters, + vector: Box::new(vector), + } + } +} + diff --git a/rust/src/models/spatial_bounds_derive.rs b/rust/src/models/spatial_bounds_derive.rs new file mode 100644 index 00000000..1e7c809e --- /dev/null +++ b/rust/src/models/spatial_bounds_derive.rs @@ -0,0 +1,32 @@ +/* + * Geo Engine API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// SpatialBoundsDerive : Spatial bounds derivation options for the [`MockPointSource`]. +#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)] +#[serde(untagged)] +pub enum SpatialBoundsDerive { + #[serde(rename="derive")] + Derive(Box), + #[serde(rename="bounds")] + Bounds(Box), + #[serde(rename="none")] + None(Box), +} + +impl Default for SpatialBoundsDerive { + fn default() -> Self { + Self::Derive(Default::default()) + } +} + + diff --git a/rust/src/models/spatial_bounds_derive_bounds.rs b/rust/src/models/spatial_bounds_derive_bounds.rs new file mode 100644 index 00000000..9c169d99 --- /dev/null +++ b/rust/src/models/spatial_bounds_derive_bounds.rs @@ -0,0 +1,45 @@ +/* + * Geo Engine API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct SpatialBoundsDeriveBounds { + #[serde(rename = "lowerLeftCoordinate")] + pub lower_left_coordinate: Box, + #[serde(rename = "upperRightCoordinate")] + pub upper_right_coordinate: Box, + #[serde(rename = "type")] + pub r#type: Type, +} + +impl SpatialBoundsDeriveBounds { + pub fn new(lower_left_coordinate: models::Coordinate2D, upper_right_coordinate: models::Coordinate2D, r#type: Type) -> SpatialBoundsDeriveBounds { + SpatialBoundsDeriveBounds { + lower_left_coordinate: Box::new(lower_left_coordinate), + upper_right_coordinate: Box::new(upper_right_coordinate), + r#type, + } + } +} +/// +#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)] +pub enum Type { + #[serde(rename = "bounds")] + Bounds, +} + +impl Default for Type { + fn default() -> Type { + Self::Bounds + } +} + diff --git a/rust/src/models/spatial_bounds_derive_derive.rs b/rust/src/models/spatial_bounds_derive_derive.rs new file mode 100644 index 00000000..c217674b --- /dev/null +++ b/rust/src/models/spatial_bounds_derive_derive.rs @@ -0,0 +1,39 @@ +/* + * Geo Engine API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct SpatialBoundsDeriveDerive { + #[serde(rename = "type")] + pub r#type: Type, +} + +impl SpatialBoundsDeriveDerive { + pub fn new(r#type: Type) -> SpatialBoundsDeriveDerive { + SpatialBoundsDeriveDerive { + r#type, + } + } +} +/// +#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)] +pub enum Type { + #[serde(rename = "derive")] + Derive, +} + +impl Default for Type { + fn default() -> Type { + Self::Derive + } +} + diff --git a/rust/src/models/spatial_bounds_derive_none.rs b/rust/src/models/spatial_bounds_derive_none.rs new file mode 100644 index 00000000..642f74f8 --- /dev/null +++ b/rust/src/models/spatial_bounds_derive_none.rs @@ -0,0 +1,39 @@ +/* + * Geo Engine API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct SpatialBoundsDeriveNone { + #[serde(rename = "type")] + pub r#type: Type, +} + +impl SpatialBoundsDeriveNone { + pub fn new(r#type: Type) -> SpatialBoundsDeriveNone { + SpatialBoundsDeriveNone { + r#type, + } + } +} +/// +#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)] +pub enum Type { + #[serde(rename = "none")] + None, +} + +impl Default for Type { + fn default() -> Type { + Self::None + } +} + diff --git a/rust/src/models/spatial_grid_definition.rs b/rust/src/models/spatial_grid_definition.rs new file mode 100644 index 00000000..f02ddf90 --- /dev/null +++ b/rust/src/models/spatial_grid_definition.rs @@ -0,0 +1,30 @@ +/* + * Geo Engine API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct SpatialGridDefinition { + #[serde(rename = "geoTransform")] + pub geo_transform: Box, + #[serde(rename = "gridBounds")] + pub grid_bounds: Box, +} + +impl SpatialGridDefinition { + pub fn new(geo_transform: models::GeoTransform, grid_bounds: models::GridBoundingBox2D) -> SpatialGridDefinition { + SpatialGridDefinition { + geo_transform: Box::new(geo_transform), + grid_bounds: Box::new(grid_bounds), + } + } +} + diff --git a/rust/src/models/spatial_grid_descriptor.rs b/rust/src/models/spatial_grid_descriptor.rs new file mode 100644 index 00000000..ff777b67 --- /dev/null +++ b/rust/src/models/spatial_grid_descriptor.rs @@ -0,0 +1,30 @@ +/* + * Geo Engine API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct SpatialGridDescriptor { + #[serde(rename = "descriptor")] + pub descriptor: models::SpatialGridDescriptorState, + #[serde(rename = "spatialGrid")] + pub spatial_grid: Box, +} + +impl SpatialGridDescriptor { + pub fn new(descriptor: models::SpatialGridDescriptorState, spatial_grid: models::SpatialGridDefinition) -> SpatialGridDescriptor { + SpatialGridDescriptor { + descriptor, + spatial_grid: Box::new(spatial_grid), + } + } +} + diff --git a/rust/src/models/spatial_grid_descriptor_state.rs b/rust/src/models/spatial_grid_descriptor_state.rs new file mode 100644 index 00000000..81c0da59 --- /dev/null +++ b/rust/src/models/spatial_grid_descriptor_state.rs @@ -0,0 +1,38 @@ +/* + * Geo Engine API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// +#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)] +pub enum SpatialGridDescriptorState { + #[serde(rename = "source")] + Source, + #[serde(rename = "derived")] + Derived, + +} + +impl std::fmt::Display for SpatialGridDescriptorState { + fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result { + match self { + Self::Source => write!(f, "source"), + Self::Derived => write!(f, "derived"), + } + } +} + +impl Default for SpatialGridDescriptorState { + fn default() -> SpatialGridDescriptorState { + Self::Source + } +} + diff --git a/rust/src/models/spatial_partition2_d.rs b/rust/src/models/spatial_partition2_d.rs new file mode 100644 index 00000000..74a4331d --- /dev/null +++ b/rust/src/models/spatial_partition2_d.rs @@ -0,0 +1,44 @@ +/* + * Geo Engine API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// SpatialPartition2D : A partition of space that include the upper left but excludes the lower right coordinate +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct SpatialPartition2D { + #[serde(rename = "lowerRightCoordinate")] + pub lower_right_coordinate: Box, + #[serde(rename = "upperLeftCoordinate")] + pub upper_left_coordinate: Box, +} + +impl SpatialPartition2D { + /// A partition of space that include the upper left but excludes the lower right coordinate + pub fn new(lower_right_coordinate: models::Coordinate2D, upper_left_coordinate: models::Coordinate2D) -> SpatialPartition2D { + SpatialPartition2D { + lower_right_coordinate: Box::new(lower_right_coordinate), + upper_left_coordinate: Box::new(upper_left_coordinate), + } + } +} + +impl std::fmt::Display for SpatialPartition2D { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!( + f, + "{xmin},{ymin},{xmax},{ymax}", + xmin = self.upper_left_coordinate.x, + ymin = self.lower_right_coordinate.y, + xmax = self.lower_right_coordinate.x, + ymax = self.upper_left_coordinate.y + ) + } +} diff --git a/rust/src/models/spatial_reference_specification.rs b/rust/src/models/spatial_reference_specification.rs new file mode 100644 index 00000000..6f4df8c6 --- /dev/null +++ b/rust/src/models/spatial_reference_specification.rs @@ -0,0 +1,44 @@ +/* + * Geo Engine API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// SpatialReferenceSpecification : The specification of a spatial reference, where extent and axis labels are given in natural order (x, y) = (east, north) +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct SpatialReferenceSpecification { + #[serde(rename = "axisLabels", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")] + pub axis_labels: Option>>, + #[serde(rename = "axisOrder", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")] + pub axis_order: Option>, + #[serde(rename = "extent")] + pub extent: Box, + #[serde(rename = "name")] + pub name: String, + #[serde(rename = "projString")] + pub proj_string: String, + #[serde(rename = "spatialReference")] + pub spatial_reference: String, +} + +impl SpatialReferenceSpecification { + /// The specification of a spatial reference, where extent and axis labels are given in natural order (x, y) = (east, north) + pub fn new(extent: models::BoundingBox2D, name: String, proj_string: String, spatial_reference: String) -> SpatialReferenceSpecification { + SpatialReferenceSpecification { + axis_labels: None, + axis_order: None, + extent: Box::new(extent), + name, + proj_string, + spatial_reference, + } + } +} + diff --git a/rust/src/models/st_rectangle.rs b/rust/src/models/st_rectangle.rs new file mode 100644 index 00000000..45045a90 --- /dev/null +++ b/rust/src/models/st_rectangle.rs @@ -0,0 +1,33 @@ +/* + * Geo Engine API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct StRectangle { + #[serde(rename = "boundingBox")] + pub bounding_box: Box, + #[serde(rename = "spatialReference")] + pub spatial_reference: String, + #[serde(rename = "timeInterval")] + pub time_interval: Box, +} + +impl StRectangle { + pub fn new(bounding_box: models::BoundingBox2D, spatial_reference: String, time_interval: models::TimeInterval) -> StRectangle { + StRectangle { + bounding_box: Box::new(bounding_box), + spatial_reference, + time_interval: Box::new(time_interval), + } + } +} + diff --git a/rust/src/models/stac_api_retries.rs b/rust/src/models/stac_api_retries.rs new file mode 100644 index 00000000..40f6d527 --- /dev/null +++ b/rust/src/models/stac_api_retries.rs @@ -0,0 +1,33 @@ +/* + * Geo Engine API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct StacApiRetries { + #[serde(rename = "exponentialBackoffFactor")] + pub exponential_backoff_factor: f64, + #[serde(rename = "initialDelayMs")] + pub initial_delay_ms: i64, + #[serde(rename = "numberOfRetries")] + pub number_of_retries: i32, +} + +impl StacApiRetries { + pub fn new(exponential_backoff_factor: f64, initial_delay_ms: i64, number_of_retries: i32) -> StacApiRetries { + StacApiRetries { + exponential_backoff_factor, + initial_delay_ms, + number_of_retries, + } + } +} + diff --git a/rust/src/models/stac_query_buffer.rs b/rust/src/models/stac_query_buffer.rs new file mode 100644 index 00000000..bd7aa29d --- /dev/null +++ b/rust/src/models/stac_query_buffer.rs @@ -0,0 +1,32 @@ +/* + * Geo Engine API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// StacQueryBuffer : A struct that represents buffers to apply to stac requests +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct StacQueryBuffer { + #[serde(rename = "endSeconds")] + pub end_seconds: i64, + #[serde(rename = "startSeconds")] + pub start_seconds: i64, +} + +impl StacQueryBuffer { + /// A struct that represents buffers to apply to stac requests + pub fn new(end_seconds: i64, start_seconds: i64) -> StacQueryBuffer { + StacQueryBuffer { + end_seconds, + start_seconds, + } + } +} + diff --git a/rust/src/models/static_color.rs b/rust/src/models/static_color.rs new file mode 100644 index 00000000..4e0bf62c --- /dev/null +++ b/rust/src/models/static_color.rs @@ -0,0 +1,42 @@ +/* + * Geo Engine API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct StaticColor { + #[serde(rename = "color")] + pub color: Vec, + #[serde(rename = "type")] + pub r#type: Type, +} + +impl StaticColor { + pub fn new(color: Vec, r#type: Type) -> StaticColor { + StaticColor { + color, + r#type, + } + } +} +/// +#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)] +pub enum Type { + #[serde(rename = "static")] + Static, +} + +impl Default for Type { + fn default() -> Type { + Self::Static + } +} + diff --git a/rust/src/models/static_number.rs b/rust/src/models/static_number.rs new file mode 100644 index 00000000..23d27290 --- /dev/null +++ b/rust/src/models/static_number.rs @@ -0,0 +1,42 @@ +/* + * Geo Engine API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct StaticNumber { + #[serde(rename = "type")] + pub r#type: Type, + #[serde(rename = "value")] + pub value: i32, +} + +impl StaticNumber { + pub fn new(r#type: Type, value: i32) -> StaticNumber { + StaticNumber { + r#type, + value, + } + } +} +/// +#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)] +pub enum Type { + #[serde(rename = "static")] + Static, +} + +impl Default for Type { + fn default() -> Type { + Self::Static + } +} + diff --git a/rust/src/models/statistics.rs b/rust/src/models/statistics.rs new file mode 100644 index 00000000..1cd3c70d --- /dev/null +++ b/rust/src/models/statistics.rs @@ -0,0 +1,47 @@ +/* + * Geo Engine API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// Statistics : The `Statistics` operator is a _plot operator_ that computes count statistics over - a selection of numerical columns of a single vector dataset, or - multiple raster datasets. The output is a JSON description. For instance, you want to get an overview of a raster data source. Then, you can use this operator to get basic count statistics. ## Vector Data In the case of vector data, the operator generates one statistic for each of the selected numerical attributes. The operator returns an error if one of the selected attributes is not numeric. ## Raster Data For raster data, the operator generates one statistic for each input raster. ## Inputs The operator consumes exactly one _vector_ or multiple _raster_ operators. | Parameter | Type | | --------- | ------------------------------------ | | `source` | `MultipleRasterOrSingleVectorSource` | ## Errors The operator returns an error in the following cases. - Vector data: The `attribute` for one of the given `columnNames` is not numeric. - Vector data: The `attribute` for one of the given `columnNames` does not exist. - Raster data: The length of the `columnNames` parameter does not match the number of input rasters. ### Example Output ```json { \"A\": { \"valueCount\": 6, \"validCount\": 6, \"min\": 1.0, \"max\": 6.0, \"mean\": 3.5, \"stddev\": 1.707, \"percentiles\": [ { \"percentile\": 0.25, \"value\": 2.0 }, { \"percentile\": 0.5, \"value\": 3.5 }, { \"percentile\": 0.75, \"value\": 5.0 } ] } } ``` +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct Statistics { + #[serde(rename = "params")] + pub params: Box, + #[serde(rename = "sources")] + pub sources: Box, + #[serde(rename = "type")] + pub r#type: Type, +} + +impl Statistics { + /// The `Statistics` operator is a _plot operator_ that computes count statistics over - a selection of numerical columns of a single vector dataset, or - multiple raster datasets. The output is a JSON description. For instance, you want to get an overview of a raster data source. Then, you can use this operator to get basic count statistics. ## Vector Data In the case of vector data, the operator generates one statistic for each of the selected numerical attributes. The operator returns an error if one of the selected attributes is not numeric. ## Raster Data For raster data, the operator generates one statistic for each input raster. ## Inputs The operator consumes exactly one _vector_ or multiple _raster_ operators. | Parameter | Type | | --------- | ------------------------------------ | | `source` | `MultipleRasterOrSingleVectorSource` | ## Errors The operator returns an error in the following cases. - Vector data: The `attribute` for one of the given `columnNames` is not numeric. - Vector data: The `attribute` for one of the given `columnNames` does not exist. - Raster data: The length of the `columnNames` parameter does not match the number of input rasters. ### Example Output ```json { \"A\": { \"valueCount\": 6, \"validCount\": 6, \"min\": 1.0, \"max\": 6.0, \"mean\": 3.5, \"stddev\": 1.707, \"percentiles\": [ { \"percentile\": 0.25, \"value\": 2.0 }, { \"percentile\": 0.5, \"value\": 3.5 }, { \"percentile\": 0.75, \"value\": 5.0 } ] } } ``` + pub fn new(params: models::StatisticsParameters, sources: models::MultipleRasterOrSingleVectorSource, r#type: Type) -> Statistics { + Statistics { + params: Box::new(params), + sources: Box::new(sources), + r#type, + } + } +} +/// +#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)] +pub enum Type { + #[serde(rename = "Statistics")] + Statistics, +} + +impl Default for Type { + fn default() -> Type { + Self::Statistics + } +} + diff --git a/rust/src/models/statistics_parameters.rs b/rust/src/models/statistics_parameters.rs new file mode 100644 index 00000000..7aa48e29 --- /dev/null +++ b/rust/src/models/statistics_parameters.rs @@ -0,0 +1,34 @@ +/* + * Geo Engine API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// StatisticsParameters : The parameter spec for `Statistics` +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct StatisticsParameters { + /// # Vector data The names of the attributes to generate statistics for. # Raster data _Optional_: An alias for each input source. The operator will automatically name the rasters `Raster-1`, `Raster-2`, … if this parameter is empty. If aliases are given, the number of aliases must match the number of input rasters. Otherwise an error is returned. + #[serde(rename = "columnNames", skip_serializing_if = "Option::is_none")] + pub column_names: Option>, + /// The percentiles to compute for each attribute. + #[serde(rename = "percentiles", skip_serializing_if = "Option::is_none")] + pub percentiles: Option>, +} + +impl StatisticsParameters { + /// The parameter spec for `Statistics` + pub fn new() -> StatisticsParameters { + StatisticsParameters { + column_names: None, + percentiles: None, + } + } +} + diff --git a/rust/src/models/stroke_param.rs b/rust/src/models/stroke_param.rs new file mode 100644 index 00000000..6f9cbadd --- /dev/null +++ b/rust/src/models/stroke_param.rs @@ -0,0 +1,30 @@ +/* + * Geo Engine API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct StrokeParam { + #[serde(rename = "color")] + pub color: Box, + #[serde(rename = "width")] + pub width: Box, +} + +impl StrokeParam { + pub fn new(color: models::ColorParam, width: models::NumberParam) -> StrokeParam { + StrokeParam { + color: Box::new(color), + width: Box::new(width), + } + } +} + diff --git a/rust/src/models/suffix.rs b/rust/src/models/suffix.rs new file mode 100644 index 00000000..8a38ca94 --- /dev/null +++ b/rust/src/models/suffix.rs @@ -0,0 +1,42 @@ +/* + * Geo Engine API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct Suffix { + #[serde(rename = "type")] + pub r#type: Type, + #[serde(rename = "values")] + pub values: Vec, +} + +impl Suffix { + pub fn new(r#type: Type, values: Vec) -> Suffix { + Suffix { + r#type, + values, + } + } +} +/// +#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)] +pub enum Type { + #[serde(rename = "suffix")] + Suffix, +} + +impl Default for Type { + fn default() -> Type { + Self::Suffix + } +} + diff --git a/rust/src/models/suggest_meta_data.rs b/rust/src/models/suggest_meta_data.rs new file mode 100644 index 00000000..2dc3ecb2 --- /dev/null +++ b/rust/src/models/suggest_meta_data.rs @@ -0,0 +1,33 @@ +/* + * Geo Engine API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct SuggestMetaData { + #[serde(rename = "dataPath")] + pub data_path: Box, + #[serde(rename = "layerName", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")] + pub layer_name: Option>, + #[serde(rename = "mainFile", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")] + pub main_file: Option>, +} + +impl SuggestMetaData { + pub fn new(data_path: models::DataPath) -> SuggestMetaData { + SuggestMetaData { + data_path: Box::new(data_path), + layer_name: None, + main_file: None, + } + } +} + diff --git a/rust/src/models/symbology.rs b/rust/src/models/symbology.rs new file mode 100644 index 00000000..9ed3be3f --- /dev/null +++ b/rust/src/models/symbology.rs @@ -0,0 +1,33 @@ +/* + * Geo Engine API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)] +#[serde(tag = "type")] +pub enum Symbology { + #[serde(rename="raster")] + Raster(Box), + #[serde(rename="point")] + Point(Box), + #[serde(rename="line")] + Line(Box), + #[serde(rename="polygon")] + Polygon(Box), +} + +impl Default for Symbology { + fn default() -> Self { + Self::Raster(Default::default()) + } +} + + diff --git a/rust/src/models/task_filter.rs b/rust/src/models/task_filter.rs new file mode 100644 index 00000000..60cdbb92 --- /dev/null +++ b/rust/src/models/task_filter.rs @@ -0,0 +1,44 @@ +/* + * Geo Engine API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// +#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)] +pub enum TaskFilter { + #[serde(rename = "running")] + Running, + #[serde(rename = "aborted")] + Aborted, + #[serde(rename = "failed")] + Failed, + #[serde(rename = "completed")] + Completed, + +} + +impl std::fmt::Display for TaskFilter { + fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result { + match self { + Self::Running => write!(f, "running"), + Self::Aborted => write!(f, "aborted"), + Self::Failed => write!(f, "failed"), + Self::Completed => write!(f, "completed"), + } + } +} + +impl Default for TaskFilter { + fn default() -> TaskFilter { + Self::Running + } +} + diff --git a/rust/src/models/task_response.rs b/rust/src/models/task_response.rs new file mode 100644 index 00000000..dd924c19 --- /dev/null +++ b/rust/src/models/task_response.rs @@ -0,0 +1,29 @@ +/* + * Geo Engine API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// TaskResponse : Create a task somewhere and respond with a task id to query the task status. +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct TaskResponse { + #[serde(rename = "taskId")] + pub task_id: uuid::Uuid, +} + +impl TaskResponse { + /// Create a task somewhere and respond with a task id to query the task status. + pub fn new(task_id: uuid::Uuid) -> TaskResponse { + TaskResponse { + task_id, + } + } +} + diff --git a/rust/src/models/task_status.rs b/rust/src/models/task_status.rs new file mode 100644 index 00000000..732572dc --- /dev/null +++ b/rust/src/models/task_status.rs @@ -0,0 +1,33 @@ +/* + * Geo Engine API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)] +#[serde(tag = "status")] +pub enum TaskStatus { + #[serde(rename="TaskStatusRunning")] + TaskStatusRunning(Box), + #[serde(rename="TaskStatusCompleted")] + TaskStatusCompleted(Box), + #[serde(rename="TaskStatusAborted")] + TaskStatusAborted(Box), + #[serde(rename="TaskStatusFailed")] + TaskStatusFailed(Box), +} + +impl Default for TaskStatus { + fn default() -> Self { + Self::TaskStatusRunning(Default::default()) + } +} + + diff --git a/rust/src/models/task_status_aborted.rs b/rust/src/models/task_status_aborted.rs new file mode 100644 index 00000000..9ede7c48 --- /dev/null +++ b/rust/src/models/task_status_aborted.rs @@ -0,0 +1,42 @@ +/* + * Geo Engine API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct TaskStatusAborted { + #[serde(rename = "cleanUp", deserialize_with = "Option::deserialize")] + pub clean_up: Option, + #[serde(rename = "status")] + pub status: Status, +} + +impl TaskStatusAborted { + pub fn new(clean_up: Option, status: Status) -> TaskStatusAborted { + TaskStatusAborted { + clean_up, + status, + } + } +} +/// +#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)] +pub enum Status { + #[serde(rename = "aborted")] + Aborted, +} + +impl Default for Status { + fn default() -> Status { + Self::Aborted + } +} + diff --git a/rust/src/models/task_status_completed.rs b/rust/src/models/task_status_completed.rs new file mode 100644 index 00000000..94247f31 --- /dev/null +++ b/rust/src/models/task_status_completed.rs @@ -0,0 +1,54 @@ +/* + * Geo Engine API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct TaskStatusCompleted { + #[serde(rename = "description", skip_serializing_if = "Option::is_none")] + pub description: Option, + #[serde(rename = "info", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")] + pub info: Option>, + #[serde(rename = "status")] + pub status: Status, + #[serde(rename = "taskType")] + pub task_type: String, + #[serde(rename = "timeStarted")] + pub time_started: String, + #[serde(rename = "timeTotal")] + pub time_total: String, +} + +impl TaskStatusCompleted { + pub fn new(status: Status, task_type: String, time_started: String, time_total: String) -> TaskStatusCompleted { + TaskStatusCompleted { + description: None, + info: None, + status, + task_type, + time_started, + time_total, + } + } +} +/// +#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)] +pub enum Status { + #[serde(rename = "completed")] + Completed, +} + +impl Default for Status { + fn default() -> Status { + Self::Completed + } +} + diff --git a/rust/src/models/task_status_failed.rs b/rust/src/models/task_status_failed.rs new file mode 100644 index 00000000..7505679c --- /dev/null +++ b/rust/src/models/task_status_failed.rs @@ -0,0 +1,45 @@ +/* + * Geo Engine API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct TaskStatusFailed { + #[serde(rename = "cleanUp", deserialize_with = "Option::deserialize")] + pub clean_up: Option, + #[serde(rename = "error", deserialize_with = "Option::deserialize")] + pub error: Option, + #[serde(rename = "status")] + pub status: Status, +} + +impl TaskStatusFailed { + pub fn new(clean_up: Option, error: Option, status: Status) -> TaskStatusFailed { + TaskStatusFailed { + clean_up, + error, + status, + } + } +} +/// +#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)] +pub enum Status { + #[serde(rename = "failed")] + Failed, +} + +impl Default for Status { + fn default() -> Status { + Self::Failed + } +} + diff --git a/rust/src/models/task_status_running.rs b/rust/src/models/task_status_running.rs new file mode 100644 index 00000000..01a5f023 --- /dev/null +++ b/rust/src/models/task_status_running.rs @@ -0,0 +1,57 @@ +/* + * Geo Engine API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct TaskStatusRunning { + #[serde(rename = "description", skip_serializing_if = "Option::is_none")] + pub description: Option, + #[serde(rename = "estimatedTimeRemaining")] + pub estimated_time_remaining: String, + #[serde(rename = "info", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")] + pub info: Option>, + #[serde(rename = "pctComplete")] + pub pct_complete: String, + #[serde(rename = "status")] + pub status: Status, + #[serde(rename = "taskType")] + pub task_type: String, + #[serde(rename = "timeStarted")] + pub time_started: String, +} + +impl TaskStatusRunning { + pub fn new(estimated_time_remaining: String, pct_complete: String, status: Status, task_type: String, time_started: String) -> TaskStatusRunning { + TaskStatusRunning { + description: None, + estimated_time_remaining, + info: None, + pct_complete, + status, + task_type, + time_started, + } + } +} +/// +#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)] +pub enum Status { + #[serde(rename = "running")] + Running, +} + +impl Default for Status { + fn default() -> Status { + Self::Running + } +} + diff --git a/rust/src/models/task_status_with_id.rs b/rust/src/models/task_status_with_id.rs new file mode 100644 index 00000000..1578b1af --- /dev/null +++ b/rust/src/models/task_status_with_id.rs @@ -0,0 +1,69 @@ +/* + * Geo Engine API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct TaskStatusWithId { + #[serde(rename = "description", skip_serializing_if = "Option::is_none")] + pub description: Option, + #[serde(rename = "estimatedTimeRemaining")] + pub estimated_time_remaining: String, + #[serde(rename = "info", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")] + pub info: Option>, + #[serde(rename = "pctComplete")] + pub pct_complete: String, + #[serde(rename = "status")] + pub status: Status, + #[serde(rename = "taskType")] + pub task_type: String, + #[serde(rename = "timeStarted")] + pub time_started: String, + #[serde(rename = "timeTotal")] + pub time_total: String, + #[serde(rename = "cleanUp", deserialize_with = "Option::deserialize")] + pub clean_up: Option, + #[serde(rename = "error", deserialize_with = "Option::deserialize")] + pub error: Option, + #[serde(rename = "taskId")] + pub task_id: uuid::Uuid, +} + +impl TaskStatusWithId { + pub fn new(estimated_time_remaining: String, pct_complete: String, status: Status, task_type: String, time_started: String, time_total: String, clean_up: Option, error: Option, task_id: uuid::Uuid) -> TaskStatusWithId { + TaskStatusWithId { + description: None, + estimated_time_remaining, + info: None, + pct_complete, + status, + task_type, + time_started, + time_total, + clean_up, + error, + task_id, + } + } +} +/// +#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)] +pub enum Status { + #[serde(rename = "failed")] + Failed, +} + +impl Default for Status { + fn default() -> Status { + Self::Failed + } +} + diff --git a/rust/src/models/temporal_aggregation_method.rs b/rust/src/models/temporal_aggregation_method.rs new file mode 100644 index 00000000..0d508b1a --- /dev/null +++ b/rust/src/models/temporal_aggregation_method.rs @@ -0,0 +1,41 @@ +/* + * Geo Engine API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// +#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)] +pub enum TemporalAggregationMethod { + #[serde(rename = "none")] + None, + #[serde(rename = "first")] + First, + #[serde(rename = "mean")] + Mean, + +} + +impl std::fmt::Display for TemporalAggregationMethod { + fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result { + match self { + Self::None => write!(f, "none"), + Self::First => write!(f, "first"), + Self::Mean => write!(f, "mean"), + } + } +} + +impl Default for TemporalAggregationMethod { + fn default() -> TemporalAggregationMethod { + Self::None + } +} + diff --git a/rust/src/models/text_symbology.rs b/rust/src/models/text_symbology.rs new file mode 100644 index 00000000..bab27bf4 --- /dev/null +++ b/rust/src/models/text_symbology.rs @@ -0,0 +1,33 @@ +/* + * Geo Engine API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct TextSymbology { + #[serde(rename = "attribute")] + pub attribute: String, + #[serde(rename = "fillColor")] + pub fill_color: Box, + #[serde(rename = "stroke")] + pub stroke: Box, +} + +impl TextSymbology { + pub fn new(attribute: String, fill_color: models::ColorParam, stroke: models::StrokeParam) -> TextSymbology { + TextSymbology { + attribute, + fill_color: Box::new(fill_color), + stroke: Box::new(stroke), + } + } +} + diff --git a/rust/src/models/time_descriptor.rs b/rust/src/models/time_descriptor.rs new file mode 100644 index 00000000..3e7591c7 --- /dev/null +++ b/rust/src/models/time_descriptor.rs @@ -0,0 +1,30 @@ +/* + * Geo Engine API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct TimeDescriptor { + #[serde(rename = "bounds", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")] + pub bounds: Option>>, + #[serde(rename = "dimension")] + pub dimension: Box, +} + +impl TimeDescriptor { + pub fn new(dimension: models::TimeDimension) -> TimeDescriptor { + TimeDescriptor { + bounds: None, + dimension: Box::new(dimension), + } + } +} + diff --git a/rust/src/models/time_dimension.rs b/rust/src/models/time_dimension.rs new file mode 100644 index 00000000..cc543a79 --- /dev/null +++ b/rust/src/models/time_dimension.rs @@ -0,0 +1,40 @@ +/* + * Geo Engine API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)] +#[serde(untagged)] +pub enum TimeDimension { + TimeDimensionOneOf(Box), + TimeDimensionOneOf1(Box), +} + +impl Default for TimeDimension { + fn default() -> Self { + Self::TimeDimensionOneOf(Default::default()) + } +} +/// +#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)] +pub enum Type { + #[serde(rename = "regular")] + Regular, + #[serde(rename = "irregular")] + Irregular, +} + +impl Default for Type { + fn default() -> Type { + Self::Regular + } +} + diff --git a/rust/src/models/time_dimension_one_of.rs b/rust/src/models/time_dimension_one_of.rs new file mode 100644 index 00000000..a94131b2 --- /dev/null +++ b/rust/src/models/time_dimension_one_of.rs @@ -0,0 +1,45 @@ +/* + * Geo Engine API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct TimeDimensionOneOf { + #[serde(rename = "origin")] + pub origin: i64, + #[serde(rename = "step")] + pub step: Box, + #[serde(rename = "type")] + pub r#type: Type, +} + +impl TimeDimensionOneOf { + pub fn new(origin: i64, step: models::TimeStep, r#type: Type) -> TimeDimensionOneOf { + TimeDimensionOneOf { + origin, + step: Box::new(step), + r#type, + } + } +} +/// +#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)] +pub enum Type { + #[serde(rename = "regular")] + Regular, +} + +impl Default for Type { + fn default() -> Type { + Self::Regular + } +} + diff --git a/rust/src/models/time_dimension_one_of_1.rs b/rust/src/models/time_dimension_one_of_1.rs new file mode 100644 index 00000000..130b3368 --- /dev/null +++ b/rust/src/models/time_dimension_one_of_1.rs @@ -0,0 +1,39 @@ +/* + * Geo Engine API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct TimeDimensionOneOf1 { + #[serde(rename = "type")] + pub r#type: Type, +} + +impl TimeDimensionOneOf1 { + pub fn new(r#type: Type) -> TimeDimensionOneOf1 { + TimeDimensionOneOf1 { + r#type, + } + } +} +/// +#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)] +pub enum Type { + #[serde(rename = "irregular")] + Irregular, +} + +impl Default for Type { + fn default() -> Type { + Self::Irregular + } +} + diff --git a/rust/src/models/time_granularity.rs b/rust/src/models/time_granularity.rs new file mode 100644 index 00000000..9e821623 --- /dev/null +++ b/rust/src/models/time_granularity.rs @@ -0,0 +1,54 @@ +/* + * Geo Engine API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// TimeGranularity : A time granularity. +/// A time granularity. +#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)] +pub enum TimeGranularity { + #[serde(rename = "millis")] + Millis, + #[serde(rename = "seconds")] + Seconds, + #[serde(rename = "minutes")] + Minutes, + #[serde(rename = "hours")] + Hours, + #[serde(rename = "days")] + Days, + #[serde(rename = "months")] + Months, + #[serde(rename = "years")] + Years, + +} + +impl std::fmt::Display for TimeGranularity { + fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result { + match self { + Self::Millis => write!(f, "millis"), + Self::Seconds => write!(f, "seconds"), + Self::Minutes => write!(f, "minutes"), + Self::Hours => write!(f, "hours"), + Self::Days => write!(f, "days"), + Self::Months => write!(f, "months"), + Self::Years => write!(f, "years"), + } + } +} + +impl Default for TimeGranularity { + fn default() -> TimeGranularity { + Self::Millis + } +} + diff --git a/rust/src/models/time_interval.rs b/rust/src/models/time_interval.rs new file mode 100644 index 00000000..449f0d03 --- /dev/null +++ b/rust/src/models/time_interval.rs @@ -0,0 +1,32 @@ +/* + * Geo Engine API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// TimeInterval : Stores time intervals in ms in close-open semantic [start, end) +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct TimeInterval { + #[serde(rename = "end")] + pub end: i64, + #[serde(rename = "start")] + pub start: i64, +} + +impl TimeInterval { + /// Stores time intervals in ms in close-open semantic [start, end) + pub fn new(end: i64, start: i64) -> TimeInterval { + TimeInterval { + end, + start, + } + } +} + diff --git a/rust/src/models/time_reference.rs b/rust/src/models/time_reference.rs new file mode 100644 index 00000000..cb3174d1 --- /dev/null +++ b/rust/src/models/time_reference.rs @@ -0,0 +1,38 @@ +/* + * Geo Engine API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// +#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)] +pub enum TimeReference { + #[serde(rename = "start")] + Start, + #[serde(rename = "end")] + End, + +} + +impl std::fmt::Display for TimeReference { + fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result { + match self { + Self::Start => write!(f, "start"), + Self::End => write!(f, "end"), + } + } +} + +impl Default for TimeReference { + fn default() -> TimeReference { + Self::Start + } +} + diff --git a/rust/src/models/time_step.rs b/rust/src/models/time_step.rs new file mode 100644 index 00000000..c5a2ea2c --- /dev/null +++ b/rust/src/models/time_step.rs @@ -0,0 +1,30 @@ +/* + * Geo Engine API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct TimeStep { + #[serde(rename = "granularity")] + pub granularity: models::TimeGranularity, + #[serde(rename = "step")] + pub step: i32, +} + +impl TimeStep { + pub fn new(granularity: models::TimeGranularity, step: i32) -> TimeStep { + TimeStep { + granularity, + step, + } + } +} + diff --git a/rust/src/models/typed_data_provider_definition.rs b/rust/src/models/typed_data_provider_definition.rs new file mode 100644 index 00000000..9b47fa8e --- /dev/null +++ b/rust/src/models/typed_data_provider_definition.rs @@ -0,0 +1,49 @@ +/* + * Geo Engine API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)] +#[serde(tag = "type")] +pub enum TypedDataProviderDefinition { + #[serde(rename="Aruna")] + Aruna(Box), + #[serde(rename="CopernicusDataspace")] + CopernicusDataspace(Box), + #[serde(rename="DatasetLayerListing")] + DatasetLayerListing(Box), + #[serde(rename="EbvPortal")] + EbvPortal(Box), + #[serde(rename="Edr")] + Edr(Box), + #[serde(rename="Gbif")] + Gbif(Box), + #[serde(rename="GfbioAbcd")] + GfbioAbcd(Box), + #[serde(rename="GfbioCollections")] + GfbioCollections(Box), + #[serde(rename="NetCdfCf")] + NetCdfCf(Box), + #[serde(rename="Pangaea")] + Pangaea(Box), + #[serde(rename="SentinelS2L2ACogs")] + SentinelS2L2ACogs(Box), + #[serde(rename="WildLIVE!")] + WildLiveExclamation(Box), +} + +impl Default for TypedDataProviderDefinition { + fn default() -> Self { + Self::Aruna(Default::default()) + } +} + + diff --git a/rust/src/models/typed_geometry.rs b/rust/src/models/typed_geometry.rs new file mode 100644 index 00000000..8618607c --- /dev/null +++ b/rust/src/models/typed_geometry.rs @@ -0,0 +1,28 @@ +/* + * Geo Engine API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)] +#[serde(untagged)] +pub enum TypedGeometry { + TypedGeometryOneOf(Box), + TypedGeometryOneOf1(Box), + TypedGeometryOneOf2(Box), + TypedGeometryOneOf3(Box), +} + +impl Default for TypedGeometry { + fn default() -> Self { + Self::TypedGeometryOneOf(Default::default()) + } +} + diff --git a/rust/src/models/typed_geometry_one_of.rs b/rust/src/models/typed_geometry_one_of.rs new file mode 100644 index 00000000..fc06a5b9 --- /dev/null +++ b/rust/src/models/typed_geometry_one_of.rs @@ -0,0 +1,27 @@ +/* + * Geo Engine API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct TypedGeometryOneOf { + #[serde(rename = "Data", deserialize_with = "Option::deserialize")] + pub data: Option, +} + +impl TypedGeometryOneOf { + pub fn new(data: Option) -> TypedGeometryOneOf { + TypedGeometryOneOf { + data, + } + } +} + diff --git a/rust/src/models/typed_geometry_one_of_1.rs b/rust/src/models/typed_geometry_one_of_1.rs new file mode 100644 index 00000000..2a4b9ab0 --- /dev/null +++ b/rust/src/models/typed_geometry_one_of_1.rs @@ -0,0 +1,27 @@ +/* + * Geo Engine API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct TypedGeometryOneOf1 { + #[serde(rename = "MultiPoint")] + pub multi_point: Box, +} + +impl TypedGeometryOneOf1 { + pub fn new(multi_point: models::MultiPoint) -> TypedGeometryOneOf1 { + TypedGeometryOneOf1 { + multi_point: Box::new(multi_point), + } + } +} + diff --git a/rust/src/models/typed_geometry_one_of_2.rs b/rust/src/models/typed_geometry_one_of_2.rs new file mode 100644 index 00000000..5442dbde --- /dev/null +++ b/rust/src/models/typed_geometry_one_of_2.rs @@ -0,0 +1,27 @@ +/* + * Geo Engine API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct TypedGeometryOneOf2 { + #[serde(rename = "MultiLineString")] + pub multi_line_string: Box, +} + +impl TypedGeometryOneOf2 { + pub fn new(multi_line_string: models::MultiLineString) -> TypedGeometryOneOf2 { + TypedGeometryOneOf2 { + multi_line_string: Box::new(multi_line_string), + } + } +} + diff --git a/rust/src/models/typed_geometry_one_of_3.rs b/rust/src/models/typed_geometry_one_of_3.rs new file mode 100644 index 00000000..2c75585c --- /dev/null +++ b/rust/src/models/typed_geometry_one_of_3.rs @@ -0,0 +1,27 @@ +/* + * Geo Engine API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct TypedGeometryOneOf3 { + #[serde(rename = "MultiPolygon")] + pub multi_polygon: Box, +} + +impl TypedGeometryOneOf3 { + pub fn new(multi_polygon: models::MultiPolygon) -> TypedGeometryOneOf3 { + TypedGeometryOneOf3 { + multi_polygon: Box::new(multi_polygon), + } + } +} + diff --git a/rust/src/models/typed_operator.rs b/rust/src/models/typed_operator.rs new file mode 100644 index 00000000..68f6b9dc --- /dev/null +++ b/rust/src/models/typed_operator.rs @@ -0,0 +1,45 @@ +/* + * Geo Engine API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// TypedOperator : Operator outputs are distinguished by their data type. There are `raster`, `vector` and `plot` operators. +/// Operator outputs are distinguished by their data type. There are `raster`, `vector` and `plot` operators. +#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)] +#[serde(untagged)] +pub enum TypedOperator { + TypedVectorOperator(Box), + TypedRasterOperator(Box), + TypedPlotOperator(Box), +} + +impl Default for TypedOperator { + fn default() -> Self { + Self::TypedVectorOperator(Default::default()) + } +} +/// +#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)] +pub enum Type { + #[serde(rename = "Vector")] + Vector, + #[serde(rename = "Raster")] + Raster, + #[serde(rename = "Plot")] + Plot, +} + +impl Default for Type { + fn default() -> Type { + Self::Vector + } +} + diff --git a/rust/src/models/typed_operator_one_of.rs b/rust/src/models/typed_operator_one_of.rs new file mode 100644 index 00000000..12cfbd4d --- /dev/null +++ b/rust/src/models/typed_operator_one_of.rs @@ -0,0 +1,42 @@ +/* + * Geo Engine API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct TypedOperatorOneOf { + #[serde(rename = "operator")] + pub operator: models::RasterOperator, + #[serde(rename = "type")] + pub r#type: Type, +} + +impl TypedOperatorOneOf { + pub fn new(operator: models::RasterOperator, r#type: Type) -> TypedOperatorOneOf { + TypedOperatorOneOf { + operator, + r#type, + } + } +} +/// +#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)] +pub enum Type { + #[serde(rename = "Raster")] + Raster, +} + +impl Default for Type { + fn default() -> Type { + Self::Raster + } +} + diff --git a/rust/src/models/typed_operator_one_of_1.rs b/rust/src/models/typed_operator_one_of_1.rs new file mode 100644 index 00000000..9469ca1e --- /dev/null +++ b/rust/src/models/typed_operator_one_of_1.rs @@ -0,0 +1,42 @@ +/* + * Geo Engine API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct TypedOperatorOneOf1 { + #[serde(rename = "operator")] + pub operator: models::PlotOperator, + #[serde(rename = "type")] + pub r#type: Type, +} + +impl TypedOperatorOneOf1 { + pub fn new(operator: models::PlotOperator, r#type: Type) -> TypedOperatorOneOf1 { + TypedOperatorOneOf1 { + operator, + r#type, + } + } +} +/// +#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)] +pub enum Type { + #[serde(rename = "Plot")] + Plot, +} + +impl Default for Type { + fn default() -> Type { + Self::Plot + } +} + diff --git a/rust/src/models/typed_operator_one_of_2.rs b/rust/src/models/typed_operator_one_of_2.rs new file mode 100644 index 00000000..0d6eb4d2 --- /dev/null +++ b/rust/src/models/typed_operator_one_of_2.rs @@ -0,0 +1,42 @@ +/* + * Geo Engine API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct TypedOperatorOneOf2 { + #[serde(rename = "operator")] + pub operator: models::PlotOperator, + #[serde(rename = "type")] + pub r#type: Type, +} + +impl TypedOperatorOneOf2 { + pub fn new(operator: models::PlotOperator, r#type: Type) -> TypedOperatorOneOf2 { + TypedOperatorOneOf2 { + operator, + r#type, + } + } +} +/// +#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)] +pub enum Type { + #[serde(rename = "Plot")] + Plot, +} + +impl Default for Type { + fn default() -> Type { + Self::Plot + } +} + diff --git a/rust/src/models/typed_plot_operator.rs b/rust/src/models/typed_plot_operator.rs new file mode 100644 index 00000000..30d0da34 --- /dev/null +++ b/rust/src/models/typed_plot_operator.rs @@ -0,0 +1,42 @@ +/* + * Geo Engine API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct TypedPlotOperator { + #[serde(rename = "operator")] + pub operator: Box, + #[serde(rename = "type")] + pub r#type: Type, +} + +impl TypedPlotOperator { + pub fn new(operator: models::PlotOperator, r#type: Type) -> TypedPlotOperator { + TypedPlotOperator { + operator: Box::new(operator), + r#type, + } + } +} +/// +#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)] +pub enum Type { + #[serde(rename = "Plot")] + Plot, +} + +impl Default for Type { + fn default() -> Type { + Self::Plot + } +} + diff --git a/rust/src/models/typed_plot_result_descriptor.rs b/rust/src/models/typed_plot_result_descriptor.rs new file mode 100644 index 00000000..2d793fcc --- /dev/null +++ b/rust/src/models/typed_plot_result_descriptor.rs @@ -0,0 +1,48 @@ +/* + * Geo Engine API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct TypedPlotResultDescriptor { + #[serde(rename = "bbox", skip_serializing_if = "Option::is_none")] + pub bbox: Option>, + #[serde(rename = "spatialReference")] + pub spatial_reference: String, + #[serde(rename = "time", skip_serializing_if = "Option::is_none")] + pub time: Option>, + #[serde(rename = "type")] + pub r#type: Type, +} + +impl TypedPlotResultDescriptor { + pub fn new(spatial_reference: String, r#type: Type) -> TypedPlotResultDescriptor { + TypedPlotResultDescriptor { + bbox: None, + spatial_reference, + time: None, + r#type, + } + } +} +/// +#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)] +pub enum Type { + #[serde(rename = "plot")] + Plot, +} + +impl Default for Type { + fn default() -> Type { + Self::Plot + } +} + diff --git a/rust/src/models/typed_raster_operator.rs b/rust/src/models/typed_raster_operator.rs new file mode 100644 index 00000000..8fbf42b4 --- /dev/null +++ b/rust/src/models/typed_raster_operator.rs @@ -0,0 +1,42 @@ +/* + * Geo Engine API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct TypedRasterOperator { + #[serde(rename = "operator")] + pub operator: Box, + #[serde(rename = "type")] + pub r#type: Type, +} + +impl TypedRasterOperator { + pub fn new(operator: models::RasterOperator, r#type: Type) -> TypedRasterOperator { + TypedRasterOperator { + operator: Box::new(operator), + r#type, + } + } +} +/// +#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)] +pub enum Type { + #[serde(rename = "Raster")] + Raster, +} + +impl Default for Type { + fn default() -> Type { + Self::Raster + } +} + diff --git a/rust/src/models/typed_raster_result_descriptor.rs b/rust/src/models/typed_raster_result_descriptor.rs new file mode 100644 index 00000000..84a8b8bb --- /dev/null +++ b/rust/src/models/typed_raster_result_descriptor.rs @@ -0,0 +1,54 @@ +/* + * Geo Engine API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct TypedRasterResultDescriptor { + #[serde(rename = "bands")] + pub bands: Vec, + #[serde(rename = "dataType")] + pub data_type: models::RasterDataType, + #[serde(rename = "spatialGrid")] + pub spatial_grid: Box, + #[serde(rename = "spatialReference")] + pub spatial_reference: String, + #[serde(rename = "time")] + pub time: Box, + #[serde(rename = "type")] + pub r#type: Type, +} + +impl TypedRasterResultDescriptor { + pub fn new(bands: Vec, data_type: models::RasterDataType, spatial_grid: models::SpatialGridDescriptor, spatial_reference: String, time: models::TimeDescriptor, r#type: Type) -> TypedRasterResultDescriptor { + TypedRasterResultDescriptor { + bands, + data_type, + spatial_grid: Box::new(spatial_grid), + spatial_reference, + time: Box::new(time), + r#type, + } + } +} +/// +#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)] +pub enum Type { + #[serde(rename = "raster")] + Raster, +} + +impl Default for Type { + fn default() -> Type { + Self::Raster + } +} + diff --git a/rust/src/models/typed_result_descriptor.rs b/rust/src/models/typed_result_descriptor.rs new file mode 100644 index 00000000..b12b53d1 --- /dev/null +++ b/rust/src/models/typed_result_descriptor.rs @@ -0,0 +1,31 @@ +/* + * Geo Engine API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)] +#[serde(tag = "type")] +pub enum TypedResultDescriptor { + #[serde(rename="plot")] + Plot(Box), + #[serde(rename="raster")] + Raster(Box), + #[serde(rename="vector")] + Vector(Box), +} + +impl Default for TypedResultDescriptor { + fn default() -> Self { + Self::Plot(Default::default()) + } +} + + diff --git a/rust/src/models/typed_vector_operator.rs b/rust/src/models/typed_vector_operator.rs new file mode 100644 index 00000000..d58e6377 --- /dev/null +++ b/rust/src/models/typed_vector_operator.rs @@ -0,0 +1,42 @@ +/* + * Geo Engine API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct TypedVectorOperator { + #[serde(rename = "operator")] + pub operator: Box, + #[serde(rename = "type")] + pub r#type: Type, +} + +impl TypedVectorOperator { + pub fn new(operator: models::VectorOperator, r#type: Type) -> TypedVectorOperator { + TypedVectorOperator { + operator: Box::new(operator), + r#type, + } + } +} +/// +#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)] +pub enum Type { + #[serde(rename = "Vector")] + Vector, +} + +impl Default for Type { + fn default() -> Type { + Self::Vector + } +} + diff --git a/rust/src/models/typed_vector_result_descriptor.rs b/rust/src/models/typed_vector_result_descriptor.rs new file mode 100644 index 00000000..ae470eb3 --- /dev/null +++ b/rust/src/models/typed_vector_result_descriptor.rs @@ -0,0 +1,54 @@ +/* + * Geo Engine API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct TypedVectorResultDescriptor { + #[serde(rename = "bbox", skip_serializing_if = "Option::is_none")] + pub bbox: Option>, + #[serde(rename = "columns")] + pub columns: std::collections::HashMap, + #[serde(rename = "dataType")] + pub data_type: models::VectorDataType, + #[serde(rename = "spatialReference")] + pub spatial_reference: String, + #[serde(rename = "time", skip_serializing_if = "Option::is_none")] + pub time: Option>, + #[serde(rename = "type")] + pub r#type: Type, +} + +impl TypedVectorResultDescriptor { + pub fn new(columns: std::collections::HashMap, data_type: models::VectorDataType, spatial_reference: String, r#type: Type) -> TypedVectorResultDescriptor { + TypedVectorResultDescriptor { + bbox: None, + columns, + data_type, + spatial_reference, + time: None, + r#type, + } + } +} +/// +#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)] +pub enum Type { + #[serde(rename = "vector")] + Vector, +} + +impl Default for Type { + fn default() -> Type { + Self::Vector + } +} + diff --git a/rust/src/models/unitless_measurement.rs b/rust/src/models/unitless_measurement.rs new file mode 100644 index 00000000..1fed2606 --- /dev/null +++ b/rust/src/models/unitless_measurement.rs @@ -0,0 +1,39 @@ +/* + * Geo Engine API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct UnitlessMeasurement { + #[serde(rename = "type")] + pub r#type: Type, +} + +impl UnitlessMeasurement { + pub fn new(r#type: Type) -> UnitlessMeasurement { + UnitlessMeasurement { + r#type, + } + } +} +/// +#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)] +pub enum Type { + #[serde(rename = "unitless")] + Unitless, +} + +impl Default for Type { + fn default() -> Type { + Self::Unitless + } +} + diff --git a/rust/src/models/unix_time_stamp_type.rs b/rust/src/models/unix_time_stamp_type.rs new file mode 100644 index 00000000..08bfe83e --- /dev/null +++ b/rust/src/models/unix_time_stamp_type.rs @@ -0,0 +1,38 @@ +/* + * Geo Engine API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// +#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)] +pub enum UnixTimeStampType { + #[serde(rename = "epochSeconds")] + EpochSeconds, + #[serde(rename = "epochMilliseconds")] + EpochMilliseconds, + +} + +impl std::fmt::Display for UnixTimeStampType { + fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result { + match self { + Self::EpochSeconds => write!(f, "epochSeconds"), + Self::EpochMilliseconds => write!(f, "epochMilliseconds"), + } + } +} + +impl Default for UnixTimeStampType { + fn default() -> UnixTimeStampType { + Self::EpochSeconds + } +} + diff --git a/rust/src/models/update_dataset.rs b/rust/src/models/update_dataset.rs new file mode 100644 index 00000000..243061b0 --- /dev/null +++ b/rust/src/models/update_dataset.rs @@ -0,0 +1,36 @@ +/* + * Geo Engine API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct UpdateDataset { + #[serde(rename = "description")] + pub description: String, + #[serde(rename = "display_name")] + pub display_name: String, + #[serde(rename = "name")] + pub name: String, + #[serde(rename = "tags")] + pub tags: Vec, +} + +impl UpdateDataset { + pub fn new(description: String, display_name: String, name: String, tags: Vec) -> UpdateDataset { + UpdateDataset { + description, + display_name, + name, + tags, + } + } +} + diff --git a/rust/src/models/update_layer.rs b/rust/src/models/update_layer.rs new file mode 100644 index 00000000..0c6251d5 --- /dev/null +++ b/rust/src/models/update_layer.rs @@ -0,0 +1,44 @@ +/* + * Geo Engine API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct UpdateLayer { + #[serde(rename = "description")] + pub description: String, + /// metadata used for loading the data + #[serde(rename = "metadata", skip_serializing_if = "Option::is_none")] + pub metadata: Option>, + #[serde(rename = "name")] + pub name: String, + /// properties, for instance, to be rendered in the UI + #[serde(rename = "properties", skip_serializing_if = "Option::is_none")] + pub properties: Option>>, + #[serde(rename = "symbology", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")] + pub symbology: Option>>, + #[serde(rename = "workflow")] + pub workflow: Box, +} + +impl UpdateLayer { + pub fn new(description: String, name: String, workflow: models::Workflow) -> UpdateLayer { + UpdateLayer { + description, + metadata: None, + name, + properties: None, + symbology: None, + workflow: Box::new(workflow), + } + } +} + diff --git a/rust/src/models/update_layer_collection.rs b/rust/src/models/update_layer_collection.rs new file mode 100644 index 00000000..95ed37d6 --- /dev/null +++ b/rust/src/models/update_layer_collection.rs @@ -0,0 +1,33 @@ +/* + * Geo Engine API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct UpdateLayerCollection { + #[serde(rename = "description")] + pub description: String, + #[serde(rename = "name")] + pub name: String, + #[serde(rename = "properties", skip_serializing_if = "Option::is_none")] + pub properties: Option>>, +} + +impl UpdateLayerCollection { + pub fn new(description: String, name: String) -> UpdateLayerCollection { + UpdateLayerCollection { + description, + name, + properties: None, + } + } +} + diff --git a/rust/src/models/update_project.rs b/rust/src/models/update_project.rs new file mode 100644 index 00000000..3f907a6f --- /dev/null +++ b/rust/src/models/update_project.rs @@ -0,0 +1,45 @@ +/* + * Geo Engine API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct UpdateProject { + #[serde(rename = "bounds", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")] + pub bounds: Option>>, + #[serde(rename = "description", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")] + pub description: Option>, + #[serde(rename = "id")] + pub id: uuid::Uuid, + #[serde(rename = "layers", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")] + pub layers: Option>>, + #[serde(rename = "name", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")] + pub name: Option>, + #[serde(rename = "plots", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")] + pub plots: Option>>, + #[serde(rename = "timeStep", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")] + pub time_step: Option>>, +} + +impl UpdateProject { + pub fn new(id: uuid::Uuid) -> UpdateProject { + UpdateProject { + bounds: None, + description: None, + id, + layers: None, + name: None, + plots: None, + time_step: None, + } + } +} + diff --git a/rust/src/models/update_quota.rs b/rust/src/models/update_quota.rs new file mode 100644 index 00000000..84cac3c0 --- /dev/null +++ b/rust/src/models/update_quota.rs @@ -0,0 +1,27 @@ +/* + * Geo Engine API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct UpdateQuota { + #[serde(rename = "available")] + pub available: i64, +} + +impl UpdateQuota { + pub fn new(available: i64) -> UpdateQuota { + UpdateQuota { + available, + } + } +} + diff --git a/rust/src/models/upload_file_layers_response.rs b/rust/src/models/upload_file_layers_response.rs new file mode 100644 index 00000000..f2104a01 --- /dev/null +++ b/rust/src/models/upload_file_layers_response.rs @@ -0,0 +1,27 @@ +/* + * Geo Engine API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct UploadFileLayersResponse { + #[serde(rename = "layers")] + pub layers: Vec, +} + +impl UploadFileLayersResponse { + pub fn new(layers: Vec) -> UploadFileLayersResponse { + UploadFileLayersResponse { + layers, + } + } +} + diff --git a/rust/src/models/upload_files_response.rs b/rust/src/models/upload_files_response.rs new file mode 100644 index 00000000..af5528be --- /dev/null +++ b/rust/src/models/upload_files_response.rs @@ -0,0 +1,27 @@ +/* + * Geo Engine API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct UploadFilesResponse { + #[serde(rename = "files")] + pub files: Vec, +} + +impl UploadFilesResponse { + pub fn new(files: Vec) -> UploadFilesResponse { + UploadFilesResponse { + files, + } + } +} + diff --git a/rust/src/models/usage_summary_granularity.rs b/rust/src/models/usage_summary_granularity.rs new file mode 100644 index 00000000..f83f2745 --- /dev/null +++ b/rust/src/models/usage_summary_granularity.rs @@ -0,0 +1,47 @@ +/* + * Geo Engine API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// +#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)] +pub enum UsageSummaryGranularity { + #[serde(rename = "minutes")] + Minutes, + #[serde(rename = "hours")] + Hours, + #[serde(rename = "days")] + Days, + #[serde(rename = "months")] + Months, + #[serde(rename = "years")] + Years, + +} + +impl std::fmt::Display for UsageSummaryGranularity { + fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result { + match self { + Self::Minutes => write!(f, "minutes"), + Self::Hours => write!(f, "hours"), + Self::Days => write!(f, "days"), + Self::Months => write!(f, "months"), + Self::Years => write!(f, "years"), + } + } +} + +impl Default for UsageSummaryGranularity { + fn default() -> UsageSummaryGranularity { + Self::Minutes + } +} + diff --git a/rust/src/models/user_credentials.rs b/rust/src/models/user_credentials.rs new file mode 100644 index 00000000..f90154a7 --- /dev/null +++ b/rust/src/models/user_credentials.rs @@ -0,0 +1,30 @@ +/* + * Geo Engine API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct UserCredentials { + #[serde(rename = "email")] + pub email: String, + #[serde(rename = "password")] + pub password: String, +} + +impl UserCredentials { + pub fn new(email: String, password: String) -> UserCredentials { + UserCredentials { + email, + password, + } + } +} + diff --git a/rust/src/models/user_info.rs b/rust/src/models/user_info.rs new file mode 100644 index 00000000..1d00e626 --- /dev/null +++ b/rust/src/models/user_info.rs @@ -0,0 +1,33 @@ +/* + * Geo Engine API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct UserInfo { + #[serde(rename = "email", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")] + pub email: Option>, + #[serde(rename = "id")] + pub id: uuid::Uuid, + #[serde(rename = "realName", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")] + pub real_name: Option>, +} + +impl UserInfo { + pub fn new(id: uuid::Uuid) -> UserInfo { + UserInfo { + email: None, + id, + real_name: None, + } + } +} + diff --git a/rust/src/models/user_registration.rs b/rust/src/models/user_registration.rs new file mode 100644 index 00000000..b7669f9e --- /dev/null +++ b/rust/src/models/user_registration.rs @@ -0,0 +1,33 @@ +/* + * Geo Engine API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct UserRegistration { + #[serde(rename = "email")] + pub email: String, + #[serde(rename = "password")] + pub password: String, + #[serde(rename = "realName")] + pub real_name: String, +} + +impl UserRegistration { + pub fn new(email: String, password: String, real_name: String) -> UserRegistration { + UserRegistration { + email, + password, + real_name, + } + } +} + diff --git a/rust/src/models/user_session.rs b/rust/src/models/user_session.rs new file mode 100644 index 00000000..8d4d1b20 --- /dev/null +++ b/rust/src/models/user_session.rs @@ -0,0 +1,45 @@ +/* + * Geo Engine API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct UserSession { + #[serde(rename = "created")] + pub created: String, + #[serde(rename = "id")] + pub id: uuid::Uuid, + #[serde(rename = "project", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")] + pub project: Option>, + #[serde(rename = "roles")] + pub roles: Vec, + #[serde(rename = "user")] + pub user: Box, + #[serde(rename = "validUntil")] + pub valid_until: String, + #[serde(rename = "view", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")] + pub view: Option>>, +} + +impl UserSession { + pub fn new(created: String, id: uuid::Uuid, roles: Vec, user: models::UserInfo, valid_until: String) -> UserSession { + UserSession { + created, + id, + project: None, + roles, + user: Box::new(user), + valid_until, + view: None, + } + } +} + diff --git a/rust/src/models/vec_update.rs b/rust/src/models/vec_update.rs new file mode 100644 index 00000000..65681cea --- /dev/null +++ b/rust/src/models/vec_update.rs @@ -0,0 +1,26 @@ +/* + * Geo Engine API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)] +#[serde(untagged)] +pub enum VecUpdate { + ProjectUpdateToken(models::ProjectUpdateToken), + Plot(Box), +} + +impl Default for VecUpdate { + fn default() -> Self { + Self::ProjectUpdateToken(Default::default()) + } +} + diff --git a/rust/src/models/vector_column_info.rs b/rust/src/models/vector_column_info.rs new file mode 100644 index 00000000..b4976185 --- /dev/null +++ b/rust/src/models/vector_column_info.rs @@ -0,0 +1,30 @@ +/* + * Geo Engine API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct VectorColumnInfo { + #[serde(rename = "dataType")] + pub data_type: models::FeatureDataType, + #[serde(rename = "measurement")] + pub measurement: Box, +} + +impl VectorColumnInfo { + pub fn new(data_type: models::FeatureDataType, measurement: models::Measurement) -> VectorColumnInfo { + VectorColumnInfo { + data_type, + measurement: Box::new(measurement), + } + } +} + diff --git a/rust/src/models/vector_data_type.rs b/rust/src/models/vector_data_type.rs new file mode 100644 index 00000000..846c6278 --- /dev/null +++ b/rust/src/models/vector_data_type.rs @@ -0,0 +1,45 @@ +/* + * Geo Engine API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// VectorDataType : An enum that contains all possible vector data types +/// An enum that contains all possible vector data types +#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)] +pub enum VectorDataType { + #[serde(rename = "Data")] + Data, + #[serde(rename = "MultiPoint")] + MultiPoint, + #[serde(rename = "MultiLineString")] + MultiLineString, + #[serde(rename = "MultiPolygon")] + MultiPolygon, + +} + +impl std::fmt::Display for VectorDataType { + fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result { + match self { + Self::Data => write!(f, "Data"), + Self::MultiPoint => write!(f, "MultiPoint"), + Self::MultiLineString => write!(f, "MultiLineString"), + Self::MultiPolygon => write!(f, "MultiPolygon"), + } + } +} + +impl Default for VectorDataType { + fn default() -> VectorDataType { + Self::Data + } +} + diff --git a/rust/src/models/vector_operator.rs b/rust/src/models/vector_operator.rs new file mode 100644 index 00000000..355a7b48 --- /dev/null +++ b/rust/src/models/vector_operator.rs @@ -0,0 +1,30 @@ +/* + * Geo Engine API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// VectorOperator : An operator that produces vector data. +#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)] +#[serde(untagged)] +pub enum VectorOperator { + #[serde(rename="MockPointSource")] + MockPointSource(Box), + #[serde(rename="RasterVectorJoin")] + RasterVectorJoin(Box), +} + +impl Default for VectorOperator { + fn default() -> Self { + Self::MockPointSource(Default::default()) + } +} + + diff --git a/rust/src/models/vector_result_descriptor.rs b/rust/src/models/vector_result_descriptor.rs new file mode 100644 index 00000000..8508b0b2 --- /dev/null +++ b/rust/src/models/vector_result_descriptor.rs @@ -0,0 +1,39 @@ +/* + * Geo Engine API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct VectorResultDescriptor { + #[serde(rename = "bbox", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")] + pub bbox: Option>>, + #[serde(rename = "columns")] + pub columns: std::collections::HashMap, + #[serde(rename = "dataType")] + pub data_type: models::VectorDataType, + #[serde(rename = "spatialReference")] + pub spatial_reference: String, + #[serde(rename = "time", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")] + pub time: Option>>, +} + +impl VectorResultDescriptor { + pub fn new(columns: std::collections::HashMap, data_type: models::VectorDataType, spatial_reference: String) -> VectorResultDescriptor { + VectorResultDescriptor { + bbox: None, + columns, + data_type, + spatial_reference, + time: None, + } + } +} + diff --git a/rust/src/models/volume.rs b/rust/src/models/volume.rs new file mode 100644 index 00000000..236795c0 --- /dev/null +++ b/rust/src/models/volume.rs @@ -0,0 +1,30 @@ +/* + * Geo Engine API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct Volume { + #[serde(rename = "name")] + pub name: String, + #[serde(rename = "path", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")] + pub path: Option>, +} + +impl Volume { + pub fn new(name: String) -> Volume { + Volume { + name, + path: None, + } + } +} + diff --git a/rust/src/models/volume_file_layers_response.rs b/rust/src/models/volume_file_layers_response.rs new file mode 100644 index 00000000..91dfd1b7 --- /dev/null +++ b/rust/src/models/volume_file_layers_response.rs @@ -0,0 +1,27 @@ +/* + * Geo Engine API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct VolumeFileLayersResponse { + #[serde(rename = "layers")] + pub layers: Vec, +} + +impl VolumeFileLayersResponse { + pub fn new(layers: Vec) -> VolumeFileLayersResponse { + VolumeFileLayersResponse { + layers, + } + } +} + diff --git a/rust/src/models/wcs_request.rs b/rust/src/models/wcs_request.rs new file mode 100644 index 00000000..80a7eda9 --- /dev/null +++ b/rust/src/models/wcs_request.rs @@ -0,0 +1,41 @@ +/* + * Geo Engine API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// +#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)] +pub enum WcsRequest { + #[serde(rename = "GetCapabilities")] + GetCapabilities, + #[serde(rename = "DescribeCoverage")] + DescribeCoverage, + #[serde(rename = "GetCoverage")] + GetCoverage, + +} + +impl std::fmt::Display for WcsRequest { + fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result { + match self { + Self::GetCapabilities => write!(f, "GetCapabilities"), + Self::DescribeCoverage => write!(f, "DescribeCoverage"), + Self::GetCoverage => write!(f, "GetCoverage"), + } + } +} + +impl Default for WcsRequest { + fn default() -> WcsRequest { + Self::GetCapabilities + } +} + diff --git a/rust/src/models/wcs_service.rs b/rust/src/models/wcs_service.rs new file mode 100644 index 00000000..0e163577 --- /dev/null +++ b/rust/src/models/wcs_service.rs @@ -0,0 +1,35 @@ +/* + * Geo Engine API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// +#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)] +pub enum WcsService { + #[serde(rename = "WCS")] + Wcs, + +} + +impl std::fmt::Display for WcsService { + fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result { + match self { + Self::Wcs => write!(f, "WCS"), + } + } +} + +impl Default for WcsService { + fn default() -> WcsService { + Self::Wcs + } +} + diff --git a/rust/src/models/wcs_version.rs b/rust/src/models/wcs_version.rs new file mode 100644 index 00000000..57c771c6 --- /dev/null +++ b/rust/src/models/wcs_version.rs @@ -0,0 +1,38 @@ +/* + * Geo Engine API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// +#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)] +pub enum WcsVersion { + #[serde(rename = "1.1.0")] + Variant110, + #[serde(rename = "1.1.1")] + Variant111, + +} + +impl std::fmt::Display for WcsVersion { + fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result { + match self { + Self::Variant110 => write!(f, "1.1.0"), + Self::Variant111 => write!(f, "1.1.1"), + } + } +} + +impl Default for WcsVersion { + fn default() -> WcsVersion { + Self::Variant110 + } +} + diff --git a/rust/src/models/wfs_request.rs b/rust/src/models/wfs_request.rs new file mode 100644 index 00000000..7658d428 --- /dev/null +++ b/rust/src/models/wfs_request.rs @@ -0,0 +1,38 @@ +/* + * Geo Engine API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// +#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)] +pub enum WfsRequest { + #[serde(rename = "GetCapabilities")] + GetCapabilities, + #[serde(rename = "GetFeature")] + GetFeature, + +} + +impl std::fmt::Display for WfsRequest { + fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result { + match self { + Self::GetCapabilities => write!(f, "GetCapabilities"), + Self::GetFeature => write!(f, "GetFeature"), + } + } +} + +impl Default for WfsRequest { + fn default() -> WfsRequest { + Self::GetCapabilities + } +} + diff --git a/rust/src/models/wfs_service.rs b/rust/src/models/wfs_service.rs new file mode 100644 index 00000000..734fda11 --- /dev/null +++ b/rust/src/models/wfs_service.rs @@ -0,0 +1,35 @@ +/* + * Geo Engine API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// +#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)] +pub enum WfsService { + #[serde(rename = "WFS")] + Wfs, + +} + +impl std::fmt::Display for WfsService { + fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result { + match self { + Self::Wfs => write!(f, "WFS"), + } + } +} + +impl Default for WfsService { + fn default() -> WfsService { + Self::Wfs + } +} + diff --git a/rust/src/models/wfs_version.rs b/rust/src/models/wfs_version.rs new file mode 100644 index 00000000..46ba1973 --- /dev/null +++ b/rust/src/models/wfs_version.rs @@ -0,0 +1,35 @@ +/* + * Geo Engine API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// +#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)] +pub enum WfsVersion { + #[serde(rename = "2.0.0")] + Variant200, + +} + +impl std::fmt::Display for WfsVersion { + fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result { + match self { + Self::Variant200 => write!(f, "2.0.0"), + } + } +} + +impl Default for WfsVersion { + fn default() -> WfsVersion { + Self::Variant200 + } +} + diff --git a/rust/src/models/wildlive_data_connector_definition.rs b/rust/src/models/wildlive_data_connector_definition.rs new file mode 100644 index 00000000..818854cc --- /dev/null +++ b/rust/src/models/wildlive_data_connector_definition.rs @@ -0,0 +1,61 @@ +/* + * Geo Engine API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct WildliveDataConnectorDefinition { + #[serde(rename = "description")] + pub description: String, + #[serde(rename = "expiryDate", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")] + pub expiry_date: Option>, + #[serde(rename = "id")] + pub id: uuid::Uuid, + #[serde(rename = "name")] + pub name: String, + #[serde(rename = "priority", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")] + pub priority: Option>, + /// A wrapper type that serializes to \"*****\" and can be deserialized from any string. If the inner value is \"*****\", it is considered unknown and `as_option` returns `None`. This is useful for secrets that should not be exposed in API responses, but can be set in API requests. + #[serde(rename = "refreshToken", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")] + pub refresh_token: Option>, + #[serde(rename = "type")] + pub r#type: Type, + #[serde(rename = "user", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")] + pub user: Option>, +} + +impl WildliveDataConnectorDefinition { + pub fn new(description: String, id: uuid::Uuid, name: String, r#type: Type) -> WildliveDataConnectorDefinition { + WildliveDataConnectorDefinition { + description, + expiry_date: None, + id, + name, + priority: None, + refresh_token: None, + r#type, + user: None, + } + } +} +/// +#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)] +pub enum Type { + #[serde(rename = "WildLIVE!")] + WildLiveExclamation, +} + +impl Default for Type { + fn default() -> Type { + Self::WildLiveExclamation + } +} + diff --git a/rust/src/models/wms_request.rs b/rust/src/models/wms_request.rs new file mode 100644 index 00000000..3811eeb5 --- /dev/null +++ b/rust/src/models/wms_request.rs @@ -0,0 +1,47 @@ +/* + * Geo Engine API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// +#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)] +pub enum WmsRequest { + #[serde(rename = "GetCapabilities")] + GetCapabilities, + #[serde(rename = "GetMap")] + GetMap, + #[serde(rename = "GetFeatureInfo")] + GetFeatureInfo, + #[serde(rename = "GetStyles")] + GetStyles, + #[serde(rename = "GetLegendGraphic")] + GetLegendGraphic, + +} + +impl std::fmt::Display for WmsRequest { + fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result { + match self { + Self::GetCapabilities => write!(f, "GetCapabilities"), + Self::GetMap => write!(f, "GetMap"), + Self::GetFeatureInfo => write!(f, "GetFeatureInfo"), + Self::GetStyles => write!(f, "GetStyles"), + Self::GetLegendGraphic => write!(f, "GetLegendGraphic"), + } + } +} + +impl Default for WmsRequest { + fn default() -> WmsRequest { + Self::GetCapabilities + } +} + diff --git a/rust/src/models/wms_response_format.rs b/rust/src/models/wms_response_format.rs new file mode 100644 index 00000000..de1be9dd --- /dev/null +++ b/rust/src/models/wms_response_format.rs @@ -0,0 +1,38 @@ +/* + * Geo Engine API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// +#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)] +pub enum WmsResponseFormat { + #[serde(rename = "text/xml")] + TextSlashXml, + #[serde(rename = "image/png")] + ImageSlashPng, + +} + +impl std::fmt::Display for WmsResponseFormat { + fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result { + match self { + Self::TextSlashXml => write!(f, "text/xml"), + Self::ImageSlashPng => write!(f, "image/png"), + } + } +} + +impl Default for WmsResponseFormat { + fn default() -> WmsResponseFormat { + Self::TextSlashXml + } +} + diff --git a/rust/src/models/wms_service.rs b/rust/src/models/wms_service.rs new file mode 100644 index 00000000..41d1693f --- /dev/null +++ b/rust/src/models/wms_service.rs @@ -0,0 +1,35 @@ +/* + * Geo Engine API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// +#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)] +pub enum WmsService { + #[serde(rename = "WMS")] + Wms, + +} + +impl std::fmt::Display for WmsService { + fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result { + match self { + Self::Wms => write!(f, "WMS"), + } + } +} + +impl Default for WmsService { + fn default() -> WmsService { + Self::Wms + } +} + diff --git a/rust/src/models/wms_version.rs b/rust/src/models/wms_version.rs new file mode 100644 index 00000000..7ba0626a --- /dev/null +++ b/rust/src/models/wms_version.rs @@ -0,0 +1,35 @@ +/* + * Geo Engine API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// +#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)] +pub enum WmsVersion { + #[serde(rename = "1.3.0")] + Variant130, + +} + +impl std::fmt::Display for WmsVersion { + fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result { + match self { + Self::Variant130 => write!(f, "1.3.0"), + } + } +} + +impl Default for WmsVersion { + fn default() -> WmsVersion { + Self::Variant130 + } +} + diff --git a/rust/src/models/workflow.rs b/rust/src/models/workflow.rs new file mode 100644 index 00000000..9cdac614 --- /dev/null +++ b/rust/src/models/workflow.rs @@ -0,0 +1,42 @@ +/* + * Geo Engine API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)] +#[serde(untagged)] +pub enum Workflow { + TypedOperator(Box), + LegacyTypedOperator(Box), +} + +impl Default for Workflow { + fn default() -> Self { + Self::TypedOperator(Default::default()) + } +} +/// +#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)] +pub enum Type { + #[serde(rename = "Plot")] + Plot, + #[serde(rename = "Vector")] + Vector, + #[serde(rename = "Raster")] + Raster, +} + +impl Default for Type { + fn default() -> Type { + Self::Plot + } +} + diff --git a/rust/src/models/wrapped_plot_output.rs b/rust/src/models/wrapped_plot_output.rs new file mode 100644 index 00000000..5b9f85fd --- /dev/null +++ b/rust/src/models/wrapped_plot_output.rs @@ -0,0 +1,33 @@ +/* + * Geo Engine API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct WrappedPlotOutput { + #[serde(rename = "data")] + pub data: serde_json::Value, + #[serde(rename = "outputFormat")] + pub output_format: models::PlotOutputFormat, + #[serde(rename = "plotType")] + pub plot_type: String, +} + +impl WrappedPlotOutput { + pub fn new(data: serde_json::Value, output_format: models::PlotOutputFormat, plot_type: String) -> WrappedPlotOutput { + WrappedPlotOutput { + data, + output_format, + plot_type, + } + } +} + diff --git a/typescript/README.md b/typescript/README.md index ebbd2396..f308a1d6 100644 --- a/typescript/README.md +++ b/typescript/README.md @@ -1,4 +1,4 @@ -# @geoengine/openapi-client@0.0.32 +# @geoengine/openapi-client@0.0.33 A TypeScript SDK client for the geoengine.io API. @@ -153,7 +153,6 @@ All URIs are relative to *https://geoengine.io/api* ### Models - [AddDataset](docs/AddDataset.md) -- [AddDatasetTile](docs/AddDatasetTile.md) - [AddLayer](docs/AddLayer.md) - [AddLayerCollection](docs/AddLayerCollection.md) - [AddRole](docs/AddRole.md) @@ -169,6 +168,7 @@ All URIs are relative to *https://geoengine.io/api* - [CollectionType](docs/CollectionType.md) - [ColorParam](docs/ColorParam.md) - [Colorizer](docs/Colorizer.md) +- [ColumnNames](docs/ColumnNames.md) - [ComputationQuota](docs/ComputationQuota.md) - [ContinuousMeasurement](docs/ContinuousMeasurement.md) - [Coordinate2D](docs/Coordinate2D.md) @@ -191,13 +191,17 @@ All URIs are relative to *https://geoengine.io/api* - [DatasetListing](docs/DatasetListing.md) - [DatasetNameResponse](docs/DatasetNameResponse.md) - [DatasetResource](docs/DatasetResource.md) +- [Default](docs/Default.md) - [DerivedColor](docs/DerivedColor.md) - [DerivedNumber](docs/DerivedNumber.md) - [EbvPortalDataProviderDefinition](docs/EbvPortalDataProviderDefinition.md) - [EdrDataProviderDefinition](docs/EdrDataProviderDefinition.md) - [EdrVectorSpec](docs/EdrVectorSpec.md) - [ErrorResponse](docs/ErrorResponse.md) +- [Expression](docs/Expression.md) +- [ExpressionParameters](docs/ExpressionParameters.md) - [ExternalDataId](docs/ExternalDataId.md) +- [FeatureAggregationMethod](docs/FeatureAggregationMethod.md) - [FeatureDataType](docs/FeatureDataType.md) - [FileNotFoundHandling](docs/FileNotFoundHandling.md) - [FormatSpecifics](docs/FormatSpecifics.md) @@ -211,6 +215,8 @@ All URIs are relative to *https://geoengine.io/api* - [GdalMetadataMapping](docs/GdalMetadataMapping.md) - [GdalMetadataNetCdfCf](docs/GdalMetadataNetCdfCf.md) - [GdalMultiBand](docs/GdalMultiBand.md) +- [GdalSource](docs/GdalSource.md) +- [GdalSourceParameters](docs/GdalSourceParameters.md) - [GdalSourceTimePlaceholder](docs/GdalSourceTimePlaceholder.md) - [GeoJson](docs/GeoJson.md) - [GeoTransform](docs/GeoTransform.md) @@ -220,6 +226,15 @@ All URIs are relative to *https://geoengine.io/api* - [GfbioCollectionsDataProviderDefinition](docs/GfbioCollectionsDataProviderDefinition.md) - [GridBoundingBox2D](docs/GridBoundingBox2D.md) - [GridIdx2D](docs/GridIdx2D.md) +- [Histogram](docs/Histogram.md) +- [HistogramBounds](docs/HistogramBounds.md) +- [HistogramBoundsOneOf](docs/HistogramBoundsOneOf.md) +- [HistogramBoundsOneOf1](docs/HistogramBoundsOneOf1.md) +- [HistogramBoundsOneOf1Values](docs/HistogramBoundsOneOf1Values.md) +- [HistogramBuckets](docs/HistogramBuckets.md) +- [HistogramBucketsOneOf](docs/HistogramBucketsOneOf.md) +- [HistogramBucketsOneOf1](docs/HistogramBucketsOneOf1.md) +- [HistogramParameters](docs/HistogramParameters.md) - [IdResponse](docs/IdResponse.md) - [InternalDataId](docs/InternalDataId.md) - [Layer](docs/Layer.md) @@ -230,6 +245,8 @@ All URIs are relative to *https://geoengine.io/api* - [LayerProviderListing](docs/LayerProviderListing.md) - [LayerResource](docs/LayerResource.md) - [LayerVisibility](docs/LayerVisibility.md) +- [LegacyTypedOperator](docs/LegacyTypedOperator.md) +- [LegacyTypedOperatorOperator](docs/LegacyTypedOperatorOperator.md) - [LineSymbology](docs/LineSymbology.md) - [LinearGradient](docs/LinearGradient.md) - [LogarithmicGradient](docs/LogarithmicGradient.md) @@ -247,10 +264,15 @@ All URIs are relative to *https://geoengine.io/api* - [MlTensorShape3D](docs/MlTensorShape3D.md) - [MockDatasetDataSourceLoadingInfo](docs/MockDatasetDataSourceLoadingInfo.md) - [MockMetaData](docs/MockMetaData.md) +- [MockPointSource](docs/MockPointSource.md) +- [MockPointSourceParameters](docs/MockPointSourceParameters.md) - [MultiBandRasterColorizer](docs/MultiBandRasterColorizer.md) - [MultiLineString](docs/MultiLineString.md) - [MultiPoint](docs/MultiPoint.md) - [MultiPolygon](docs/MultiPolygon.md) +- [MultipleRasterOrSingleVectorOperator](docs/MultipleRasterOrSingleVectorOperator.md) +- [MultipleRasterOrSingleVectorSource](docs/MultipleRasterOrSingleVectorSource.md) +- [Names](docs/Names.md) - [NetCdfCfDataProviderDefinition](docs/NetCdfCfDataProviderDefinition.md) - [NumberParam](docs/NumberParam.md) - [OgrMetaData](docs/OgrMetaData.md) @@ -275,10 +297,10 @@ All URIs are relative to *https://geoengine.io/api* - [PaletteColorizer](docs/PaletteColorizer.md) - [PangaeaDataProviderDefinition](docs/PangaeaDataProviderDefinition.md) - [Permission](docs/Permission.md) -- [PermissionListOptions](docs/PermissionListOptions.md) - [PermissionListing](docs/PermissionListing.md) - [PermissionRequest](docs/PermissionRequest.md) - [Plot](docs/Plot.md) +- [PlotOperator](docs/PlotOperator.md) - [PlotOutputFormat](docs/PlotOutputFormat.md) - [PlotResultDescriptor](docs/PlotResultDescriptor.md) - [PointSymbology](docs/PointSymbology.md) @@ -291,7 +313,6 @@ All URIs are relative to *https://geoengine.io/api* - [ProjectVersion](docs/ProjectVersion.md) - [Provenance](docs/Provenance.md) - [ProvenanceEntry](docs/ProvenanceEntry.md) -- [ProvenanceOutput](docs/ProvenanceOutput.md) - [Provenances](docs/Provenances.md) - [ProviderCapabilities](docs/ProviderCapabilities.md) - [ProviderLayerCollectionId](docs/ProviderLayerCollectionId.md) @@ -301,13 +322,15 @@ All URIs are relative to *https://geoengine.io/api* - [RasterColorizer](docs/RasterColorizer.md) - [RasterDataType](docs/RasterDataType.md) - [RasterDatasetFromWorkflow](docs/RasterDatasetFromWorkflow.md) -- [RasterDatasetFromWorkflowResult](docs/RasterDatasetFromWorkflowResult.md) +- [RasterOperator](docs/RasterOperator.md) - [RasterPropertiesEntryType](docs/RasterPropertiesEntryType.md) - [RasterPropertiesKey](docs/RasterPropertiesKey.md) - [RasterResultDescriptor](docs/RasterResultDescriptor.md) - [RasterStreamWebsocketResultType](docs/RasterStreamWebsocketResultType.md) - [RasterSymbology](docs/RasterSymbology.md) - [RasterToDatasetQueryRectangle](docs/RasterToDatasetQueryRectangle.md) +- [RasterVectorJoin](docs/RasterVectorJoin.md) +- [RasterVectorJoinParameters](docs/RasterVectorJoinParameters.md) - [RegularTimeDimension](docs/RegularTimeDimension.md) - [Resource](docs/Resource.md) - [Role](docs/Role.md) @@ -319,23 +342,30 @@ All URIs are relative to *https://geoengine.io/api* - [SentinelS2L2ACogsProviderDefinition](docs/SentinelS2L2ACogsProviderDefinition.md) - [ServerInfo](docs/ServerInfo.md) - [SingleBandRasterColorizer](docs/SingleBandRasterColorizer.md) +- [SingleRasterOrVectorOperator](docs/SingleRasterOrVectorOperator.md) +- [SingleRasterOrVectorSource](docs/SingleRasterOrVectorSource.md) +- [SingleRasterSource](docs/SingleRasterSource.md) +- [SingleVectorMultipleRasterSources](docs/SingleVectorMultipleRasterSources.md) +- [SpatialBoundsDerive](docs/SpatialBoundsDerive.md) +- [SpatialBoundsDeriveBounds](docs/SpatialBoundsDeriveBounds.md) +- [SpatialBoundsDeriveDerive](docs/SpatialBoundsDeriveDerive.md) +- [SpatialBoundsDeriveNone](docs/SpatialBoundsDeriveNone.md) - [SpatialGridDefinition](docs/SpatialGridDefinition.md) - [SpatialGridDescriptor](docs/SpatialGridDescriptor.md) - [SpatialGridDescriptorState](docs/SpatialGridDescriptorState.md) - [SpatialPartition2D](docs/SpatialPartition2D.md) -- [SpatialReferenceAuthority](docs/SpatialReferenceAuthority.md) - [SpatialReferenceSpecification](docs/SpatialReferenceSpecification.md) -- [SpatialResolution](docs/SpatialResolution.md) - [StacApiRetries](docs/StacApiRetries.md) - [StacQueryBuffer](docs/StacQueryBuffer.md) - [StaticColor](docs/StaticColor.md) - [StaticNumber](docs/StaticNumber.md) +- [Statistics](docs/Statistics.md) +- [StatisticsParameters](docs/StatisticsParameters.md) - [StrokeParam](docs/StrokeParam.md) +- [Suffix](docs/Suffix.md) - [SuggestMetaData](docs/SuggestMetaData.md) - [Symbology](docs/Symbology.md) -- [TaskAbortOptions](docs/TaskAbortOptions.md) - [TaskFilter](docs/TaskFilter.md) -- [TaskListOptions](docs/TaskListOptions.md) - [TaskResponse](docs/TaskResponse.md) - [TaskStatus](docs/TaskStatus.md) - [TaskStatusAborted](docs/TaskStatusAborted.md) @@ -343,6 +373,7 @@ All URIs are relative to *https://geoengine.io/api* - [TaskStatusFailed](docs/TaskStatusFailed.md) - [TaskStatusRunning](docs/TaskStatusRunning.md) - [TaskStatusWithId](docs/TaskStatusWithId.md) +- [TemporalAggregationMethod](docs/TemporalAggregationMethod.md) - [TextSymbology](docs/TextSymbology.md) - [TimeDescriptor](docs/TimeDescriptor.md) - [TimeDimension](docs/TimeDimension.md) @@ -359,10 +390,12 @@ All URIs are relative to *https://geoengine.io/api* - [TypedGeometryOneOf2](docs/TypedGeometryOneOf2.md) - [TypedGeometryOneOf3](docs/TypedGeometryOneOf3.md) - [TypedOperator](docs/TypedOperator.md) -- [TypedOperatorOperator](docs/TypedOperatorOperator.md) +- [TypedPlotOperator](docs/TypedPlotOperator.md) - [TypedPlotResultDescriptor](docs/TypedPlotResultDescriptor.md) +- [TypedRasterOperator](docs/TypedRasterOperator.md) - [TypedRasterResultDescriptor](docs/TypedRasterResultDescriptor.md) - [TypedResultDescriptor](docs/TypedResultDescriptor.md) +- [TypedVectorOperator](docs/TypedVectorOperator.md) - [TypedVectorResultDescriptor](docs/TypedVectorResultDescriptor.md) - [UnitlessMeasurement](docs/UnitlessMeasurement.md) - [UnixTimeStampType](docs/UnixTimeStampType.md) @@ -381,10 +414,10 @@ All URIs are relative to *https://geoengine.io/api* - [VecUpdate](docs/VecUpdate.md) - [VectorColumnInfo](docs/VectorColumnInfo.md) - [VectorDataType](docs/VectorDataType.md) +- [VectorOperator](docs/VectorOperator.md) - [VectorResultDescriptor](docs/VectorResultDescriptor.md) - [Volume](docs/Volume.md) - [VolumeFileLayersResponse](docs/VolumeFileLayersResponse.md) -- [WcsBoundingbox](docs/WcsBoundingbox.md) - [WcsRequest](docs/WcsRequest.md) - [WcsService](docs/WcsService.md) - [WcsVersion](docs/WcsVersion.md) @@ -416,7 +449,7 @@ and is automatically generated by the [OpenAPI Generator](https://openapi-generator.tech) project: - API version: `0.9.0` -- Package version: `0.0.32` +- Package version: `0.0.33` - Generator version: `7.20.0` - Build package: `org.openapitools.codegen.languages.TypeScriptFetchClientCodegen` diff --git a/typescript/diffs/typescript/src/models/RasterOperator.ts.diff b/typescript/diffs/typescript/src/models/RasterOperator.ts.diff new file mode 100644 index 00000000..2bb8b969 --- /dev/null +++ b/typescript/diffs/typescript/src/models/RasterOperator.ts.diff @@ -0,0 +1,14 @@ +--- typescript/src/models/RasterOperator.ts ++++ typescript/src/models/RasterOperator.ts +@@ -70,3 +70,11 @@ + } + } + ++ ++/** ++* Check if a given object implements the RasterOperator interface. ++*/ ++export function instanceOfRasterOperator(value: object): value is RasterOperator { ++ return instanceOfExpression(value) ++ || instanceOfGdalSource(value); ++} diff --git a/typescript/diffs/typescript/src/models/TaskStatusWithId.ts.diff b/typescript/diffs/typescript/src/models/TaskStatusWithId.ts.diff new file mode 100644 index 00000000..21ce87e4 --- /dev/null +++ b/typescript/diffs/typescript/src/models/TaskStatusWithId.ts.diff @@ -0,0 +1,13 @@ +--- typescript/src/models/TaskStatusWithId.ts ++++ typescript/src/models/TaskStatusWithId.ts +@@ -26,7 +26,7 @@ + * @export + * @interface TaskStatusWithId + */ +-export interface TaskStatusWithId extends TaskStatus { ++export type TaskStatusWithId = { taskId: string } & TaskStatus; + +export interface _TaskStatusWithId /* extends TaskStatus */ { + /** + * + * @type {string} diff --git a/typescript/diffs/typescript/src/models/TypedOperator.ts.diff b/typescript/diffs/typescript/src/models/TypedOperator.ts.diff new file mode 100644 index 00000000..3f10edf2 --- /dev/null +++ b/typescript/diffs/typescript/src/models/TypedOperator.ts.diff @@ -0,0 +1,15 @@ +--- typescript/src/models/TypedOperator.ts ++++ typescript/src/models/TypedOperator.ts +@@ -88,3 +88,12 @@ + return {}; + } + ++ ++/** ++* Check if a given object implements the TypedOperator interface. ++*/ ++export function instanceOfTypedOperator(value: object): value is TypedOperator { ++ return instanceOfTypedPlotOperator(value) ++ || instanceOfTypedRasterOperator(value) ++ || instanceOfTypedVectorOperator(value); ++} diff --git a/typescript/diffs/typescript/src/models/VecUpdate.ts.diff b/typescript/diffs/typescript/src/models/VecUpdate.ts.diff new file mode 100644 index 00000000..1ea76405 --- /dev/null +++ b/typescript/diffs/typescript/src/models/VecUpdate.ts.diff @@ -0,0 +1,11 @@ +--- typescript/src/models/VecUpdate.ts ++++ typescript/src/models/VecUpdate.ts +@@ -65,7 +65,7 @@ + if (typeof value !== 'object') { + return value; + } +- if (instanceOfPlot(value)) { ++ if (typeof value === 'object' && instanceOfPlot(value)) { + return PlotToJSON(value as Plot); + } + if (instanceOfProjectUpdateToken(value)) { diff --git a/typescript/diffs/typescript/src/models/VectorOperator.ts.diff b/typescript/diffs/typescript/src/models/VectorOperator.ts.diff new file mode 100644 index 00000000..374312b7 --- /dev/null +++ b/typescript/diffs/typescript/src/models/VectorOperator.ts.diff @@ -0,0 +1,14 @@ +--- typescript/src/models/VectorOperator.ts ++++ typescript/src/models/VectorOperator.ts +@@ -70,3 +70,11 @@ + } + } + ++ ++/** ++* Check if a given object implements the VectorOperator interface. ++*/ ++export function instanceOfVectorOperator(value: object): value is VectorOperator { ++ return instanceOfMockPointSource(value) ++ || instanceOfRasterVectorJoin(value); ++} diff --git a/typescript/diffs/typescript/src/runtime.ts.diff b/typescript/diffs/typescript/src/runtime.ts.diff new file mode 100644 index 00000000..55e503ab --- /dev/null +++ b/typescript/diffs/typescript/src/runtime.ts.diff @@ -0,0 +1,15 @@ +--- typescript/src/runtime.ts ++++ typescript/src/runtime.ts +@@ -84,7 +84,7 @@ + } + } + +-export const DefaultConfig = new Configuration(); ++export const DefaultConfig = new Configuration({ + headers: { + 'User-Agent': 'geoengine/openapi-client/typescript/0.0.33' + } +}); + + /** + * This is the base class for all generated API classes. diff --git a/typescript/dist/esm/models/AddDatasetTile.d.ts b/typescript/dist/esm/models/AddDatasetTile.d.ts deleted file mode 100644 index 45b4ba6a..00000000 --- a/typescript/dist/esm/models/AddDatasetTile.d.ts +++ /dev/null @@ -1,59 +0,0 @@ -/** - * Geo Engine API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 0.9.0 - * Contact: dev@geoengine.de - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ -import type { TimeInterval } from './TimeInterval'; -import type { GdalDatasetParameters } from './GdalDatasetParameters'; -import type { SpatialPartition2D } from './SpatialPartition2D'; -/** - * - * @export - * @interface AddDatasetTile - */ -export interface AddDatasetTile { - /** - * - * @type {number} - * @memberof AddDatasetTile - */ - band: number; - /** - * - * @type {GdalDatasetParameters} - * @memberof AddDatasetTile - */ - params: GdalDatasetParameters; - /** - * - * @type {SpatialPartition2D} - * @memberof AddDatasetTile - */ - spatialPartition: SpatialPartition2D; - /** - * - * @type {TimeInterval} - * @memberof AddDatasetTile - */ - time: TimeInterval; - /** - * - * @type {number} - * @memberof AddDatasetTile - */ - zIndex: number; -} -/** - * Check if a given object implements the AddDatasetTile interface. - */ -export declare function instanceOfAddDatasetTile(value: object): value is AddDatasetTile; -export declare function AddDatasetTileFromJSON(json: any): AddDatasetTile; -export declare function AddDatasetTileFromJSONTyped(json: any, ignoreDiscriminator: boolean): AddDatasetTile; -export declare function AddDatasetTileToJSON(json: any): AddDatasetTile; -export declare function AddDatasetTileToJSONTyped(value?: AddDatasetTile | null, ignoreDiscriminator?: boolean): any; diff --git a/typescript/dist/esm/models/AddDatasetTile.js b/typescript/dist/esm/models/AddDatasetTile.js deleted file mode 100644 index dda4b98d..00000000 --- a/typescript/dist/esm/models/AddDatasetTile.js +++ /dev/null @@ -1,62 +0,0 @@ -/* tslint:disable */ -/* eslint-disable */ -/** - * Geo Engine API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 0.9.0 - * Contact: dev@geoengine.de - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ -import { TimeIntervalFromJSON, TimeIntervalToJSON, } from './TimeInterval'; -import { GdalDatasetParametersFromJSON, GdalDatasetParametersToJSON, } from './GdalDatasetParameters'; -import { SpatialPartition2DFromJSON, SpatialPartition2DToJSON, } from './SpatialPartition2D'; -/** - * Check if a given object implements the AddDatasetTile interface. - */ -export function instanceOfAddDatasetTile(value) { - if (!('band' in value) || value['band'] === undefined) - return false; - if (!('params' in value) || value['params'] === undefined) - return false; - if (!('spatialPartition' in value) || value['spatialPartition'] === undefined) - return false; - if (!('time' in value) || value['time'] === undefined) - return false; - if (!('zIndex' in value) || value['zIndex'] === undefined) - return false; - return true; -} -export function AddDatasetTileFromJSON(json) { - return AddDatasetTileFromJSONTyped(json, false); -} -export function AddDatasetTileFromJSONTyped(json, ignoreDiscriminator) { - if (json == null) { - return json; - } - return { - 'band': json['band'], - 'params': GdalDatasetParametersFromJSON(json['params']), - 'spatialPartition': SpatialPartition2DFromJSON(json['spatial_partition']), - 'time': TimeIntervalFromJSON(json['time']), - 'zIndex': json['z_index'], - }; -} -export function AddDatasetTileToJSON(json) { - return AddDatasetTileToJSONTyped(json, false); -} -export function AddDatasetTileToJSONTyped(value, ignoreDiscriminator = false) { - if (value == null) { - return value; - } - return { - 'band': value['band'], - 'params': GdalDatasetParametersToJSON(value['params']), - 'spatial_partition': SpatialPartition2DToJSON(value['spatialPartition']), - 'time': TimeIntervalToJSON(value['time']), - 'z_index': value['zIndex'], - }; -} diff --git a/typescript/dist/esm/models/ColumnNames.d.ts b/typescript/dist/esm/models/ColumnNames.d.ts new file mode 100644 index 00000000..0f008003 --- /dev/null +++ b/typescript/dist/esm/models/ColumnNames.d.ts @@ -0,0 +1,24 @@ +/** + * Geo Engine API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ +import type { Default } from './Default'; +import type { Names } from './Names'; +import type { Suffix } from './Suffix'; +/** + * @type ColumnNames + * + * @export + */ +export type ColumnNames = Default | Names | Suffix; +export declare function ColumnNamesFromJSON(json: any): ColumnNames; +export declare function ColumnNamesFromJSONTyped(json: any, ignoreDiscriminator: boolean): ColumnNames; +export declare function ColumnNamesToJSON(json: any): any; +export declare function ColumnNamesToJSONTyped(value?: ColumnNames | null, ignoreDiscriminator?: boolean): any; diff --git a/typescript/dist/esm/models/ColumnNames.js b/typescript/dist/esm/models/ColumnNames.js new file mode 100644 index 00000000..fa1cb2b2 --- /dev/null +++ b/typescript/dist/esm/models/ColumnNames.js @@ -0,0 +1,58 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Geo Engine API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ +import { instanceOfDefault, DefaultFromJSONTyped, DefaultToJSON, } from './Default'; +import { instanceOfNames, NamesFromJSONTyped, NamesToJSON, } from './Names'; +import { instanceOfSuffix, SuffixFromJSONTyped, SuffixToJSON, } from './Suffix'; +export function ColumnNamesFromJSON(json) { + return ColumnNamesFromJSONTyped(json, false); +} +export function ColumnNamesFromJSONTyped(json, ignoreDiscriminator) { + if (json == null) { + return json; + } + if (typeof json !== 'object') { + return json; + } + if (instanceOfDefault(json)) { + return DefaultFromJSONTyped(json, true); + } + if (instanceOfNames(json)) { + return NamesFromJSONTyped(json, true); + } + if (instanceOfSuffix(json)) { + return SuffixFromJSONTyped(json, true); + } + return {}; +} +export function ColumnNamesToJSON(json) { + return ColumnNamesToJSONTyped(json, false); +} +export function ColumnNamesToJSONTyped(value, ignoreDiscriminator = false) { + if (value == null) { + return value; + } + if (typeof value !== 'object') { + return value; + } + if (instanceOfDefault(value)) { + return DefaultToJSON(value); + } + if (instanceOfNames(value)) { + return NamesToJSON(value); + } + if (instanceOfSuffix(value)) { + return SuffixToJSON(value); + } + return {}; +} diff --git a/typescript/dist/esm/models/Default.d.ts b/typescript/dist/esm/models/Default.d.ts new file mode 100644 index 00000000..6eeb5743 --- /dev/null +++ b/typescript/dist/esm/models/Default.d.ts @@ -0,0 +1,39 @@ +/** + * Geo Engine API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ +/** + * + * @export + * @interface Default + */ +export interface Default { + /** + * + * @type {DefaultTypeEnum} + * @memberof Default + */ + type: DefaultTypeEnum; +} +/** + * @export + */ +export declare const DefaultTypeEnum: { + readonly Default: "default"; +}; +export type DefaultTypeEnum = typeof DefaultTypeEnum[keyof typeof DefaultTypeEnum]; +/** + * Check if a given object implements the Default interface. + */ +export declare function instanceOfDefault(value: object): value is Default; +export declare function DefaultFromJSON(json: any): Default; +export declare function DefaultFromJSONTyped(json: any, ignoreDiscriminator: boolean): Default; +export declare function DefaultToJSON(json: any): Default; +export declare function DefaultToJSONTyped(value?: Default | null, ignoreDiscriminator?: boolean): any; diff --git a/typescript/dist/esm/models/Default.js b/typescript/dist/esm/models/Default.js new file mode 100644 index 00000000..54d59be9 --- /dev/null +++ b/typescript/dist/esm/models/Default.js @@ -0,0 +1,49 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Geo Engine API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ +/** + * @export + */ +export const DefaultTypeEnum = { + Default: 'default' +}; +/** + * Check if a given object implements the Default interface. + */ +export function instanceOfDefault(value) { + if (!('type' in value) || value['type'] === undefined) + return false; + return true; +} +export function DefaultFromJSON(json) { + return DefaultFromJSONTyped(json, false); +} +export function DefaultFromJSONTyped(json, ignoreDiscriminator) { + if (json == null) { + return json; + } + return { + 'type': json['type'], + }; +} +export function DefaultToJSON(json) { + return DefaultToJSONTyped(json, false); +} +export function DefaultToJSONTyped(value, ignoreDiscriminator = false) { + if (value == null) { + return value; + } + return { + 'type': value['type'], + }; +} diff --git a/typescript/dist/esm/models/Expression.d.ts b/typescript/dist/esm/models/Expression.d.ts new file mode 100644 index 00000000..db22967b --- /dev/null +++ b/typescript/dist/esm/models/Expression.d.ts @@ -0,0 +1,127 @@ +/** + * Geo Engine API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ +import type { SingleRasterSource } from './SingleRasterSource'; +import type { ExpressionParameters } from './ExpressionParameters'; +/** + * The `Expression` operator performs a pixel-wise mathematical expression on one or more bands of a raster source. + * The expression is specified as a user-defined script in a very simple language. + * The output is a raster time series with the result of the expression and with time intervals that are the same as for the inputs. + * Users can specify an output data type. + * Internally, the expression is evaluated using floating-point numbers. + * + * An example usage scenario is to calculate NDVI for a red and a near-infrared raster channel. + * The expression uses a raster source with two bands, referred to as A and B, and calculates the formula `(A - B) / (A + B)`. + * When the temporal resolution is months, our output NDVI will also be a monthly time series. + * + * ## Types + * + * The following describes the types used in the parameters. + * + * ### Expression + * + * Expressions are simple scripts to perform pixel-wise computations. + * One can refer to the raster inputs as `A` for the first raster band, `B` for the second, and so on. + * Furthermore, expressions can check with `A IS NODATA`, `B IS NODATA`, etc. for NO DATA values. + * This is important if `mapNoData` is set to true. + * Otherwise, NO DATA values are mapped automatically to the output NO DATA value. + * Finally, the value `NODATA` can be used to output NO DATA. + * + * Users can think of this implicit function signature for, e.g., two inputs: + * + * ```Rust + * fn (A: f64, B: f64) -> f64 + * ``` + * + * As a start, expressions contain algebraic operations and mathematical functions. + * + * ```Rust + * (A + B) / 2 + * ``` + * + * In addition, branches can be used to check for conditions. + * + * ```Rust + * if A IS NODATA { + * B + * } else { + * A + * } + * ``` + * + * Function calls can be used to access utility functions. + * + * ```Rust + * max(A, 0) + * ``` + * + * Currently, the following functions are available: + * + * - `abs(a)`: absolute value + * - `min(a, b)`, `min(a, b, c)`: minimum value + * - `max(a, b)`, `max(a, b, c)`: maximum value + * - `sqrt(a)`: square root + * - `ln(a)`: natural logarithm + * - `log10(a)`: base 10 logarithm + * - `cos(a)`, `sin(a)`, `tan(a)`, `acos(a)`, `asin(a)`, `atan(a)`: trigonometric functions + * - `pi()`, `e()`: mathematical constants + * - `round(a)`, `ceil(a)`, `floor(a)`: rounding functions + * - `mod(a, b)`: division remainder + * - `to_degrees(a)`, `to_radians(a)`: conversion to degrees or radians + * + * To generate more complex expressions, it is possible to have variable assignments. + * + * ```Rust + * let mean = (A + B) / 2; + * let coefficient = 0.357; + * mean * coefficient + * ``` + * + * Note, that all assignments are separated by semicolons. + * However, the last expression must be without a semicolon. + * @export + * @interface Expression + */ +export interface Expression { + /** + * + * @type {ExpressionParameters} + * @memberof Expression + */ + params: ExpressionParameters; + /** + * + * @type {SingleRasterSource} + * @memberof Expression + */ + sources: SingleRasterSource; + /** + * + * @type {ExpressionTypeEnum} + * @memberof Expression + */ + type: ExpressionTypeEnum; +} +/** + * @export + */ +export declare const ExpressionTypeEnum: { + readonly Expression: "Expression"; +}; +export type ExpressionTypeEnum = typeof ExpressionTypeEnum[keyof typeof ExpressionTypeEnum]; +/** + * Check if a given object implements the Expression interface. + */ +export declare function instanceOfExpression(value: object): value is Expression; +export declare function ExpressionFromJSON(json: any): Expression; +export declare function ExpressionFromJSONTyped(json: any, ignoreDiscriminator: boolean): Expression; +export declare function ExpressionToJSON(json: any): Expression; +export declare function ExpressionToJSONTyped(value?: Expression | null, ignoreDiscriminator?: boolean): any; diff --git a/typescript/dist/esm/models/Expression.js b/typescript/dist/esm/models/Expression.js new file mode 100644 index 00000000..8cd89422 --- /dev/null +++ b/typescript/dist/esm/models/Expression.js @@ -0,0 +1,59 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Geo Engine API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ +import { SingleRasterSourceFromJSON, SingleRasterSourceToJSON, } from './SingleRasterSource'; +import { ExpressionParametersFromJSON, ExpressionParametersToJSON, } from './ExpressionParameters'; +/** + * @export + */ +export const ExpressionTypeEnum = { + Expression: 'Expression' +}; +/** + * Check if a given object implements the Expression interface. + */ +export function instanceOfExpression(value) { + if (!('params' in value) || value['params'] === undefined) + return false; + if (!('sources' in value) || value['sources'] === undefined) + return false; + if (!('type' in value) || value['type'] === undefined) + return false; + return true; +} +export function ExpressionFromJSON(json) { + return ExpressionFromJSONTyped(json, false); +} +export function ExpressionFromJSONTyped(json, ignoreDiscriminator) { + if (json == null) { + return json; + } + return { + 'params': ExpressionParametersFromJSON(json['params']), + 'sources': SingleRasterSourceFromJSON(json['sources']), + 'type': json['type'], + }; +} +export function ExpressionToJSON(json) { + return ExpressionToJSONTyped(json, false); +} +export function ExpressionToJSONTyped(value, ignoreDiscriminator = false) { + if (value == null) { + return value; + } + return { + 'params': ExpressionParametersToJSON(value['params']), + 'sources': SingleRasterSourceToJSON(value['sources']), + 'type': value['type'], + }; +} diff --git a/typescript/dist/esm/models/ExpressionParameters.d.ts b/typescript/dist/esm/models/ExpressionParameters.d.ts new file mode 100644 index 00000000..c022632f --- /dev/null +++ b/typescript/dist/esm/models/ExpressionParameters.d.ts @@ -0,0 +1,56 @@ +/** + * Geo Engine API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ +import type { RasterBandDescriptor } from './RasterBandDescriptor'; +import type { RasterDataType } from './RasterDataType'; +/** + * ## Types + * + * The following describes the types used in the parameters. + * @export + * @interface ExpressionParameters + */ +export interface ExpressionParameters { + /** + * Expression script + * + * Example: `"(A - B) / (A + B)"` + * @type {string} + * @memberof ExpressionParameters + */ + expression: string; + /** + * Should NO DATA values be mapped with the `expression`? Otherwise, they are mapped automatically to NO DATA. + * @type {boolean} + * @memberof ExpressionParameters + */ + mapNoData: boolean; + /** + * Description about the output + * @type {RasterBandDescriptor} + * @memberof ExpressionParameters + */ + outputBand?: RasterBandDescriptor; + /** + * A raster data type for the output + * @type {RasterDataType} + * @memberof ExpressionParameters + */ + outputType: RasterDataType; +} +/** + * Check if a given object implements the ExpressionParameters interface. + */ +export declare function instanceOfExpressionParameters(value: object): value is ExpressionParameters; +export declare function ExpressionParametersFromJSON(json: any): ExpressionParameters; +export declare function ExpressionParametersFromJSONTyped(json: any, ignoreDiscriminator: boolean): ExpressionParameters; +export declare function ExpressionParametersToJSON(json: any): ExpressionParameters; +export declare function ExpressionParametersToJSONTyped(value?: ExpressionParameters | null, ignoreDiscriminator?: boolean): any; diff --git a/typescript/dist/esm/models/ExpressionParameters.js b/typescript/dist/esm/models/ExpressionParameters.js new file mode 100644 index 00000000..1dbee4a2 --- /dev/null +++ b/typescript/dist/esm/models/ExpressionParameters.js @@ -0,0 +1,55 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Geo Engine API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ +import { RasterBandDescriptorFromJSON, RasterBandDescriptorToJSON, } from './RasterBandDescriptor'; +import { RasterDataTypeFromJSON, RasterDataTypeToJSON, } from './RasterDataType'; +/** + * Check if a given object implements the ExpressionParameters interface. + */ +export function instanceOfExpressionParameters(value) { + if (!('expression' in value) || value['expression'] === undefined) + return false; + if (!('mapNoData' in value) || value['mapNoData'] === undefined) + return false; + if (!('outputType' in value) || value['outputType'] === undefined) + return false; + return true; +} +export function ExpressionParametersFromJSON(json) { + return ExpressionParametersFromJSONTyped(json, false); +} +export function ExpressionParametersFromJSONTyped(json, ignoreDiscriminator) { + if (json == null) { + return json; + } + return { + 'expression': json['expression'], + 'mapNoData': json['mapNoData'], + 'outputBand': json['outputBand'] == null ? undefined : RasterBandDescriptorFromJSON(json['outputBand']), + 'outputType': RasterDataTypeFromJSON(json['outputType']), + }; +} +export function ExpressionParametersToJSON(json) { + return ExpressionParametersToJSONTyped(json, false); +} +export function ExpressionParametersToJSONTyped(value, ignoreDiscriminator = false) { + if (value == null) { + return value; + } + return { + 'expression': value['expression'], + 'mapNoData': value['mapNoData'], + 'outputBand': RasterBandDescriptorToJSON(value['outputBand']), + 'outputType': RasterDataTypeToJSON(value['outputType']), + }; +} diff --git a/typescript/dist/esm/models/FeatureAggregationMethod.d.ts b/typescript/dist/esm/models/FeatureAggregationMethod.d.ts new file mode 100644 index 00000000..1ec72fc6 --- /dev/null +++ b/typescript/dist/esm/models/FeatureAggregationMethod.d.ts @@ -0,0 +1,25 @@ +/** + * Geo Engine API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ +/** + * + * @export + */ +export declare const FeatureAggregationMethod: { + readonly First: "first"; + readonly Mean: "mean"; +}; +export type FeatureAggregationMethod = typeof FeatureAggregationMethod[keyof typeof FeatureAggregationMethod]; +export declare function instanceOfFeatureAggregationMethod(value: any): boolean; +export declare function FeatureAggregationMethodFromJSON(json: any): FeatureAggregationMethod; +export declare function FeatureAggregationMethodFromJSONTyped(json: any, ignoreDiscriminator: boolean): FeatureAggregationMethod; +export declare function FeatureAggregationMethodToJSON(value?: FeatureAggregationMethod | null): any; +export declare function FeatureAggregationMethodToJSONTyped(value: any, ignoreDiscriminator: boolean): FeatureAggregationMethod; diff --git a/typescript/dist/esm/models/FeatureAggregationMethod.js b/typescript/dist/esm/models/FeatureAggregationMethod.js new file mode 100644 index 00000000..a2fc6c1d --- /dev/null +++ b/typescript/dist/esm/models/FeatureAggregationMethod.js @@ -0,0 +1,43 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Geo Engine API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ +/** + * + * @export + */ +export const FeatureAggregationMethod = { + First: 'first', + Mean: 'mean' +}; +export function instanceOfFeatureAggregationMethod(value) { + for (const key in FeatureAggregationMethod) { + if (Object.prototype.hasOwnProperty.call(FeatureAggregationMethod, key)) { + if (FeatureAggregationMethod[key] === value) { + return true; + } + } + } + return false; +} +export function FeatureAggregationMethodFromJSON(json) { + return FeatureAggregationMethodFromJSONTyped(json, false); +} +export function FeatureAggregationMethodFromJSONTyped(json, ignoreDiscriminator) { + return json; +} +export function FeatureAggregationMethodToJSON(value) { + return value; +} +export function FeatureAggregationMethodToJSONTyped(value, ignoreDiscriminator) { + return value; +} diff --git a/typescript/dist/esm/models/GdalSource.d.ts b/typescript/dist/esm/models/GdalSource.d.ts new file mode 100644 index 00000000..d5a00557 --- /dev/null +++ b/typescript/dist/esm/models/GdalSource.d.ts @@ -0,0 +1,52 @@ +/** + * Geo Engine API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ +import type { GdalSourceParameters } from './GdalSourceParameters'; +/** + * The [`GdalSource`] is a source operator that reads raster data using GDAL. + * The counterpart for vector data is the [`OgrSource`]. + * + * ## Errors + * + * If the given dataset does not exist or is not readable, an error is thrown. + * + * @export + * @interface GdalSource + */ +export interface GdalSource { + /** + * + * @type {GdalSourceParameters} + * @memberof GdalSource + */ + params: GdalSourceParameters; + /** + * + * @type {GdalSourceTypeEnum} + * @memberof GdalSource + */ + type: GdalSourceTypeEnum; +} +/** + * @export + */ +export declare const GdalSourceTypeEnum: { + readonly GdalSource: "GdalSource"; +}; +export type GdalSourceTypeEnum = typeof GdalSourceTypeEnum[keyof typeof GdalSourceTypeEnum]; +/** + * Check if a given object implements the GdalSource interface. + */ +export declare function instanceOfGdalSource(value: object): value is GdalSource; +export declare function GdalSourceFromJSON(json: any): GdalSource; +export declare function GdalSourceFromJSONTyped(json: any, ignoreDiscriminator: boolean): GdalSource; +export declare function GdalSourceToJSON(json: any): GdalSource; +export declare function GdalSourceToJSONTyped(value?: GdalSource | null, ignoreDiscriminator?: boolean): any; diff --git a/typescript/dist/esm/models/GdalSource.js b/typescript/dist/esm/models/GdalSource.js new file mode 100644 index 00000000..ff8fb04e --- /dev/null +++ b/typescript/dist/esm/models/GdalSource.js @@ -0,0 +1,54 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Geo Engine API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ +import { GdalSourceParametersFromJSON, GdalSourceParametersToJSON, } from './GdalSourceParameters'; +/** + * @export + */ +export const GdalSourceTypeEnum = { + GdalSource: 'GdalSource' +}; +/** + * Check if a given object implements the GdalSource interface. + */ +export function instanceOfGdalSource(value) { + if (!('params' in value) || value['params'] === undefined) + return false; + if (!('type' in value) || value['type'] === undefined) + return false; + return true; +} +export function GdalSourceFromJSON(json) { + return GdalSourceFromJSONTyped(json, false); +} +export function GdalSourceFromJSONTyped(json, ignoreDiscriminator) { + if (json == null) { + return json; + } + return { + 'params': GdalSourceParametersFromJSON(json['params']), + 'type': json['type'], + }; +} +export function GdalSourceToJSON(json) { + return GdalSourceToJSONTyped(json, false); +} +export function GdalSourceToJSONTyped(value, ignoreDiscriminator = false) { + if (value == null) { + return value; + } + return { + 'params': GdalSourceParametersToJSON(value['params']), + 'type': value['type'], + }; +} diff --git a/typescript/dist/esm/models/GdalSourceParameters.d.ts b/typescript/dist/esm/models/GdalSourceParameters.d.ts new file mode 100644 index 00000000..32d71c9b --- /dev/null +++ b/typescript/dist/esm/models/GdalSourceParameters.d.ts @@ -0,0 +1,40 @@ +/** + * Geo Engine API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ +/** + * Parameters for the [`GdalSource`] operator. + * @export + * @interface GdalSourceParameters + */ +export interface GdalSourceParameters { + /** + * Dataset name or identifier to be loaded. + * @type {string} + * @memberof GdalSourceParameters + */ + data: string; + /** + * *Optional*: overview level to use. + * + * If not provided, the data source will determine the resolution, i.e., uses its native resolution. + * @type {number} + * @memberof GdalSourceParameters + */ + overviewLevel?: number | null; +} +/** + * Check if a given object implements the GdalSourceParameters interface. + */ +export declare function instanceOfGdalSourceParameters(value: object): value is GdalSourceParameters; +export declare function GdalSourceParametersFromJSON(json: any): GdalSourceParameters; +export declare function GdalSourceParametersFromJSONTyped(json: any, ignoreDiscriminator: boolean): GdalSourceParameters; +export declare function GdalSourceParametersToJSON(json: any): GdalSourceParameters; +export declare function GdalSourceParametersToJSONTyped(value?: GdalSourceParameters | null, ignoreDiscriminator?: boolean): any; diff --git a/typescript/dist/esm/models/GdalSourceParameters.js b/typescript/dist/esm/models/GdalSourceParameters.js new file mode 100644 index 00000000..3122c7c3 --- /dev/null +++ b/typescript/dist/esm/models/GdalSourceParameters.js @@ -0,0 +1,45 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Geo Engine API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ +/** + * Check if a given object implements the GdalSourceParameters interface. + */ +export function instanceOfGdalSourceParameters(value) { + if (!('data' in value) || value['data'] === undefined) + return false; + return true; +} +export function GdalSourceParametersFromJSON(json) { + return GdalSourceParametersFromJSONTyped(json, false); +} +export function GdalSourceParametersFromJSONTyped(json, ignoreDiscriminator) { + if (json == null) { + return json; + } + return { + 'data': json['data'], + 'overviewLevel': json['overviewLevel'] == null ? undefined : json['overviewLevel'], + }; +} +export function GdalSourceParametersToJSON(json) { + return GdalSourceParametersToJSONTyped(json, false); +} +export function GdalSourceParametersToJSONTyped(value, ignoreDiscriminator = false) { + if (value == null) { + return value; + } + return { + 'data': value['data'], + 'overviewLevel': value['overviewLevel'], + }; +} diff --git a/typescript/dist/esm/models/Histogram.d.ts b/typescript/dist/esm/models/Histogram.d.ts new file mode 100644 index 00000000..738a5088 --- /dev/null +++ b/typescript/dist/esm/models/Histogram.d.ts @@ -0,0 +1,68 @@ +/** + * Geo Engine API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ +import type { HistogramParameters } from './HistogramParameters'; +import type { SingleRasterOrVectorSource } from './SingleRasterOrVectorSource'; +/** + * The `Histogram` is a _plot operator_ that computes a histogram plot either over attributes of a vector dataset or values of a raster source. + * The output is a plot in [Vega-Lite](https://vega.github.io/vega-lite/) specification. + * + * For instance, you want to plot the data distribution of numeric attributes of a feature collection. + * Then you can use a histogram with a suitable number of buckets to visualize and assess this. + * + * ## Errors + * + * The operator returns an error if the selected column (`columnName`) does not exist or is not numeric. + * + * ## Notes + * + * If `bounds` or `buckets` are not defined, the operator will determine these values by itself which requires processing the data twice. + * + * If the `buckets` parameter is set to `squareRootChoiceRule`, the operator estimates it using the square root of the number of elements in the data. + * + * @export + * @interface Histogram + */ +export interface Histogram { + /** + * + * @type {HistogramParameters} + * @memberof Histogram + */ + params: HistogramParameters; + /** + * + * @type {SingleRasterOrVectorSource} + * @memberof Histogram + */ + sources: SingleRasterOrVectorSource; + /** + * + * @type {HistogramTypeEnum} + * @memberof Histogram + */ + type: HistogramTypeEnum; +} +/** + * @export + */ +export declare const HistogramTypeEnum: { + readonly Histogram: "Histogram"; +}; +export type HistogramTypeEnum = typeof HistogramTypeEnum[keyof typeof HistogramTypeEnum]; +/** + * Check if a given object implements the Histogram interface. + */ +export declare function instanceOfHistogram(value: object): value is Histogram; +export declare function HistogramFromJSON(json: any): Histogram; +export declare function HistogramFromJSONTyped(json: any, ignoreDiscriminator: boolean): Histogram; +export declare function HistogramToJSON(json: any): Histogram; +export declare function HistogramToJSONTyped(value?: Histogram | null, ignoreDiscriminator?: boolean): any; diff --git a/typescript/dist/esm/models/Histogram.js b/typescript/dist/esm/models/Histogram.js new file mode 100644 index 00000000..b8e8f7f5 --- /dev/null +++ b/typescript/dist/esm/models/Histogram.js @@ -0,0 +1,59 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Geo Engine API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ +import { HistogramParametersFromJSON, HistogramParametersToJSON, } from './HistogramParameters'; +import { SingleRasterOrVectorSourceFromJSON, SingleRasterOrVectorSourceToJSON, } from './SingleRasterOrVectorSource'; +/** + * @export + */ +export const HistogramTypeEnum = { + Histogram: 'Histogram' +}; +/** + * Check if a given object implements the Histogram interface. + */ +export function instanceOfHistogram(value) { + if (!('params' in value) || value['params'] === undefined) + return false; + if (!('sources' in value) || value['sources'] === undefined) + return false; + if (!('type' in value) || value['type'] === undefined) + return false; + return true; +} +export function HistogramFromJSON(json) { + return HistogramFromJSONTyped(json, false); +} +export function HistogramFromJSONTyped(json, ignoreDiscriminator) { + if (json == null) { + return json; + } + return { + 'params': HistogramParametersFromJSON(json['params']), + 'sources': SingleRasterOrVectorSourceFromJSON(json['sources']), + 'type': json['type'], + }; +} +export function HistogramToJSON(json) { + return HistogramToJSONTyped(json, false); +} +export function HistogramToJSONTyped(value, ignoreDiscriminator = false) { + if (value == null) { + return value; + } + return { + 'params': HistogramParametersToJSON(value['params']), + 'sources': SingleRasterOrVectorSourceToJSON(value['sources']), + 'type': value['type'], + }; +} diff --git a/typescript/dist/esm/models/HistogramBounds.d.ts b/typescript/dist/esm/models/HistogramBounds.d.ts new file mode 100644 index 00000000..ca63e0c0 --- /dev/null +++ b/typescript/dist/esm/models/HistogramBounds.d.ts @@ -0,0 +1,23 @@ +/** + * Geo Engine API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ +import type { HistogramBoundsOneOf } from './HistogramBoundsOneOf'; +import type { HistogramBoundsOneOf1 } from './HistogramBoundsOneOf1'; +/** + * @type HistogramBounds + * + * @export + */ +export type HistogramBounds = HistogramBoundsOneOf | HistogramBoundsOneOf1; +export declare function HistogramBoundsFromJSON(json: any): HistogramBounds; +export declare function HistogramBoundsFromJSONTyped(json: any, ignoreDiscriminator: boolean): HistogramBounds; +export declare function HistogramBoundsToJSON(json: any): any; +export declare function HistogramBoundsToJSONTyped(value?: HistogramBounds | null, ignoreDiscriminator?: boolean): any; diff --git a/typescript/dist/esm/models/HistogramBounds.js b/typescript/dist/esm/models/HistogramBounds.js new file mode 100644 index 00000000..aee13ec1 --- /dev/null +++ b/typescript/dist/esm/models/HistogramBounds.js @@ -0,0 +1,51 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Geo Engine API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ +import { instanceOfHistogramBoundsOneOf, HistogramBoundsOneOfFromJSONTyped, HistogramBoundsOneOfToJSON, } from './HistogramBoundsOneOf'; +import { instanceOfHistogramBoundsOneOf1, HistogramBoundsOneOf1FromJSONTyped, HistogramBoundsOneOf1ToJSON, } from './HistogramBoundsOneOf1'; +export function HistogramBoundsFromJSON(json) { + return HistogramBoundsFromJSONTyped(json, false); +} +export function HistogramBoundsFromJSONTyped(json, ignoreDiscriminator) { + if (json == null) { + return json; + } + if (typeof json !== 'object') { + return json; + } + if (instanceOfHistogramBoundsOneOf(json)) { + return HistogramBoundsOneOfFromJSONTyped(json, true); + } + if (instanceOfHistogramBoundsOneOf1(json)) { + return HistogramBoundsOneOf1FromJSONTyped(json, true); + } + return {}; +} +export function HistogramBoundsToJSON(json) { + return HistogramBoundsToJSONTyped(json, false); +} +export function HistogramBoundsToJSONTyped(value, ignoreDiscriminator = false) { + if (value == null) { + return value; + } + if (typeof value !== 'object') { + return value; + } + if (instanceOfHistogramBoundsOneOf(value)) { + return HistogramBoundsOneOfToJSON(value); + } + if (instanceOfHistogramBoundsOneOf1(value)) { + return HistogramBoundsOneOf1ToJSON(value); + } + return {}; +} diff --git a/typescript/dist/esm/models/HistogramBoundsOneOf.d.ts b/typescript/dist/esm/models/HistogramBoundsOneOf.d.ts new file mode 100644 index 00000000..ebe90a24 --- /dev/null +++ b/typescript/dist/esm/models/HistogramBoundsOneOf.d.ts @@ -0,0 +1,32 @@ +/** + * Geo Engine API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ +/** + * + * @export + * @interface HistogramBoundsOneOf + */ +export interface HistogramBoundsOneOf { + /** + * + * @type {any} + * @memberof HistogramBoundsOneOf + */ + data: any | null; +} +/** + * Check if a given object implements the HistogramBoundsOneOf interface. + */ +export declare function instanceOfHistogramBoundsOneOf(value: object): value is HistogramBoundsOneOf; +export declare function HistogramBoundsOneOfFromJSON(json: any): HistogramBoundsOneOf; +export declare function HistogramBoundsOneOfFromJSONTyped(json: any, ignoreDiscriminator: boolean): HistogramBoundsOneOf; +export declare function HistogramBoundsOneOfToJSON(json: any): HistogramBoundsOneOf; +export declare function HistogramBoundsOneOfToJSONTyped(value?: HistogramBoundsOneOf | null, ignoreDiscriminator?: boolean): any; diff --git a/typescript/dist/esm/models/HistogramBoundsOneOf.js b/typescript/dist/esm/models/HistogramBoundsOneOf.js new file mode 100644 index 00000000..fe4ffba1 --- /dev/null +++ b/typescript/dist/esm/models/HistogramBoundsOneOf.js @@ -0,0 +1,43 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Geo Engine API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ +/** + * Check if a given object implements the HistogramBoundsOneOf interface. + */ +export function instanceOfHistogramBoundsOneOf(value) { + if (!('data' in value) || value['data'] === undefined) + return false; + return true; +} +export function HistogramBoundsOneOfFromJSON(json) { + return HistogramBoundsOneOfFromJSONTyped(json, false); +} +export function HistogramBoundsOneOfFromJSONTyped(json, ignoreDiscriminator) { + if (json == null) { + return json; + } + return { + 'data': json['data'], + }; +} +export function HistogramBoundsOneOfToJSON(json) { + return HistogramBoundsOneOfToJSONTyped(json, false); +} +export function HistogramBoundsOneOfToJSONTyped(value, ignoreDiscriminator = false) { + if (value == null) { + return value; + } + return { + 'data': value['data'], + }; +} diff --git a/typescript/dist/esm/models/HistogramBoundsOneOf1.d.ts b/typescript/dist/esm/models/HistogramBoundsOneOf1.d.ts new file mode 100644 index 00000000..5d5af761 --- /dev/null +++ b/typescript/dist/esm/models/HistogramBoundsOneOf1.d.ts @@ -0,0 +1,33 @@ +/** + * Geo Engine API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ +import type { HistogramBoundsOneOf1Values } from './HistogramBoundsOneOf1Values'; +/** + * + * @export + * @interface HistogramBoundsOneOf1 + */ +export interface HistogramBoundsOneOf1 { + /** + * + * @type {HistogramBoundsOneOf1Values} + * @memberof HistogramBoundsOneOf1 + */ + values: HistogramBoundsOneOf1Values; +} +/** + * Check if a given object implements the HistogramBoundsOneOf1 interface. + */ +export declare function instanceOfHistogramBoundsOneOf1(value: object): value is HistogramBoundsOneOf1; +export declare function HistogramBoundsOneOf1FromJSON(json: any): HistogramBoundsOneOf1; +export declare function HistogramBoundsOneOf1FromJSONTyped(json: any, ignoreDiscriminator: boolean): HistogramBoundsOneOf1; +export declare function HistogramBoundsOneOf1ToJSON(json: any): HistogramBoundsOneOf1; +export declare function HistogramBoundsOneOf1ToJSONTyped(value?: HistogramBoundsOneOf1 | null, ignoreDiscriminator?: boolean): any; diff --git a/typescript/dist/esm/models/HistogramBoundsOneOf1.js b/typescript/dist/esm/models/HistogramBoundsOneOf1.js new file mode 100644 index 00000000..780e16b9 --- /dev/null +++ b/typescript/dist/esm/models/HistogramBoundsOneOf1.js @@ -0,0 +1,44 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Geo Engine API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ +import { HistogramBoundsOneOf1ValuesFromJSON, HistogramBoundsOneOf1ValuesToJSON, } from './HistogramBoundsOneOf1Values'; +/** + * Check if a given object implements the HistogramBoundsOneOf1 interface. + */ +export function instanceOfHistogramBoundsOneOf1(value) { + if (!('values' in value) || value['values'] === undefined) + return false; + return true; +} +export function HistogramBoundsOneOf1FromJSON(json) { + return HistogramBoundsOneOf1FromJSONTyped(json, false); +} +export function HistogramBoundsOneOf1FromJSONTyped(json, ignoreDiscriminator) { + if (json == null) { + return json; + } + return { + 'values': HistogramBoundsOneOf1ValuesFromJSON(json['values']), + }; +} +export function HistogramBoundsOneOf1ToJSON(json) { + return HistogramBoundsOneOf1ToJSONTyped(json, false); +} +export function HistogramBoundsOneOf1ToJSONTyped(value, ignoreDiscriminator = false) { + if (value == null) { + return value; + } + return { + 'values': HistogramBoundsOneOf1ValuesToJSON(value['values']), + }; +} diff --git a/typescript/dist/esm/models/HistogramBoundsOneOf1Values.d.ts b/typescript/dist/esm/models/HistogramBoundsOneOf1Values.d.ts new file mode 100644 index 00000000..7ecedb87 --- /dev/null +++ b/typescript/dist/esm/models/HistogramBoundsOneOf1Values.d.ts @@ -0,0 +1,38 @@ +/** + * Geo Engine API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ +/** + * + * @export + * @interface HistogramBoundsOneOf1Values + */ +export interface HistogramBoundsOneOf1Values { + /** + * + * @type {number} + * @memberof HistogramBoundsOneOf1Values + */ + max: number; + /** + * + * @type {number} + * @memberof HistogramBoundsOneOf1Values + */ + min: number; +} +/** + * Check if a given object implements the HistogramBoundsOneOf1Values interface. + */ +export declare function instanceOfHistogramBoundsOneOf1Values(value: object): value is HistogramBoundsOneOf1Values; +export declare function HistogramBoundsOneOf1ValuesFromJSON(json: any): HistogramBoundsOneOf1Values; +export declare function HistogramBoundsOneOf1ValuesFromJSONTyped(json: any, ignoreDiscriminator: boolean): HistogramBoundsOneOf1Values; +export declare function HistogramBoundsOneOf1ValuesToJSON(json: any): HistogramBoundsOneOf1Values; +export declare function HistogramBoundsOneOf1ValuesToJSONTyped(value?: HistogramBoundsOneOf1Values | null, ignoreDiscriminator?: boolean): any; diff --git a/typescript/dist/esm/models/HistogramBoundsOneOf1Values.js b/typescript/dist/esm/models/HistogramBoundsOneOf1Values.js new file mode 100644 index 00000000..a47857d7 --- /dev/null +++ b/typescript/dist/esm/models/HistogramBoundsOneOf1Values.js @@ -0,0 +1,47 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Geo Engine API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ +/** + * Check if a given object implements the HistogramBoundsOneOf1Values interface. + */ +export function instanceOfHistogramBoundsOneOf1Values(value) { + if (!('max' in value) || value['max'] === undefined) + return false; + if (!('min' in value) || value['min'] === undefined) + return false; + return true; +} +export function HistogramBoundsOneOf1ValuesFromJSON(json) { + return HistogramBoundsOneOf1ValuesFromJSONTyped(json, false); +} +export function HistogramBoundsOneOf1ValuesFromJSONTyped(json, ignoreDiscriminator) { + if (json == null) { + return json; + } + return { + 'max': json['max'], + 'min': json['min'], + }; +} +export function HistogramBoundsOneOf1ValuesToJSON(json) { + return HistogramBoundsOneOf1ValuesToJSONTyped(json, false); +} +export function HistogramBoundsOneOf1ValuesToJSONTyped(value, ignoreDiscriminator = false) { + if (value == null) { + return value; + } + return { + 'max': value['max'], + 'min': value['min'], + }; +} diff --git a/typescript/dist/esm/models/HistogramBuckets.d.ts b/typescript/dist/esm/models/HistogramBuckets.d.ts new file mode 100644 index 00000000..3f4b4152 --- /dev/null +++ b/typescript/dist/esm/models/HistogramBuckets.d.ts @@ -0,0 +1,23 @@ +/** + * Geo Engine API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ +import type { HistogramBucketsOneOf } from './HistogramBucketsOneOf'; +import type { HistogramBucketsOneOf1 } from './HistogramBucketsOneOf1'; +/** + * @type HistogramBuckets + * + * @export + */ +export type HistogramBuckets = HistogramBucketsOneOf | HistogramBucketsOneOf1; +export declare function HistogramBucketsFromJSON(json: any): HistogramBuckets; +export declare function HistogramBucketsFromJSONTyped(json: any, ignoreDiscriminator: boolean): HistogramBuckets; +export declare function HistogramBucketsToJSON(json: any): any; +export declare function HistogramBucketsToJSONTyped(value?: HistogramBuckets | null, ignoreDiscriminator?: boolean): any; diff --git a/typescript/dist/esm/models/HistogramBuckets.js b/typescript/dist/esm/models/HistogramBuckets.js new file mode 100644 index 00000000..3a679200 --- /dev/null +++ b/typescript/dist/esm/models/HistogramBuckets.js @@ -0,0 +1,51 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Geo Engine API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ +import { instanceOfHistogramBucketsOneOf, HistogramBucketsOneOfFromJSONTyped, HistogramBucketsOneOfToJSON, } from './HistogramBucketsOneOf'; +import { instanceOfHistogramBucketsOneOf1, HistogramBucketsOneOf1FromJSONTyped, HistogramBucketsOneOf1ToJSON, } from './HistogramBucketsOneOf1'; +export function HistogramBucketsFromJSON(json) { + return HistogramBucketsFromJSONTyped(json, false); +} +export function HistogramBucketsFromJSONTyped(json, ignoreDiscriminator) { + if (json == null) { + return json; + } + if (typeof json !== 'object') { + return json; + } + if (instanceOfHistogramBucketsOneOf(json)) { + return HistogramBucketsOneOfFromJSONTyped(json, true); + } + if (instanceOfHistogramBucketsOneOf1(json)) { + return HistogramBucketsOneOf1FromJSONTyped(json, true); + } + return {}; +} +export function HistogramBucketsToJSON(json) { + return HistogramBucketsToJSONTyped(json, false); +} +export function HistogramBucketsToJSONTyped(value, ignoreDiscriminator = false) { + if (value == null) { + return value; + } + if (typeof value !== 'object') { + return value; + } + if (instanceOfHistogramBucketsOneOf(value)) { + return HistogramBucketsOneOfToJSON(value); + } + if (instanceOfHistogramBucketsOneOf1(value)) { + return HistogramBucketsOneOf1ToJSON(value); + } + return {}; +} diff --git a/typescript/dist/esm/models/HistogramBucketsOneOf.d.ts b/typescript/dist/esm/models/HistogramBucketsOneOf.d.ts new file mode 100644 index 00000000..10a2dfce --- /dev/null +++ b/typescript/dist/esm/models/HistogramBucketsOneOf.d.ts @@ -0,0 +1,45 @@ +/** + * Geo Engine API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ +/** + * + * @export + * @interface HistogramBucketsOneOf + */ +export interface HistogramBucketsOneOf { + /** + * + * @type {HistogramBucketsOneOfTypeEnum} + * @memberof HistogramBucketsOneOf + */ + type: HistogramBucketsOneOfTypeEnum; + /** + * + * @type {number} + * @memberof HistogramBucketsOneOf + */ + value: number; +} +/** + * @export + */ +export declare const HistogramBucketsOneOfTypeEnum: { + readonly Number: "number"; +}; +export type HistogramBucketsOneOfTypeEnum = typeof HistogramBucketsOneOfTypeEnum[keyof typeof HistogramBucketsOneOfTypeEnum]; +/** + * Check if a given object implements the HistogramBucketsOneOf interface. + */ +export declare function instanceOfHistogramBucketsOneOf(value: object): value is HistogramBucketsOneOf; +export declare function HistogramBucketsOneOfFromJSON(json: any): HistogramBucketsOneOf; +export declare function HistogramBucketsOneOfFromJSONTyped(json: any, ignoreDiscriminator: boolean): HistogramBucketsOneOf; +export declare function HistogramBucketsOneOfToJSON(json: any): HistogramBucketsOneOf; +export declare function HistogramBucketsOneOfToJSONTyped(value?: HistogramBucketsOneOf | null, ignoreDiscriminator?: boolean): any; diff --git a/typescript/dist/esm/models/HistogramBucketsOneOf.js b/typescript/dist/esm/models/HistogramBucketsOneOf.js new file mode 100644 index 00000000..a8630603 --- /dev/null +++ b/typescript/dist/esm/models/HistogramBucketsOneOf.js @@ -0,0 +1,53 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Geo Engine API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ +/** + * @export + */ +export const HistogramBucketsOneOfTypeEnum = { + Number: 'number' +}; +/** + * Check if a given object implements the HistogramBucketsOneOf interface. + */ +export function instanceOfHistogramBucketsOneOf(value) { + if (!('type' in value) || value['type'] === undefined) + return false; + if (!('value' in value) || value['value'] === undefined) + return false; + return true; +} +export function HistogramBucketsOneOfFromJSON(json) { + return HistogramBucketsOneOfFromJSONTyped(json, false); +} +export function HistogramBucketsOneOfFromJSONTyped(json, ignoreDiscriminator) { + if (json == null) { + return json; + } + return { + 'type': json['type'], + 'value': json['value'], + }; +} +export function HistogramBucketsOneOfToJSON(json) { + return HistogramBucketsOneOfToJSONTyped(json, false); +} +export function HistogramBucketsOneOfToJSONTyped(value, ignoreDiscriminator = false) { + if (value == null) { + return value; + } + return { + 'type': value['type'], + 'value': value['value'], + }; +} diff --git a/typescript/dist/esm/models/HistogramBucketsOneOf1.d.ts b/typescript/dist/esm/models/HistogramBucketsOneOf1.d.ts new file mode 100644 index 00000000..2698370c --- /dev/null +++ b/typescript/dist/esm/models/HistogramBucketsOneOf1.d.ts @@ -0,0 +1,45 @@ +/** + * Geo Engine API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ +/** + * + * @export + * @interface HistogramBucketsOneOf1 + */ +export interface HistogramBucketsOneOf1 { + /** + * + * @type {number} + * @memberof HistogramBucketsOneOf1 + */ + maxNumberOfBuckets?: number; + /** + * + * @type {HistogramBucketsOneOf1TypeEnum} + * @memberof HistogramBucketsOneOf1 + */ + type: HistogramBucketsOneOf1TypeEnum; +} +/** + * @export + */ +export declare const HistogramBucketsOneOf1TypeEnum: { + readonly SquareRootChoiceRule: "squareRootChoiceRule"; +}; +export type HistogramBucketsOneOf1TypeEnum = typeof HistogramBucketsOneOf1TypeEnum[keyof typeof HistogramBucketsOneOf1TypeEnum]; +/** + * Check if a given object implements the HistogramBucketsOneOf1 interface. + */ +export declare function instanceOfHistogramBucketsOneOf1(value: object): value is HistogramBucketsOneOf1; +export declare function HistogramBucketsOneOf1FromJSON(json: any): HistogramBucketsOneOf1; +export declare function HistogramBucketsOneOf1FromJSONTyped(json: any, ignoreDiscriminator: boolean): HistogramBucketsOneOf1; +export declare function HistogramBucketsOneOf1ToJSON(json: any): HistogramBucketsOneOf1; +export declare function HistogramBucketsOneOf1ToJSONTyped(value?: HistogramBucketsOneOf1 | null, ignoreDiscriminator?: boolean): any; diff --git a/typescript/dist/esm/models/HistogramBucketsOneOf1.js b/typescript/dist/esm/models/HistogramBucketsOneOf1.js new file mode 100644 index 00000000..f226c234 --- /dev/null +++ b/typescript/dist/esm/models/HistogramBucketsOneOf1.js @@ -0,0 +1,51 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Geo Engine API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ +/** + * @export + */ +export const HistogramBucketsOneOf1TypeEnum = { + SquareRootChoiceRule: 'squareRootChoiceRule' +}; +/** + * Check if a given object implements the HistogramBucketsOneOf1 interface. + */ +export function instanceOfHistogramBucketsOneOf1(value) { + if (!('type' in value) || value['type'] === undefined) + return false; + return true; +} +export function HistogramBucketsOneOf1FromJSON(json) { + return HistogramBucketsOneOf1FromJSONTyped(json, false); +} +export function HistogramBucketsOneOf1FromJSONTyped(json, ignoreDiscriminator) { + if (json == null) { + return json; + } + return { + 'maxNumberOfBuckets': json['maxNumberOfBuckets'] == null ? undefined : json['maxNumberOfBuckets'], + 'type': json['type'], + }; +} +export function HistogramBucketsOneOf1ToJSON(json) { + return HistogramBucketsOneOf1ToJSONTyped(json, false); +} +export function HistogramBucketsOneOf1ToJSONTyped(value, ignoreDiscriminator = false) { + if (value == null) { + return value; + } + return { + 'maxNumberOfBuckets': value['maxNumberOfBuckets'], + 'type': value['type'], + }; +} diff --git a/typescript/dist/esm/models/HistogramParameters.d.ts b/typescript/dist/esm/models/HistogramParameters.d.ts new file mode 100644 index 00000000..072472b1 --- /dev/null +++ b/typescript/dist/esm/models/HistogramParameters.d.ts @@ -0,0 +1,52 @@ +/** + * Geo Engine API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ +import type { HistogramBounds } from './HistogramBounds'; +import type { HistogramBuckets } from './HistogramBuckets'; +/** + * The parameter spec for `Histogram` + * @export + * @interface HistogramParameters + */ +export interface HistogramParameters { + /** + * Name of the (numeric) vector attribute or raster band to compute the histogram on. + * @type {string} + * @memberof HistogramParameters + */ + attributeName: string; + /** + * If `data`, it computes the bounds of the underlying data. If `values`, one can specify custom bounds. + * @type {HistogramBounds} + * @memberof HistogramParameters + */ + bounds: HistogramBounds; + /** + * The number of buckets. The value can be specified or calculated. + * @type {HistogramBuckets} + * @memberof HistogramParameters + */ + buckets: HistogramBuckets; + /** + * Flag, if the histogram should have user interactions for a range selection. It is `false` by default. + * @type {boolean} + * @memberof HistogramParameters + */ + interactive?: boolean; +} +/** + * Check if a given object implements the HistogramParameters interface. + */ +export declare function instanceOfHistogramParameters(value: object): value is HistogramParameters; +export declare function HistogramParametersFromJSON(json: any): HistogramParameters; +export declare function HistogramParametersFromJSONTyped(json: any, ignoreDiscriminator: boolean): HistogramParameters; +export declare function HistogramParametersToJSON(json: any): HistogramParameters; +export declare function HistogramParametersToJSONTyped(value?: HistogramParameters | null, ignoreDiscriminator?: boolean): any; diff --git a/typescript/dist/esm/models/HistogramParameters.js b/typescript/dist/esm/models/HistogramParameters.js new file mode 100644 index 00000000..c071d581 --- /dev/null +++ b/typescript/dist/esm/models/HistogramParameters.js @@ -0,0 +1,55 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Geo Engine API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ +import { HistogramBoundsFromJSON, HistogramBoundsToJSON, } from './HistogramBounds'; +import { HistogramBucketsFromJSON, HistogramBucketsToJSON, } from './HistogramBuckets'; +/** + * Check if a given object implements the HistogramParameters interface. + */ +export function instanceOfHistogramParameters(value) { + if (!('attributeName' in value) || value['attributeName'] === undefined) + return false; + if (!('bounds' in value) || value['bounds'] === undefined) + return false; + if (!('buckets' in value) || value['buckets'] === undefined) + return false; + return true; +} +export function HistogramParametersFromJSON(json) { + return HistogramParametersFromJSONTyped(json, false); +} +export function HistogramParametersFromJSONTyped(json, ignoreDiscriminator) { + if (json == null) { + return json; + } + return { + 'attributeName': json['attributeName'], + 'bounds': HistogramBoundsFromJSON(json['bounds']), + 'buckets': HistogramBucketsFromJSON(json['buckets']), + 'interactive': json['interactive'] == null ? undefined : json['interactive'], + }; +} +export function HistogramParametersToJSON(json) { + return HistogramParametersToJSONTyped(json, false); +} +export function HistogramParametersToJSONTyped(value, ignoreDiscriminator = false) { + if (value == null) { + return value; + } + return { + 'attributeName': value['attributeName'], + 'bounds': HistogramBoundsToJSON(value['bounds']), + 'buckets': HistogramBucketsToJSON(value['buckets']), + 'interactive': value['interactive'], + }; +} diff --git a/typescript/dist/esm/models/LegacyTypedOperator.d.ts b/typescript/dist/esm/models/LegacyTypedOperator.d.ts new file mode 100644 index 00000000..4fd15683 --- /dev/null +++ b/typescript/dist/esm/models/LegacyTypedOperator.d.ts @@ -0,0 +1,48 @@ +/** + * Geo Engine API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ +import type { LegacyTypedOperatorOperator } from './LegacyTypedOperatorOperator'; +/** + * An enum to differentiate between `Operator` variants + * @export + * @interface LegacyTypedOperator + */ +export interface LegacyTypedOperator { + /** + * + * @type {LegacyTypedOperatorOperator} + * @memberof LegacyTypedOperator + */ + operator: LegacyTypedOperatorOperator; + /** + * + * @type {LegacyTypedOperatorTypeEnum} + * @memberof LegacyTypedOperator + */ + type: LegacyTypedOperatorTypeEnum; +} +/** + * @export + */ +export declare const LegacyTypedOperatorTypeEnum: { + readonly Vector: "Vector"; + readonly Raster: "Raster"; + readonly Plot: "Plot"; +}; +export type LegacyTypedOperatorTypeEnum = typeof LegacyTypedOperatorTypeEnum[keyof typeof LegacyTypedOperatorTypeEnum]; +/** + * Check if a given object implements the LegacyTypedOperator interface. + */ +export declare function instanceOfLegacyTypedOperator(value: object): value is LegacyTypedOperator; +export declare function LegacyTypedOperatorFromJSON(json: any): LegacyTypedOperator; +export declare function LegacyTypedOperatorFromJSONTyped(json: any, ignoreDiscriminator: boolean): LegacyTypedOperator; +export declare function LegacyTypedOperatorToJSON(json: any): LegacyTypedOperator; +export declare function LegacyTypedOperatorToJSONTyped(value?: LegacyTypedOperator | null, ignoreDiscriminator?: boolean): any; diff --git a/typescript/dist/esm/models/LegacyTypedOperator.js b/typescript/dist/esm/models/LegacyTypedOperator.js new file mode 100644 index 00000000..67d6c4d4 --- /dev/null +++ b/typescript/dist/esm/models/LegacyTypedOperator.js @@ -0,0 +1,56 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Geo Engine API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ +import { LegacyTypedOperatorOperatorFromJSON, LegacyTypedOperatorOperatorToJSON, } from './LegacyTypedOperatorOperator'; +/** + * @export + */ +export const LegacyTypedOperatorTypeEnum = { + Vector: 'Vector', + Raster: 'Raster', + Plot: 'Plot' +}; +/** + * Check if a given object implements the LegacyTypedOperator interface. + */ +export function instanceOfLegacyTypedOperator(value) { + if (!('operator' in value) || value['operator'] === undefined) + return false; + if (!('type' in value) || value['type'] === undefined) + return false; + return true; +} +export function LegacyTypedOperatorFromJSON(json) { + return LegacyTypedOperatorFromJSONTyped(json, false); +} +export function LegacyTypedOperatorFromJSONTyped(json, ignoreDiscriminator) { + if (json == null) { + return json; + } + return { + 'operator': LegacyTypedOperatorOperatorFromJSON(json['operator']), + 'type': json['type'], + }; +} +export function LegacyTypedOperatorToJSON(json) { + return LegacyTypedOperatorToJSONTyped(json, false); +} +export function LegacyTypedOperatorToJSONTyped(value, ignoreDiscriminator = false) { + if (value == null) { + return value; + } + return { + 'operator': LegacyTypedOperatorOperatorToJSON(value['operator']), + 'type': value['type'], + }; +} diff --git a/typescript/dist/esm/models/LegacyTypedOperatorOperator.d.ts b/typescript/dist/esm/models/LegacyTypedOperatorOperator.d.ts new file mode 100644 index 00000000..a709e617 --- /dev/null +++ b/typescript/dist/esm/models/LegacyTypedOperatorOperator.d.ts @@ -0,0 +1,44 @@ +/** + * Geo Engine API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ +/** + * + * @export + * @interface LegacyTypedOperatorOperator + */ +export interface LegacyTypedOperatorOperator { + /** + * + * @type {object} + * @memberof LegacyTypedOperatorOperator + */ + params?: object; + /** + * + * @type {object} + * @memberof LegacyTypedOperatorOperator + */ + sources?: object; + /** + * + * @type {string} + * @memberof LegacyTypedOperatorOperator + */ + type: string; +} +/** + * Check if a given object implements the LegacyTypedOperatorOperator interface. + */ +export declare function instanceOfLegacyTypedOperatorOperator(value: object): value is LegacyTypedOperatorOperator; +export declare function LegacyTypedOperatorOperatorFromJSON(json: any): LegacyTypedOperatorOperator; +export declare function LegacyTypedOperatorOperatorFromJSONTyped(json: any, ignoreDiscriminator: boolean): LegacyTypedOperatorOperator; +export declare function LegacyTypedOperatorOperatorToJSON(json: any): LegacyTypedOperatorOperator; +export declare function LegacyTypedOperatorOperatorToJSONTyped(value?: LegacyTypedOperatorOperator | null, ignoreDiscriminator?: boolean): any; diff --git a/typescript/dist/esm/models/TypedOperatorOperator.js b/typescript/dist/esm/models/LegacyTypedOperatorOperator.js similarity index 62% rename from typescript/dist/esm/models/TypedOperatorOperator.js rename to typescript/dist/esm/models/LegacyTypedOperatorOperator.js index 378b9f8d..bfde1d81 100644 --- a/typescript/dist/esm/models/TypedOperatorOperator.js +++ b/typescript/dist/esm/models/LegacyTypedOperatorOperator.js @@ -12,17 +12,17 @@ * Do not edit the class manually. */ /** - * Check if a given object implements the TypedOperatorOperator interface. + * Check if a given object implements the LegacyTypedOperatorOperator interface. */ -export function instanceOfTypedOperatorOperator(value) { +export function instanceOfLegacyTypedOperatorOperator(value) { if (!('type' in value) || value['type'] === undefined) return false; return true; } -export function TypedOperatorOperatorFromJSON(json) { - return TypedOperatorOperatorFromJSONTyped(json, false); +export function LegacyTypedOperatorOperatorFromJSON(json) { + return LegacyTypedOperatorOperatorFromJSONTyped(json, false); } -export function TypedOperatorOperatorFromJSONTyped(json, ignoreDiscriminator) { +export function LegacyTypedOperatorOperatorFromJSONTyped(json, ignoreDiscriminator) { if (json == null) { return json; } @@ -32,10 +32,10 @@ export function TypedOperatorOperatorFromJSONTyped(json, ignoreDiscriminator) { 'type': json['type'], }; } -export function TypedOperatorOperatorToJSON(json) { - return TypedOperatorOperatorToJSONTyped(json, false); +export function LegacyTypedOperatorOperatorToJSON(json) { + return LegacyTypedOperatorOperatorToJSONTyped(json, false); } -export function TypedOperatorOperatorToJSONTyped(value, ignoreDiscriminator = false) { +export function LegacyTypedOperatorOperatorToJSONTyped(value, ignoreDiscriminator = false) { if (value == null) { return value; } diff --git a/typescript/dist/esm/models/MockPointSource.d.ts b/typescript/dist/esm/models/MockPointSource.d.ts new file mode 100644 index 00000000..0abaa593 --- /dev/null +++ b/typescript/dist/esm/models/MockPointSource.d.ts @@ -0,0 +1,47 @@ +/** + * Geo Engine API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ +import type { MockPointSourceParameters } from './MockPointSourceParameters'; +/** + * The [`MockPointSource`] is a source operator that provides mock vector point data for testing and development purposes. + * + * @export + * @interface MockPointSource + */ +export interface MockPointSource { + /** + * + * @type {MockPointSourceParameters} + * @memberof MockPointSource + */ + params: MockPointSourceParameters; + /** + * + * @type {MockPointSourceTypeEnum} + * @memberof MockPointSource + */ + type: MockPointSourceTypeEnum; +} +/** + * @export + */ +export declare const MockPointSourceTypeEnum: { + readonly MockPointSource: "MockPointSource"; +}; +export type MockPointSourceTypeEnum = typeof MockPointSourceTypeEnum[keyof typeof MockPointSourceTypeEnum]; +/** + * Check if a given object implements the MockPointSource interface. + */ +export declare function instanceOfMockPointSource(value: object): value is MockPointSource; +export declare function MockPointSourceFromJSON(json: any): MockPointSource; +export declare function MockPointSourceFromJSONTyped(json: any, ignoreDiscriminator: boolean): MockPointSource; +export declare function MockPointSourceToJSON(json: any): MockPointSource; +export declare function MockPointSourceToJSONTyped(value?: MockPointSource | null, ignoreDiscriminator?: boolean): any; diff --git a/typescript/dist/esm/models/MockPointSource.js b/typescript/dist/esm/models/MockPointSource.js new file mode 100644 index 00000000..33c994dd --- /dev/null +++ b/typescript/dist/esm/models/MockPointSource.js @@ -0,0 +1,54 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Geo Engine API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ +import { MockPointSourceParametersFromJSON, MockPointSourceParametersToJSON, } from './MockPointSourceParameters'; +/** + * @export + */ +export const MockPointSourceTypeEnum = { + MockPointSource: 'MockPointSource' +}; +/** + * Check if a given object implements the MockPointSource interface. + */ +export function instanceOfMockPointSource(value) { + if (!('params' in value) || value['params'] === undefined) + return false; + if (!('type' in value) || value['type'] === undefined) + return false; + return true; +} +export function MockPointSourceFromJSON(json) { + return MockPointSourceFromJSONTyped(json, false); +} +export function MockPointSourceFromJSONTyped(json, ignoreDiscriminator) { + if (json == null) { + return json; + } + return { + 'params': MockPointSourceParametersFromJSON(json['params']), + 'type': json['type'], + }; +} +export function MockPointSourceToJSON(json) { + return MockPointSourceToJSONTyped(json, false); +} +export function MockPointSourceToJSONTyped(value, ignoreDiscriminator = false) { + if (value == null) { + return value; + } + return { + 'params': MockPointSourceParametersToJSON(value['params']), + 'type': value['type'], + }; +} diff --git a/typescript/dist/esm/models/MockPointSourceParameters.d.ts b/typescript/dist/esm/models/MockPointSourceParameters.d.ts new file mode 100644 index 00000000..af6d1a63 --- /dev/null +++ b/typescript/dist/esm/models/MockPointSourceParameters.d.ts @@ -0,0 +1,43 @@ +/** + * Geo Engine API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ +import type { SpatialBoundsDerive } from './SpatialBoundsDerive'; +import type { Coordinate2D } from './Coordinate2D'; +/** + * Parameters for the [`MockPointSource`] operator. + * @export + * @interface MockPointSourceParameters + */ +export interface MockPointSourceParameters { + /** + * Points to be output by the mock point source. + * + * @type {Array} + * @memberof MockPointSourceParameters + */ + points: Array; + /** + * Defines how the spatial bounds of the source are derived. + * + * Defaults to `None`. + * @type {SpatialBoundsDerive} + * @memberof MockPointSourceParameters + */ + spatialBounds: SpatialBoundsDerive; +} +/** + * Check if a given object implements the MockPointSourceParameters interface. + */ +export declare function instanceOfMockPointSourceParameters(value: object): value is MockPointSourceParameters; +export declare function MockPointSourceParametersFromJSON(json: any): MockPointSourceParameters; +export declare function MockPointSourceParametersFromJSONTyped(json: any, ignoreDiscriminator: boolean): MockPointSourceParameters; +export declare function MockPointSourceParametersToJSON(json: any): MockPointSourceParameters; +export declare function MockPointSourceParametersToJSONTyped(value?: MockPointSourceParameters | null, ignoreDiscriminator?: boolean): any; diff --git a/typescript/dist/esm/models/MockPointSourceParameters.js b/typescript/dist/esm/models/MockPointSourceParameters.js new file mode 100644 index 00000000..d5ceebd7 --- /dev/null +++ b/typescript/dist/esm/models/MockPointSourceParameters.js @@ -0,0 +1,49 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Geo Engine API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ +import { SpatialBoundsDeriveFromJSON, SpatialBoundsDeriveToJSON, } from './SpatialBoundsDerive'; +import { Coordinate2DFromJSON, Coordinate2DToJSON, } from './Coordinate2D'; +/** + * Check if a given object implements the MockPointSourceParameters interface. + */ +export function instanceOfMockPointSourceParameters(value) { + if (!('points' in value) || value['points'] === undefined) + return false; + if (!('spatialBounds' in value) || value['spatialBounds'] === undefined) + return false; + return true; +} +export function MockPointSourceParametersFromJSON(json) { + return MockPointSourceParametersFromJSONTyped(json, false); +} +export function MockPointSourceParametersFromJSONTyped(json, ignoreDiscriminator) { + if (json == null) { + return json; + } + return { + 'points': (json['points'].map(Coordinate2DFromJSON)), + 'spatialBounds': SpatialBoundsDeriveFromJSON(json['spatialBounds']), + }; +} +export function MockPointSourceParametersToJSON(json) { + return MockPointSourceParametersToJSONTyped(json, false); +} +export function MockPointSourceParametersToJSONTyped(value, ignoreDiscriminator = false) { + if (value == null) { + return value; + } + return { + 'points': (value['points'].map(Coordinate2DToJSON)), + 'spatialBounds': SpatialBoundsDeriveToJSON(value['spatialBounds']), + }; +} diff --git a/typescript/dist/esm/models/MultipleRasterOrSingleVectorOperator.d.ts b/typescript/dist/esm/models/MultipleRasterOrSingleVectorOperator.d.ts new file mode 100644 index 00000000..1c1b9e80 --- /dev/null +++ b/typescript/dist/esm/models/MultipleRasterOrSingleVectorOperator.d.ts @@ -0,0 +1,23 @@ +/** + * Geo Engine API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ +import type { RasterOperator } from './RasterOperator'; +import type { VectorOperator } from './VectorOperator'; +/** + * @type MultipleRasterOrSingleVectorOperator + * It is either a set of `RasterOperator` or a single `VectorOperator` + * @export + */ +export type MultipleRasterOrSingleVectorOperator = Array | VectorOperator; +export declare function MultipleRasterOrSingleVectorOperatorFromJSON(json: any): MultipleRasterOrSingleVectorOperator; +export declare function MultipleRasterOrSingleVectorOperatorFromJSONTyped(json: any, ignoreDiscriminator: boolean): MultipleRasterOrSingleVectorOperator; +export declare function MultipleRasterOrSingleVectorOperatorToJSON(json: any): any; +export declare function MultipleRasterOrSingleVectorOperatorToJSONTyped(value?: MultipleRasterOrSingleVectorOperator | null, ignoreDiscriminator?: boolean): any; diff --git a/typescript/dist/esm/models/MultipleRasterOrSingleVectorOperator.js b/typescript/dist/esm/models/MultipleRasterOrSingleVectorOperator.js new file mode 100644 index 00000000..ec06c0f4 --- /dev/null +++ b/typescript/dist/esm/models/MultipleRasterOrSingleVectorOperator.js @@ -0,0 +1,61 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Geo Engine API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ +import { instanceOfRasterOperator, RasterOperatorFromJSONTyped, RasterOperatorToJSON, } from './RasterOperator'; +import { instanceOfVectorOperator, VectorOperatorFromJSONTyped, VectorOperatorToJSON, } from './VectorOperator'; +export function MultipleRasterOrSingleVectorOperatorFromJSON(json) { + return MultipleRasterOrSingleVectorOperatorFromJSONTyped(json, false); +} +export function MultipleRasterOrSingleVectorOperatorFromJSONTyped(json, ignoreDiscriminator) { + if (json == null) { + return json; + } + if (typeof json !== 'object') { + return json; + } + if (instanceOfVectorOperator(json)) { + return VectorOperatorFromJSONTyped(json, true); + } + if (Array.isArray(json)) { + if (json.every(item => typeof item === 'object')) { + if (json.every(item => instanceOfRasterOperator(item))) { + return json.map(value => RasterOperatorFromJSONTyped(value, true)); + } + } + return json; + } + return {}; +} +export function MultipleRasterOrSingleVectorOperatorToJSON(json) { + return MultipleRasterOrSingleVectorOperatorToJSONTyped(json, false); +} +export function MultipleRasterOrSingleVectorOperatorToJSONTyped(value, ignoreDiscriminator = false) { + if (value == null) { + return value; + } + if (typeof value !== 'object') { + return value; + } + if (instanceOfVectorOperator(value)) { + return VectorOperatorToJSON(value); + } + if (Array.isArray(value)) { + if (value.every(item => typeof item === 'object')) { + if (value.every(item => instanceOfRasterOperator(item))) { + return value.map(value => RasterOperatorToJSON(value)); + } + } + return value; + } + return {}; +} diff --git a/typescript/dist/esm/models/MultipleRasterOrSingleVectorSource.d.ts b/typescript/dist/esm/models/MultipleRasterOrSingleVectorSource.d.ts new file mode 100644 index 00000000..6b5dc6eb --- /dev/null +++ b/typescript/dist/esm/models/MultipleRasterOrSingleVectorSource.d.ts @@ -0,0 +1,33 @@ +/** + * Geo Engine API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ +import type { MultipleRasterOrSingleVectorOperator } from './MultipleRasterOrSingleVectorOperator'; +/** + * Either one or more raster operators or a single vector operator as source for this operator. + * @export + * @interface MultipleRasterOrSingleVectorSource + */ +export interface MultipleRasterOrSingleVectorSource { + /** + * + * @type {MultipleRasterOrSingleVectorOperator} + * @memberof MultipleRasterOrSingleVectorSource + */ + source: MultipleRasterOrSingleVectorOperator; +} +/** + * Check if a given object implements the MultipleRasterOrSingleVectorSource interface. + */ +export declare function instanceOfMultipleRasterOrSingleVectorSource(value: object): value is MultipleRasterOrSingleVectorSource; +export declare function MultipleRasterOrSingleVectorSourceFromJSON(json: any): MultipleRasterOrSingleVectorSource; +export declare function MultipleRasterOrSingleVectorSourceFromJSONTyped(json: any, ignoreDiscriminator: boolean): MultipleRasterOrSingleVectorSource; +export declare function MultipleRasterOrSingleVectorSourceToJSON(json: any): MultipleRasterOrSingleVectorSource; +export declare function MultipleRasterOrSingleVectorSourceToJSONTyped(value?: MultipleRasterOrSingleVectorSource | null, ignoreDiscriminator?: boolean): any; diff --git a/typescript/dist/esm/models/MultipleRasterOrSingleVectorSource.js b/typescript/dist/esm/models/MultipleRasterOrSingleVectorSource.js new file mode 100644 index 00000000..ab17debd --- /dev/null +++ b/typescript/dist/esm/models/MultipleRasterOrSingleVectorSource.js @@ -0,0 +1,44 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Geo Engine API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ +import { MultipleRasterOrSingleVectorOperatorFromJSON, MultipleRasterOrSingleVectorOperatorToJSON, } from './MultipleRasterOrSingleVectorOperator'; +/** + * Check if a given object implements the MultipleRasterOrSingleVectorSource interface. + */ +export function instanceOfMultipleRasterOrSingleVectorSource(value) { + if (!('source' in value) || value['source'] === undefined) + return false; + return true; +} +export function MultipleRasterOrSingleVectorSourceFromJSON(json) { + return MultipleRasterOrSingleVectorSourceFromJSONTyped(json, false); +} +export function MultipleRasterOrSingleVectorSourceFromJSONTyped(json, ignoreDiscriminator) { + if (json == null) { + return json; + } + return { + 'source': MultipleRasterOrSingleVectorOperatorFromJSON(json['source']), + }; +} +export function MultipleRasterOrSingleVectorSourceToJSON(json) { + return MultipleRasterOrSingleVectorSourceToJSONTyped(json, false); +} +export function MultipleRasterOrSingleVectorSourceToJSONTyped(value, ignoreDiscriminator = false) { + if (value == null) { + return value; + } + return { + 'source': MultipleRasterOrSingleVectorOperatorToJSON(value['source']), + }; +} diff --git a/typescript/dist/esm/models/Names.d.ts b/typescript/dist/esm/models/Names.d.ts new file mode 100644 index 00000000..d772d5cd --- /dev/null +++ b/typescript/dist/esm/models/Names.d.ts @@ -0,0 +1,45 @@ +/** + * Geo Engine API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ +/** + * + * @export + * @interface Names + */ +export interface Names { + /** + * + * @type {NamesTypeEnum} + * @memberof Names + */ + type: NamesTypeEnum; + /** + * + * @type {Array} + * @memberof Names + */ + values: Array; +} +/** + * @export + */ +export declare const NamesTypeEnum: { + readonly Names: "names"; +}; +export type NamesTypeEnum = typeof NamesTypeEnum[keyof typeof NamesTypeEnum]; +/** + * Check if a given object implements the Names interface. + */ +export declare function instanceOfNames(value: object): value is Names; +export declare function NamesFromJSON(json: any): Names; +export declare function NamesFromJSONTyped(json: any, ignoreDiscriminator: boolean): Names; +export declare function NamesToJSON(json: any): Names; +export declare function NamesToJSONTyped(value?: Names | null, ignoreDiscriminator?: boolean): any; diff --git a/typescript/dist/esm/models/Names.js b/typescript/dist/esm/models/Names.js new file mode 100644 index 00000000..7abdd2a4 --- /dev/null +++ b/typescript/dist/esm/models/Names.js @@ -0,0 +1,53 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Geo Engine API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ +/** + * @export + */ +export const NamesTypeEnum = { + Names: 'names' +}; +/** + * Check if a given object implements the Names interface. + */ +export function instanceOfNames(value) { + if (!('type' in value) || value['type'] === undefined) + return false; + if (!('values' in value) || value['values'] === undefined) + return false; + return true; +} +export function NamesFromJSON(json) { + return NamesFromJSONTyped(json, false); +} +export function NamesFromJSONTyped(json, ignoreDiscriminator) { + if (json == null) { + return json; + } + return { + 'type': json['type'], + 'values': json['values'], + }; +} +export function NamesToJSON(json) { + return NamesToJSONTyped(json, false); +} +export function NamesToJSONTyped(value, ignoreDiscriminator = false) { + if (value == null) { + return value; + } + return { + 'type': value['type'], + 'values': value['values'], + }; +} diff --git a/typescript/dist/esm/models/PermissionListOptions.d.ts b/typescript/dist/esm/models/PermissionListOptions.d.ts deleted file mode 100644 index 64ce5ea4..00000000 --- a/typescript/dist/esm/models/PermissionListOptions.d.ts +++ /dev/null @@ -1,38 +0,0 @@ -/** - * Geo Engine API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 0.9.0 - * Contact: dev@geoengine.de - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ -/** - * - * @export - * @interface PermissionListOptions - */ -export interface PermissionListOptions { - /** - * - * @type {number} - * @memberof PermissionListOptions - */ - limit: number; - /** - * - * @type {number} - * @memberof PermissionListOptions - */ - offset: number; -} -/** - * Check if a given object implements the PermissionListOptions interface. - */ -export declare function instanceOfPermissionListOptions(value: object): value is PermissionListOptions; -export declare function PermissionListOptionsFromJSON(json: any): PermissionListOptions; -export declare function PermissionListOptionsFromJSONTyped(json: any, ignoreDiscriminator: boolean): PermissionListOptions; -export declare function PermissionListOptionsToJSON(json: any): PermissionListOptions; -export declare function PermissionListOptionsToJSONTyped(value?: PermissionListOptions | null, ignoreDiscriminator?: boolean): any; diff --git a/typescript/dist/esm/models/PermissionListOptions.js b/typescript/dist/esm/models/PermissionListOptions.js deleted file mode 100644 index 4b115bf7..00000000 --- a/typescript/dist/esm/models/PermissionListOptions.js +++ /dev/null @@ -1,47 +0,0 @@ -/* tslint:disable */ -/* eslint-disable */ -/** - * Geo Engine API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 0.9.0 - * Contact: dev@geoengine.de - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ -/** - * Check if a given object implements the PermissionListOptions interface. - */ -export function instanceOfPermissionListOptions(value) { - if (!('limit' in value) || value['limit'] === undefined) - return false; - if (!('offset' in value) || value['offset'] === undefined) - return false; - return true; -} -export function PermissionListOptionsFromJSON(json) { - return PermissionListOptionsFromJSONTyped(json, false); -} -export function PermissionListOptionsFromJSONTyped(json, ignoreDiscriminator) { - if (json == null) { - return json; - } - return { - 'limit': json['limit'], - 'offset': json['offset'], - }; -} -export function PermissionListOptionsToJSON(json) { - return PermissionListOptionsToJSONTyped(json, false); -} -export function PermissionListOptionsToJSONTyped(value, ignoreDiscriminator = false) { - if (value == null) { - return value; - } - return { - 'limit': value['limit'], - 'offset': value['offset'], - }; -} diff --git a/typescript/dist/esm/models/PlotOperator.d.ts b/typescript/dist/esm/models/PlotOperator.d.ts new file mode 100644 index 00000000..edcaacf3 --- /dev/null +++ b/typescript/dist/esm/models/PlotOperator.d.ts @@ -0,0 +1,27 @@ +/** + * Geo Engine API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ +import type { Histogram } from './Histogram'; +import type { Statistics } from './Statistics'; +/** + * @type PlotOperator + * An operator that produces plot data. + * @export + */ +export type PlotOperator = { + type: 'Histogram'; +} & Histogram | { + type: 'Statistics'; +} & Statistics; +export declare function PlotOperatorFromJSON(json: any): PlotOperator; +export declare function PlotOperatorFromJSONTyped(json: any, ignoreDiscriminator: boolean): PlotOperator; +export declare function PlotOperatorToJSON(json: any): any; +export declare function PlotOperatorToJSONTyped(value?: PlotOperator | null, ignoreDiscriminator?: boolean): any; diff --git a/typescript/dist/esm/models/PlotOperator.js b/typescript/dist/esm/models/PlotOperator.js new file mode 100644 index 00000000..fb44099c --- /dev/null +++ b/typescript/dist/esm/models/PlotOperator.js @@ -0,0 +1,47 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Geo Engine API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ +import { HistogramFromJSONTyped, HistogramToJSON, } from './Histogram'; +import { StatisticsFromJSONTyped, StatisticsToJSON, } from './Statistics'; +export function PlotOperatorFromJSON(json) { + return PlotOperatorFromJSONTyped(json, false); +} +export function PlotOperatorFromJSONTyped(json, ignoreDiscriminator) { + if (json == null) { + return json; + } + switch (json['type']) { + case 'Histogram': + return Object.assign({}, HistogramFromJSONTyped(json, true), { type: 'Histogram' }); + case 'Statistics': + return Object.assign({}, StatisticsFromJSONTyped(json, true), { type: 'Statistics' }); + default: + return json; + } +} +export function PlotOperatorToJSON(json) { + return PlotOperatorToJSONTyped(json, false); +} +export function PlotOperatorToJSONTyped(value, ignoreDiscriminator = false) { + if (value == null) { + return value; + } + switch (value['type']) { + case 'Histogram': + return Object.assign({}, HistogramToJSON(value), { type: 'Histogram' }); + case 'Statistics': + return Object.assign({}, StatisticsToJSON(value), { type: 'Statistics' }); + default: + return value; + } +} diff --git a/typescript/dist/esm/models/ProvenanceOutput.d.ts b/typescript/dist/esm/models/ProvenanceOutput.d.ts deleted file mode 100644 index 35c59c54..00000000 --- a/typescript/dist/esm/models/ProvenanceOutput.d.ts +++ /dev/null @@ -1,40 +0,0 @@ -/** - * Geo Engine API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 0.9.0 - * Contact: dev@geoengine.de - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ -import type { Provenance } from './Provenance'; -import type { DataId } from './DataId'; -/** - * - * @export - * @interface ProvenanceOutput - */ -export interface ProvenanceOutput { - /** - * - * @type {DataId} - * @memberof ProvenanceOutput - */ - data: DataId; - /** - * - * @type {Array} - * @memberof ProvenanceOutput - */ - provenance?: Array | null; -} -/** - * Check if a given object implements the ProvenanceOutput interface. - */ -export declare function instanceOfProvenanceOutput(value: object): value is ProvenanceOutput; -export declare function ProvenanceOutputFromJSON(json: any): ProvenanceOutput; -export declare function ProvenanceOutputFromJSONTyped(json: any, ignoreDiscriminator: boolean): ProvenanceOutput; -export declare function ProvenanceOutputToJSON(json: any): ProvenanceOutput; -export declare function ProvenanceOutputToJSONTyped(value?: ProvenanceOutput | null, ignoreDiscriminator?: boolean): any; diff --git a/typescript/dist/esm/models/ProvenanceOutput.js b/typescript/dist/esm/models/ProvenanceOutput.js deleted file mode 100644 index ff6aa151..00000000 --- a/typescript/dist/esm/models/ProvenanceOutput.js +++ /dev/null @@ -1,47 +0,0 @@ -/* tslint:disable */ -/* eslint-disable */ -/** - * Geo Engine API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 0.9.0 - * Contact: dev@geoengine.de - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ -import { ProvenanceFromJSON, ProvenanceToJSON, } from './Provenance'; -import { DataIdFromJSON, DataIdToJSON, } from './DataId'; -/** - * Check if a given object implements the ProvenanceOutput interface. - */ -export function instanceOfProvenanceOutput(value) { - if (!('data' in value) || value['data'] === undefined) - return false; - return true; -} -export function ProvenanceOutputFromJSON(json) { - return ProvenanceOutputFromJSONTyped(json, false); -} -export function ProvenanceOutputFromJSONTyped(json, ignoreDiscriminator) { - if (json == null) { - return json; - } - return { - 'data': DataIdFromJSON(json['data']), - 'provenance': json['provenance'] == null ? undefined : (json['provenance'].map(ProvenanceFromJSON)), - }; -} -export function ProvenanceOutputToJSON(json) { - return ProvenanceOutputToJSONTyped(json, false); -} -export function ProvenanceOutputToJSONTyped(value, ignoreDiscriminator = false) { - if (value == null) { - return value; - } - return { - 'data': DataIdToJSON(value['data']), - 'provenance': value['provenance'] == null ? undefined : (value['provenance'].map(ProvenanceToJSON)), - }; -} diff --git a/typescript/dist/esm/models/RasterDatasetFromWorkflowResult.d.ts b/typescript/dist/esm/models/RasterDatasetFromWorkflowResult.d.ts deleted file mode 100644 index 50f5c120..00000000 --- a/typescript/dist/esm/models/RasterDatasetFromWorkflowResult.d.ts +++ /dev/null @@ -1,38 +0,0 @@ -/** - * Geo Engine API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 0.9.0 - * Contact: dev@geoengine.de - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ -/** - * response of the dataset from workflow handler - * @export - * @interface RasterDatasetFromWorkflowResult - */ -export interface RasterDatasetFromWorkflowResult { - /** - * - * @type {string} - * @memberof RasterDatasetFromWorkflowResult - */ - dataset: string; - /** - * - * @type {string} - * @memberof RasterDatasetFromWorkflowResult - */ - upload: string; -} -/** - * Check if a given object implements the RasterDatasetFromWorkflowResult interface. - */ -export declare function instanceOfRasterDatasetFromWorkflowResult(value: object): value is RasterDatasetFromWorkflowResult; -export declare function RasterDatasetFromWorkflowResultFromJSON(json: any): RasterDatasetFromWorkflowResult; -export declare function RasterDatasetFromWorkflowResultFromJSONTyped(json: any, ignoreDiscriminator: boolean): RasterDatasetFromWorkflowResult; -export declare function RasterDatasetFromWorkflowResultToJSON(json: any): RasterDatasetFromWorkflowResult; -export declare function RasterDatasetFromWorkflowResultToJSONTyped(value?: RasterDatasetFromWorkflowResult | null, ignoreDiscriminator?: boolean): any; diff --git a/typescript/dist/esm/models/RasterDatasetFromWorkflowResult.js b/typescript/dist/esm/models/RasterDatasetFromWorkflowResult.js deleted file mode 100644 index e6895841..00000000 --- a/typescript/dist/esm/models/RasterDatasetFromWorkflowResult.js +++ /dev/null @@ -1,47 +0,0 @@ -/* tslint:disable */ -/* eslint-disable */ -/** - * Geo Engine API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 0.9.0 - * Contact: dev@geoengine.de - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ -/** - * Check if a given object implements the RasterDatasetFromWorkflowResult interface. - */ -export function instanceOfRasterDatasetFromWorkflowResult(value) { - if (!('dataset' in value) || value['dataset'] === undefined) - return false; - if (!('upload' in value) || value['upload'] === undefined) - return false; - return true; -} -export function RasterDatasetFromWorkflowResultFromJSON(json) { - return RasterDatasetFromWorkflowResultFromJSONTyped(json, false); -} -export function RasterDatasetFromWorkflowResultFromJSONTyped(json, ignoreDiscriminator) { - if (json == null) { - return json; - } - return { - 'dataset': json['dataset'], - 'upload': json['upload'], - }; -} -export function RasterDatasetFromWorkflowResultToJSON(json) { - return RasterDatasetFromWorkflowResultToJSONTyped(json, false); -} -export function RasterDatasetFromWorkflowResultToJSONTyped(value, ignoreDiscriminator = false) { - if (value == null) { - return value; - } - return { - 'dataset': value['dataset'], - 'upload': value['upload'], - }; -} diff --git a/typescript/dist/esm/models/RasterOperator.d.ts b/typescript/dist/esm/models/RasterOperator.d.ts new file mode 100644 index 00000000..13886517 --- /dev/null +++ b/typescript/dist/esm/models/RasterOperator.d.ts @@ -0,0 +1,31 @@ +/** + * Geo Engine API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ +import type { Expression } from './Expression'; +import type { GdalSource } from './GdalSource'; +/** + * @type RasterOperator + * An operator that produces raster data. + * @export + */ +export type RasterOperator = { + type: 'Expression'; +} & Expression | { + type: 'GdalSource'; +} & GdalSource; +export declare function RasterOperatorFromJSON(json: any): RasterOperator; +export declare function RasterOperatorFromJSONTyped(json: any, ignoreDiscriminator: boolean): RasterOperator; +export declare function RasterOperatorToJSON(json: any): any; +export declare function RasterOperatorToJSONTyped(value?: RasterOperator | null, ignoreDiscriminator?: boolean): any; +/** +* Check if a given object implements the RasterOperator interface. +*/ +export declare function instanceOfRasterOperator(value: object): value is RasterOperator; diff --git a/typescript/dist/esm/models/RasterOperator.js b/typescript/dist/esm/models/RasterOperator.js new file mode 100644 index 00000000..c7f7b834 --- /dev/null +++ b/typescript/dist/esm/models/RasterOperator.js @@ -0,0 +1,54 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Geo Engine API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ +import { instanceOfExpression, ExpressionFromJSONTyped, ExpressionToJSON, } from './Expression'; +import { instanceOfGdalSource, GdalSourceFromJSONTyped, GdalSourceToJSON, } from './GdalSource'; +export function RasterOperatorFromJSON(json) { + return RasterOperatorFromJSONTyped(json, false); +} +export function RasterOperatorFromJSONTyped(json, ignoreDiscriminator) { + if (json == null) { + return json; + } + switch (json['type']) { + case 'Expression': + return Object.assign({}, ExpressionFromJSONTyped(json, true), { type: 'Expression' }); + case 'GdalSource': + return Object.assign({}, GdalSourceFromJSONTyped(json, true), { type: 'GdalSource' }); + default: + return json; + } +} +export function RasterOperatorToJSON(json) { + return RasterOperatorToJSONTyped(json, false); +} +export function RasterOperatorToJSONTyped(value, ignoreDiscriminator = false) { + if (value == null) { + return value; + } + switch (value['type']) { + case 'Expression': + return Object.assign({}, ExpressionToJSON(value), { type: 'Expression' }); + case 'GdalSource': + return Object.assign({}, GdalSourceToJSON(value), { type: 'GdalSource' }); + default: + return value; + } +} +/** +* Check if a given object implements the RasterOperator interface. +*/ +export function instanceOfRasterOperator(value) { + return instanceOfExpression(value) + || instanceOfGdalSource(value); +} diff --git a/typescript/dist/esm/models/RasterVectorJoin.d.ts b/typescript/dist/esm/models/RasterVectorJoin.d.ts new file mode 100644 index 00000000..56448d0f --- /dev/null +++ b/typescript/dist/esm/models/RasterVectorJoin.d.ts @@ -0,0 +1,82 @@ +/** + * Geo Engine API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ +import type { SingleVectorMultipleRasterSources } from './SingleVectorMultipleRasterSources'; +import type { RasterVectorJoinParameters } from './RasterVectorJoinParameters'; +/** + * The `RasterVectorJoin` operator allows combining a single vector input and multiple raster inputs. + * For each raster input, a new column is added to the collection from the vector input. + * The new column contains the value of the raster at the location of the vector feature. + * For features covering multiple pixels like `MultiPoints` or `MultiPolygons`, the value is calculated using an aggregation function selected by the user. + * The same is true if the temporal extent of a vector feature covers multiple raster time steps. + * More details are described below. + * + * **Example**: + * You have a collection of agricultural fields (`Polygons`) and a collection of raster images containing each pixel's monthly NDVI value. + * For your application, you want to know the NDVI value of each field. + * The `RasterVectorJoin` operator allows you to combine the vector and raster data and offers multiple spatial and temporal aggregation strategies. + * For example, you can use the `first` aggregation function to get the NDVI value of the first pixel that intersects with each field. + * This is useful for exploratory analysis since the computation is very fast. + * To calculate the mean NDVI value of all pixels that intersect with the field you should use the `mean` aggregation function. + * Since the NDVI data is a monthly time series, you have to specify the temporal aggregation function as well. + * The default is `none` which will create a new feature for each month. + * Other options are `first` and `mean` which will calculate the first or mean NDVI value for each field over time. + * + * ## Inputs + * + * The `RasterVectorJoin` operator expects one _vector_ input and one or more _raster_ inputs. + * + * | Parameter | Type | + * | --------- | ----------------------------------- | + * | `sources` | `SingleVectorMultipleRasterSources` | + * + * ## Errors + * + * If the length of `names` is not equal to the number of raster inputs, an error is thrown. + * + * @export + * @interface RasterVectorJoin + */ +export interface RasterVectorJoin { + /** + * + * @type {RasterVectorJoinParameters} + * @memberof RasterVectorJoin + */ + params: RasterVectorJoinParameters; + /** + * + * @type {SingleVectorMultipleRasterSources} + * @memberof RasterVectorJoin + */ + sources: SingleVectorMultipleRasterSources; + /** + * + * @type {RasterVectorJoinTypeEnum} + * @memberof RasterVectorJoin + */ + type: RasterVectorJoinTypeEnum; +} +/** + * @export + */ +export declare const RasterVectorJoinTypeEnum: { + readonly RasterVectorJoin: "RasterVectorJoin"; +}; +export type RasterVectorJoinTypeEnum = typeof RasterVectorJoinTypeEnum[keyof typeof RasterVectorJoinTypeEnum]; +/** + * Check if a given object implements the RasterVectorJoin interface. + */ +export declare function instanceOfRasterVectorJoin(value: object): value is RasterVectorJoin; +export declare function RasterVectorJoinFromJSON(json: any): RasterVectorJoin; +export declare function RasterVectorJoinFromJSONTyped(json: any, ignoreDiscriminator: boolean): RasterVectorJoin; +export declare function RasterVectorJoinToJSON(json: any): RasterVectorJoin; +export declare function RasterVectorJoinToJSONTyped(value?: RasterVectorJoin | null, ignoreDiscriminator?: boolean): any; diff --git a/typescript/dist/esm/models/RasterVectorJoin.js b/typescript/dist/esm/models/RasterVectorJoin.js new file mode 100644 index 00000000..9fd6fedf --- /dev/null +++ b/typescript/dist/esm/models/RasterVectorJoin.js @@ -0,0 +1,59 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Geo Engine API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ +import { SingleVectorMultipleRasterSourcesFromJSON, SingleVectorMultipleRasterSourcesToJSON, } from './SingleVectorMultipleRasterSources'; +import { RasterVectorJoinParametersFromJSON, RasterVectorJoinParametersToJSON, } from './RasterVectorJoinParameters'; +/** + * @export + */ +export const RasterVectorJoinTypeEnum = { + RasterVectorJoin: 'RasterVectorJoin' +}; +/** + * Check if a given object implements the RasterVectorJoin interface. + */ +export function instanceOfRasterVectorJoin(value) { + if (!('params' in value) || value['params'] === undefined) + return false; + if (!('sources' in value) || value['sources'] === undefined) + return false; + if (!('type' in value) || value['type'] === undefined) + return false; + return true; +} +export function RasterVectorJoinFromJSON(json) { + return RasterVectorJoinFromJSONTyped(json, false); +} +export function RasterVectorJoinFromJSONTyped(json, ignoreDiscriminator) { + if (json == null) { + return json; + } + return { + 'params': RasterVectorJoinParametersFromJSON(json['params']), + 'sources': SingleVectorMultipleRasterSourcesFromJSON(json['sources']), + 'type': json['type'], + }; +} +export function RasterVectorJoinToJSON(json) { + return RasterVectorJoinToJSONTyped(json, false); +} +export function RasterVectorJoinToJSONTyped(value, ignoreDiscriminator = false) { + if (value == null) { + return value; + } + return { + 'params': RasterVectorJoinParametersToJSON(value['params']), + 'sources': SingleVectorMultipleRasterSourcesToJSON(value['sources']), + 'type': value['type'], + }; +} diff --git a/typescript/dist/esm/models/RasterVectorJoinParameters.d.ts b/typescript/dist/esm/models/RasterVectorJoinParameters.d.ts new file mode 100644 index 00000000..b43e25dc --- /dev/null +++ b/typescript/dist/esm/models/RasterVectorJoinParameters.d.ts @@ -0,0 +1,66 @@ +/** + * Geo Engine API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ +import type { ColumnNames } from './ColumnNames'; +import type { TemporalAggregationMethod } from './TemporalAggregationMethod'; +import type { FeatureAggregationMethod } from './FeatureAggregationMethod'; +/** + * + * @export + * @interface RasterVectorJoinParameters + */ +export interface RasterVectorJoinParameters { + /** + * The aggregation function to use for features covering multiple pixels. + * @type {FeatureAggregationMethod} + * @memberof RasterVectorJoinParameters + */ + featureAggregation: FeatureAggregationMethod; + /** + * Whether to ignore no data values in the aggregation. Defaults to `false`. + * @type {boolean} + * @memberof RasterVectorJoinParameters + */ + featureAggregationIgnoreNoData?: boolean; + /** + * Specify how the new column names are derived from the raster band names. + * + * The `ColumnNames` type is used to specify how the new column names are derived from the raster band names. + * + * - **default**: Appends " (n)" to the band name with the smallest `n` that avoids a conflict. + * - **suffix**: Specifies a suffix for each input, to be appended to the band names. + * - **rename**: A list of names for each new column. + * + * @type {ColumnNames} + * @memberof RasterVectorJoinParameters + */ + names: ColumnNames; + /** + * The aggregation function to use for features covering multiple (raster) time steps. + * @type {TemporalAggregationMethod} + * @memberof RasterVectorJoinParameters + */ + temporalAggregation: TemporalAggregationMethod; + /** + * Whether to ignore no data values in the aggregation. Defaults to `false`. + * @type {boolean} + * @memberof RasterVectorJoinParameters + */ + temporalAggregationIgnoreNoData?: boolean; +} +/** + * Check if a given object implements the RasterVectorJoinParameters interface. + */ +export declare function instanceOfRasterVectorJoinParameters(value: object): value is RasterVectorJoinParameters; +export declare function RasterVectorJoinParametersFromJSON(json: any): RasterVectorJoinParameters; +export declare function RasterVectorJoinParametersFromJSONTyped(json: any, ignoreDiscriminator: boolean): RasterVectorJoinParameters; +export declare function RasterVectorJoinParametersToJSON(json: any): RasterVectorJoinParameters; +export declare function RasterVectorJoinParametersToJSONTyped(value?: RasterVectorJoinParameters | null, ignoreDiscriminator?: boolean): any; diff --git a/typescript/dist/esm/models/RasterVectorJoinParameters.js b/typescript/dist/esm/models/RasterVectorJoinParameters.js new file mode 100644 index 00000000..bd2b7bee --- /dev/null +++ b/typescript/dist/esm/models/RasterVectorJoinParameters.js @@ -0,0 +1,58 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Geo Engine API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ +import { ColumnNamesFromJSON, ColumnNamesToJSON, } from './ColumnNames'; +import { TemporalAggregationMethodFromJSON, TemporalAggregationMethodToJSON, } from './TemporalAggregationMethod'; +import { FeatureAggregationMethodFromJSON, FeatureAggregationMethodToJSON, } from './FeatureAggregationMethod'; +/** + * Check if a given object implements the RasterVectorJoinParameters interface. + */ +export function instanceOfRasterVectorJoinParameters(value) { + if (!('featureAggregation' in value) || value['featureAggregation'] === undefined) + return false; + if (!('names' in value) || value['names'] === undefined) + return false; + if (!('temporalAggregation' in value) || value['temporalAggregation'] === undefined) + return false; + return true; +} +export function RasterVectorJoinParametersFromJSON(json) { + return RasterVectorJoinParametersFromJSONTyped(json, false); +} +export function RasterVectorJoinParametersFromJSONTyped(json, ignoreDiscriminator) { + if (json == null) { + return json; + } + return { + 'featureAggregation': FeatureAggregationMethodFromJSON(json['featureAggregation']), + 'featureAggregationIgnoreNoData': json['featureAggregationIgnoreNoData'] == null ? undefined : json['featureAggregationIgnoreNoData'], + 'names': ColumnNamesFromJSON(json['names']), + 'temporalAggregation': TemporalAggregationMethodFromJSON(json['temporalAggregation']), + 'temporalAggregationIgnoreNoData': json['temporalAggregationIgnoreNoData'] == null ? undefined : json['temporalAggregationIgnoreNoData'], + }; +} +export function RasterVectorJoinParametersToJSON(json) { + return RasterVectorJoinParametersToJSONTyped(json, false); +} +export function RasterVectorJoinParametersToJSONTyped(value, ignoreDiscriminator = false) { + if (value == null) { + return value; + } + return { + 'featureAggregation': FeatureAggregationMethodToJSON(value['featureAggregation']), + 'featureAggregationIgnoreNoData': value['featureAggregationIgnoreNoData'], + 'names': ColumnNamesToJSON(value['names']), + 'temporalAggregation': TemporalAggregationMethodToJSON(value['temporalAggregation']), + 'temporalAggregationIgnoreNoData': value['temporalAggregationIgnoreNoData'], + }; +} diff --git a/typescript/dist/esm/models/SingleRasterOrVectorOperator.d.ts b/typescript/dist/esm/models/SingleRasterOrVectorOperator.d.ts new file mode 100644 index 00000000..4b5660ef --- /dev/null +++ b/typescript/dist/esm/models/SingleRasterOrVectorOperator.d.ts @@ -0,0 +1,23 @@ +/** + * Geo Engine API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ +import type { RasterOperator } from './RasterOperator'; +import type { VectorOperator } from './VectorOperator'; +/** + * @type SingleRasterOrVectorOperator + * It is either a set of `RasterOperator` or a single `VectorOperator` + * @export + */ +export type SingleRasterOrVectorOperator = RasterOperator | VectorOperator; +export declare function SingleRasterOrVectorOperatorFromJSON(json: any): SingleRasterOrVectorOperator; +export declare function SingleRasterOrVectorOperatorFromJSONTyped(json: any, ignoreDiscriminator: boolean): SingleRasterOrVectorOperator; +export declare function SingleRasterOrVectorOperatorToJSON(json: any): any; +export declare function SingleRasterOrVectorOperatorToJSONTyped(value?: SingleRasterOrVectorOperator | null, ignoreDiscriminator?: boolean): any; diff --git a/typescript/dist/esm/models/SingleRasterOrVectorOperator.js b/typescript/dist/esm/models/SingleRasterOrVectorOperator.js new file mode 100644 index 00000000..23d08d83 --- /dev/null +++ b/typescript/dist/esm/models/SingleRasterOrVectorOperator.js @@ -0,0 +1,51 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Geo Engine API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ +import { instanceOfRasterOperator, RasterOperatorFromJSONTyped, RasterOperatorToJSON, } from './RasterOperator'; +import { instanceOfVectorOperator, VectorOperatorFromJSONTyped, VectorOperatorToJSON, } from './VectorOperator'; +export function SingleRasterOrVectorOperatorFromJSON(json) { + return SingleRasterOrVectorOperatorFromJSONTyped(json, false); +} +export function SingleRasterOrVectorOperatorFromJSONTyped(json, ignoreDiscriminator) { + if (json == null) { + return json; + } + if (typeof json !== 'object') { + return json; + } + if (instanceOfRasterOperator(json)) { + return RasterOperatorFromJSONTyped(json, true); + } + if (instanceOfVectorOperator(json)) { + return VectorOperatorFromJSONTyped(json, true); + } + return {}; +} +export function SingleRasterOrVectorOperatorToJSON(json) { + return SingleRasterOrVectorOperatorToJSONTyped(json, false); +} +export function SingleRasterOrVectorOperatorToJSONTyped(value, ignoreDiscriminator = false) { + if (value == null) { + return value; + } + if (typeof value !== 'object') { + return value; + } + if (instanceOfRasterOperator(value)) { + return RasterOperatorToJSON(value); + } + if (instanceOfVectorOperator(value)) { + return VectorOperatorToJSON(value); + } + return {}; +} diff --git a/typescript/dist/esm/models/SingleRasterOrVectorSource.d.ts b/typescript/dist/esm/models/SingleRasterOrVectorSource.d.ts new file mode 100644 index 00000000..3203ad7f --- /dev/null +++ b/typescript/dist/esm/models/SingleRasterOrVectorSource.d.ts @@ -0,0 +1,33 @@ +/** + * Geo Engine API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ +import type { SingleRasterOrVectorOperator } from './SingleRasterOrVectorOperator'; +/** + * A single vector operator or a single raster operators as source for this operator. + * @export + * @interface SingleRasterOrVectorSource + */ +export interface SingleRasterOrVectorSource { + /** + * + * @type {SingleRasterOrVectorOperator} + * @memberof SingleRasterOrVectorSource + */ + source: SingleRasterOrVectorOperator; +} +/** + * Check if a given object implements the SingleRasterOrVectorSource interface. + */ +export declare function instanceOfSingleRasterOrVectorSource(value: object): value is SingleRasterOrVectorSource; +export declare function SingleRasterOrVectorSourceFromJSON(json: any): SingleRasterOrVectorSource; +export declare function SingleRasterOrVectorSourceFromJSONTyped(json: any, ignoreDiscriminator: boolean): SingleRasterOrVectorSource; +export declare function SingleRasterOrVectorSourceToJSON(json: any): SingleRasterOrVectorSource; +export declare function SingleRasterOrVectorSourceToJSONTyped(value?: SingleRasterOrVectorSource | null, ignoreDiscriminator?: boolean): any; diff --git a/typescript/dist/esm/models/SingleRasterOrVectorSource.js b/typescript/dist/esm/models/SingleRasterOrVectorSource.js new file mode 100644 index 00000000..898b8431 --- /dev/null +++ b/typescript/dist/esm/models/SingleRasterOrVectorSource.js @@ -0,0 +1,44 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Geo Engine API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ +import { SingleRasterOrVectorOperatorFromJSON, SingleRasterOrVectorOperatorToJSON, } from './SingleRasterOrVectorOperator'; +/** + * Check if a given object implements the SingleRasterOrVectorSource interface. + */ +export function instanceOfSingleRasterOrVectorSource(value) { + if (!('source' in value) || value['source'] === undefined) + return false; + return true; +} +export function SingleRasterOrVectorSourceFromJSON(json) { + return SingleRasterOrVectorSourceFromJSONTyped(json, false); +} +export function SingleRasterOrVectorSourceFromJSONTyped(json, ignoreDiscriminator) { + if (json == null) { + return json; + } + return { + 'source': SingleRasterOrVectorOperatorFromJSON(json['source']), + }; +} +export function SingleRasterOrVectorSourceToJSON(json) { + return SingleRasterOrVectorSourceToJSONTyped(json, false); +} +export function SingleRasterOrVectorSourceToJSONTyped(value, ignoreDiscriminator = false) { + if (value == null) { + return value; + } + return { + 'source': SingleRasterOrVectorOperatorToJSON(value['source']), + }; +} diff --git a/typescript/dist/esm/models/SingleRasterSource.d.ts b/typescript/dist/esm/models/SingleRasterSource.d.ts new file mode 100644 index 00000000..6695e7ef --- /dev/null +++ b/typescript/dist/esm/models/SingleRasterSource.d.ts @@ -0,0 +1,33 @@ +/** + * Geo Engine API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ +import type { RasterOperator } from './RasterOperator'; +/** + * A single raster operator as a source for this operator. + * @export + * @interface SingleRasterSource + */ +export interface SingleRasterSource { + /** + * + * @type {RasterOperator} + * @memberof SingleRasterSource + */ + raster: RasterOperator; +} +/** + * Check if a given object implements the SingleRasterSource interface. + */ +export declare function instanceOfSingleRasterSource(value: object): value is SingleRasterSource; +export declare function SingleRasterSourceFromJSON(json: any): SingleRasterSource; +export declare function SingleRasterSourceFromJSONTyped(json: any, ignoreDiscriminator: boolean): SingleRasterSource; +export declare function SingleRasterSourceToJSON(json: any): SingleRasterSource; +export declare function SingleRasterSourceToJSONTyped(value?: SingleRasterSource | null, ignoreDiscriminator?: boolean): any; diff --git a/typescript/dist/esm/models/SingleRasterSource.js b/typescript/dist/esm/models/SingleRasterSource.js new file mode 100644 index 00000000..838bbebd --- /dev/null +++ b/typescript/dist/esm/models/SingleRasterSource.js @@ -0,0 +1,44 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Geo Engine API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ +import { RasterOperatorFromJSON, RasterOperatorToJSON, } from './RasterOperator'; +/** + * Check if a given object implements the SingleRasterSource interface. + */ +export function instanceOfSingleRasterSource(value) { + if (!('raster' in value) || value['raster'] === undefined) + return false; + return true; +} +export function SingleRasterSourceFromJSON(json) { + return SingleRasterSourceFromJSONTyped(json, false); +} +export function SingleRasterSourceFromJSONTyped(json, ignoreDiscriminator) { + if (json == null) { + return json; + } + return { + 'raster': RasterOperatorFromJSON(json['raster']), + }; +} +export function SingleRasterSourceToJSON(json) { + return SingleRasterSourceToJSONTyped(json, false); +} +export function SingleRasterSourceToJSONTyped(value, ignoreDiscriminator = false) { + if (value == null) { + return value; + } + return { + 'raster': RasterOperatorToJSON(value['raster']), + }; +} diff --git a/typescript/dist/esm/models/SingleVectorMultipleRasterSources.d.ts b/typescript/dist/esm/models/SingleVectorMultipleRasterSources.d.ts new file mode 100644 index 00000000..ad378fe7 --- /dev/null +++ b/typescript/dist/esm/models/SingleVectorMultipleRasterSources.d.ts @@ -0,0 +1,40 @@ +/** + * Geo Engine API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ +import type { RasterOperator } from './RasterOperator'; +import type { VectorOperator } from './VectorOperator'; +/** + * A single vector operator and one or more raster operators as source for this operator. + * @export + * @interface SingleVectorMultipleRasterSources + */ +export interface SingleVectorMultipleRasterSources { + /** + * + * @type {Array} + * @memberof SingleVectorMultipleRasterSources + */ + rasters: Array; + /** + * + * @type {VectorOperator} + * @memberof SingleVectorMultipleRasterSources + */ + vector: VectorOperator; +} +/** + * Check if a given object implements the SingleVectorMultipleRasterSources interface. + */ +export declare function instanceOfSingleVectorMultipleRasterSources(value: object): value is SingleVectorMultipleRasterSources; +export declare function SingleVectorMultipleRasterSourcesFromJSON(json: any): SingleVectorMultipleRasterSources; +export declare function SingleVectorMultipleRasterSourcesFromJSONTyped(json: any, ignoreDiscriminator: boolean): SingleVectorMultipleRasterSources; +export declare function SingleVectorMultipleRasterSourcesToJSON(json: any): SingleVectorMultipleRasterSources; +export declare function SingleVectorMultipleRasterSourcesToJSONTyped(value?: SingleVectorMultipleRasterSources | null, ignoreDiscriminator?: boolean): any; diff --git a/typescript/dist/esm/models/SingleVectorMultipleRasterSources.js b/typescript/dist/esm/models/SingleVectorMultipleRasterSources.js new file mode 100644 index 00000000..756a8502 --- /dev/null +++ b/typescript/dist/esm/models/SingleVectorMultipleRasterSources.js @@ -0,0 +1,49 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Geo Engine API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ +import { RasterOperatorFromJSON, RasterOperatorToJSON, } from './RasterOperator'; +import { VectorOperatorFromJSON, VectorOperatorToJSON, } from './VectorOperator'; +/** + * Check if a given object implements the SingleVectorMultipleRasterSources interface. + */ +export function instanceOfSingleVectorMultipleRasterSources(value) { + if (!('rasters' in value) || value['rasters'] === undefined) + return false; + if (!('vector' in value) || value['vector'] === undefined) + return false; + return true; +} +export function SingleVectorMultipleRasterSourcesFromJSON(json) { + return SingleVectorMultipleRasterSourcesFromJSONTyped(json, false); +} +export function SingleVectorMultipleRasterSourcesFromJSONTyped(json, ignoreDiscriminator) { + if (json == null) { + return json; + } + return { + 'rasters': (json['rasters'].map(RasterOperatorFromJSON)), + 'vector': VectorOperatorFromJSON(json['vector']), + }; +} +export function SingleVectorMultipleRasterSourcesToJSON(json) { + return SingleVectorMultipleRasterSourcesToJSONTyped(json, false); +} +export function SingleVectorMultipleRasterSourcesToJSONTyped(value, ignoreDiscriminator = false) { + if (value == null) { + return value; + } + return { + 'rasters': (value['rasters'].map(RasterOperatorToJSON)), + 'vector': VectorOperatorToJSON(value['vector']), + }; +} diff --git a/typescript/dist/esm/models/SpatialBoundsDerive.d.ts b/typescript/dist/esm/models/SpatialBoundsDerive.d.ts new file mode 100644 index 00000000..8a7ecb71 --- /dev/null +++ b/typescript/dist/esm/models/SpatialBoundsDerive.d.ts @@ -0,0 +1,30 @@ +/** + * Geo Engine API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ +import type { SpatialBoundsDeriveBounds } from './SpatialBoundsDeriveBounds'; +import type { SpatialBoundsDeriveDerive } from './SpatialBoundsDeriveDerive'; +import type { SpatialBoundsDeriveNone } from './SpatialBoundsDeriveNone'; +/** + * @type SpatialBoundsDerive + * Spatial bounds derivation options for the [`MockPointSource`]. + * @export + */ +export type SpatialBoundsDerive = { + type: 'bounds'; +} & SpatialBoundsDeriveBounds | { + type: 'derive'; +} & SpatialBoundsDeriveDerive | { + type: 'none'; +} & SpatialBoundsDeriveNone; +export declare function SpatialBoundsDeriveFromJSON(json: any): SpatialBoundsDerive; +export declare function SpatialBoundsDeriveFromJSONTyped(json: any, ignoreDiscriminator: boolean): SpatialBoundsDerive; +export declare function SpatialBoundsDeriveToJSON(json: any): any; +export declare function SpatialBoundsDeriveToJSONTyped(value?: SpatialBoundsDerive | null, ignoreDiscriminator?: boolean): any; diff --git a/typescript/dist/esm/models/SpatialBoundsDerive.js b/typescript/dist/esm/models/SpatialBoundsDerive.js new file mode 100644 index 00000000..fb0322ba --- /dev/null +++ b/typescript/dist/esm/models/SpatialBoundsDerive.js @@ -0,0 +1,52 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Geo Engine API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ +import { SpatialBoundsDeriveBoundsFromJSONTyped, SpatialBoundsDeriveBoundsToJSON, } from './SpatialBoundsDeriveBounds'; +import { SpatialBoundsDeriveDeriveFromJSONTyped, SpatialBoundsDeriveDeriveToJSON, } from './SpatialBoundsDeriveDerive'; +import { SpatialBoundsDeriveNoneFromJSONTyped, SpatialBoundsDeriveNoneToJSON, } from './SpatialBoundsDeriveNone'; +export function SpatialBoundsDeriveFromJSON(json) { + return SpatialBoundsDeriveFromJSONTyped(json, false); +} +export function SpatialBoundsDeriveFromJSONTyped(json, ignoreDiscriminator) { + if (json == null) { + return json; + } + switch (json['type']) { + case 'bounds': + return Object.assign({}, SpatialBoundsDeriveBoundsFromJSONTyped(json, true), { type: 'bounds' }); + case 'derive': + return Object.assign({}, SpatialBoundsDeriveDeriveFromJSONTyped(json, true), { type: 'derive' }); + case 'none': + return Object.assign({}, SpatialBoundsDeriveNoneFromJSONTyped(json, true), { type: 'none' }); + default: + return json; + } +} +export function SpatialBoundsDeriveToJSON(json) { + return SpatialBoundsDeriveToJSONTyped(json, false); +} +export function SpatialBoundsDeriveToJSONTyped(value, ignoreDiscriminator = false) { + if (value == null) { + return value; + } + switch (value['type']) { + case 'bounds': + return Object.assign({}, SpatialBoundsDeriveBoundsToJSON(value), { type: 'bounds' }); + case 'derive': + return Object.assign({}, SpatialBoundsDeriveDeriveToJSON(value), { type: 'derive' }); + case 'none': + return Object.assign({}, SpatialBoundsDeriveNoneToJSON(value), { type: 'none' }); + default: + return value; + } +} diff --git a/typescript/dist/esm/models/SpatialBoundsDeriveBounds.d.ts b/typescript/dist/esm/models/SpatialBoundsDeriveBounds.d.ts new file mode 100644 index 00000000..c3b99738 --- /dev/null +++ b/typescript/dist/esm/models/SpatialBoundsDeriveBounds.d.ts @@ -0,0 +1,40 @@ +/** + * Geo Engine API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ +import type { BoundingBox2D } from './BoundingBox2D'; +/** + * + * @export + * @interface SpatialBoundsDeriveBounds + */ +export interface SpatialBoundsDeriveBounds extends BoundingBox2D { + /** + * + * @type {SpatialBoundsDeriveBoundsTypeEnum} + * @memberof SpatialBoundsDeriveBounds + */ + type: SpatialBoundsDeriveBoundsTypeEnum; +} +/** + * @export + */ +export declare const SpatialBoundsDeriveBoundsTypeEnum: { + readonly Bounds: "bounds"; +}; +export type SpatialBoundsDeriveBoundsTypeEnum = typeof SpatialBoundsDeriveBoundsTypeEnum[keyof typeof SpatialBoundsDeriveBoundsTypeEnum]; +/** + * Check if a given object implements the SpatialBoundsDeriveBounds interface. + */ +export declare function instanceOfSpatialBoundsDeriveBounds(value: object): value is SpatialBoundsDeriveBounds; +export declare function SpatialBoundsDeriveBoundsFromJSON(json: any): SpatialBoundsDeriveBounds; +export declare function SpatialBoundsDeriveBoundsFromJSONTyped(json: any, ignoreDiscriminator: boolean): SpatialBoundsDeriveBounds; +export declare function SpatialBoundsDeriveBoundsToJSON(json: any): SpatialBoundsDeriveBounds; +export declare function SpatialBoundsDeriveBoundsToJSONTyped(value?: SpatialBoundsDeriveBounds | null, ignoreDiscriminator?: boolean): any; diff --git a/typescript/dist/esm/models/SpatialBoundsDeriveBounds.js b/typescript/dist/esm/models/SpatialBoundsDeriveBounds.js new file mode 100644 index 00000000..101bedf6 --- /dev/null +++ b/typescript/dist/esm/models/SpatialBoundsDeriveBounds.js @@ -0,0 +1,46 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Geo Engine API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ +import { BoundingBox2DFromJSONTyped, BoundingBox2DToJSONTyped, } from './BoundingBox2D'; +/** + * @export + */ +export const SpatialBoundsDeriveBoundsTypeEnum = { + Bounds: 'bounds' +}; +/** + * Check if a given object implements the SpatialBoundsDeriveBounds interface. + */ +export function instanceOfSpatialBoundsDeriveBounds(value) { + if (!('type' in value) || value['type'] === undefined) + return false; + return true; +} +export function SpatialBoundsDeriveBoundsFromJSON(json) { + return SpatialBoundsDeriveBoundsFromJSONTyped(json, false); +} +export function SpatialBoundsDeriveBoundsFromJSONTyped(json, ignoreDiscriminator) { + if (json == null) { + return json; + } + return Object.assign(Object.assign({}, BoundingBox2DFromJSONTyped(json, true)), { 'type': json['type'] }); +} +export function SpatialBoundsDeriveBoundsToJSON(json) { + return SpatialBoundsDeriveBoundsToJSONTyped(json, false); +} +export function SpatialBoundsDeriveBoundsToJSONTyped(value, ignoreDiscriminator = false) { + if (value == null) { + return value; + } + return Object.assign(Object.assign({}, BoundingBox2DToJSONTyped(value, true)), { 'type': value['type'] }); +} diff --git a/typescript/dist/esm/models/SpatialBoundsDeriveDerive.d.ts b/typescript/dist/esm/models/SpatialBoundsDeriveDerive.d.ts new file mode 100644 index 00000000..f01cf928 --- /dev/null +++ b/typescript/dist/esm/models/SpatialBoundsDeriveDerive.d.ts @@ -0,0 +1,39 @@ +/** + * Geo Engine API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ +/** + * + * @export + * @interface SpatialBoundsDeriveDerive + */ +export interface SpatialBoundsDeriveDerive { + /** + * + * @type {SpatialBoundsDeriveDeriveTypeEnum} + * @memberof SpatialBoundsDeriveDerive + */ + type: SpatialBoundsDeriveDeriveTypeEnum; +} +/** + * @export + */ +export declare const SpatialBoundsDeriveDeriveTypeEnum: { + readonly Derive: "derive"; +}; +export type SpatialBoundsDeriveDeriveTypeEnum = typeof SpatialBoundsDeriveDeriveTypeEnum[keyof typeof SpatialBoundsDeriveDeriveTypeEnum]; +/** + * Check if a given object implements the SpatialBoundsDeriveDerive interface. + */ +export declare function instanceOfSpatialBoundsDeriveDerive(value: object): value is SpatialBoundsDeriveDerive; +export declare function SpatialBoundsDeriveDeriveFromJSON(json: any): SpatialBoundsDeriveDerive; +export declare function SpatialBoundsDeriveDeriveFromJSONTyped(json: any, ignoreDiscriminator: boolean): SpatialBoundsDeriveDerive; +export declare function SpatialBoundsDeriveDeriveToJSON(json: any): SpatialBoundsDeriveDerive; +export declare function SpatialBoundsDeriveDeriveToJSONTyped(value?: SpatialBoundsDeriveDerive | null, ignoreDiscriminator?: boolean): any; diff --git a/typescript/dist/esm/models/SpatialBoundsDeriveDerive.js b/typescript/dist/esm/models/SpatialBoundsDeriveDerive.js new file mode 100644 index 00000000..03089910 --- /dev/null +++ b/typescript/dist/esm/models/SpatialBoundsDeriveDerive.js @@ -0,0 +1,49 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Geo Engine API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ +/** + * @export + */ +export const SpatialBoundsDeriveDeriveTypeEnum = { + Derive: 'derive' +}; +/** + * Check if a given object implements the SpatialBoundsDeriveDerive interface. + */ +export function instanceOfSpatialBoundsDeriveDerive(value) { + if (!('type' in value) || value['type'] === undefined) + return false; + return true; +} +export function SpatialBoundsDeriveDeriveFromJSON(json) { + return SpatialBoundsDeriveDeriveFromJSONTyped(json, false); +} +export function SpatialBoundsDeriveDeriveFromJSONTyped(json, ignoreDiscriminator) { + if (json == null) { + return json; + } + return { + 'type': json['type'], + }; +} +export function SpatialBoundsDeriveDeriveToJSON(json) { + return SpatialBoundsDeriveDeriveToJSONTyped(json, false); +} +export function SpatialBoundsDeriveDeriveToJSONTyped(value, ignoreDiscriminator = false) { + if (value == null) { + return value; + } + return { + 'type': value['type'], + }; +} diff --git a/typescript/dist/esm/models/SpatialBoundsDeriveNone.d.ts b/typescript/dist/esm/models/SpatialBoundsDeriveNone.d.ts new file mode 100644 index 00000000..a1eb1596 --- /dev/null +++ b/typescript/dist/esm/models/SpatialBoundsDeriveNone.d.ts @@ -0,0 +1,39 @@ +/** + * Geo Engine API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ +/** + * + * @export + * @interface SpatialBoundsDeriveNone + */ +export interface SpatialBoundsDeriveNone { + /** + * + * @type {SpatialBoundsDeriveNoneTypeEnum} + * @memberof SpatialBoundsDeriveNone + */ + type: SpatialBoundsDeriveNoneTypeEnum; +} +/** + * @export + */ +export declare const SpatialBoundsDeriveNoneTypeEnum: { + readonly None: "none"; +}; +export type SpatialBoundsDeriveNoneTypeEnum = typeof SpatialBoundsDeriveNoneTypeEnum[keyof typeof SpatialBoundsDeriveNoneTypeEnum]; +/** + * Check if a given object implements the SpatialBoundsDeriveNone interface. + */ +export declare function instanceOfSpatialBoundsDeriveNone(value: object): value is SpatialBoundsDeriveNone; +export declare function SpatialBoundsDeriveNoneFromJSON(json: any): SpatialBoundsDeriveNone; +export declare function SpatialBoundsDeriveNoneFromJSONTyped(json: any, ignoreDiscriminator: boolean): SpatialBoundsDeriveNone; +export declare function SpatialBoundsDeriveNoneToJSON(json: any): SpatialBoundsDeriveNone; +export declare function SpatialBoundsDeriveNoneToJSONTyped(value?: SpatialBoundsDeriveNone | null, ignoreDiscriminator?: boolean): any; diff --git a/typescript/dist/esm/models/SpatialBoundsDeriveNone.js b/typescript/dist/esm/models/SpatialBoundsDeriveNone.js new file mode 100644 index 00000000..32c9e336 --- /dev/null +++ b/typescript/dist/esm/models/SpatialBoundsDeriveNone.js @@ -0,0 +1,49 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Geo Engine API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ +/** + * @export + */ +export const SpatialBoundsDeriveNoneTypeEnum = { + None: 'none' +}; +/** + * Check if a given object implements the SpatialBoundsDeriveNone interface. + */ +export function instanceOfSpatialBoundsDeriveNone(value) { + if (!('type' in value) || value['type'] === undefined) + return false; + return true; +} +export function SpatialBoundsDeriveNoneFromJSON(json) { + return SpatialBoundsDeriveNoneFromJSONTyped(json, false); +} +export function SpatialBoundsDeriveNoneFromJSONTyped(json, ignoreDiscriminator) { + if (json == null) { + return json; + } + return { + 'type': json['type'], + }; +} +export function SpatialBoundsDeriveNoneToJSON(json) { + return SpatialBoundsDeriveNoneToJSONTyped(json, false); +} +export function SpatialBoundsDeriveNoneToJSONTyped(value, ignoreDiscriminator = false) { + if (value == null) { + return value; + } + return { + 'type': value['type'], + }; +} diff --git a/typescript/dist/esm/models/SpatialReferenceAuthority.d.ts b/typescript/dist/esm/models/SpatialReferenceAuthority.d.ts deleted file mode 100644 index 485eac66..00000000 --- a/typescript/dist/esm/models/SpatialReferenceAuthority.d.ts +++ /dev/null @@ -1,27 +0,0 @@ -/** - * Geo Engine API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 0.9.0 - * Contact: dev@geoengine.de - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ -/** - * A spatial reference authority that is part of a spatial reference definition - * @export - */ -export declare const SpatialReferenceAuthority: { - readonly Epsg: "EPSG"; - readonly SrOrg: "SR-ORG"; - readonly Iau2000: "IAU2000"; - readonly Esri: "ESRI"; -}; -export type SpatialReferenceAuthority = typeof SpatialReferenceAuthority[keyof typeof SpatialReferenceAuthority]; -export declare function instanceOfSpatialReferenceAuthority(value: any): boolean; -export declare function SpatialReferenceAuthorityFromJSON(json: any): SpatialReferenceAuthority; -export declare function SpatialReferenceAuthorityFromJSONTyped(json: any, ignoreDiscriminator: boolean): SpatialReferenceAuthority; -export declare function SpatialReferenceAuthorityToJSON(value?: SpatialReferenceAuthority | null): any; -export declare function SpatialReferenceAuthorityToJSONTyped(value: any, ignoreDiscriminator: boolean): SpatialReferenceAuthority; diff --git a/typescript/dist/esm/models/SpatialReferenceAuthority.js b/typescript/dist/esm/models/SpatialReferenceAuthority.js deleted file mode 100644 index 8e192f5e..00000000 --- a/typescript/dist/esm/models/SpatialReferenceAuthority.js +++ /dev/null @@ -1,45 +0,0 @@ -/* tslint:disable */ -/* eslint-disable */ -/** - * Geo Engine API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 0.9.0 - * Contact: dev@geoengine.de - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ -/** - * A spatial reference authority that is part of a spatial reference definition - * @export - */ -export const SpatialReferenceAuthority = { - Epsg: 'EPSG', - SrOrg: 'SR-ORG', - Iau2000: 'IAU2000', - Esri: 'ESRI' -}; -export function instanceOfSpatialReferenceAuthority(value) { - for (const key in SpatialReferenceAuthority) { - if (Object.prototype.hasOwnProperty.call(SpatialReferenceAuthority, key)) { - if (SpatialReferenceAuthority[key] === value) { - return true; - } - } - } - return false; -} -export function SpatialReferenceAuthorityFromJSON(json) { - return SpatialReferenceAuthorityFromJSONTyped(json, false); -} -export function SpatialReferenceAuthorityFromJSONTyped(json, ignoreDiscriminator) { - return json; -} -export function SpatialReferenceAuthorityToJSON(value) { - return value; -} -export function SpatialReferenceAuthorityToJSONTyped(value, ignoreDiscriminator) { - return value; -} diff --git a/typescript/dist/esm/models/SpatialResolution.d.ts b/typescript/dist/esm/models/SpatialResolution.d.ts deleted file mode 100644 index 0bf5293e..00000000 --- a/typescript/dist/esm/models/SpatialResolution.d.ts +++ /dev/null @@ -1,38 +0,0 @@ -/** - * Geo Engine API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 0.9.0 - * Contact: dev@geoengine.de - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ -/** - * The spatial resolution in SRS units - * @export - * @interface SpatialResolution - */ -export interface SpatialResolution { - /** - * - * @type {number} - * @memberof SpatialResolution - */ - x: number; - /** - * - * @type {number} - * @memberof SpatialResolution - */ - y: number; -} -/** - * Check if a given object implements the SpatialResolution interface. - */ -export declare function instanceOfSpatialResolution(value: object): value is SpatialResolution; -export declare function SpatialResolutionFromJSON(json: any): SpatialResolution; -export declare function SpatialResolutionFromJSONTyped(json: any, ignoreDiscriminator: boolean): SpatialResolution; -export declare function SpatialResolutionToJSON(json: any): SpatialResolution; -export declare function SpatialResolutionToJSONTyped(value?: SpatialResolution | null, ignoreDiscriminator?: boolean): any; diff --git a/typescript/dist/esm/models/SpatialResolution.js b/typescript/dist/esm/models/SpatialResolution.js deleted file mode 100644 index 9815adb2..00000000 --- a/typescript/dist/esm/models/SpatialResolution.js +++ /dev/null @@ -1,47 +0,0 @@ -/* tslint:disable */ -/* eslint-disable */ -/** - * Geo Engine API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 0.9.0 - * Contact: dev@geoengine.de - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ -/** - * Check if a given object implements the SpatialResolution interface. - */ -export function instanceOfSpatialResolution(value) { - if (!('x' in value) || value['x'] === undefined) - return false; - if (!('y' in value) || value['y'] === undefined) - return false; - return true; -} -export function SpatialResolutionFromJSON(json) { - return SpatialResolutionFromJSONTyped(json, false); -} -export function SpatialResolutionFromJSONTyped(json, ignoreDiscriminator) { - if (json == null) { - return json; - } - return { - 'x': json['x'], - 'y': json['y'], - }; -} -export function SpatialResolutionToJSON(json) { - return SpatialResolutionToJSONTyped(json, false); -} -export function SpatialResolutionToJSONTyped(value, ignoreDiscriminator = false) { - if (value == null) { - return value; - } - return { - 'x': value['x'], - 'y': value['y'], - }; -} diff --git a/typescript/dist/esm/models/Statistics.d.ts b/typescript/dist/esm/models/Statistics.d.ts new file mode 100644 index 00000000..535cb3a4 --- /dev/null +++ b/typescript/dist/esm/models/Statistics.d.ts @@ -0,0 +1,116 @@ +/** + * Geo Engine API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ +import type { MultipleRasterOrSingleVectorSource } from './MultipleRasterOrSingleVectorSource'; +import type { StatisticsParameters } from './StatisticsParameters'; +/** + * The `Statistics` operator is a _plot operator_ that computes count statistics over + * + * - a selection of numerical columns of a single vector dataset, or + * - multiple raster datasets. + * + * The output is a JSON description. + * + * For instance, you want to get an overview of a raster data source. + * Then, you can use this operator to get basic count statistics. + * + * ## Vector Data + * + * In the case of vector data, the operator generates one statistic for each of the selected numerical attributes. + * The operator returns an error if one of the selected attributes is not numeric. + * + * ## Raster Data + * + * For raster data, the operator generates one statistic for each input raster. + * + * ## Inputs + * + * The operator consumes exactly one _vector_ or multiple _raster_ operators. + * + * | Parameter | Type | + * | --------- | ------------------------------------ | + * | `source` | `MultipleRasterOrSingleVectorSource` | + * + * ## Errors + * + * The operator returns an error in the following cases. + * + * - Vector data: The `attribute` for one of the given `columnNames` is not numeric. + * - Vector data: The `attribute` for one of the given `columnNames` does not exist. + * - Raster data: The length of the `columnNames` parameter does not match the number of input rasters. + * + * ### Example Output + * + * ```json + * { + * "A": { + * "valueCount": 6, + * "validCount": 6, + * "min": 1.0, + * "max": 6.0, + * "mean": 3.5, + * "stddev": 1.707, + * "percentiles": [ + * { + * "percentile": 0.25, + * "value": 2.0 + * }, + * { + * "percentile": 0.5, + * "value": 3.5 + * }, + * { + * "percentile": 0.75, + * "value": 5.0 + * } + * ] + * } + * } + * ``` + * + * @export + * @interface Statistics + */ +export interface Statistics { + /** + * + * @type {StatisticsParameters} + * @memberof Statistics + */ + params: StatisticsParameters; + /** + * + * @type {MultipleRasterOrSingleVectorSource} + * @memberof Statistics + */ + sources: MultipleRasterOrSingleVectorSource; + /** + * + * @type {StatisticsTypeEnum} + * @memberof Statistics + */ + type: StatisticsTypeEnum; +} +/** + * @export + */ +export declare const StatisticsTypeEnum: { + readonly Statistics: "Statistics"; +}; +export type StatisticsTypeEnum = typeof StatisticsTypeEnum[keyof typeof StatisticsTypeEnum]; +/** + * Check if a given object implements the Statistics interface. + */ +export declare function instanceOfStatistics(value: object): value is Statistics; +export declare function StatisticsFromJSON(json: any): Statistics; +export declare function StatisticsFromJSONTyped(json: any, ignoreDiscriminator: boolean): Statistics; +export declare function StatisticsToJSON(json: any): Statistics; +export declare function StatisticsToJSONTyped(value?: Statistics | null, ignoreDiscriminator?: boolean): any; diff --git a/typescript/dist/esm/models/Statistics.js b/typescript/dist/esm/models/Statistics.js new file mode 100644 index 00000000..d806131e --- /dev/null +++ b/typescript/dist/esm/models/Statistics.js @@ -0,0 +1,59 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Geo Engine API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ +import { MultipleRasterOrSingleVectorSourceFromJSON, MultipleRasterOrSingleVectorSourceToJSON, } from './MultipleRasterOrSingleVectorSource'; +import { StatisticsParametersFromJSON, StatisticsParametersToJSON, } from './StatisticsParameters'; +/** + * @export + */ +export const StatisticsTypeEnum = { + Statistics: 'Statistics' +}; +/** + * Check if a given object implements the Statistics interface. + */ +export function instanceOfStatistics(value) { + if (!('params' in value) || value['params'] === undefined) + return false; + if (!('sources' in value) || value['sources'] === undefined) + return false; + if (!('type' in value) || value['type'] === undefined) + return false; + return true; +} +export function StatisticsFromJSON(json) { + return StatisticsFromJSONTyped(json, false); +} +export function StatisticsFromJSONTyped(json, ignoreDiscriminator) { + if (json == null) { + return json; + } + return { + 'params': StatisticsParametersFromJSON(json['params']), + 'sources': MultipleRasterOrSingleVectorSourceFromJSON(json['sources']), + 'type': json['type'], + }; +} +export function StatisticsToJSON(json) { + return StatisticsToJSONTyped(json, false); +} +export function StatisticsToJSONTyped(value, ignoreDiscriminator = false) { + if (value == null) { + return value; + } + return { + 'params': StatisticsParametersToJSON(value['params']), + 'sources': MultipleRasterOrSingleVectorSourceToJSON(value['sources']), + 'type': value['type'], + }; +} diff --git a/typescript/dist/esm/models/StatisticsParameters.d.ts b/typescript/dist/esm/models/StatisticsParameters.d.ts new file mode 100644 index 00000000..cad909ac --- /dev/null +++ b/typescript/dist/esm/models/StatisticsParameters.d.ts @@ -0,0 +1,45 @@ +/** + * Geo Engine API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ +/** + * The parameter spec for `Statistics` + * @export + * @interface StatisticsParameters + */ +export interface StatisticsParameters { + /** + * # Vector data + * The names of the attributes to generate statistics for. + * + * # Raster data + * _Optional_: An alias for each input source. + * The operator will automatically name the rasters `Raster-1`, `Raster-2`, … if this parameter is empty. + * If aliases are given, the number of aliases must match the number of input rasters. + * Otherwise an error is returned. + * @type {Array} + * @memberof StatisticsParameters + */ + columnNames?: Array; + /** + * The percentiles to compute for each attribute. + * @type {Array} + * @memberof StatisticsParameters + */ + percentiles?: Array; +} +/** + * Check if a given object implements the StatisticsParameters interface. + */ +export declare function instanceOfStatisticsParameters(value: object): value is StatisticsParameters; +export declare function StatisticsParametersFromJSON(json: any): StatisticsParameters; +export declare function StatisticsParametersFromJSONTyped(json: any, ignoreDiscriminator: boolean): StatisticsParameters; +export declare function StatisticsParametersToJSON(json: any): StatisticsParameters; +export declare function StatisticsParametersToJSONTyped(value?: StatisticsParameters | null, ignoreDiscriminator?: boolean): any; diff --git a/typescript/dist/esm/models/StatisticsParameters.js b/typescript/dist/esm/models/StatisticsParameters.js new file mode 100644 index 00000000..b593d08b --- /dev/null +++ b/typescript/dist/esm/models/StatisticsParameters.js @@ -0,0 +1,43 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Geo Engine API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ +/** + * Check if a given object implements the StatisticsParameters interface. + */ +export function instanceOfStatisticsParameters(value) { + return true; +} +export function StatisticsParametersFromJSON(json) { + return StatisticsParametersFromJSONTyped(json, false); +} +export function StatisticsParametersFromJSONTyped(json, ignoreDiscriminator) { + if (json == null) { + return json; + } + return { + 'columnNames': json['columnNames'] == null ? undefined : json['columnNames'], + 'percentiles': json['percentiles'] == null ? undefined : json['percentiles'], + }; +} +export function StatisticsParametersToJSON(json) { + return StatisticsParametersToJSONTyped(json, false); +} +export function StatisticsParametersToJSONTyped(value, ignoreDiscriminator = false) { + if (value == null) { + return value; + } + return { + 'columnNames': value['columnNames'], + 'percentiles': value['percentiles'], + }; +} diff --git a/typescript/dist/esm/models/Suffix.d.ts b/typescript/dist/esm/models/Suffix.d.ts new file mode 100644 index 00000000..0ed0b2eb --- /dev/null +++ b/typescript/dist/esm/models/Suffix.d.ts @@ -0,0 +1,45 @@ +/** + * Geo Engine API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ +/** + * + * @export + * @interface Suffix + */ +export interface Suffix { + /** + * + * @type {SuffixTypeEnum} + * @memberof Suffix + */ + type: SuffixTypeEnum; + /** + * + * @type {Array} + * @memberof Suffix + */ + values: Array; +} +/** + * @export + */ +export declare const SuffixTypeEnum: { + readonly Suffix: "suffix"; +}; +export type SuffixTypeEnum = typeof SuffixTypeEnum[keyof typeof SuffixTypeEnum]; +/** + * Check if a given object implements the Suffix interface. + */ +export declare function instanceOfSuffix(value: object): value is Suffix; +export declare function SuffixFromJSON(json: any): Suffix; +export declare function SuffixFromJSONTyped(json: any, ignoreDiscriminator: boolean): Suffix; +export declare function SuffixToJSON(json: any): Suffix; +export declare function SuffixToJSONTyped(value?: Suffix | null, ignoreDiscriminator?: boolean): any; diff --git a/typescript/dist/esm/models/Suffix.js b/typescript/dist/esm/models/Suffix.js new file mode 100644 index 00000000..a6097f5f --- /dev/null +++ b/typescript/dist/esm/models/Suffix.js @@ -0,0 +1,53 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Geo Engine API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ +/** + * @export + */ +export const SuffixTypeEnum = { + Suffix: 'suffix' +}; +/** + * Check if a given object implements the Suffix interface. + */ +export function instanceOfSuffix(value) { + if (!('type' in value) || value['type'] === undefined) + return false; + if (!('values' in value) || value['values'] === undefined) + return false; + return true; +} +export function SuffixFromJSON(json) { + return SuffixFromJSONTyped(json, false); +} +export function SuffixFromJSONTyped(json, ignoreDiscriminator) { + if (json == null) { + return json; + } + return { + 'type': json['type'], + 'values': json['values'], + }; +} +export function SuffixToJSON(json) { + return SuffixToJSONTyped(json, false); +} +export function SuffixToJSONTyped(value, ignoreDiscriminator = false) { + if (value == null) { + return value; + } + return { + 'type': value['type'], + 'values': value['values'], + }; +} diff --git a/typescript/dist/esm/models/TaskAbortOptions.d.ts b/typescript/dist/esm/models/TaskAbortOptions.d.ts deleted file mode 100644 index b44e7967..00000000 --- a/typescript/dist/esm/models/TaskAbortOptions.d.ts +++ /dev/null @@ -1,32 +0,0 @@ -/** - * Geo Engine API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 0.9.0 - * Contact: dev@geoengine.de - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ -/** - * - * @export - * @interface TaskAbortOptions - */ -export interface TaskAbortOptions { - /** - * - * @type {boolean} - * @memberof TaskAbortOptions - */ - force?: boolean; -} -/** - * Check if a given object implements the TaskAbortOptions interface. - */ -export declare function instanceOfTaskAbortOptions(value: object): value is TaskAbortOptions; -export declare function TaskAbortOptionsFromJSON(json: any): TaskAbortOptions; -export declare function TaskAbortOptionsFromJSONTyped(json: any, ignoreDiscriminator: boolean): TaskAbortOptions; -export declare function TaskAbortOptionsToJSON(json: any): TaskAbortOptions; -export declare function TaskAbortOptionsToJSONTyped(value?: TaskAbortOptions | null, ignoreDiscriminator?: boolean): any; diff --git a/typescript/dist/esm/models/TaskAbortOptions.js b/typescript/dist/esm/models/TaskAbortOptions.js deleted file mode 100644 index 4106030c..00000000 --- a/typescript/dist/esm/models/TaskAbortOptions.js +++ /dev/null @@ -1,41 +0,0 @@ -/* tslint:disable */ -/* eslint-disable */ -/** - * Geo Engine API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 0.9.0 - * Contact: dev@geoengine.de - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ -/** - * Check if a given object implements the TaskAbortOptions interface. - */ -export function instanceOfTaskAbortOptions(value) { - return true; -} -export function TaskAbortOptionsFromJSON(json) { - return TaskAbortOptionsFromJSONTyped(json, false); -} -export function TaskAbortOptionsFromJSONTyped(json, ignoreDiscriminator) { - if (json == null) { - return json; - } - return { - 'force': json['force'] == null ? undefined : json['force'], - }; -} -export function TaskAbortOptionsToJSON(json) { - return TaskAbortOptionsToJSONTyped(json, false); -} -export function TaskAbortOptionsToJSONTyped(value, ignoreDiscriminator = false) { - if (value == null) { - return value; - } - return { - 'force': value['force'], - }; -} diff --git a/typescript/dist/esm/models/TaskListOptions.d.ts b/typescript/dist/esm/models/TaskListOptions.d.ts deleted file mode 100644 index e709c6dc..00000000 --- a/typescript/dist/esm/models/TaskListOptions.d.ts +++ /dev/null @@ -1,45 +0,0 @@ -/** - * Geo Engine API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 0.9.0 - * Contact: dev@geoengine.de - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ -import type { TaskFilter } from './TaskFilter'; -/** - * - * @export - * @interface TaskListOptions - */ -export interface TaskListOptions { - /** - * - * @type {TaskFilter} - * @memberof TaskListOptions - */ - filter?: TaskFilter | null; - /** - * - * @type {number} - * @memberof TaskListOptions - */ - limit?: number; - /** - * - * @type {number} - * @memberof TaskListOptions - */ - offset?: number; -} -/** - * Check if a given object implements the TaskListOptions interface. - */ -export declare function instanceOfTaskListOptions(value: object): value is TaskListOptions; -export declare function TaskListOptionsFromJSON(json: any): TaskListOptions; -export declare function TaskListOptionsFromJSONTyped(json: any, ignoreDiscriminator: boolean): TaskListOptions; -export declare function TaskListOptionsToJSON(json: any): TaskListOptions; -export declare function TaskListOptionsToJSONTyped(value?: TaskListOptions | null, ignoreDiscriminator?: boolean): any; diff --git a/typescript/dist/esm/models/TaskListOptions.js b/typescript/dist/esm/models/TaskListOptions.js deleted file mode 100644 index f3f4e715..00000000 --- a/typescript/dist/esm/models/TaskListOptions.js +++ /dev/null @@ -1,46 +0,0 @@ -/* tslint:disable */ -/* eslint-disable */ -/** - * Geo Engine API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 0.9.0 - * Contact: dev@geoengine.de - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ -import { TaskFilterFromJSON, TaskFilterToJSON, } from './TaskFilter'; -/** - * Check if a given object implements the TaskListOptions interface. - */ -export function instanceOfTaskListOptions(value) { - return true; -} -export function TaskListOptionsFromJSON(json) { - return TaskListOptionsFromJSONTyped(json, false); -} -export function TaskListOptionsFromJSONTyped(json, ignoreDiscriminator) { - if (json == null) { - return json; - } - return { - 'filter': json['filter'] == null ? undefined : TaskFilterFromJSON(json['filter']), - 'limit': json['limit'] == null ? undefined : json['limit'], - 'offset': json['offset'] == null ? undefined : json['offset'], - }; -} -export function TaskListOptionsToJSON(json) { - return TaskListOptionsToJSONTyped(json, false); -} -export function TaskListOptionsToJSONTyped(value, ignoreDiscriminator = false) { - if (value == null) { - return value; - } - return { - 'filter': TaskFilterToJSON(value['filter']), - 'limit': value['limit'], - 'offset': value['offset'], - }; -} diff --git a/typescript/dist/esm/models/TemporalAggregationMethod.d.ts b/typescript/dist/esm/models/TemporalAggregationMethod.d.ts new file mode 100644 index 00000000..7abde5f6 --- /dev/null +++ b/typescript/dist/esm/models/TemporalAggregationMethod.d.ts @@ -0,0 +1,26 @@ +/** + * Geo Engine API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ +/** + * + * @export + */ +export declare const TemporalAggregationMethod: { + readonly None: "none"; + readonly First: "first"; + readonly Mean: "mean"; +}; +export type TemporalAggregationMethod = typeof TemporalAggregationMethod[keyof typeof TemporalAggregationMethod]; +export declare function instanceOfTemporalAggregationMethod(value: any): boolean; +export declare function TemporalAggregationMethodFromJSON(json: any): TemporalAggregationMethod; +export declare function TemporalAggregationMethodFromJSONTyped(json: any, ignoreDiscriminator: boolean): TemporalAggregationMethod; +export declare function TemporalAggregationMethodToJSON(value?: TemporalAggregationMethod | null): any; +export declare function TemporalAggregationMethodToJSONTyped(value: any, ignoreDiscriminator: boolean): TemporalAggregationMethod; diff --git a/typescript/dist/esm/models/TemporalAggregationMethod.js b/typescript/dist/esm/models/TemporalAggregationMethod.js new file mode 100644 index 00000000..7dbe95f3 --- /dev/null +++ b/typescript/dist/esm/models/TemporalAggregationMethod.js @@ -0,0 +1,44 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Geo Engine API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ +/** + * + * @export + */ +export const TemporalAggregationMethod = { + None: 'none', + First: 'first', + Mean: 'mean' +}; +export function instanceOfTemporalAggregationMethod(value) { + for (const key in TemporalAggregationMethod) { + if (Object.prototype.hasOwnProperty.call(TemporalAggregationMethod, key)) { + if (TemporalAggregationMethod[key] === value) { + return true; + } + } + } + return false; +} +export function TemporalAggregationMethodFromJSON(json) { + return TemporalAggregationMethodFromJSONTyped(json, false); +} +export function TemporalAggregationMethodFromJSONTyped(json, ignoreDiscriminator) { + return json; +} +export function TemporalAggregationMethodToJSON(value) { + return value; +} +export function TemporalAggregationMethodToJSONTyped(value, ignoreDiscriminator) { + return value; +} diff --git a/typescript/dist/esm/models/TypedOperator.d.ts b/typescript/dist/esm/models/TypedOperator.d.ts index a95c39cf..1e4f9576 100644 --- a/typescript/dist/esm/models/TypedOperator.d.ts +++ b/typescript/dist/esm/models/TypedOperator.d.ts @@ -9,40 +9,21 @@ * https://openapi-generator.tech * Do not edit the class manually. */ -import type { TypedOperatorOperator } from './TypedOperatorOperator'; +import type { TypedPlotOperator } from './TypedPlotOperator'; +import type { TypedRasterOperator } from './TypedRasterOperator'; +import type { TypedVectorOperator } from './TypedVectorOperator'; /** - * An enum to differentiate between `Operator` variants + * @type TypedOperator + * Operator outputs are distinguished by their data type. + * There are `raster`, `vector` and `plot` operators. * @export - * @interface TypedOperator */ -export interface TypedOperator { - /** - * - * @type {TypedOperatorOperator} - * @memberof TypedOperator - */ - operator: TypedOperatorOperator; - /** - * - * @type {TypedOperatorTypeEnum} - * @memberof TypedOperator - */ - type: TypedOperatorTypeEnum; -} -/** - * @export - */ -export declare const TypedOperatorTypeEnum: { - readonly Vector: "Vector"; - readonly Raster: "Raster"; - readonly Plot: "Plot"; -}; -export type TypedOperatorTypeEnum = typeof TypedOperatorTypeEnum[keyof typeof TypedOperatorTypeEnum]; -/** - * Check if a given object implements the TypedOperator interface. - */ -export declare function instanceOfTypedOperator(value: object): value is TypedOperator; +export type TypedOperator = TypedPlotOperator | TypedRasterOperator | TypedVectorOperator; export declare function TypedOperatorFromJSON(json: any): TypedOperator; export declare function TypedOperatorFromJSONTyped(json: any, ignoreDiscriminator: boolean): TypedOperator; -export declare function TypedOperatorToJSON(json: any): TypedOperator; +export declare function TypedOperatorToJSON(json: any): any; export declare function TypedOperatorToJSONTyped(value?: TypedOperator | null, ignoreDiscriminator?: boolean): any; +/** +* Check if a given object implements the TypedOperator interface. +*/ +export declare function instanceOfTypedOperator(value: object): value is TypedOperator; diff --git a/typescript/dist/esm/models/TypedOperator.js b/typescript/dist/esm/models/TypedOperator.js index 98c8300e..00f5c6ec 100644 --- a/typescript/dist/esm/models/TypedOperator.js +++ b/typescript/dist/esm/models/TypedOperator.js @@ -11,25 +11,9 @@ * https://openapi-generator.tech * Do not edit the class manually. */ -import { TypedOperatorOperatorFromJSON, TypedOperatorOperatorToJSON, } from './TypedOperatorOperator'; -/** - * @export - */ -export const TypedOperatorTypeEnum = { - Vector: 'Vector', - Raster: 'Raster', - Plot: 'Plot' -}; -/** - * Check if a given object implements the TypedOperator interface. - */ -export function instanceOfTypedOperator(value) { - if (!('operator' in value) || value['operator'] === undefined) - return false; - if (!('type' in value) || value['type'] === undefined) - return false; - return true; -} +import { instanceOfTypedPlotOperator, TypedPlotOperatorFromJSONTyped, TypedPlotOperatorToJSON, } from './TypedPlotOperator'; +import { instanceOfTypedRasterOperator, TypedRasterOperatorFromJSONTyped, TypedRasterOperatorToJSON, } from './TypedRasterOperator'; +import { instanceOfTypedVectorOperator, TypedVectorOperatorFromJSONTyped, TypedVectorOperatorToJSON, } from './TypedVectorOperator'; export function TypedOperatorFromJSON(json) { return TypedOperatorFromJSONTyped(json, false); } @@ -37,10 +21,19 @@ export function TypedOperatorFromJSONTyped(json, ignoreDiscriminator) { if (json == null) { return json; } - return { - 'operator': TypedOperatorOperatorFromJSON(json['operator']), - 'type': json['type'], - }; + if (typeof json !== 'object') { + return json; + } + if (instanceOfTypedPlotOperator(json)) { + return TypedPlotOperatorFromJSONTyped(json, true); + } + if (instanceOfTypedRasterOperator(json)) { + return TypedRasterOperatorFromJSONTyped(json, true); + } + if (instanceOfTypedVectorOperator(json)) { + return TypedVectorOperatorFromJSONTyped(json, true); + } + return {}; } export function TypedOperatorToJSON(json) { return TypedOperatorToJSONTyped(json, false); @@ -49,8 +42,25 @@ export function TypedOperatorToJSONTyped(value, ignoreDiscriminator = false) { if (value == null) { return value; } - return { - 'operator': TypedOperatorOperatorToJSON(value['operator']), - 'type': value['type'], - }; + if (typeof value !== 'object') { + return value; + } + if (instanceOfTypedPlotOperator(value)) { + return TypedPlotOperatorToJSON(value); + } + if (instanceOfTypedRasterOperator(value)) { + return TypedRasterOperatorToJSON(value); + } + if (instanceOfTypedVectorOperator(value)) { + return TypedVectorOperatorToJSON(value); + } + return {}; +} +/** +* Check if a given object implements the TypedOperator interface. +*/ +export function instanceOfTypedOperator(value) { + return instanceOfTypedPlotOperator(value) + || instanceOfTypedRasterOperator(value) + || instanceOfTypedVectorOperator(value); } diff --git a/typescript/dist/esm/models/TypedOperatorOperator.d.ts b/typescript/dist/esm/models/TypedOperatorOperator.d.ts deleted file mode 100644 index db7b1efd..00000000 --- a/typescript/dist/esm/models/TypedOperatorOperator.d.ts +++ /dev/null @@ -1,44 +0,0 @@ -/** - * Geo Engine API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 0.9.0 - * Contact: dev@geoengine.de - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ -/** - * - * @export - * @interface TypedOperatorOperator - */ -export interface TypedOperatorOperator { - /** - * - * @type {object} - * @memberof TypedOperatorOperator - */ - params?: object; - /** - * - * @type {object} - * @memberof TypedOperatorOperator - */ - sources?: object; - /** - * - * @type {string} - * @memberof TypedOperatorOperator - */ - type: string; -} -/** - * Check if a given object implements the TypedOperatorOperator interface. - */ -export declare function instanceOfTypedOperatorOperator(value: object): value is TypedOperatorOperator; -export declare function TypedOperatorOperatorFromJSON(json: any): TypedOperatorOperator; -export declare function TypedOperatorOperatorFromJSONTyped(json: any, ignoreDiscriminator: boolean): TypedOperatorOperator; -export declare function TypedOperatorOperatorToJSON(json: any): TypedOperatorOperator; -export declare function TypedOperatorOperatorToJSONTyped(value?: TypedOperatorOperator | null, ignoreDiscriminator?: boolean): any; diff --git a/typescript/dist/esm/models/TypedPlotOperator.d.ts b/typescript/dist/esm/models/TypedPlotOperator.d.ts new file mode 100644 index 00000000..6f439f1a --- /dev/null +++ b/typescript/dist/esm/models/TypedPlotOperator.d.ts @@ -0,0 +1,46 @@ +/** + * Geo Engine API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ +import type { PlotOperator } from './PlotOperator'; +/** + * + * @export + * @interface TypedPlotOperator + */ +export interface TypedPlotOperator { + /** + * + * @type {PlotOperator} + * @memberof TypedPlotOperator + */ + operator: PlotOperator; + /** + * + * @type {TypedPlotOperatorTypeEnum} + * @memberof TypedPlotOperator + */ + type: TypedPlotOperatorTypeEnum; +} +/** + * @export + */ +export declare const TypedPlotOperatorTypeEnum: { + readonly Plot: "Plot"; +}; +export type TypedPlotOperatorTypeEnum = typeof TypedPlotOperatorTypeEnum[keyof typeof TypedPlotOperatorTypeEnum]; +/** + * Check if a given object implements the TypedPlotOperator interface. + */ +export declare function instanceOfTypedPlotOperator(value: object): value is TypedPlotOperator; +export declare function TypedPlotOperatorFromJSON(json: any): TypedPlotOperator; +export declare function TypedPlotOperatorFromJSONTyped(json: any, ignoreDiscriminator: boolean): TypedPlotOperator; +export declare function TypedPlotOperatorToJSON(json: any): TypedPlotOperator; +export declare function TypedPlotOperatorToJSONTyped(value?: TypedPlotOperator | null, ignoreDiscriminator?: boolean): any; diff --git a/typescript/dist/esm/models/TypedPlotOperator.js b/typescript/dist/esm/models/TypedPlotOperator.js new file mode 100644 index 00000000..8b886edd --- /dev/null +++ b/typescript/dist/esm/models/TypedPlotOperator.js @@ -0,0 +1,54 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Geo Engine API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ +import { PlotOperatorFromJSON, PlotOperatorToJSON, } from './PlotOperator'; +/** + * @export + */ +export const TypedPlotOperatorTypeEnum = { + Plot: 'Plot' +}; +/** + * Check if a given object implements the TypedPlotOperator interface. + */ +export function instanceOfTypedPlotOperator(value) { + if (!('operator' in value) || value['operator'] === undefined) + return false; + if (!('type' in value) || value['type'] === undefined) + return false; + return true; +} +export function TypedPlotOperatorFromJSON(json) { + return TypedPlotOperatorFromJSONTyped(json, false); +} +export function TypedPlotOperatorFromJSONTyped(json, ignoreDiscriminator) { + if (json == null) { + return json; + } + return { + 'operator': PlotOperatorFromJSON(json['operator']), + 'type': json['type'], + }; +} +export function TypedPlotOperatorToJSON(json) { + return TypedPlotOperatorToJSONTyped(json, false); +} +export function TypedPlotOperatorToJSONTyped(value, ignoreDiscriminator = false) { + if (value == null) { + return value; + } + return { + 'operator': PlotOperatorToJSON(value['operator']), + 'type': value['type'], + }; +} diff --git a/typescript/dist/esm/models/TypedRasterOperator.d.ts b/typescript/dist/esm/models/TypedRasterOperator.d.ts new file mode 100644 index 00000000..d38ba935 --- /dev/null +++ b/typescript/dist/esm/models/TypedRasterOperator.d.ts @@ -0,0 +1,46 @@ +/** + * Geo Engine API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ +import type { RasterOperator } from './RasterOperator'; +/** + * + * @export + * @interface TypedRasterOperator + */ +export interface TypedRasterOperator { + /** + * + * @type {RasterOperator} + * @memberof TypedRasterOperator + */ + operator: RasterOperator; + /** + * + * @type {TypedRasterOperatorTypeEnum} + * @memberof TypedRasterOperator + */ + type: TypedRasterOperatorTypeEnum; +} +/** + * @export + */ +export declare const TypedRasterOperatorTypeEnum: { + readonly Raster: "Raster"; +}; +export type TypedRasterOperatorTypeEnum = typeof TypedRasterOperatorTypeEnum[keyof typeof TypedRasterOperatorTypeEnum]; +/** + * Check if a given object implements the TypedRasterOperator interface. + */ +export declare function instanceOfTypedRasterOperator(value: object): value is TypedRasterOperator; +export declare function TypedRasterOperatorFromJSON(json: any): TypedRasterOperator; +export declare function TypedRasterOperatorFromJSONTyped(json: any, ignoreDiscriminator: boolean): TypedRasterOperator; +export declare function TypedRasterOperatorToJSON(json: any): TypedRasterOperator; +export declare function TypedRasterOperatorToJSONTyped(value?: TypedRasterOperator | null, ignoreDiscriminator?: boolean): any; diff --git a/typescript/dist/esm/models/TypedRasterOperator.js b/typescript/dist/esm/models/TypedRasterOperator.js new file mode 100644 index 00000000..74123556 --- /dev/null +++ b/typescript/dist/esm/models/TypedRasterOperator.js @@ -0,0 +1,54 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Geo Engine API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ +import { RasterOperatorFromJSON, RasterOperatorToJSON, } from './RasterOperator'; +/** + * @export + */ +export const TypedRasterOperatorTypeEnum = { + Raster: 'Raster' +}; +/** + * Check if a given object implements the TypedRasterOperator interface. + */ +export function instanceOfTypedRasterOperator(value) { + if (!('operator' in value) || value['operator'] === undefined) + return false; + if (!('type' in value) || value['type'] === undefined) + return false; + return true; +} +export function TypedRasterOperatorFromJSON(json) { + return TypedRasterOperatorFromJSONTyped(json, false); +} +export function TypedRasterOperatorFromJSONTyped(json, ignoreDiscriminator) { + if (json == null) { + return json; + } + return { + 'operator': RasterOperatorFromJSON(json['operator']), + 'type': json['type'], + }; +} +export function TypedRasterOperatorToJSON(json) { + return TypedRasterOperatorToJSONTyped(json, false); +} +export function TypedRasterOperatorToJSONTyped(value, ignoreDiscriminator = false) { + if (value == null) { + return value; + } + return { + 'operator': RasterOperatorToJSON(value['operator']), + 'type': value['type'], + }; +} diff --git a/typescript/dist/esm/models/TypedVectorOperator.d.ts b/typescript/dist/esm/models/TypedVectorOperator.d.ts new file mode 100644 index 00000000..d801ef4d --- /dev/null +++ b/typescript/dist/esm/models/TypedVectorOperator.d.ts @@ -0,0 +1,46 @@ +/** + * Geo Engine API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ +import type { VectorOperator } from './VectorOperator'; +/** + * + * @export + * @interface TypedVectorOperator + */ +export interface TypedVectorOperator { + /** + * + * @type {VectorOperator} + * @memberof TypedVectorOperator + */ + operator: VectorOperator; + /** + * + * @type {TypedVectorOperatorTypeEnum} + * @memberof TypedVectorOperator + */ + type: TypedVectorOperatorTypeEnum; +} +/** + * @export + */ +export declare const TypedVectorOperatorTypeEnum: { + readonly Vector: "Vector"; +}; +export type TypedVectorOperatorTypeEnum = typeof TypedVectorOperatorTypeEnum[keyof typeof TypedVectorOperatorTypeEnum]; +/** + * Check if a given object implements the TypedVectorOperator interface. + */ +export declare function instanceOfTypedVectorOperator(value: object): value is TypedVectorOperator; +export declare function TypedVectorOperatorFromJSON(json: any): TypedVectorOperator; +export declare function TypedVectorOperatorFromJSONTyped(json: any, ignoreDiscriminator: boolean): TypedVectorOperator; +export declare function TypedVectorOperatorToJSON(json: any): TypedVectorOperator; +export declare function TypedVectorOperatorToJSONTyped(value?: TypedVectorOperator | null, ignoreDiscriminator?: boolean): any; diff --git a/typescript/dist/esm/models/TypedVectorOperator.js b/typescript/dist/esm/models/TypedVectorOperator.js new file mode 100644 index 00000000..aa5ed25a --- /dev/null +++ b/typescript/dist/esm/models/TypedVectorOperator.js @@ -0,0 +1,54 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Geo Engine API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ +import { VectorOperatorFromJSON, VectorOperatorToJSON, } from './VectorOperator'; +/** + * @export + */ +export const TypedVectorOperatorTypeEnum = { + Vector: 'Vector' +}; +/** + * Check if a given object implements the TypedVectorOperator interface. + */ +export function instanceOfTypedVectorOperator(value) { + if (!('operator' in value) || value['operator'] === undefined) + return false; + if (!('type' in value) || value['type'] === undefined) + return false; + return true; +} +export function TypedVectorOperatorFromJSON(json) { + return TypedVectorOperatorFromJSONTyped(json, false); +} +export function TypedVectorOperatorFromJSONTyped(json, ignoreDiscriminator) { + if (json == null) { + return json; + } + return { + 'operator': VectorOperatorFromJSON(json['operator']), + 'type': json['type'], + }; +} +export function TypedVectorOperatorToJSON(json) { + return TypedVectorOperatorToJSONTyped(json, false); +} +export function TypedVectorOperatorToJSONTyped(value, ignoreDiscriminator = false) { + if (value == null) { + return value; + } + return { + 'operator': VectorOperatorToJSON(value['operator']), + 'type': value['type'], + }; +} diff --git a/typescript/dist/esm/models/VectorOperator.d.ts b/typescript/dist/esm/models/VectorOperator.d.ts new file mode 100644 index 00000000..3bf76dad --- /dev/null +++ b/typescript/dist/esm/models/VectorOperator.d.ts @@ -0,0 +1,31 @@ +/** + * Geo Engine API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ +import type { MockPointSource } from './MockPointSource'; +import type { RasterVectorJoin } from './RasterVectorJoin'; +/** + * @type VectorOperator + * An operator that produces vector data. + * @export + */ +export type VectorOperator = { + type: 'MockPointSource'; +} & MockPointSource | { + type: 'RasterVectorJoin'; +} & RasterVectorJoin; +export declare function VectorOperatorFromJSON(json: any): VectorOperator; +export declare function VectorOperatorFromJSONTyped(json: any, ignoreDiscriminator: boolean): VectorOperator; +export declare function VectorOperatorToJSON(json: any): any; +export declare function VectorOperatorToJSONTyped(value?: VectorOperator | null, ignoreDiscriminator?: boolean): any; +/** +* Check if a given object implements the VectorOperator interface. +*/ +export declare function instanceOfVectorOperator(value: object): value is VectorOperator; diff --git a/typescript/dist/esm/models/VectorOperator.js b/typescript/dist/esm/models/VectorOperator.js new file mode 100644 index 00000000..a479d5d1 --- /dev/null +++ b/typescript/dist/esm/models/VectorOperator.js @@ -0,0 +1,54 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Geo Engine API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ +import { instanceOfMockPointSource, MockPointSourceFromJSONTyped, MockPointSourceToJSON, } from './MockPointSource'; +import { instanceOfRasterVectorJoin, RasterVectorJoinFromJSONTyped, RasterVectorJoinToJSON, } from './RasterVectorJoin'; +export function VectorOperatorFromJSON(json) { + return VectorOperatorFromJSONTyped(json, false); +} +export function VectorOperatorFromJSONTyped(json, ignoreDiscriminator) { + if (json == null) { + return json; + } + switch (json['type']) { + case 'MockPointSource': + return Object.assign({}, MockPointSourceFromJSONTyped(json, true), { type: 'MockPointSource' }); + case 'RasterVectorJoin': + return Object.assign({}, RasterVectorJoinFromJSONTyped(json, true), { type: 'RasterVectorJoin' }); + default: + return json; + } +} +export function VectorOperatorToJSON(json) { + return VectorOperatorToJSONTyped(json, false); +} +export function VectorOperatorToJSONTyped(value, ignoreDiscriminator = false) { + if (value == null) { + return value; + } + switch (value['type']) { + case 'MockPointSource': + return Object.assign({}, MockPointSourceToJSON(value), { type: 'MockPointSource' }); + case 'RasterVectorJoin': + return Object.assign({}, RasterVectorJoinToJSON(value), { type: 'RasterVectorJoin' }); + default: + return value; + } +} +/** +* Check if a given object implements the VectorOperator interface. +*/ +export function instanceOfVectorOperator(value) { + return instanceOfMockPointSource(value) + || instanceOfRasterVectorJoin(value); +} diff --git a/typescript/dist/esm/models/WcsBoundingbox.d.ts b/typescript/dist/esm/models/WcsBoundingbox.d.ts deleted file mode 100644 index 20a830a2..00000000 --- a/typescript/dist/esm/models/WcsBoundingbox.d.ts +++ /dev/null @@ -1,38 +0,0 @@ -/** - * Geo Engine API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 0.9.0 - * Contact: dev@geoengine.de - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ -/** - * - * @export - * @interface WcsBoundingbox - */ -export interface WcsBoundingbox { - /** - * - * @type {Array} - * @memberof WcsBoundingbox - */ - bbox: Array; - /** - * - * @type {string} - * @memberof WcsBoundingbox - */ - spatialReference?: string | null; -} -/** - * Check if a given object implements the WcsBoundingbox interface. - */ -export declare function instanceOfWcsBoundingbox(value: object): value is WcsBoundingbox; -export declare function WcsBoundingboxFromJSON(json: any): WcsBoundingbox; -export declare function WcsBoundingboxFromJSONTyped(json: any, ignoreDiscriminator: boolean): WcsBoundingbox; -export declare function WcsBoundingboxToJSON(json: any): WcsBoundingbox; -export declare function WcsBoundingboxToJSONTyped(value?: WcsBoundingbox | null, ignoreDiscriminator?: boolean): any; diff --git a/typescript/dist/esm/models/WcsBoundingbox.js b/typescript/dist/esm/models/WcsBoundingbox.js deleted file mode 100644 index f4dcb453..00000000 --- a/typescript/dist/esm/models/WcsBoundingbox.js +++ /dev/null @@ -1,45 +0,0 @@ -/* tslint:disable */ -/* eslint-disable */ -/** - * Geo Engine API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 0.9.0 - * Contact: dev@geoengine.de - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ -/** - * Check if a given object implements the WcsBoundingbox interface. - */ -export function instanceOfWcsBoundingbox(value) { - if (!('bbox' in value) || value['bbox'] === undefined) - return false; - return true; -} -export function WcsBoundingboxFromJSON(json) { - return WcsBoundingboxFromJSONTyped(json, false); -} -export function WcsBoundingboxFromJSONTyped(json, ignoreDiscriminator) { - if (json == null) { - return json; - } - return { - 'bbox': json['bbox'], - 'spatialReference': json['spatial_reference'] == null ? undefined : json['spatial_reference'], - }; -} -export function WcsBoundingboxToJSON(json) { - return WcsBoundingboxToJSONTyped(json, false); -} -export function WcsBoundingboxToJSONTyped(value, ignoreDiscriminator = false) { - if (value == null) { - return value; - } - return { - 'bbox': value['bbox'], - 'spatial_reference': value['spatialReference'], - }; -} diff --git a/typescript/dist/esm/models/Workflow.d.ts b/typescript/dist/esm/models/Workflow.d.ts index bae541e5..a4de5bb6 100644 --- a/typescript/dist/esm/models/Workflow.d.ts +++ b/typescript/dist/esm/models/Workflow.d.ts @@ -9,40 +9,15 @@ * https://openapi-generator.tech * Do not edit the class manually. */ -import type { TypedOperatorOperator } from './TypedOperatorOperator'; +import type { LegacyTypedOperator } from './LegacyTypedOperator'; +import type { TypedOperator } from './TypedOperator'; /** + * @type Workflow * * @export - * @interface Workflow */ -export interface Workflow { - /** - * - * @type {TypedOperatorOperator} - * @memberof Workflow - */ - operator: TypedOperatorOperator; - /** - * - * @type {WorkflowTypeEnum} - * @memberof Workflow - */ - type: WorkflowTypeEnum; -} -/** - * @export - */ -export declare const WorkflowTypeEnum: { - readonly Vector: "Vector"; - readonly Raster: "Raster"; - readonly Plot: "Plot"; -}; -export type WorkflowTypeEnum = typeof WorkflowTypeEnum[keyof typeof WorkflowTypeEnum]; -/** - * Check if a given object implements the Workflow interface. - */ -export declare function instanceOfWorkflow(value: object): value is Workflow; +export type Workflow = LegacyTypedOperator | TypedOperator; export declare function WorkflowFromJSON(json: any): Workflow; export declare function WorkflowFromJSONTyped(json: any, ignoreDiscriminator: boolean): Workflow; -export declare function WorkflowToJSON(json: any): Workflow; +export declare function WorkflowToJSON(json: any): any; export declare function WorkflowToJSONTyped(value?: Workflow | null, ignoreDiscriminator?: boolean): any; diff --git a/typescript/dist/esm/models/Workflow.js b/typescript/dist/esm/models/Workflow.js index d4137e26..3d7c707f 100644 --- a/typescript/dist/esm/models/Workflow.js +++ b/typescript/dist/esm/models/Workflow.js @@ -11,25 +11,8 @@ * https://openapi-generator.tech * Do not edit the class manually. */ -import { TypedOperatorOperatorFromJSON, TypedOperatorOperatorToJSON, } from './TypedOperatorOperator'; -/** - * @export - */ -export const WorkflowTypeEnum = { - Vector: 'Vector', - Raster: 'Raster', - Plot: 'Plot' -}; -/** - * Check if a given object implements the Workflow interface. - */ -export function instanceOfWorkflow(value) { - if (!('operator' in value) || value['operator'] === undefined) - return false; - if (!('type' in value) || value['type'] === undefined) - return false; - return true; -} +import { instanceOfLegacyTypedOperator, LegacyTypedOperatorFromJSONTyped, LegacyTypedOperatorToJSON, } from './LegacyTypedOperator'; +import { instanceOfTypedOperator, TypedOperatorFromJSONTyped, TypedOperatorToJSON, } from './TypedOperator'; export function WorkflowFromJSON(json) { return WorkflowFromJSONTyped(json, false); } @@ -37,10 +20,16 @@ export function WorkflowFromJSONTyped(json, ignoreDiscriminator) { if (json == null) { return json; } - return { - 'operator': TypedOperatorOperatorFromJSON(json['operator']), - 'type': json['type'], - }; + if (typeof json !== 'object') { + return json; + } + if (instanceOfLegacyTypedOperator(json)) { + return LegacyTypedOperatorFromJSONTyped(json, true); + } + if (instanceOfTypedOperator(json)) { + return TypedOperatorFromJSONTyped(json, true); + } + return {}; } export function WorkflowToJSON(json) { return WorkflowToJSONTyped(json, false); @@ -49,8 +38,14 @@ export function WorkflowToJSONTyped(value, ignoreDiscriminator = false) { if (value == null) { return value; } - return { - 'operator': TypedOperatorOperatorToJSON(value['operator']), - 'type': value['type'], - }; + if (typeof value !== 'object') { + return value; + } + if (instanceOfLegacyTypedOperator(value)) { + return LegacyTypedOperatorToJSON(value); + } + if (instanceOfTypedOperator(value)) { + return TypedOperatorToJSON(value); + } + return {}; } diff --git a/typescript/dist/esm/models/index.d.ts b/typescript/dist/esm/models/index.d.ts index c4acc3ac..7733eadb 100644 --- a/typescript/dist/esm/models/index.d.ts +++ b/typescript/dist/esm/models/index.d.ts @@ -1,5 +1,4 @@ export * from './AddDataset'; -export * from './AddDatasetTile'; export * from './AddLayer'; export * from './AddLayerCollection'; export * from './AddRole'; @@ -15,6 +14,7 @@ export * from './CollectionItem'; export * from './CollectionType'; export * from './ColorParam'; export * from './Colorizer'; +export * from './ColumnNames'; export * from './ComputationQuota'; export * from './ContinuousMeasurement'; export * from './Coordinate2D'; @@ -37,13 +37,17 @@ export * from './DatasetLayerListingProviderDefinition'; export * from './DatasetListing'; export * from './DatasetNameResponse'; export * from './DatasetResource'; +export * from './Default'; export * from './DerivedColor'; export * from './DerivedNumber'; export * from './EbvPortalDataProviderDefinition'; export * from './EdrDataProviderDefinition'; export * from './EdrVectorSpec'; export * from './ErrorResponse'; +export * from './Expression'; +export * from './ExpressionParameters'; export * from './ExternalDataId'; +export * from './FeatureAggregationMethod'; export * from './FeatureDataType'; export * from './FileNotFoundHandling'; export * from './FormatSpecifics'; @@ -57,6 +61,8 @@ export * from './GdalMetaDataStatic'; export * from './GdalMetadataMapping'; export * from './GdalMetadataNetCdfCf'; export * from './GdalMultiBand'; +export * from './GdalSource'; +export * from './GdalSourceParameters'; export * from './GdalSourceTimePlaceholder'; export * from './GeoJson'; export * from './GeoTransform'; @@ -66,6 +72,15 @@ export * from './GfbioAbcdDataProviderDefinition'; export * from './GfbioCollectionsDataProviderDefinition'; export * from './GridBoundingBox2D'; export * from './GridIdx2D'; +export * from './Histogram'; +export * from './HistogramBounds'; +export * from './HistogramBoundsOneOf'; +export * from './HistogramBoundsOneOf1'; +export * from './HistogramBoundsOneOf1Values'; +export * from './HistogramBuckets'; +export * from './HistogramBucketsOneOf'; +export * from './HistogramBucketsOneOf1'; +export * from './HistogramParameters'; export * from './IdResponse'; export * from './InternalDataId'; export * from './Layer'; @@ -76,6 +91,8 @@ export * from './LayerListing'; export * from './LayerProviderListing'; export * from './LayerResource'; export * from './LayerVisibility'; +export * from './LegacyTypedOperator'; +export * from './LegacyTypedOperatorOperator'; export * from './LineSymbology'; export * from './LinearGradient'; export * from './LogarithmicGradient'; @@ -93,10 +110,15 @@ export * from './MlModelResource'; export * from './MlTensorShape3D'; export * from './MockDatasetDataSourceLoadingInfo'; export * from './MockMetaData'; +export * from './MockPointSource'; +export * from './MockPointSourceParameters'; export * from './MultiBandRasterColorizer'; export * from './MultiLineString'; export * from './MultiPoint'; export * from './MultiPolygon'; +export * from './MultipleRasterOrSingleVectorOperator'; +export * from './MultipleRasterOrSingleVectorSource'; +export * from './Names'; export * from './NetCdfCfDataProviderDefinition'; export * from './NumberParam'; export * from './OgrMetaData'; @@ -121,10 +143,10 @@ export * from './OrderBy'; export * from './PaletteColorizer'; export * from './PangaeaDataProviderDefinition'; export * from './Permission'; -export * from './PermissionListOptions'; export * from './PermissionListing'; export * from './PermissionRequest'; export * from './Plot'; +export * from './PlotOperator'; export * from './PlotOutputFormat'; export * from './PlotResultDescriptor'; export * from './PointSymbology'; @@ -137,7 +159,6 @@ export * from './ProjectUpdateToken'; export * from './ProjectVersion'; export * from './Provenance'; export * from './ProvenanceEntry'; -export * from './ProvenanceOutput'; export * from './Provenances'; export * from './ProviderCapabilities'; export * from './ProviderLayerCollectionId'; @@ -147,13 +168,15 @@ export * from './RasterBandDescriptor'; export * from './RasterColorizer'; export * from './RasterDataType'; export * from './RasterDatasetFromWorkflow'; -export * from './RasterDatasetFromWorkflowResult'; +export * from './RasterOperator'; export * from './RasterPropertiesEntryType'; export * from './RasterPropertiesKey'; export * from './RasterResultDescriptor'; export * from './RasterStreamWebsocketResultType'; export * from './RasterSymbology'; export * from './RasterToDatasetQueryRectangle'; +export * from './RasterVectorJoin'; +export * from './RasterVectorJoinParameters'; export * from './RegularTimeDimension'; export * from './Resource'; export * from './Role'; @@ -165,23 +188,30 @@ export * from './SearchTypes'; export * from './SentinelS2L2ACogsProviderDefinition'; export * from './ServerInfo'; export * from './SingleBandRasterColorizer'; +export * from './SingleRasterOrVectorOperator'; +export * from './SingleRasterOrVectorSource'; +export * from './SingleRasterSource'; +export * from './SingleVectorMultipleRasterSources'; +export * from './SpatialBoundsDerive'; +export * from './SpatialBoundsDeriveBounds'; +export * from './SpatialBoundsDeriveDerive'; +export * from './SpatialBoundsDeriveNone'; export * from './SpatialGridDefinition'; export * from './SpatialGridDescriptor'; export * from './SpatialGridDescriptorState'; export * from './SpatialPartition2D'; -export * from './SpatialReferenceAuthority'; export * from './SpatialReferenceSpecification'; -export * from './SpatialResolution'; export * from './StacApiRetries'; export * from './StacQueryBuffer'; export * from './StaticColor'; export * from './StaticNumber'; +export * from './Statistics'; +export * from './StatisticsParameters'; export * from './StrokeParam'; +export * from './Suffix'; export * from './SuggestMetaData'; export * from './Symbology'; -export * from './TaskAbortOptions'; export * from './TaskFilter'; -export * from './TaskListOptions'; export * from './TaskResponse'; export * from './TaskStatus'; export * from './TaskStatusAborted'; @@ -189,6 +219,7 @@ export * from './TaskStatusCompleted'; export * from './TaskStatusFailed'; export * from './TaskStatusRunning'; export * from './TaskStatusWithId'; +export * from './TemporalAggregationMethod'; export * from './TextSymbology'; export * from './TimeDescriptor'; export * from './TimeDimension'; @@ -205,10 +236,12 @@ export * from './TypedGeometryOneOf1'; export * from './TypedGeometryOneOf2'; export * from './TypedGeometryOneOf3'; export * from './TypedOperator'; -export * from './TypedOperatorOperator'; +export * from './TypedPlotOperator'; export * from './TypedPlotResultDescriptor'; +export * from './TypedRasterOperator'; export * from './TypedRasterResultDescriptor'; export * from './TypedResultDescriptor'; +export * from './TypedVectorOperator'; export * from './TypedVectorResultDescriptor'; export * from './UnitlessMeasurement'; export * from './UnixTimeStampType'; @@ -227,10 +260,10 @@ export * from './UserSession'; export * from './VecUpdate'; export * from './VectorColumnInfo'; export * from './VectorDataType'; +export * from './VectorOperator'; export * from './VectorResultDescriptor'; export * from './Volume'; export * from './VolumeFileLayersResponse'; -export * from './WcsBoundingbox'; export * from './WcsRequest'; export * from './WcsService'; export * from './WcsVersion'; diff --git a/typescript/dist/esm/models/index.js b/typescript/dist/esm/models/index.js index cc760b5e..1acc6f78 100644 --- a/typescript/dist/esm/models/index.js +++ b/typescript/dist/esm/models/index.js @@ -1,7 +1,6 @@ /* tslint:disable */ /* eslint-disable */ export * from './AddDataset'; -export * from './AddDatasetTile'; export * from './AddLayer'; export * from './AddLayerCollection'; export * from './AddRole'; @@ -17,6 +16,7 @@ export * from './CollectionItem'; export * from './CollectionType'; export * from './ColorParam'; export * from './Colorizer'; +export * from './ColumnNames'; export * from './ComputationQuota'; export * from './ContinuousMeasurement'; export * from './Coordinate2D'; @@ -39,13 +39,17 @@ export * from './DatasetLayerListingProviderDefinition'; export * from './DatasetListing'; export * from './DatasetNameResponse'; export * from './DatasetResource'; +export * from './Default'; export * from './DerivedColor'; export * from './DerivedNumber'; export * from './EbvPortalDataProviderDefinition'; export * from './EdrDataProviderDefinition'; export * from './EdrVectorSpec'; export * from './ErrorResponse'; +export * from './Expression'; +export * from './ExpressionParameters'; export * from './ExternalDataId'; +export * from './FeatureAggregationMethod'; export * from './FeatureDataType'; export * from './FileNotFoundHandling'; export * from './FormatSpecifics'; @@ -59,6 +63,8 @@ export * from './GdalMetaDataStatic'; export * from './GdalMetadataMapping'; export * from './GdalMetadataNetCdfCf'; export * from './GdalMultiBand'; +export * from './GdalSource'; +export * from './GdalSourceParameters'; export * from './GdalSourceTimePlaceholder'; export * from './GeoJson'; export * from './GeoTransform'; @@ -68,6 +74,15 @@ export * from './GfbioAbcdDataProviderDefinition'; export * from './GfbioCollectionsDataProviderDefinition'; export * from './GridBoundingBox2D'; export * from './GridIdx2D'; +export * from './Histogram'; +export * from './HistogramBounds'; +export * from './HistogramBoundsOneOf'; +export * from './HistogramBoundsOneOf1'; +export * from './HistogramBoundsOneOf1Values'; +export * from './HistogramBuckets'; +export * from './HistogramBucketsOneOf'; +export * from './HistogramBucketsOneOf1'; +export * from './HistogramParameters'; export * from './IdResponse'; export * from './InternalDataId'; export * from './Layer'; @@ -78,6 +93,8 @@ export * from './LayerListing'; export * from './LayerProviderListing'; export * from './LayerResource'; export * from './LayerVisibility'; +export * from './LegacyTypedOperator'; +export * from './LegacyTypedOperatorOperator'; export * from './LineSymbology'; export * from './LinearGradient'; export * from './LogarithmicGradient'; @@ -95,10 +112,15 @@ export * from './MlModelResource'; export * from './MlTensorShape3D'; export * from './MockDatasetDataSourceLoadingInfo'; export * from './MockMetaData'; +export * from './MockPointSource'; +export * from './MockPointSourceParameters'; export * from './MultiBandRasterColorizer'; export * from './MultiLineString'; export * from './MultiPoint'; export * from './MultiPolygon'; +export * from './MultipleRasterOrSingleVectorOperator'; +export * from './MultipleRasterOrSingleVectorSource'; +export * from './Names'; export * from './NetCdfCfDataProviderDefinition'; export * from './NumberParam'; export * from './OgrMetaData'; @@ -123,10 +145,10 @@ export * from './OrderBy'; export * from './PaletteColorizer'; export * from './PangaeaDataProviderDefinition'; export * from './Permission'; -export * from './PermissionListOptions'; export * from './PermissionListing'; export * from './PermissionRequest'; export * from './Plot'; +export * from './PlotOperator'; export * from './PlotOutputFormat'; export * from './PlotResultDescriptor'; export * from './PointSymbology'; @@ -139,7 +161,6 @@ export * from './ProjectUpdateToken'; export * from './ProjectVersion'; export * from './Provenance'; export * from './ProvenanceEntry'; -export * from './ProvenanceOutput'; export * from './Provenances'; export * from './ProviderCapabilities'; export * from './ProviderLayerCollectionId'; @@ -149,13 +170,15 @@ export * from './RasterBandDescriptor'; export * from './RasterColorizer'; export * from './RasterDataType'; export * from './RasterDatasetFromWorkflow'; -export * from './RasterDatasetFromWorkflowResult'; +export * from './RasterOperator'; export * from './RasterPropertiesEntryType'; export * from './RasterPropertiesKey'; export * from './RasterResultDescriptor'; export * from './RasterStreamWebsocketResultType'; export * from './RasterSymbology'; export * from './RasterToDatasetQueryRectangle'; +export * from './RasterVectorJoin'; +export * from './RasterVectorJoinParameters'; export * from './RegularTimeDimension'; export * from './Resource'; export * from './Role'; @@ -167,23 +190,30 @@ export * from './SearchTypes'; export * from './SentinelS2L2ACogsProviderDefinition'; export * from './ServerInfo'; export * from './SingleBandRasterColorizer'; +export * from './SingleRasterOrVectorOperator'; +export * from './SingleRasterOrVectorSource'; +export * from './SingleRasterSource'; +export * from './SingleVectorMultipleRasterSources'; +export * from './SpatialBoundsDerive'; +export * from './SpatialBoundsDeriveBounds'; +export * from './SpatialBoundsDeriveDerive'; +export * from './SpatialBoundsDeriveNone'; export * from './SpatialGridDefinition'; export * from './SpatialGridDescriptor'; export * from './SpatialGridDescriptorState'; export * from './SpatialPartition2D'; -export * from './SpatialReferenceAuthority'; export * from './SpatialReferenceSpecification'; -export * from './SpatialResolution'; export * from './StacApiRetries'; export * from './StacQueryBuffer'; export * from './StaticColor'; export * from './StaticNumber'; +export * from './Statistics'; +export * from './StatisticsParameters'; export * from './StrokeParam'; +export * from './Suffix'; export * from './SuggestMetaData'; export * from './Symbology'; -export * from './TaskAbortOptions'; export * from './TaskFilter'; -export * from './TaskListOptions'; export * from './TaskResponse'; export * from './TaskStatus'; export * from './TaskStatusAborted'; @@ -191,6 +221,7 @@ export * from './TaskStatusCompleted'; export * from './TaskStatusFailed'; export * from './TaskStatusRunning'; export * from './TaskStatusWithId'; +export * from './TemporalAggregationMethod'; export * from './TextSymbology'; export * from './TimeDescriptor'; export * from './TimeDimension'; @@ -207,10 +238,12 @@ export * from './TypedGeometryOneOf1'; export * from './TypedGeometryOneOf2'; export * from './TypedGeometryOneOf3'; export * from './TypedOperator'; -export * from './TypedOperatorOperator'; +export * from './TypedPlotOperator'; export * from './TypedPlotResultDescriptor'; +export * from './TypedRasterOperator'; export * from './TypedRasterResultDescriptor'; export * from './TypedResultDescriptor'; +export * from './TypedVectorOperator'; export * from './TypedVectorResultDescriptor'; export * from './UnitlessMeasurement'; export * from './UnixTimeStampType'; @@ -229,10 +262,10 @@ export * from './UserSession'; export * from './VecUpdate'; export * from './VectorColumnInfo'; export * from './VectorDataType'; +export * from './VectorOperator'; export * from './VectorResultDescriptor'; export * from './Volume'; export * from './VolumeFileLayersResponse'; -export * from './WcsBoundingbox'; export * from './WcsRequest'; export * from './WcsService'; export * from './WcsVersion'; diff --git a/typescript/dist/esm/runtime.js b/typescript/dist/esm/runtime.js index 8cca6df7..e2ac6fea 100644 --- a/typescript/dist/esm/runtime.js +++ b/typescript/dist/esm/runtime.js @@ -69,7 +69,7 @@ export class Configuration { } export const DefaultConfig = new Configuration({ headers: { - 'User-Agent': 'geoengine/openapi-client/typescript/0.0.32' + 'User-Agent': 'geoengine/openapi-client/typescript/0.0.33' } }); /** diff --git a/typescript/dist/models/AddDatasetTile.d.ts b/typescript/dist/models/AddDatasetTile.d.ts deleted file mode 100644 index 45b4ba6a..00000000 --- a/typescript/dist/models/AddDatasetTile.d.ts +++ /dev/null @@ -1,59 +0,0 @@ -/** - * Geo Engine API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 0.9.0 - * Contact: dev@geoengine.de - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ -import type { TimeInterval } from './TimeInterval'; -import type { GdalDatasetParameters } from './GdalDatasetParameters'; -import type { SpatialPartition2D } from './SpatialPartition2D'; -/** - * - * @export - * @interface AddDatasetTile - */ -export interface AddDatasetTile { - /** - * - * @type {number} - * @memberof AddDatasetTile - */ - band: number; - /** - * - * @type {GdalDatasetParameters} - * @memberof AddDatasetTile - */ - params: GdalDatasetParameters; - /** - * - * @type {SpatialPartition2D} - * @memberof AddDatasetTile - */ - spatialPartition: SpatialPartition2D; - /** - * - * @type {TimeInterval} - * @memberof AddDatasetTile - */ - time: TimeInterval; - /** - * - * @type {number} - * @memberof AddDatasetTile - */ - zIndex: number; -} -/** - * Check if a given object implements the AddDatasetTile interface. - */ -export declare function instanceOfAddDatasetTile(value: object): value is AddDatasetTile; -export declare function AddDatasetTileFromJSON(json: any): AddDatasetTile; -export declare function AddDatasetTileFromJSONTyped(json: any, ignoreDiscriminator: boolean): AddDatasetTile; -export declare function AddDatasetTileToJSON(json: any): AddDatasetTile; -export declare function AddDatasetTileToJSONTyped(value?: AddDatasetTile | null, ignoreDiscriminator?: boolean): any; diff --git a/typescript/dist/models/AddDatasetTile.js b/typescript/dist/models/AddDatasetTile.js deleted file mode 100644 index 37e29673..00000000 --- a/typescript/dist/models/AddDatasetTile.js +++ /dev/null @@ -1,69 +0,0 @@ -"use strict"; -/* tslint:disable */ -/* eslint-disable */ -/** - * Geo Engine API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 0.9.0 - * Contact: dev@geoengine.de - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ -Object.defineProperty(exports, "__esModule", { value: true }); -exports.instanceOfAddDatasetTile = instanceOfAddDatasetTile; -exports.AddDatasetTileFromJSON = AddDatasetTileFromJSON; -exports.AddDatasetTileFromJSONTyped = AddDatasetTileFromJSONTyped; -exports.AddDatasetTileToJSON = AddDatasetTileToJSON; -exports.AddDatasetTileToJSONTyped = AddDatasetTileToJSONTyped; -const TimeInterval_1 = require("./TimeInterval"); -const GdalDatasetParameters_1 = require("./GdalDatasetParameters"); -const SpatialPartition2D_1 = require("./SpatialPartition2D"); -/** - * Check if a given object implements the AddDatasetTile interface. - */ -function instanceOfAddDatasetTile(value) { - if (!('band' in value) || value['band'] === undefined) - return false; - if (!('params' in value) || value['params'] === undefined) - return false; - if (!('spatialPartition' in value) || value['spatialPartition'] === undefined) - return false; - if (!('time' in value) || value['time'] === undefined) - return false; - if (!('zIndex' in value) || value['zIndex'] === undefined) - return false; - return true; -} -function AddDatasetTileFromJSON(json) { - return AddDatasetTileFromJSONTyped(json, false); -} -function AddDatasetTileFromJSONTyped(json, ignoreDiscriminator) { - if (json == null) { - return json; - } - return { - 'band': json['band'], - 'params': (0, GdalDatasetParameters_1.GdalDatasetParametersFromJSON)(json['params']), - 'spatialPartition': (0, SpatialPartition2D_1.SpatialPartition2DFromJSON)(json['spatial_partition']), - 'time': (0, TimeInterval_1.TimeIntervalFromJSON)(json['time']), - 'zIndex': json['z_index'], - }; -} -function AddDatasetTileToJSON(json) { - return AddDatasetTileToJSONTyped(json, false); -} -function AddDatasetTileToJSONTyped(value, ignoreDiscriminator = false) { - if (value == null) { - return value; - } - return { - 'band': value['band'], - 'params': (0, GdalDatasetParameters_1.GdalDatasetParametersToJSON)(value['params']), - 'spatial_partition': (0, SpatialPartition2D_1.SpatialPartition2DToJSON)(value['spatialPartition']), - 'time': (0, TimeInterval_1.TimeIntervalToJSON)(value['time']), - 'z_index': value['zIndex'], - }; -} diff --git a/typescript/dist/models/ColumnNames.d.ts b/typescript/dist/models/ColumnNames.d.ts new file mode 100644 index 00000000..0f008003 --- /dev/null +++ b/typescript/dist/models/ColumnNames.d.ts @@ -0,0 +1,24 @@ +/** + * Geo Engine API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ +import type { Default } from './Default'; +import type { Names } from './Names'; +import type { Suffix } from './Suffix'; +/** + * @type ColumnNames + * + * @export + */ +export type ColumnNames = Default | Names | Suffix; +export declare function ColumnNamesFromJSON(json: any): ColumnNames; +export declare function ColumnNamesFromJSONTyped(json: any, ignoreDiscriminator: boolean): ColumnNames; +export declare function ColumnNamesToJSON(json: any): any; +export declare function ColumnNamesToJSONTyped(value?: ColumnNames | null, ignoreDiscriminator?: boolean): any; diff --git a/typescript/dist/models/ColumnNames.js b/typescript/dist/models/ColumnNames.js new file mode 100644 index 00000000..d9de015b --- /dev/null +++ b/typescript/dist/models/ColumnNames.js @@ -0,0 +1,64 @@ +"use strict"; +/* tslint:disable */ +/* eslint-disable */ +/** + * Geo Engine API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ +Object.defineProperty(exports, "__esModule", { value: true }); +exports.ColumnNamesFromJSON = ColumnNamesFromJSON; +exports.ColumnNamesFromJSONTyped = ColumnNamesFromJSONTyped; +exports.ColumnNamesToJSON = ColumnNamesToJSON; +exports.ColumnNamesToJSONTyped = ColumnNamesToJSONTyped; +const Default_1 = require("./Default"); +const Names_1 = require("./Names"); +const Suffix_1 = require("./Suffix"); +function ColumnNamesFromJSON(json) { + return ColumnNamesFromJSONTyped(json, false); +} +function ColumnNamesFromJSONTyped(json, ignoreDiscriminator) { + if (json == null) { + return json; + } + if (typeof json !== 'object') { + return json; + } + if ((0, Default_1.instanceOfDefault)(json)) { + return (0, Default_1.DefaultFromJSONTyped)(json, true); + } + if ((0, Names_1.instanceOfNames)(json)) { + return (0, Names_1.NamesFromJSONTyped)(json, true); + } + if ((0, Suffix_1.instanceOfSuffix)(json)) { + return (0, Suffix_1.SuffixFromJSONTyped)(json, true); + } + return {}; +} +function ColumnNamesToJSON(json) { + return ColumnNamesToJSONTyped(json, false); +} +function ColumnNamesToJSONTyped(value, ignoreDiscriminator = false) { + if (value == null) { + return value; + } + if (typeof value !== 'object') { + return value; + } + if ((0, Default_1.instanceOfDefault)(value)) { + return (0, Default_1.DefaultToJSON)(value); + } + if ((0, Names_1.instanceOfNames)(value)) { + return (0, Names_1.NamesToJSON)(value); + } + if ((0, Suffix_1.instanceOfSuffix)(value)) { + return (0, Suffix_1.SuffixToJSON)(value); + } + return {}; +} diff --git a/typescript/dist/models/Default.d.ts b/typescript/dist/models/Default.d.ts new file mode 100644 index 00000000..6eeb5743 --- /dev/null +++ b/typescript/dist/models/Default.d.ts @@ -0,0 +1,39 @@ +/** + * Geo Engine API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ +/** + * + * @export + * @interface Default + */ +export interface Default { + /** + * + * @type {DefaultTypeEnum} + * @memberof Default + */ + type: DefaultTypeEnum; +} +/** + * @export + */ +export declare const DefaultTypeEnum: { + readonly Default: "default"; +}; +export type DefaultTypeEnum = typeof DefaultTypeEnum[keyof typeof DefaultTypeEnum]; +/** + * Check if a given object implements the Default interface. + */ +export declare function instanceOfDefault(value: object): value is Default; +export declare function DefaultFromJSON(json: any): Default; +export declare function DefaultFromJSONTyped(json: any, ignoreDiscriminator: boolean): Default; +export declare function DefaultToJSON(json: any): Default; +export declare function DefaultToJSONTyped(value?: Default | null, ignoreDiscriminator?: boolean): any; diff --git a/typescript/dist/models/Default.js b/typescript/dist/models/Default.js new file mode 100644 index 00000000..6bb65ff1 --- /dev/null +++ b/typescript/dist/models/Default.js @@ -0,0 +1,57 @@ +"use strict"; +/* tslint:disable */ +/* eslint-disable */ +/** + * Geo Engine API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ +Object.defineProperty(exports, "__esModule", { value: true }); +exports.DefaultTypeEnum = void 0; +exports.instanceOfDefault = instanceOfDefault; +exports.DefaultFromJSON = DefaultFromJSON; +exports.DefaultFromJSONTyped = DefaultFromJSONTyped; +exports.DefaultToJSON = DefaultToJSON; +exports.DefaultToJSONTyped = DefaultToJSONTyped; +/** + * @export + */ +exports.DefaultTypeEnum = { + Default: 'default' +}; +/** + * Check if a given object implements the Default interface. + */ +function instanceOfDefault(value) { + if (!('type' in value) || value['type'] === undefined) + return false; + return true; +} +function DefaultFromJSON(json) { + return DefaultFromJSONTyped(json, false); +} +function DefaultFromJSONTyped(json, ignoreDiscriminator) { + if (json == null) { + return json; + } + return { + 'type': json['type'], + }; +} +function DefaultToJSON(json) { + return DefaultToJSONTyped(json, false); +} +function DefaultToJSONTyped(value, ignoreDiscriminator = false) { + if (value == null) { + return value; + } + return { + 'type': value['type'], + }; +} diff --git a/typescript/dist/models/Expression.d.ts b/typescript/dist/models/Expression.d.ts new file mode 100644 index 00000000..db22967b --- /dev/null +++ b/typescript/dist/models/Expression.d.ts @@ -0,0 +1,127 @@ +/** + * Geo Engine API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ +import type { SingleRasterSource } from './SingleRasterSource'; +import type { ExpressionParameters } from './ExpressionParameters'; +/** + * The `Expression` operator performs a pixel-wise mathematical expression on one or more bands of a raster source. + * The expression is specified as a user-defined script in a very simple language. + * The output is a raster time series with the result of the expression and with time intervals that are the same as for the inputs. + * Users can specify an output data type. + * Internally, the expression is evaluated using floating-point numbers. + * + * An example usage scenario is to calculate NDVI for a red and a near-infrared raster channel. + * The expression uses a raster source with two bands, referred to as A and B, and calculates the formula `(A - B) / (A + B)`. + * When the temporal resolution is months, our output NDVI will also be a monthly time series. + * + * ## Types + * + * The following describes the types used in the parameters. + * + * ### Expression + * + * Expressions are simple scripts to perform pixel-wise computations. + * One can refer to the raster inputs as `A` for the first raster band, `B` for the second, and so on. + * Furthermore, expressions can check with `A IS NODATA`, `B IS NODATA`, etc. for NO DATA values. + * This is important if `mapNoData` is set to true. + * Otherwise, NO DATA values are mapped automatically to the output NO DATA value. + * Finally, the value `NODATA` can be used to output NO DATA. + * + * Users can think of this implicit function signature for, e.g., two inputs: + * + * ```Rust + * fn (A: f64, B: f64) -> f64 + * ``` + * + * As a start, expressions contain algebraic operations and mathematical functions. + * + * ```Rust + * (A + B) / 2 + * ``` + * + * In addition, branches can be used to check for conditions. + * + * ```Rust + * if A IS NODATA { + * B + * } else { + * A + * } + * ``` + * + * Function calls can be used to access utility functions. + * + * ```Rust + * max(A, 0) + * ``` + * + * Currently, the following functions are available: + * + * - `abs(a)`: absolute value + * - `min(a, b)`, `min(a, b, c)`: minimum value + * - `max(a, b)`, `max(a, b, c)`: maximum value + * - `sqrt(a)`: square root + * - `ln(a)`: natural logarithm + * - `log10(a)`: base 10 logarithm + * - `cos(a)`, `sin(a)`, `tan(a)`, `acos(a)`, `asin(a)`, `atan(a)`: trigonometric functions + * - `pi()`, `e()`: mathematical constants + * - `round(a)`, `ceil(a)`, `floor(a)`: rounding functions + * - `mod(a, b)`: division remainder + * - `to_degrees(a)`, `to_radians(a)`: conversion to degrees or radians + * + * To generate more complex expressions, it is possible to have variable assignments. + * + * ```Rust + * let mean = (A + B) / 2; + * let coefficient = 0.357; + * mean * coefficient + * ``` + * + * Note, that all assignments are separated by semicolons. + * However, the last expression must be without a semicolon. + * @export + * @interface Expression + */ +export interface Expression { + /** + * + * @type {ExpressionParameters} + * @memberof Expression + */ + params: ExpressionParameters; + /** + * + * @type {SingleRasterSource} + * @memberof Expression + */ + sources: SingleRasterSource; + /** + * + * @type {ExpressionTypeEnum} + * @memberof Expression + */ + type: ExpressionTypeEnum; +} +/** + * @export + */ +export declare const ExpressionTypeEnum: { + readonly Expression: "Expression"; +}; +export type ExpressionTypeEnum = typeof ExpressionTypeEnum[keyof typeof ExpressionTypeEnum]; +/** + * Check if a given object implements the Expression interface. + */ +export declare function instanceOfExpression(value: object): value is Expression; +export declare function ExpressionFromJSON(json: any): Expression; +export declare function ExpressionFromJSONTyped(json: any, ignoreDiscriminator: boolean): Expression; +export declare function ExpressionToJSON(json: any): Expression; +export declare function ExpressionToJSONTyped(value?: Expression | null, ignoreDiscriminator?: boolean): any; diff --git a/typescript/dist/models/Expression.js b/typescript/dist/models/Expression.js new file mode 100644 index 00000000..13361857 --- /dev/null +++ b/typescript/dist/models/Expression.js @@ -0,0 +1,67 @@ +"use strict"; +/* tslint:disable */ +/* eslint-disable */ +/** + * Geo Engine API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ +Object.defineProperty(exports, "__esModule", { value: true }); +exports.ExpressionTypeEnum = void 0; +exports.instanceOfExpression = instanceOfExpression; +exports.ExpressionFromJSON = ExpressionFromJSON; +exports.ExpressionFromJSONTyped = ExpressionFromJSONTyped; +exports.ExpressionToJSON = ExpressionToJSON; +exports.ExpressionToJSONTyped = ExpressionToJSONTyped; +const SingleRasterSource_1 = require("./SingleRasterSource"); +const ExpressionParameters_1 = require("./ExpressionParameters"); +/** + * @export + */ +exports.ExpressionTypeEnum = { + Expression: 'Expression' +}; +/** + * Check if a given object implements the Expression interface. + */ +function instanceOfExpression(value) { + if (!('params' in value) || value['params'] === undefined) + return false; + if (!('sources' in value) || value['sources'] === undefined) + return false; + if (!('type' in value) || value['type'] === undefined) + return false; + return true; +} +function ExpressionFromJSON(json) { + return ExpressionFromJSONTyped(json, false); +} +function ExpressionFromJSONTyped(json, ignoreDiscriminator) { + if (json == null) { + return json; + } + return { + 'params': (0, ExpressionParameters_1.ExpressionParametersFromJSON)(json['params']), + 'sources': (0, SingleRasterSource_1.SingleRasterSourceFromJSON)(json['sources']), + 'type': json['type'], + }; +} +function ExpressionToJSON(json) { + return ExpressionToJSONTyped(json, false); +} +function ExpressionToJSONTyped(value, ignoreDiscriminator = false) { + if (value == null) { + return value; + } + return { + 'params': (0, ExpressionParameters_1.ExpressionParametersToJSON)(value['params']), + 'sources': (0, SingleRasterSource_1.SingleRasterSourceToJSON)(value['sources']), + 'type': value['type'], + }; +} diff --git a/typescript/dist/models/ExpressionParameters.d.ts b/typescript/dist/models/ExpressionParameters.d.ts new file mode 100644 index 00000000..c022632f --- /dev/null +++ b/typescript/dist/models/ExpressionParameters.d.ts @@ -0,0 +1,56 @@ +/** + * Geo Engine API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ +import type { RasterBandDescriptor } from './RasterBandDescriptor'; +import type { RasterDataType } from './RasterDataType'; +/** + * ## Types + * + * The following describes the types used in the parameters. + * @export + * @interface ExpressionParameters + */ +export interface ExpressionParameters { + /** + * Expression script + * + * Example: `"(A - B) / (A + B)"` + * @type {string} + * @memberof ExpressionParameters + */ + expression: string; + /** + * Should NO DATA values be mapped with the `expression`? Otherwise, they are mapped automatically to NO DATA. + * @type {boolean} + * @memberof ExpressionParameters + */ + mapNoData: boolean; + /** + * Description about the output + * @type {RasterBandDescriptor} + * @memberof ExpressionParameters + */ + outputBand?: RasterBandDescriptor; + /** + * A raster data type for the output + * @type {RasterDataType} + * @memberof ExpressionParameters + */ + outputType: RasterDataType; +} +/** + * Check if a given object implements the ExpressionParameters interface. + */ +export declare function instanceOfExpressionParameters(value: object): value is ExpressionParameters; +export declare function ExpressionParametersFromJSON(json: any): ExpressionParameters; +export declare function ExpressionParametersFromJSONTyped(json: any, ignoreDiscriminator: boolean): ExpressionParameters; +export declare function ExpressionParametersToJSON(json: any): ExpressionParameters; +export declare function ExpressionParametersToJSONTyped(value?: ExpressionParameters | null, ignoreDiscriminator?: boolean): any; diff --git a/typescript/dist/models/ExpressionParameters.js b/typescript/dist/models/ExpressionParameters.js new file mode 100644 index 00000000..bc20ec26 --- /dev/null +++ b/typescript/dist/models/ExpressionParameters.js @@ -0,0 +1,62 @@ +"use strict"; +/* tslint:disable */ +/* eslint-disable */ +/** + * Geo Engine API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ +Object.defineProperty(exports, "__esModule", { value: true }); +exports.instanceOfExpressionParameters = instanceOfExpressionParameters; +exports.ExpressionParametersFromJSON = ExpressionParametersFromJSON; +exports.ExpressionParametersFromJSONTyped = ExpressionParametersFromJSONTyped; +exports.ExpressionParametersToJSON = ExpressionParametersToJSON; +exports.ExpressionParametersToJSONTyped = ExpressionParametersToJSONTyped; +const RasterBandDescriptor_1 = require("./RasterBandDescriptor"); +const RasterDataType_1 = require("./RasterDataType"); +/** + * Check if a given object implements the ExpressionParameters interface. + */ +function instanceOfExpressionParameters(value) { + if (!('expression' in value) || value['expression'] === undefined) + return false; + if (!('mapNoData' in value) || value['mapNoData'] === undefined) + return false; + if (!('outputType' in value) || value['outputType'] === undefined) + return false; + return true; +} +function ExpressionParametersFromJSON(json) { + return ExpressionParametersFromJSONTyped(json, false); +} +function ExpressionParametersFromJSONTyped(json, ignoreDiscriminator) { + if (json == null) { + return json; + } + return { + 'expression': json['expression'], + 'mapNoData': json['mapNoData'], + 'outputBand': json['outputBand'] == null ? undefined : (0, RasterBandDescriptor_1.RasterBandDescriptorFromJSON)(json['outputBand']), + 'outputType': (0, RasterDataType_1.RasterDataTypeFromJSON)(json['outputType']), + }; +} +function ExpressionParametersToJSON(json) { + return ExpressionParametersToJSONTyped(json, false); +} +function ExpressionParametersToJSONTyped(value, ignoreDiscriminator = false) { + if (value == null) { + return value; + } + return { + 'expression': value['expression'], + 'mapNoData': value['mapNoData'], + 'outputBand': (0, RasterBandDescriptor_1.RasterBandDescriptorToJSON)(value['outputBand']), + 'outputType': (0, RasterDataType_1.RasterDataTypeToJSON)(value['outputType']), + }; +} diff --git a/typescript/dist/models/FeatureAggregationMethod.d.ts b/typescript/dist/models/FeatureAggregationMethod.d.ts new file mode 100644 index 00000000..1ec72fc6 --- /dev/null +++ b/typescript/dist/models/FeatureAggregationMethod.d.ts @@ -0,0 +1,25 @@ +/** + * Geo Engine API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ +/** + * + * @export + */ +export declare const FeatureAggregationMethod: { + readonly First: "first"; + readonly Mean: "mean"; +}; +export type FeatureAggregationMethod = typeof FeatureAggregationMethod[keyof typeof FeatureAggregationMethod]; +export declare function instanceOfFeatureAggregationMethod(value: any): boolean; +export declare function FeatureAggregationMethodFromJSON(json: any): FeatureAggregationMethod; +export declare function FeatureAggregationMethodFromJSONTyped(json: any, ignoreDiscriminator: boolean): FeatureAggregationMethod; +export declare function FeatureAggregationMethodToJSON(value?: FeatureAggregationMethod | null): any; +export declare function FeatureAggregationMethodToJSONTyped(value: any, ignoreDiscriminator: boolean): FeatureAggregationMethod; diff --git a/typescript/dist/models/FeatureAggregationMethod.js b/typescript/dist/models/FeatureAggregationMethod.js new file mode 100644 index 00000000..ac0647de --- /dev/null +++ b/typescript/dist/models/FeatureAggregationMethod.js @@ -0,0 +1,51 @@ +"use strict"; +/* tslint:disable */ +/* eslint-disable */ +/** + * Geo Engine API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ +Object.defineProperty(exports, "__esModule", { value: true }); +exports.FeatureAggregationMethod = void 0; +exports.instanceOfFeatureAggregationMethod = instanceOfFeatureAggregationMethod; +exports.FeatureAggregationMethodFromJSON = FeatureAggregationMethodFromJSON; +exports.FeatureAggregationMethodFromJSONTyped = FeatureAggregationMethodFromJSONTyped; +exports.FeatureAggregationMethodToJSON = FeatureAggregationMethodToJSON; +exports.FeatureAggregationMethodToJSONTyped = FeatureAggregationMethodToJSONTyped; +/** + * + * @export + */ +exports.FeatureAggregationMethod = { + First: 'first', + Mean: 'mean' +}; +function instanceOfFeatureAggregationMethod(value) { + for (const key in exports.FeatureAggregationMethod) { + if (Object.prototype.hasOwnProperty.call(exports.FeatureAggregationMethod, key)) { + if (exports.FeatureAggregationMethod[key] === value) { + return true; + } + } + } + return false; +} +function FeatureAggregationMethodFromJSON(json) { + return FeatureAggregationMethodFromJSONTyped(json, false); +} +function FeatureAggregationMethodFromJSONTyped(json, ignoreDiscriminator) { + return json; +} +function FeatureAggregationMethodToJSON(value) { + return value; +} +function FeatureAggregationMethodToJSONTyped(value, ignoreDiscriminator) { + return value; +} diff --git a/typescript/dist/models/GdalSource.d.ts b/typescript/dist/models/GdalSource.d.ts new file mode 100644 index 00000000..d5a00557 --- /dev/null +++ b/typescript/dist/models/GdalSource.d.ts @@ -0,0 +1,52 @@ +/** + * Geo Engine API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ +import type { GdalSourceParameters } from './GdalSourceParameters'; +/** + * The [`GdalSource`] is a source operator that reads raster data using GDAL. + * The counterpart for vector data is the [`OgrSource`]. + * + * ## Errors + * + * If the given dataset does not exist or is not readable, an error is thrown. + * + * @export + * @interface GdalSource + */ +export interface GdalSource { + /** + * + * @type {GdalSourceParameters} + * @memberof GdalSource + */ + params: GdalSourceParameters; + /** + * + * @type {GdalSourceTypeEnum} + * @memberof GdalSource + */ + type: GdalSourceTypeEnum; +} +/** + * @export + */ +export declare const GdalSourceTypeEnum: { + readonly GdalSource: "GdalSource"; +}; +export type GdalSourceTypeEnum = typeof GdalSourceTypeEnum[keyof typeof GdalSourceTypeEnum]; +/** + * Check if a given object implements the GdalSource interface. + */ +export declare function instanceOfGdalSource(value: object): value is GdalSource; +export declare function GdalSourceFromJSON(json: any): GdalSource; +export declare function GdalSourceFromJSONTyped(json: any, ignoreDiscriminator: boolean): GdalSource; +export declare function GdalSourceToJSON(json: any): GdalSource; +export declare function GdalSourceToJSONTyped(value?: GdalSource | null, ignoreDiscriminator?: boolean): any; diff --git a/typescript/dist/models/GdalSource.js b/typescript/dist/models/GdalSource.js new file mode 100644 index 00000000..f6f39187 --- /dev/null +++ b/typescript/dist/models/GdalSource.js @@ -0,0 +1,62 @@ +"use strict"; +/* tslint:disable */ +/* eslint-disable */ +/** + * Geo Engine API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ +Object.defineProperty(exports, "__esModule", { value: true }); +exports.GdalSourceTypeEnum = void 0; +exports.instanceOfGdalSource = instanceOfGdalSource; +exports.GdalSourceFromJSON = GdalSourceFromJSON; +exports.GdalSourceFromJSONTyped = GdalSourceFromJSONTyped; +exports.GdalSourceToJSON = GdalSourceToJSON; +exports.GdalSourceToJSONTyped = GdalSourceToJSONTyped; +const GdalSourceParameters_1 = require("./GdalSourceParameters"); +/** + * @export + */ +exports.GdalSourceTypeEnum = { + GdalSource: 'GdalSource' +}; +/** + * Check if a given object implements the GdalSource interface. + */ +function instanceOfGdalSource(value) { + if (!('params' in value) || value['params'] === undefined) + return false; + if (!('type' in value) || value['type'] === undefined) + return false; + return true; +} +function GdalSourceFromJSON(json) { + return GdalSourceFromJSONTyped(json, false); +} +function GdalSourceFromJSONTyped(json, ignoreDiscriminator) { + if (json == null) { + return json; + } + return { + 'params': (0, GdalSourceParameters_1.GdalSourceParametersFromJSON)(json['params']), + 'type': json['type'], + }; +} +function GdalSourceToJSON(json) { + return GdalSourceToJSONTyped(json, false); +} +function GdalSourceToJSONTyped(value, ignoreDiscriminator = false) { + if (value == null) { + return value; + } + return { + 'params': (0, GdalSourceParameters_1.GdalSourceParametersToJSON)(value['params']), + 'type': value['type'], + }; +} diff --git a/typescript/dist/models/GdalSourceParameters.d.ts b/typescript/dist/models/GdalSourceParameters.d.ts new file mode 100644 index 00000000..32d71c9b --- /dev/null +++ b/typescript/dist/models/GdalSourceParameters.d.ts @@ -0,0 +1,40 @@ +/** + * Geo Engine API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ +/** + * Parameters for the [`GdalSource`] operator. + * @export + * @interface GdalSourceParameters + */ +export interface GdalSourceParameters { + /** + * Dataset name or identifier to be loaded. + * @type {string} + * @memberof GdalSourceParameters + */ + data: string; + /** + * *Optional*: overview level to use. + * + * If not provided, the data source will determine the resolution, i.e., uses its native resolution. + * @type {number} + * @memberof GdalSourceParameters + */ + overviewLevel?: number | null; +} +/** + * Check if a given object implements the GdalSourceParameters interface. + */ +export declare function instanceOfGdalSourceParameters(value: object): value is GdalSourceParameters; +export declare function GdalSourceParametersFromJSON(json: any): GdalSourceParameters; +export declare function GdalSourceParametersFromJSONTyped(json: any, ignoreDiscriminator: boolean): GdalSourceParameters; +export declare function GdalSourceParametersToJSON(json: any): GdalSourceParameters; +export declare function GdalSourceParametersToJSONTyped(value?: GdalSourceParameters | null, ignoreDiscriminator?: boolean): any; diff --git a/typescript/dist/models/GdalSourceParameters.js b/typescript/dist/models/GdalSourceParameters.js new file mode 100644 index 00000000..61203e7d --- /dev/null +++ b/typescript/dist/models/GdalSourceParameters.js @@ -0,0 +1,52 @@ +"use strict"; +/* tslint:disable */ +/* eslint-disable */ +/** + * Geo Engine API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ +Object.defineProperty(exports, "__esModule", { value: true }); +exports.instanceOfGdalSourceParameters = instanceOfGdalSourceParameters; +exports.GdalSourceParametersFromJSON = GdalSourceParametersFromJSON; +exports.GdalSourceParametersFromJSONTyped = GdalSourceParametersFromJSONTyped; +exports.GdalSourceParametersToJSON = GdalSourceParametersToJSON; +exports.GdalSourceParametersToJSONTyped = GdalSourceParametersToJSONTyped; +/** + * Check if a given object implements the GdalSourceParameters interface. + */ +function instanceOfGdalSourceParameters(value) { + if (!('data' in value) || value['data'] === undefined) + return false; + return true; +} +function GdalSourceParametersFromJSON(json) { + return GdalSourceParametersFromJSONTyped(json, false); +} +function GdalSourceParametersFromJSONTyped(json, ignoreDiscriminator) { + if (json == null) { + return json; + } + return { + 'data': json['data'], + 'overviewLevel': json['overviewLevel'] == null ? undefined : json['overviewLevel'], + }; +} +function GdalSourceParametersToJSON(json) { + return GdalSourceParametersToJSONTyped(json, false); +} +function GdalSourceParametersToJSONTyped(value, ignoreDiscriminator = false) { + if (value == null) { + return value; + } + return { + 'data': value['data'], + 'overviewLevel': value['overviewLevel'], + }; +} diff --git a/typescript/dist/models/Histogram.d.ts b/typescript/dist/models/Histogram.d.ts new file mode 100644 index 00000000..738a5088 --- /dev/null +++ b/typescript/dist/models/Histogram.d.ts @@ -0,0 +1,68 @@ +/** + * Geo Engine API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ +import type { HistogramParameters } from './HistogramParameters'; +import type { SingleRasterOrVectorSource } from './SingleRasterOrVectorSource'; +/** + * The `Histogram` is a _plot operator_ that computes a histogram plot either over attributes of a vector dataset or values of a raster source. + * The output is a plot in [Vega-Lite](https://vega.github.io/vega-lite/) specification. + * + * For instance, you want to plot the data distribution of numeric attributes of a feature collection. + * Then you can use a histogram with a suitable number of buckets to visualize and assess this. + * + * ## Errors + * + * The operator returns an error if the selected column (`columnName`) does not exist or is not numeric. + * + * ## Notes + * + * If `bounds` or `buckets` are not defined, the operator will determine these values by itself which requires processing the data twice. + * + * If the `buckets` parameter is set to `squareRootChoiceRule`, the operator estimates it using the square root of the number of elements in the data. + * + * @export + * @interface Histogram + */ +export interface Histogram { + /** + * + * @type {HistogramParameters} + * @memberof Histogram + */ + params: HistogramParameters; + /** + * + * @type {SingleRasterOrVectorSource} + * @memberof Histogram + */ + sources: SingleRasterOrVectorSource; + /** + * + * @type {HistogramTypeEnum} + * @memberof Histogram + */ + type: HistogramTypeEnum; +} +/** + * @export + */ +export declare const HistogramTypeEnum: { + readonly Histogram: "Histogram"; +}; +export type HistogramTypeEnum = typeof HistogramTypeEnum[keyof typeof HistogramTypeEnum]; +/** + * Check if a given object implements the Histogram interface. + */ +export declare function instanceOfHistogram(value: object): value is Histogram; +export declare function HistogramFromJSON(json: any): Histogram; +export declare function HistogramFromJSONTyped(json: any, ignoreDiscriminator: boolean): Histogram; +export declare function HistogramToJSON(json: any): Histogram; +export declare function HistogramToJSONTyped(value?: Histogram | null, ignoreDiscriminator?: boolean): any; diff --git a/typescript/dist/models/Histogram.js b/typescript/dist/models/Histogram.js new file mode 100644 index 00000000..8154edde --- /dev/null +++ b/typescript/dist/models/Histogram.js @@ -0,0 +1,67 @@ +"use strict"; +/* tslint:disable */ +/* eslint-disable */ +/** + * Geo Engine API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ +Object.defineProperty(exports, "__esModule", { value: true }); +exports.HistogramTypeEnum = void 0; +exports.instanceOfHistogram = instanceOfHistogram; +exports.HistogramFromJSON = HistogramFromJSON; +exports.HistogramFromJSONTyped = HistogramFromJSONTyped; +exports.HistogramToJSON = HistogramToJSON; +exports.HistogramToJSONTyped = HistogramToJSONTyped; +const HistogramParameters_1 = require("./HistogramParameters"); +const SingleRasterOrVectorSource_1 = require("./SingleRasterOrVectorSource"); +/** + * @export + */ +exports.HistogramTypeEnum = { + Histogram: 'Histogram' +}; +/** + * Check if a given object implements the Histogram interface. + */ +function instanceOfHistogram(value) { + if (!('params' in value) || value['params'] === undefined) + return false; + if (!('sources' in value) || value['sources'] === undefined) + return false; + if (!('type' in value) || value['type'] === undefined) + return false; + return true; +} +function HistogramFromJSON(json) { + return HistogramFromJSONTyped(json, false); +} +function HistogramFromJSONTyped(json, ignoreDiscriminator) { + if (json == null) { + return json; + } + return { + 'params': (0, HistogramParameters_1.HistogramParametersFromJSON)(json['params']), + 'sources': (0, SingleRasterOrVectorSource_1.SingleRasterOrVectorSourceFromJSON)(json['sources']), + 'type': json['type'], + }; +} +function HistogramToJSON(json) { + return HistogramToJSONTyped(json, false); +} +function HistogramToJSONTyped(value, ignoreDiscriminator = false) { + if (value == null) { + return value; + } + return { + 'params': (0, HistogramParameters_1.HistogramParametersToJSON)(value['params']), + 'sources': (0, SingleRasterOrVectorSource_1.SingleRasterOrVectorSourceToJSON)(value['sources']), + 'type': value['type'], + }; +} diff --git a/typescript/dist/models/HistogramBounds.d.ts b/typescript/dist/models/HistogramBounds.d.ts new file mode 100644 index 00000000..ca63e0c0 --- /dev/null +++ b/typescript/dist/models/HistogramBounds.d.ts @@ -0,0 +1,23 @@ +/** + * Geo Engine API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ +import type { HistogramBoundsOneOf } from './HistogramBoundsOneOf'; +import type { HistogramBoundsOneOf1 } from './HistogramBoundsOneOf1'; +/** + * @type HistogramBounds + * + * @export + */ +export type HistogramBounds = HistogramBoundsOneOf | HistogramBoundsOneOf1; +export declare function HistogramBoundsFromJSON(json: any): HistogramBounds; +export declare function HistogramBoundsFromJSONTyped(json: any, ignoreDiscriminator: boolean): HistogramBounds; +export declare function HistogramBoundsToJSON(json: any): any; +export declare function HistogramBoundsToJSONTyped(value?: HistogramBounds | null, ignoreDiscriminator?: boolean): any; diff --git a/typescript/dist/models/HistogramBounds.js b/typescript/dist/models/HistogramBounds.js new file mode 100644 index 00000000..8acfb50b --- /dev/null +++ b/typescript/dist/models/HistogramBounds.js @@ -0,0 +1,57 @@ +"use strict"; +/* tslint:disable */ +/* eslint-disable */ +/** + * Geo Engine API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ +Object.defineProperty(exports, "__esModule", { value: true }); +exports.HistogramBoundsFromJSON = HistogramBoundsFromJSON; +exports.HistogramBoundsFromJSONTyped = HistogramBoundsFromJSONTyped; +exports.HistogramBoundsToJSON = HistogramBoundsToJSON; +exports.HistogramBoundsToJSONTyped = HistogramBoundsToJSONTyped; +const HistogramBoundsOneOf_1 = require("./HistogramBoundsOneOf"); +const HistogramBoundsOneOf1_1 = require("./HistogramBoundsOneOf1"); +function HistogramBoundsFromJSON(json) { + return HistogramBoundsFromJSONTyped(json, false); +} +function HistogramBoundsFromJSONTyped(json, ignoreDiscriminator) { + if (json == null) { + return json; + } + if (typeof json !== 'object') { + return json; + } + if ((0, HistogramBoundsOneOf_1.instanceOfHistogramBoundsOneOf)(json)) { + return (0, HistogramBoundsOneOf_1.HistogramBoundsOneOfFromJSONTyped)(json, true); + } + if ((0, HistogramBoundsOneOf1_1.instanceOfHistogramBoundsOneOf1)(json)) { + return (0, HistogramBoundsOneOf1_1.HistogramBoundsOneOf1FromJSONTyped)(json, true); + } + return {}; +} +function HistogramBoundsToJSON(json) { + return HistogramBoundsToJSONTyped(json, false); +} +function HistogramBoundsToJSONTyped(value, ignoreDiscriminator = false) { + if (value == null) { + return value; + } + if (typeof value !== 'object') { + return value; + } + if ((0, HistogramBoundsOneOf_1.instanceOfHistogramBoundsOneOf)(value)) { + return (0, HistogramBoundsOneOf_1.HistogramBoundsOneOfToJSON)(value); + } + if ((0, HistogramBoundsOneOf1_1.instanceOfHistogramBoundsOneOf1)(value)) { + return (0, HistogramBoundsOneOf1_1.HistogramBoundsOneOf1ToJSON)(value); + } + return {}; +} diff --git a/typescript/dist/models/HistogramBoundsOneOf.d.ts b/typescript/dist/models/HistogramBoundsOneOf.d.ts new file mode 100644 index 00000000..ebe90a24 --- /dev/null +++ b/typescript/dist/models/HistogramBoundsOneOf.d.ts @@ -0,0 +1,32 @@ +/** + * Geo Engine API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ +/** + * + * @export + * @interface HistogramBoundsOneOf + */ +export interface HistogramBoundsOneOf { + /** + * + * @type {any} + * @memberof HistogramBoundsOneOf + */ + data: any | null; +} +/** + * Check if a given object implements the HistogramBoundsOneOf interface. + */ +export declare function instanceOfHistogramBoundsOneOf(value: object): value is HistogramBoundsOneOf; +export declare function HistogramBoundsOneOfFromJSON(json: any): HistogramBoundsOneOf; +export declare function HistogramBoundsOneOfFromJSONTyped(json: any, ignoreDiscriminator: boolean): HistogramBoundsOneOf; +export declare function HistogramBoundsOneOfToJSON(json: any): HistogramBoundsOneOf; +export declare function HistogramBoundsOneOfToJSONTyped(value?: HistogramBoundsOneOf | null, ignoreDiscriminator?: boolean): any; diff --git a/typescript/dist/models/HistogramBoundsOneOf.js b/typescript/dist/models/HistogramBoundsOneOf.js new file mode 100644 index 00000000..c4ffd169 --- /dev/null +++ b/typescript/dist/models/HistogramBoundsOneOf.js @@ -0,0 +1,50 @@ +"use strict"; +/* tslint:disable */ +/* eslint-disable */ +/** + * Geo Engine API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ +Object.defineProperty(exports, "__esModule", { value: true }); +exports.instanceOfHistogramBoundsOneOf = instanceOfHistogramBoundsOneOf; +exports.HistogramBoundsOneOfFromJSON = HistogramBoundsOneOfFromJSON; +exports.HistogramBoundsOneOfFromJSONTyped = HistogramBoundsOneOfFromJSONTyped; +exports.HistogramBoundsOneOfToJSON = HistogramBoundsOneOfToJSON; +exports.HistogramBoundsOneOfToJSONTyped = HistogramBoundsOneOfToJSONTyped; +/** + * Check if a given object implements the HistogramBoundsOneOf interface. + */ +function instanceOfHistogramBoundsOneOf(value) { + if (!('data' in value) || value['data'] === undefined) + return false; + return true; +} +function HistogramBoundsOneOfFromJSON(json) { + return HistogramBoundsOneOfFromJSONTyped(json, false); +} +function HistogramBoundsOneOfFromJSONTyped(json, ignoreDiscriminator) { + if (json == null) { + return json; + } + return { + 'data': json['data'], + }; +} +function HistogramBoundsOneOfToJSON(json) { + return HistogramBoundsOneOfToJSONTyped(json, false); +} +function HistogramBoundsOneOfToJSONTyped(value, ignoreDiscriminator = false) { + if (value == null) { + return value; + } + return { + 'data': value['data'], + }; +} diff --git a/typescript/dist/models/HistogramBoundsOneOf1.d.ts b/typescript/dist/models/HistogramBoundsOneOf1.d.ts new file mode 100644 index 00000000..5d5af761 --- /dev/null +++ b/typescript/dist/models/HistogramBoundsOneOf1.d.ts @@ -0,0 +1,33 @@ +/** + * Geo Engine API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ +import type { HistogramBoundsOneOf1Values } from './HistogramBoundsOneOf1Values'; +/** + * + * @export + * @interface HistogramBoundsOneOf1 + */ +export interface HistogramBoundsOneOf1 { + /** + * + * @type {HistogramBoundsOneOf1Values} + * @memberof HistogramBoundsOneOf1 + */ + values: HistogramBoundsOneOf1Values; +} +/** + * Check if a given object implements the HistogramBoundsOneOf1 interface. + */ +export declare function instanceOfHistogramBoundsOneOf1(value: object): value is HistogramBoundsOneOf1; +export declare function HistogramBoundsOneOf1FromJSON(json: any): HistogramBoundsOneOf1; +export declare function HistogramBoundsOneOf1FromJSONTyped(json: any, ignoreDiscriminator: boolean): HistogramBoundsOneOf1; +export declare function HistogramBoundsOneOf1ToJSON(json: any): HistogramBoundsOneOf1; +export declare function HistogramBoundsOneOf1ToJSONTyped(value?: HistogramBoundsOneOf1 | null, ignoreDiscriminator?: boolean): any; diff --git a/typescript/dist/models/HistogramBoundsOneOf1.js b/typescript/dist/models/HistogramBoundsOneOf1.js new file mode 100644 index 00000000..1cbc56c5 --- /dev/null +++ b/typescript/dist/models/HistogramBoundsOneOf1.js @@ -0,0 +1,51 @@ +"use strict"; +/* tslint:disable */ +/* eslint-disable */ +/** + * Geo Engine API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ +Object.defineProperty(exports, "__esModule", { value: true }); +exports.instanceOfHistogramBoundsOneOf1 = instanceOfHistogramBoundsOneOf1; +exports.HistogramBoundsOneOf1FromJSON = HistogramBoundsOneOf1FromJSON; +exports.HistogramBoundsOneOf1FromJSONTyped = HistogramBoundsOneOf1FromJSONTyped; +exports.HistogramBoundsOneOf1ToJSON = HistogramBoundsOneOf1ToJSON; +exports.HistogramBoundsOneOf1ToJSONTyped = HistogramBoundsOneOf1ToJSONTyped; +const HistogramBoundsOneOf1Values_1 = require("./HistogramBoundsOneOf1Values"); +/** + * Check if a given object implements the HistogramBoundsOneOf1 interface. + */ +function instanceOfHistogramBoundsOneOf1(value) { + if (!('values' in value) || value['values'] === undefined) + return false; + return true; +} +function HistogramBoundsOneOf1FromJSON(json) { + return HistogramBoundsOneOf1FromJSONTyped(json, false); +} +function HistogramBoundsOneOf1FromJSONTyped(json, ignoreDiscriminator) { + if (json == null) { + return json; + } + return { + 'values': (0, HistogramBoundsOneOf1Values_1.HistogramBoundsOneOf1ValuesFromJSON)(json['values']), + }; +} +function HistogramBoundsOneOf1ToJSON(json) { + return HistogramBoundsOneOf1ToJSONTyped(json, false); +} +function HistogramBoundsOneOf1ToJSONTyped(value, ignoreDiscriminator = false) { + if (value == null) { + return value; + } + return { + 'values': (0, HistogramBoundsOneOf1Values_1.HistogramBoundsOneOf1ValuesToJSON)(value['values']), + }; +} diff --git a/typescript/dist/models/HistogramBoundsOneOf1Values.d.ts b/typescript/dist/models/HistogramBoundsOneOf1Values.d.ts new file mode 100644 index 00000000..7ecedb87 --- /dev/null +++ b/typescript/dist/models/HistogramBoundsOneOf1Values.d.ts @@ -0,0 +1,38 @@ +/** + * Geo Engine API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ +/** + * + * @export + * @interface HistogramBoundsOneOf1Values + */ +export interface HistogramBoundsOneOf1Values { + /** + * + * @type {number} + * @memberof HistogramBoundsOneOf1Values + */ + max: number; + /** + * + * @type {number} + * @memberof HistogramBoundsOneOf1Values + */ + min: number; +} +/** + * Check if a given object implements the HistogramBoundsOneOf1Values interface. + */ +export declare function instanceOfHistogramBoundsOneOf1Values(value: object): value is HistogramBoundsOneOf1Values; +export declare function HistogramBoundsOneOf1ValuesFromJSON(json: any): HistogramBoundsOneOf1Values; +export declare function HistogramBoundsOneOf1ValuesFromJSONTyped(json: any, ignoreDiscriminator: boolean): HistogramBoundsOneOf1Values; +export declare function HistogramBoundsOneOf1ValuesToJSON(json: any): HistogramBoundsOneOf1Values; +export declare function HistogramBoundsOneOf1ValuesToJSONTyped(value?: HistogramBoundsOneOf1Values | null, ignoreDiscriminator?: boolean): any; diff --git a/typescript/dist/models/HistogramBoundsOneOf1Values.js b/typescript/dist/models/HistogramBoundsOneOf1Values.js new file mode 100644 index 00000000..919acad7 --- /dev/null +++ b/typescript/dist/models/HistogramBoundsOneOf1Values.js @@ -0,0 +1,54 @@ +"use strict"; +/* tslint:disable */ +/* eslint-disable */ +/** + * Geo Engine API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ +Object.defineProperty(exports, "__esModule", { value: true }); +exports.instanceOfHistogramBoundsOneOf1Values = instanceOfHistogramBoundsOneOf1Values; +exports.HistogramBoundsOneOf1ValuesFromJSON = HistogramBoundsOneOf1ValuesFromJSON; +exports.HistogramBoundsOneOf1ValuesFromJSONTyped = HistogramBoundsOneOf1ValuesFromJSONTyped; +exports.HistogramBoundsOneOf1ValuesToJSON = HistogramBoundsOneOf1ValuesToJSON; +exports.HistogramBoundsOneOf1ValuesToJSONTyped = HistogramBoundsOneOf1ValuesToJSONTyped; +/** + * Check if a given object implements the HistogramBoundsOneOf1Values interface. + */ +function instanceOfHistogramBoundsOneOf1Values(value) { + if (!('max' in value) || value['max'] === undefined) + return false; + if (!('min' in value) || value['min'] === undefined) + return false; + return true; +} +function HistogramBoundsOneOf1ValuesFromJSON(json) { + return HistogramBoundsOneOf1ValuesFromJSONTyped(json, false); +} +function HistogramBoundsOneOf1ValuesFromJSONTyped(json, ignoreDiscriminator) { + if (json == null) { + return json; + } + return { + 'max': json['max'], + 'min': json['min'], + }; +} +function HistogramBoundsOneOf1ValuesToJSON(json) { + return HistogramBoundsOneOf1ValuesToJSONTyped(json, false); +} +function HistogramBoundsOneOf1ValuesToJSONTyped(value, ignoreDiscriminator = false) { + if (value == null) { + return value; + } + return { + 'max': value['max'], + 'min': value['min'], + }; +} diff --git a/typescript/dist/models/HistogramBuckets.d.ts b/typescript/dist/models/HistogramBuckets.d.ts new file mode 100644 index 00000000..3f4b4152 --- /dev/null +++ b/typescript/dist/models/HistogramBuckets.d.ts @@ -0,0 +1,23 @@ +/** + * Geo Engine API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ +import type { HistogramBucketsOneOf } from './HistogramBucketsOneOf'; +import type { HistogramBucketsOneOf1 } from './HistogramBucketsOneOf1'; +/** + * @type HistogramBuckets + * + * @export + */ +export type HistogramBuckets = HistogramBucketsOneOf | HistogramBucketsOneOf1; +export declare function HistogramBucketsFromJSON(json: any): HistogramBuckets; +export declare function HistogramBucketsFromJSONTyped(json: any, ignoreDiscriminator: boolean): HistogramBuckets; +export declare function HistogramBucketsToJSON(json: any): any; +export declare function HistogramBucketsToJSONTyped(value?: HistogramBuckets | null, ignoreDiscriminator?: boolean): any; diff --git a/typescript/dist/models/HistogramBuckets.js b/typescript/dist/models/HistogramBuckets.js new file mode 100644 index 00000000..4a2602ba --- /dev/null +++ b/typescript/dist/models/HistogramBuckets.js @@ -0,0 +1,57 @@ +"use strict"; +/* tslint:disable */ +/* eslint-disable */ +/** + * Geo Engine API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ +Object.defineProperty(exports, "__esModule", { value: true }); +exports.HistogramBucketsFromJSON = HistogramBucketsFromJSON; +exports.HistogramBucketsFromJSONTyped = HistogramBucketsFromJSONTyped; +exports.HistogramBucketsToJSON = HistogramBucketsToJSON; +exports.HistogramBucketsToJSONTyped = HistogramBucketsToJSONTyped; +const HistogramBucketsOneOf_1 = require("./HistogramBucketsOneOf"); +const HistogramBucketsOneOf1_1 = require("./HistogramBucketsOneOf1"); +function HistogramBucketsFromJSON(json) { + return HistogramBucketsFromJSONTyped(json, false); +} +function HistogramBucketsFromJSONTyped(json, ignoreDiscriminator) { + if (json == null) { + return json; + } + if (typeof json !== 'object') { + return json; + } + if ((0, HistogramBucketsOneOf_1.instanceOfHistogramBucketsOneOf)(json)) { + return (0, HistogramBucketsOneOf_1.HistogramBucketsOneOfFromJSONTyped)(json, true); + } + if ((0, HistogramBucketsOneOf1_1.instanceOfHistogramBucketsOneOf1)(json)) { + return (0, HistogramBucketsOneOf1_1.HistogramBucketsOneOf1FromJSONTyped)(json, true); + } + return {}; +} +function HistogramBucketsToJSON(json) { + return HistogramBucketsToJSONTyped(json, false); +} +function HistogramBucketsToJSONTyped(value, ignoreDiscriminator = false) { + if (value == null) { + return value; + } + if (typeof value !== 'object') { + return value; + } + if ((0, HistogramBucketsOneOf_1.instanceOfHistogramBucketsOneOf)(value)) { + return (0, HistogramBucketsOneOf_1.HistogramBucketsOneOfToJSON)(value); + } + if ((0, HistogramBucketsOneOf1_1.instanceOfHistogramBucketsOneOf1)(value)) { + return (0, HistogramBucketsOneOf1_1.HistogramBucketsOneOf1ToJSON)(value); + } + return {}; +} diff --git a/typescript/dist/models/HistogramBucketsOneOf.d.ts b/typescript/dist/models/HistogramBucketsOneOf.d.ts new file mode 100644 index 00000000..10a2dfce --- /dev/null +++ b/typescript/dist/models/HistogramBucketsOneOf.d.ts @@ -0,0 +1,45 @@ +/** + * Geo Engine API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ +/** + * + * @export + * @interface HistogramBucketsOneOf + */ +export interface HistogramBucketsOneOf { + /** + * + * @type {HistogramBucketsOneOfTypeEnum} + * @memberof HistogramBucketsOneOf + */ + type: HistogramBucketsOneOfTypeEnum; + /** + * + * @type {number} + * @memberof HistogramBucketsOneOf + */ + value: number; +} +/** + * @export + */ +export declare const HistogramBucketsOneOfTypeEnum: { + readonly Number: "number"; +}; +export type HistogramBucketsOneOfTypeEnum = typeof HistogramBucketsOneOfTypeEnum[keyof typeof HistogramBucketsOneOfTypeEnum]; +/** + * Check if a given object implements the HistogramBucketsOneOf interface. + */ +export declare function instanceOfHistogramBucketsOneOf(value: object): value is HistogramBucketsOneOf; +export declare function HistogramBucketsOneOfFromJSON(json: any): HistogramBucketsOneOf; +export declare function HistogramBucketsOneOfFromJSONTyped(json: any, ignoreDiscriminator: boolean): HistogramBucketsOneOf; +export declare function HistogramBucketsOneOfToJSON(json: any): HistogramBucketsOneOf; +export declare function HistogramBucketsOneOfToJSONTyped(value?: HistogramBucketsOneOf | null, ignoreDiscriminator?: boolean): any; diff --git a/typescript/dist/models/HistogramBucketsOneOf.js b/typescript/dist/models/HistogramBucketsOneOf.js new file mode 100644 index 00000000..f2575c75 --- /dev/null +++ b/typescript/dist/models/HistogramBucketsOneOf.js @@ -0,0 +1,61 @@ +"use strict"; +/* tslint:disable */ +/* eslint-disable */ +/** + * Geo Engine API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ +Object.defineProperty(exports, "__esModule", { value: true }); +exports.HistogramBucketsOneOfTypeEnum = void 0; +exports.instanceOfHistogramBucketsOneOf = instanceOfHistogramBucketsOneOf; +exports.HistogramBucketsOneOfFromJSON = HistogramBucketsOneOfFromJSON; +exports.HistogramBucketsOneOfFromJSONTyped = HistogramBucketsOneOfFromJSONTyped; +exports.HistogramBucketsOneOfToJSON = HistogramBucketsOneOfToJSON; +exports.HistogramBucketsOneOfToJSONTyped = HistogramBucketsOneOfToJSONTyped; +/** + * @export + */ +exports.HistogramBucketsOneOfTypeEnum = { + Number: 'number' +}; +/** + * Check if a given object implements the HistogramBucketsOneOf interface. + */ +function instanceOfHistogramBucketsOneOf(value) { + if (!('type' in value) || value['type'] === undefined) + return false; + if (!('value' in value) || value['value'] === undefined) + return false; + return true; +} +function HistogramBucketsOneOfFromJSON(json) { + return HistogramBucketsOneOfFromJSONTyped(json, false); +} +function HistogramBucketsOneOfFromJSONTyped(json, ignoreDiscriminator) { + if (json == null) { + return json; + } + return { + 'type': json['type'], + 'value': json['value'], + }; +} +function HistogramBucketsOneOfToJSON(json) { + return HistogramBucketsOneOfToJSONTyped(json, false); +} +function HistogramBucketsOneOfToJSONTyped(value, ignoreDiscriminator = false) { + if (value == null) { + return value; + } + return { + 'type': value['type'], + 'value': value['value'], + }; +} diff --git a/typescript/dist/models/HistogramBucketsOneOf1.d.ts b/typescript/dist/models/HistogramBucketsOneOf1.d.ts new file mode 100644 index 00000000..2698370c --- /dev/null +++ b/typescript/dist/models/HistogramBucketsOneOf1.d.ts @@ -0,0 +1,45 @@ +/** + * Geo Engine API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ +/** + * + * @export + * @interface HistogramBucketsOneOf1 + */ +export interface HistogramBucketsOneOf1 { + /** + * + * @type {number} + * @memberof HistogramBucketsOneOf1 + */ + maxNumberOfBuckets?: number; + /** + * + * @type {HistogramBucketsOneOf1TypeEnum} + * @memberof HistogramBucketsOneOf1 + */ + type: HistogramBucketsOneOf1TypeEnum; +} +/** + * @export + */ +export declare const HistogramBucketsOneOf1TypeEnum: { + readonly SquareRootChoiceRule: "squareRootChoiceRule"; +}; +export type HistogramBucketsOneOf1TypeEnum = typeof HistogramBucketsOneOf1TypeEnum[keyof typeof HistogramBucketsOneOf1TypeEnum]; +/** + * Check if a given object implements the HistogramBucketsOneOf1 interface. + */ +export declare function instanceOfHistogramBucketsOneOf1(value: object): value is HistogramBucketsOneOf1; +export declare function HistogramBucketsOneOf1FromJSON(json: any): HistogramBucketsOneOf1; +export declare function HistogramBucketsOneOf1FromJSONTyped(json: any, ignoreDiscriminator: boolean): HistogramBucketsOneOf1; +export declare function HistogramBucketsOneOf1ToJSON(json: any): HistogramBucketsOneOf1; +export declare function HistogramBucketsOneOf1ToJSONTyped(value?: HistogramBucketsOneOf1 | null, ignoreDiscriminator?: boolean): any; diff --git a/typescript/dist/models/HistogramBucketsOneOf1.js b/typescript/dist/models/HistogramBucketsOneOf1.js new file mode 100644 index 00000000..23683e36 --- /dev/null +++ b/typescript/dist/models/HistogramBucketsOneOf1.js @@ -0,0 +1,59 @@ +"use strict"; +/* tslint:disable */ +/* eslint-disable */ +/** + * Geo Engine API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ +Object.defineProperty(exports, "__esModule", { value: true }); +exports.HistogramBucketsOneOf1TypeEnum = void 0; +exports.instanceOfHistogramBucketsOneOf1 = instanceOfHistogramBucketsOneOf1; +exports.HistogramBucketsOneOf1FromJSON = HistogramBucketsOneOf1FromJSON; +exports.HistogramBucketsOneOf1FromJSONTyped = HistogramBucketsOneOf1FromJSONTyped; +exports.HistogramBucketsOneOf1ToJSON = HistogramBucketsOneOf1ToJSON; +exports.HistogramBucketsOneOf1ToJSONTyped = HistogramBucketsOneOf1ToJSONTyped; +/** + * @export + */ +exports.HistogramBucketsOneOf1TypeEnum = { + SquareRootChoiceRule: 'squareRootChoiceRule' +}; +/** + * Check if a given object implements the HistogramBucketsOneOf1 interface. + */ +function instanceOfHistogramBucketsOneOf1(value) { + if (!('type' in value) || value['type'] === undefined) + return false; + return true; +} +function HistogramBucketsOneOf1FromJSON(json) { + return HistogramBucketsOneOf1FromJSONTyped(json, false); +} +function HistogramBucketsOneOf1FromJSONTyped(json, ignoreDiscriminator) { + if (json == null) { + return json; + } + return { + 'maxNumberOfBuckets': json['maxNumberOfBuckets'] == null ? undefined : json['maxNumberOfBuckets'], + 'type': json['type'], + }; +} +function HistogramBucketsOneOf1ToJSON(json) { + return HistogramBucketsOneOf1ToJSONTyped(json, false); +} +function HistogramBucketsOneOf1ToJSONTyped(value, ignoreDiscriminator = false) { + if (value == null) { + return value; + } + return { + 'maxNumberOfBuckets': value['maxNumberOfBuckets'], + 'type': value['type'], + }; +} diff --git a/typescript/dist/models/HistogramParameters.d.ts b/typescript/dist/models/HistogramParameters.d.ts new file mode 100644 index 00000000..072472b1 --- /dev/null +++ b/typescript/dist/models/HistogramParameters.d.ts @@ -0,0 +1,52 @@ +/** + * Geo Engine API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ +import type { HistogramBounds } from './HistogramBounds'; +import type { HistogramBuckets } from './HistogramBuckets'; +/** + * The parameter spec for `Histogram` + * @export + * @interface HistogramParameters + */ +export interface HistogramParameters { + /** + * Name of the (numeric) vector attribute or raster band to compute the histogram on. + * @type {string} + * @memberof HistogramParameters + */ + attributeName: string; + /** + * If `data`, it computes the bounds of the underlying data. If `values`, one can specify custom bounds. + * @type {HistogramBounds} + * @memberof HistogramParameters + */ + bounds: HistogramBounds; + /** + * The number of buckets. The value can be specified or calculated. + * @type {HistogramBuckets} + * @memberof HistogramParameters + */ + buckets: HistogramBuckets; + /** + * Flag, if the histogram should have user interactions for a range selection. It is `false` by default. + * @type {boolean} + * @memberof HistogramParameters + */ + interactive?: boolean; +} +/** + * Check if a given object implements the HistogramParameters interface. + */ +export declare function instanceOfHistogramParameters(value: object): value is HistogramParameters; +export declare function HistogramParametersFromJSON(json: any): HistogramParameters; +export declare function HistogramParametersFromJSONTyped(json: any, ignoreDiscriminator: boolean): HistogramParameters; +export declare function HistogramParametersToJSON(json: any): HistogramParameters; +export declare function HistogramParametersToJSONTyped(value?: HistogramParameters | null, ignoreDiscriminator?: boolean): any; diff --git a/typescript/dist/models/HistogramParameters.js b/typescript/dist/models/HistogramParameters.js new file mode 100644 index 00000000..553847dc --- /dev/null +++ b/typescript/dist/models/HistogramParameters.js @@ -0,0 +1,62 @@ +"use strict"; +/* tslint:disable */ +/* eslint-disable */ +/** + * Geo Engine API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ +Object.defineProperty(exports, "__esModule", { value: true }); +exports.instanceOfHistogramParameters = instanceOfHistogramParameters; +exports.HistogramParametersFromJSON = HistogramParametersFromJSON; +exports.HistogramParametersFromJSONTyped = HistogramParametersFromJSONTyped; +exports.HistogramParametersToJSON = HistogramParametersToJSON; +exports.HistogramParametersToJSONTyped = HistogramParametersToJSONTyped; +const HistogramBounds_1 = require("./HistogramBounds"); +const HistogramBuckets_1 = require("./HistogramBuckets"); +/** + * Check if a given object implements the HistogramParameters interface. + */ +function instanceOfHistogramParameters(value) { + if (!('attributeName' in value) || value['attributeName'] === undefined) + return false; + if (!('bounds' in value) || value['bounds'] === undefined) + return false; + if (!('buckets' in value) || value['buckets'] === undefined) + return false; + return true; +} +function HistogramParametersFromJSON(json) { + return HistogramParametersFromJSONTyped(json, false); +} +function HistogramParametersFromJSONTyped(json, ignoreDiscriminator) { + if (json == null) { + return json; + } + return { + 'attributeName': json['attributeName'], + 'bounds': (0, HistogramBounds_1.HistogramBoundsFromJSON)(json['bounds']), + 'buckets': (0, HistogramBuckets_1.HistogramBucketsFromJSON)(json['buckets']), + 'interactive': json['interactive'] == null ? undefined : json['interactive'], + }; +} +function HistogramParametersToJSON(json) { + return HistogramParametersToJSONTyped(json, false); +} +function HistogramParametersToJSONTyped(value, ignoreDiscriminator = false) { + if (value == null) { + return value; + } + return { + 'attributeName': value['attributeName'], + 'bounds': (0, HistogramBounds_1.HistogramBoundsToJSON)(value['bounds']), + 'buckets': (0, HistogramBuckets_1.HistogramBucketsToJSON)(value['buckets']), + 'interactive': value['interactive'], + }; +} diff --git a/typescript/dist/models/LegacyTypedOperator.d.ts b/typescript/dist/models/LegacyTypedOperator.d.ts new file mode 100644 index 00000000..4fd15683 --- /dev/null +++ b/typescript/dist/models/LegacyTypedOperator.d.ts @@ -0,0 +1,48 @@ +/** + * Geo Engine API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ +import type { LegacyTypedOperatorOperator } from './LegacyTypedOperatorOperator'; +/** + * An enum to differentiate between `Operator` variants + * @export + * @interface LegacyTypedOperator + */ +export interface LegacyTypedOperator { + /** + * + * @type {LegacyTypedOperatorOperator} + * @memberof LegacyTypedOperator + */ + operator: LegacyTypedOperatorOperator; + /** + * + * @type {LegacyTypedOperatorTypeEnum} + * @memberof LegacyTypedOperator + */ + type: LegacyTypedOperatorTypeEnum; +} +/** + * @export + */ +export declare const LegacyTypedOperatorTypeEnum: { + readonly Vector: "Vector"; + readonly Raster: "Raster"; + readonly Plot: "Plot"; +}; +export type LegacyTypedOperatorTypeEnum = typeof LegacyTypedOperatorTypeEnum[keyof typeof LegacyTypedOperatorTypeEnum]; +/** + * Check if a given object implements the LegacyTypedOperator interface. + */ +export declare function instanceOfLegacyTypedOperator(value: object): value is LegacyTypedOperator; +export declare function LegacyTypedOperatorFromJSON(json: any): LegacyTypedOperator; +export declare function LegacyTypedOperatorFromJSONTyped(json: any, ignoreDiscriminator: boolean): LegacyTypedOperator; +export declare function LegacyTypedOperatorToJSON(json: any): LegacyTypedOperator; +export declare function LegacyTypedOperatorToJSONTyped(value?: LegacyTypedOperator | null, ignoreDiscriminator?: boolean): any; diff --git a/typescript/dist/models/LegacyTypedOperator.js b/typescript/dist/models/LegacyTypedOperator.js new file mode 100644 index 00000000..4b2219aa --- /dev/null +++ b/typescript/dist/models/LegacyTypedOperator.js @@ -0,0 +1,64 @@ +"use strict"; +/* tslint:disable */ +/* eslint-disable */ +/** + * Geo Engine API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ +Object.defineProperty(exports, "__esModule", { value: true }); +exports.LegacyTypedOperatorTypeEnum = void 0; +exports.instanceOfLegacyTypedOperator = instanceOfLegacyTypedOperator; +exports.LegacyTypedOperatorFromJSON = LegacyTypedOperatorFromJSON; +exports.LegacyTypedOperatorFromJSONTyped = LegacyTypedOperatorFromJSONTyped; +exports.LegacyTypedOperatorToJSON = LegacyTypedOperatorToJSON; +exports.LegacyTypedOperatorToJSONTyped = LegacyTypedOperatorToJSONTyped; +const LegacyTypedOperatorOperator_1 = require("./LegacyTypedOperatorOperator"); +/** + * @export + */ +exports.LegacyTypedOperatorTypeEnum = { + Vector: 'Vector', + Raster: 'Raster', + Plot: 'Plot' +}; +/** + * Check if a given object implements the LegacyTypedOperator interface. + */ +function instanceOfLegacyTypedOperator(value) { + if (!('operator' in value) || value['operator'] === undefined) + return false; + if (!('type' in value) || value['type'] === undefined) + return false; + return true; +} +function LegacyTypedOperatorFromJSON(json) { + return LegacyTypedOperatorFromJSONTyped(json, false); +} +function LegacyTypedOperatorFromJSONTyped(json, ignoreDiscriminator) { + if (json == null) { + return json; + } + return { + 'operator': (0, LegacyTypedOperatorOperator_1.LegacyTypedOperatorOperatorFromJSON)(json['operator']), + 'type': json['type'], + }; +} +function LegacyTypedOperatorToJSON(json) { + return LegacyTypedOperatorToJSONTyped(json, false); +} +function LegacyTypedOperatorToJSONTyped(value, ignoreDiscriminator = false) { + if (value == null) { + return value; + } + return { + 'operator': (0, LegacyTypedOperatorOperator_1.LegacyTypedOperatorOperatorToJSON)(value['operator']), + 'type': value['type'], + }; +} diff --git a/typescript/dist/models/LegacyTypedOperatorOperator.d.ts b/typescript/dist/models/LegacyTypedOperatorOperator.d.ts new file mode 100644 index 00000000..a709e617 --- /dev/null +++ b/typescript/dist/models/LegacyTypedOperatorOperator.d.ts @@ -0,0 +1,44 @@ +/** + * Geo Engine API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ +/** + * + * @export + * @interface LegacyTypedOperatorOperator + */ +export interface LegacyTypedOperatorOperator { + /** + * + * @type {object} + * @memberof LegacyTypedOperatorOperator + */ + params?: object; + /** + * + * @type {object} + * @memberof LegacyTypedOperatorOperator + */ + sources?: object; + /** + * + * @type {string} + * @memberof LegacyTypedOperatorOperator + */ + type: string; +} +/** + * Check if a given object implements the LegacyTypedOperatorOperator interface. + */ +export declare function instanceOfLegacyTypedOperatorOperator(value: object): value is LegacyTypedOperatorOperator; +export declare function LegacyTypedOperatorOperatorFromJSON(json: any): LegacyTypedOperatorOperator; +export declare function LegacyTypedOperatorOperatorFromJSONTyped(json: any, ignoreDiscriminator: boolean): LegacyTypedOperatorOperator; +export declare function LegacyTypedOperatorOperatorToJSON(json: any): LegacyTypedOperatorOperator; +export declare function LegacyTypedOperatorOperatorToJSONTyped(value?: LegacyTypedOperatorOperator | null, ignoreDiscriminator?: boolean): any; diff --git a/typescript/dist/models/TypedOperatorOperator.js b/typescript/dist/models/LegacyTypedOperatorOperator.js similarity index 51% rename from typescript/dist/models/TypedOperatorOperator.js rename to typescript/dist/models/LegacyTypedOperatorOperator.js index 9c14c9e5..bce7efcd 100644 --- a/typescript/dist/models/TypedOperatorOperator.js +++ b/typescript/dist/models/LegacyTypedOperatorOperator.js @@ -13,23 +13,23 @@ * Do not edit the class manually. */ Object.defineProperty(exports, "__esModule", { value: true }); -exports.instanceOfTypedOperatorOperator = instanceOfTypedOperatorOperator; -exports.TypedOperatorOperatorFromJSON = TypedOperatorOperatorFromJSON; -exports.TypedOperatorOperatorFromJSONTyped = TypedOperatorOperatorFromJSONTyped; -exports.TypedOperatorOperatorToJSON = TypedOperatorOperatorToJSON; -exports.TypedOperatorOperatorToJSONTyped = TypedOperatorOperatorToJSONTyped; +exports.instanceOfLegacyTypedOperatorOperator = instanceOfLegacyTypedOperatorOperator; +exports.LegacyTypedOperatorOperatorFromJSON = LegacyTypedOperatorOperatorFromJSON; +exports.LegacyTypedOperatorOperatorFromJSONTyped = LegacyTypedOperatorOperatorFromJSONTyped; +exports.LegacyTypedOperatorOperatorToJSON = LegacyTypedOperatorOperatorToJSON; +exports.LegacyTypedOperatorOperatorToJSONTyped = LegacyTypedOperatorOperatorToJSONTyped; /** - * Check if a given object implements the TypedOperatorOperator interface. + * Check if a given object implements the LegacyTypedOperatorOperator interface. */ -function instanceOfTypedOperatorOperator(value) { +function instanceOfLegacyTypedOperatorOperator(value) { if (!('type' in value) || value['type'] === undefined) return false; return true; } -function TypedOperatorOperatorFromJSON(json) { - return TypedOperatorOperatorFromJSONTyped(json, false); +function LegacyTypedOperatorOperatorFromJSON(json) { + return LegacyTypedOperatorOperatorFromJSONTyped(json, false); } -function TypedOperatorOperatorFromJSONTyped(json, ignoreDiscriminator) { +function LegacyTypedOperatorOperatorFromJSONTyped(json, ignoreDiscriminator) { if (json == null) { return json; } @@ -39,10 +39,10 @@ function TypedOperatorOperatorFromJSONTyped(json, ignoreDiscriminator) { 'type': json['type'], }; } -function TypedOperatorOperatorToJSON(json) { - return TypedOperatorOperatorToJSONTyped(json, false); +function LegacyTypedOperatorOperatorToJSON(json) { + return LegacyTypedOperatorOperatorToJSONTyped(json, false); } -function TypedOperatorOperatorToJSONTyped(value, ignoreDiscriminator = false) { +function LegacyTypedOperatorOperatorToJSONTyped(value, ignoreDiscriminator = false) { if (value == null) { return value; } diff --git a/typescript/dist/models/MockPointSource.d.ts b/typescript/dist/models/MockPointSource.d.ts new file mode 100644 index 00000000..0abaa593 --- /dev/null +++ b/typescript/dist/models/MockPointSource.d.ts @@ -0,0 +1,47 @@ +/** + * Geo Engine API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ +import type { MockPointSourceParameters } from './MockPointSourceParameters'; +/** + * The [`MockPointSource`] is a source operator that provides mock vector point data for testing and development purposes. + * + * @export + * @interface MockPointSource + */ +export interface MockPointSource { + /** + * + * @type {MockPointSourceParameters} + * @memberof MockPointSource + */ + params: MockPointSourceParameters; + /** + * + * @type {MockPointSourceTypeEnum} + * @memberof MockPointSource + */ + type: MockPointSourceTypeEnum; +} +/** + * @export + */ +export declare const MockPointSourceTypeEnum: { + readonly MockPointSource: "MockPointSource"; +}; +export type MockPointSourceTypeEnum = typeof MockPointSourceTypeEnum[keyof typeof MockPointSourceTypeEnum]; +/** + * Check if a given object implements the MockPointSource interface. + */ +export declare function instanceOfMockPointSource(value: object): value is MockPointSource; +export declare function MockPointSourceFromJSON(json: any): MockPointSource; +export declare function MockPointSourceFromJSONTyped(json: any, ignoreDiscriminator: boolean): MockPointSource; +export declare function MockPointSourceToJSON(json: any): MockPointSource; +export declare function MockPointSourceToJSONTyped(value?: MockPointSource | null, ignoreDiscriminator?: boolean): any; diff --git a/typescript/dist/models/MockPointSource.js b/typescript/dist/models/MockPointSource.js new file mode 100644 index 00000000..30849973 --- /dev/null +++ b/typescript/dist/models/MockPointSource.js @@ -0,0 +1,62 @@ +"use strict"; +/* tslint:disable */ +/* eslint-disable */ +/** + * Geo Engine API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ +Object.defineProperty(exports, "__esModule", { value: true }); +exports.MockPointSourceTypeEnum = void 0; +exports.instanceOfMockPointSource = instanceOfMockPointSource; +exports.MockPointSourceFromJSON = MockPointSourceFromJSON; +exports.MockPointSourceFromJSONTyped = MockPointSourceFromJSONTyped; +exports.MockPointSourceToJSON = MockPointSourceToJSON; +exports.MockPointSourceToJSONTyped = MockPointSourceToJSONTyped; +const MockPointSourceParameters_1 = require("./MockPointSourceParameters"); +/** + * @export + */ +exports.MockPointSourceTypeEnum = { + MockPointSource: 'MockPointSource' +}; +/** + * Check if a given object implements the MockPointSource interface. + */ +function instanceOfMockPointSource(value) { + if (!('params' in value) || value['params'] === undefined) + return false; + if (!('type' in value) || value['type'] === undefined) + return false; + return true; +} +function MockPointSourceFromJSON(json) { + return MockPointSourceFromJSONTyped(json, false); +} +function MockPointSourceFromJSONTyped(json, ignoreDiscriminator) { + if (json == null) { + return json; + } + return { + 'params': (0, MockPointSourceParameters_1.MockPointSourceParametersFromJSON)(json['params']), + 'type': json['type'], + }; +} +function MockPointSourceToJSON(json) { + return MockPointSourceToJSONTyped(json, false); +} +function MockPointSourceToJSONTyped(value, ignoreDiscriminator = false) { + if (value == null) { + return value; + } + return { + 'params': (0, MockPointSourceParameters_1.MockPointSourceParametersToJSON)(value['params']), + 'type': value['type'], + }; +} diff --git a/typescript/dist/models/MockPointSourceParameters.d.ts b/typescript/dist/models/MockPointSourceParameters.d.ts new file mode 100644 index 00000000..af6d1a63 --- /dev/null +++ b/typescript/dist/models/MockPointSourceParameters.d.ts @@ -0,0 +1,43 @@ +/** + * Geo Engine API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ +import type { SpatialBoundsDerive } from './SpatialBoundsDerive'; +import type { Coordinate2D } from './Coordinate2D'; +/** + * Parameters for the [`MockPointSource`] operator. + * @export + * @interface MockPointSourceParameters + */ +export interface MockPointSourceParameters { + /** + * Points to be output by the mock point source. + * + * @type {Array} + * @memberof MockPointSourceParameters + */ + points: Array; + /** + * Defines how the spatial bounds of the source are derived. + * + * Defaults to `None`. + * @type {SpatialBoundsDerive} + * @memberof MockPointSourceParameters + */ + spatialBounds: SpatialBoundsDerive; +} +/** + * Check if a given object implements the MockPointSourceParameters interface. + */ +export declare function instanceOfMockPointSourceParameters(value: object): value is MockPointSourceParameters; +export declare function MockPointSourceParametersFromJSON(json: any): MockPointSourceParameters; +export declare function MockPointSourceParametersFromJSONTyped(json: any, ignoreDiscriminator: boolean): MockPointSourceParameters; +export declare function MockPointSourceParametersToJSON(json: any): MockPointSourceParameters; +export declare function MockPointSourceParametersToJSONTyped(value?: MockPointSourceParameters | null, ignoreDiscriminator?: boolean): any; diff --git a/typescript/dist/models/MockPointSourceParameters.js b/typescript/dist/models/MockPointSourceParameters.js new file mode 100644 index 00000000..7bedcb45 --- /dev/null +++ b/typescript/dist/models/MockPointSourceParameters.js @@ -0,0 +1,56 @@ +"use strict"; +/* tslint:disable */ +/* eslint-disable */ +/** + * Geo Engine API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ +Object.defineProperty(exports, "__esModule", { value: true }); +exports.instanceOfMockPointSourceParameters = instanceOfMockPointSourceParameters; +exports.MockPointSourceParametersFromJSON = MockPointSourceParametersFromJSON; +exports.MockPointSourceParametersFromJSONTyped = MockPointSourceParametersFromJSONTyped; +exports.MockPointSourceParametersToJSON = MockPointSourceParametersToJSON; +exports.MockPointSourceParametersToJSONTyped = MockPointSourceParametersToJSONTyped; +const SpatialBoundsDerive_1 = require("./SpatialBoundsDerive"); +const Coordinate2D_1 = require("./Coordinate2D"); +/** + * Check if a given object implements the MockPointSourceParameters interface. + */ +function instanceOfMockPointSourceParameters(value) { + if (!('points' in value) || value['points'] === undefined) + return false; + if (!('spatialBounds' in value) || value['spatialBounds'] === undefined) + return false; + return true; +} +function MockPointSourceParametersFromJSON(json) { + return MockPointSourceParametersFromJSONTyped(json, false); +} +function MockPointSourceParametersFromJSONTyped(json, ignoreDiscriminator) { + if (json == null) { + return json; + } + return { + 'points': (json['points'].map(Coordinate2D_1.Coordinate2DFromJSON)), + 'spatialBounds': (0, SpatialBoundsDerive_1.SpatialBoundsDeriveFromJSON)(json['spatialBounds']), + }; +} +function MockPointSourceParametersToJSON(json) { + return MockPointSourceParametersToJSONTyped(json, false); +} +function MockPointSourceParametersToJSONTyped(value, ignoreDiscriminator = false) { + if (value == null) { + return value; + } + return { + 'points': (value['points'].map(Coordinate2D_1.Coordinate2DToJSON)), + 'spatialBounds': (0, SpatialBoundsDerive_1.SpatialBoundsDeriveToJSON)(value['spatialBounds']), + }; +} diff --git a/typescript/dist/models/MultipleRasterOrSingleVectorOperator.d.ts b/typescript/dist/models/MultipleRasterOrSingleVectorOperator.d.ts new file mode 100644 index 00000000..1c1b9e80 --- /dev/null +++ b/typescript/dist/models/MultipleRasterOrSingleVectorOperator.d.ts @@ -0,0 +1,23 @@ +/** + * Geo Engine API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ +import type { RasterOperator } from './RasterOperator'; +import type { VectorOperator } from './VectorOperator'; +/** + * @type MultipleRasterOrSingleVectorOperator + * It is either a set of `RasterOperator` or a single `VectorOperator` + * @export + */ +export type MultipleRasterOrSingleVectorOperator = Array | VectorOperator; +export declare function MultipleRasterOrSingleVectorOperatorFromJSON(json: any): MultipleRasterOrSingleVectorOperator; +export declare function MultipleRasterOrSingleVectorOperatorFromJSONTyped(json: any, ignoreDiscriminator: boolean): MultipleRasterOrSingleVectorOperator; +export declare function MultipleRasterOrSingleVectorOperatorToJSON(json: any): any; +export declare function MultipleRasterOrSingleVectorOperatorToJSONTyped(value?: MultipleRasterOrSingleVectorOperator | null, ignoreDiscriminator?: boolean): any; diff --git a/typescript/dist/models/MultipleRasterOrSingleVectorOperator.js b/typescript/dist/models/MultipleRasterOrSingleVectorOperator.js new file mode 100644 index 00000000..c1b3c14f --- /dev/null +++ b/typescript/dist/models/MultipleRasterOrSingleVectorOperator.js @@ -0,0 +1,67 @@ +"use strict"; +/* tslint:disable */ +/* eslint-disable */ +/** + * Geo Engine API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ +Object.defineProperty(exports, "__esModule", { value: true }); +exports.MultipleRasterOrSingleVectorOperatorFromJSON = MultipleRasterOrSingleVectorOperatorFromJSON; +exports.MultipleRasterOrSingleVectorOperatorFromJSONTyped = MultipleRasterOrSingleVectorOperatorFromJSONTyped; +exports.MultipleRasterOrSingleVectorOperatorToJSON = MultipleRasterOrSingleVectorOperatorToJSON; +exports.MultipleRasterOrSingleVectorOperatorToJSONTyped = MultipleRasterOrSingleVectorOperatorToJSONTyped; +const RasterOperator_1 = require("./RasterOperator"); +const VectorOperator_1 = require("./VectorOperator"); +function MultipleRasterOrSingleVectorOperatorFromJSON(json) { + return MultipleRasterOrSingleVectorOperatorFromJSONTyped(json, false); +} +function MultipleRasterOrSingleVectorOperatorFromJSONTyped(json, ignoreDiscriminator) { + if (json == null) { + return json; + } + if (typeof json !== 'object') { + return json; + } + if ((0, VectorOperator_1.instanceOfVectorOperator)(json)) { + return (0, VectorOperator_1.VectorOperatorFromJSONTyped)(json, true); + } + if (Array.isArray(json)) { + if (json.every(item => typeof item === 'object')) { + if (json.every(item => (0, RasterOperator_1.instanceOfRasterOperator)(item))) { + return json.map(value => (0, RasterOperator_1.RasterOperatorFromJSONTyped)(value, true)); + } + } + return json; + } + return {}; +} +function MultipleRasterOrSingleVectorOperatorToJSON(json) { + return MultipleRasterOrSingleVectorOperatorToJSONTyped(json, false); +} +function MultipleRasterOrSingleVectorOperatorToJSONTyped(value, ignoreDiscriminator = false) { + if (value == null) { + return value; + } + if (typeof value !== 'object') { + return value; + } + if ((0, VectorOperator_1.instanceOfVectorOperator)(value)) { + return (0, VectorOperator_1.VectorOperatorToJSON)(value); + } + if (Array.isArray(value)) { + if (value.every(item => typeof item === 'object')) { + if (value.every(item => (0, RasterOperator_1.instanceOfRasterOperator)(item))) { + return value.map(value => (0, RasterOperator_1.RasterOperatorToJSON)(value)); + } + } + return value; + } + return {}; +} diff --git a/typescript/dist/models/MultipleRasterOrSingleVectorSource.d.ts b/typescript/dist/models/MultipleRasterOrSingleVectorSource.d.ts new file mode 100644 index 00000000..6b5dc6eb --- /dev/null +++ b/typescript/dist/models/MultipleRasterOrSingleVectorSource.d.ts @@ -0,0 +1,33 @@ +/** + * Geo Engine API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ +import type { MultipleRasterOrSingleVectorOperator } from './MultipleRasterOrSingleVectorOperator'; +/** + * Either one or more raster operators or a single vector operator as source for this operator. + * @export + * @interface MultipleRasterOrSingleVectorSource + */ +export interface MultipleRasterOrSingleVectorSource { + /** + * + * @type {MultipleRasterOrSingleVectorOperator} + * @memberof MultipleRasterOrSingleVectorSource + */ + source: MultipleRasterOrSingleVectorOperator; +} +/** + * Check if a given object implements the MultipleRasterOrSingleVectorSource interface. + */ +export declare function instanceOfMultipleRasterOrSingleVectorSource(value: object): value is MultipleRasterOrSingleVectorSource; +export declare function MultipleRasterOrSingleVectorSourceFromJSON(json: any): MultipleRasterOrSingleVectorSource; +export declare function MultipleRasterOrSingleVectorSourceFromJSONTyped(json: any, ignoreDiscriminator: boolean): MultipleRasterOrSingleVectorSource; +export declare function MultipleRasterOrSingleVectorSourceToJSON(json: any): MultipleRasterOrSingleVectorSource; +export declare function MultipleRasterOrSingleVectorSourceToJSONTyped(value?: MultipleRasterOrSingleVectorSource | null, ignoreDiscriminator?: boolean): any; diff --git a/typescript/dist/models/MultipleRasterOrSingleVectorSource.js b/typescript/dist/models/MultipleRasterOrSingleVectorSource.js new file mode 100644 index 00000000..311eca45 --- /dev/null +++ b/typescript/dist/models/MultipleRasterOrSingleVectorSource.js @@ -0,0 +1,51 @@ +"use strict"; +/* tslint:disable */ +/* eslint-disable */ +/** + * Geo Engine API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ +Object.defineProperty(exports, "__esModule", { value: true }); +exports.instanceOfMultipleRasterOrSingleVectorSource = instanceOfMultipleRasterOrSingleVectorSource; +exports.MultipleRasterOrSingleVectorSourceFromJSON = MultipleRasterOrSingleVectorSourceFromJSON; +exports.MultipleRasterOrSingleVectorSourceFromJSONTyped = MultipleRasterOrSingleVectorSourceFromJSONTyped; +exports.MultipleRasterOrSingleVectorSourceToJSON = MultipleRasterOrSingleVectorSourceToJSON; +exports.MultipleRasterOrSingleVectorSourceToJSONTyped = MultipleRasterOrSingleVectorSourceToJSONTyped; +const MultipleRasterOrSingleVectorOperator_1 = require("./MultipleRasterOrSingleVectorOperator"); +/** + * Check if a given object implements the MultipleRasterOrSingleVectorSource interface. + */ +function instanceOfMultipleRasterOrSingleVectorSource(value) { + if (!('source' in value) || value['source'] === undefined) + return false; + return true; +} +function MultipleRasterOrSingleVectorSourceFromJSON(json) { + return MultipleRasterOrSingleVectorSourceFromJSONTyped(json, false); +} +function MultipleRasterOrSingleVectorSourceFromJSONTyped(json, ignoreDiscriminator) { + if (json == null) { + return json; + } + return { + 'source': (0, MultipleRasterOrSingleVectorOperator_1.MultipleRasterOrSingleVectorOperatorFromJSON)(json['source']), + }; +} +function MultipleRasterOrSingleVectorSourceToJSON(json) { + return MultipleRasterOrSingleVectorSourceToJSONTyped(json, false); +} +function MultipleRasterOrSingleVectorSourceToJSONTyped(value, ignoreDiscriminator = false) { + if (value == null) { + return value; + } + return { + 'source': (0, MultipleRasterOrSingleVectorOperator_1.MultipleRasterOrSingleVectorOperatorToJSON)(value['source']), + }; +} diff --git a/typescript/dist/models/Names.d.ts b/typescript/dist/models/Names.d.ts new file mode 100644 index 00000000..d772d5cd --- /dev/null +++ b/typescript/dist/models/Names.d.ts @@ -0,0 +1,45 @@ +/** + * Geo Engine API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ +/** + * + * @export + * @interface Names + */ +export interface Names { + /** + * + * @type {NamesTypeEnum} + * @memberof Names + */ + type: NamesTypeEnum; + /** + * + * @type {Array} + * @memberof Names + */ + values: Array; +} +/** + * @export + */ +export declare const NamesTypeEnum: { + readonly Names: "names"; +}; +export type NamesTypeEnum = typeof NamesTypeEnum[keyof typeof NamesTypeEnum]; +/** + * Check if a given object implements the Names interface. + */ +export declare function instanceOfNames(value: object): value is Names; +export declare function NamesFromJSON(json: any): Names; +export declare function NamesFromJSONTyped(json: any, ignoreDiscriminator: boolean): Names; +export declare function NamesToJSON(json: any): Names; +export declare function NamesToJSONTyped(value?: Names | null, ignoreDiscriminator?: boolean): any; diff --git a/typescript/dist/models/Names.js b/typescript/dist/models/Names.js new file mode 100644 index 00000000..7dd7dbad --- /dev/null +++ b/typescript/dist/models/Names.js @@ -0,0 +1,61 @@ +"use strict"; +/* tslint:disable */ +/* eslint-disable */ +/** + * Geo Engine API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ +Object.defineProperty(exports, "__esModule", { value: true }); +exports.NamesTypeEnum = void 0; +exports.instanceOfNames = instanceOfNames; +exports.NamesFromJSON = NamesFromJSON; +exports.NamesFromJSONTyped = NamesFromJSONTyped; +exports.NamesToJSON = NamesToJSON; +exports.NamesToJSONTyped = NamesToJSONTyped; +/** + * @export + */ +exports.NamesTypeEnum = { + Names: 'names' +}; +/** + * Check if a given object implements the Names interface. + */ +function instanceOfNames(value) { + if (!('type' in value) || value['type'] === undefined) + return false; + if (!('values' in value) || value['values'] === undefined) + return false; + return true; +} +function NamesFromJSON(json) { + return NamesFromJSONTyped(json, false); +} +function NamesFromJSONTyped(json, ignoreDiscriminator) { + if (json == null) { + return json; + } + return { + 'type': json['type'], + 'values': json['values'], + }; +} +function NamesToJSON(json) { + return NamesToJSONTyped(json, false); +} +function NamesToJSONTyped(value, ignoreDiscriminator = false) { + if (value == null) { + return value; + } + return { + 'type': value['type'], + 'values': value['values'], + }; +} diff --git a/typescript/dist/models/PermissionListOptions.d.ts b/typescript/dist/models/PermissionListOptions.d.ts deleted file mode 100644 index 64ce5ea4..00000000 --- a/typescript/dist/models/PermissionListOptions.d.ts +++ /dev/null @@ -1,38 +0,0 @@ -/** - * Geo Engine API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 0.9.0 - * Contact: dev@geoengine.de - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ -/** - * - * @export - * @interface PermissionListOptions - */ -export interface PermissionListOptions { - /** - * - * @type {number} - * @memberof PermissionListOptions - */ - limit: number; - /** - * - * @type {number} - * @memberof PermissionListOptions - */ - offset: number; -} -/** - * Check if a given object implements the PermissionListOptions interface. - */ -export declare function instanceOfPermissionListOptions(value: object): value is PermissionListOptions; -export declare function PermissionListOptionsFromJSON(json: any): PermissionListOptions; -export declare function PermissionListOptionsFromJSONTyped(json: any, ignoreDiscriminator: boolean): PermissionListOptions; -export declare function PermissionListOptionsToJSON(json: any): PermissionListOptions; -export declare function PermissionListOptionsToJSONTyped(value?: PermissionListOptions | null, ignoreDiscriminator?: boolean): any; diff --git a/typescript/dist/models/PermissionListOptions.js b/typescript/dist/models/PermissionListOptions.js deleted file mode 100644 index e09b1415..00000000 --- a/typescript/dist/models/PermissionListOptions.js +++ /dev/null @@ -1,54 +0,0 @@ -"use strict"; -/* tslint:disable */ -/* eslint-disable */ -/** - * Geo Engine API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 0.9.0 - * Contact: dev@geoengine.de - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ -Object.defineProperty(exports, "__esModule", { value: true }); -exports.instanceOfPermissionListOptions = instanceOfPermissionListOptions; -exports.PermissionListOptionsFromJSON = PermissionListOptionsFromJSON; -exports.PermissionListOptionsFromJSONTyped = PermissionListOptionsFromJSONTyped; -exports.PermissionListOptionsToJSON = PermissionListOptionsToJSON; -exports.PermissionListOptionsToJSONTyped = PermissionListOptionsToJSONTyped; -/** - * Check if a given object implements the PermissionListOptions interface. - */ -function instanceOfPermissionListOptions(value) { - if (!('limit' in value) || value['limit'] === undefined) - return false; - if (!('offset' in value) || value['offset'] === undefined) - return false; - return true; -} -function PermissionListOptionsFromJSON(json) { - return PermissionListOptionsFromJSONTyped(json, false); -} -function PermissionListOptionsFromJSONTyped(json, ignoreDiscriminator) { - if (json == null) { - return json; - } - return { - 'limit': json['limit'], - 'offset': json['offset'], - }; -} -function PermissionListOptionsToJSON(json) { - return PermissionListOptionsToJSONTyped(json, false); -} -function PermissionListOptionsToJSONTyped(value, ignoreDiscriminator = false) { - if (value == null) { - return value; - } - return { - 'limit': value['limit'], - 'offset': value['offset'], - }; -} diff --git a/typescript/dist/models/PlotOperator.d.ts b/typescript/dist/models/PlotOperator.d.ts new file mode 100644 index 00000000..edcaacf3 --- /dev/null +++ b/typescript/dist/models/PlotOperator.d.ts @@ -0,0 +1,27 @@ +/** + * Geo Engine API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ +import type { Histogram } from './Histogram'; +import type { Statistics } from './Statistics'; +/** + * @type PlotOperator + * An operator that produces plot data. + * @export + */ +export type PlotOperator = { + type: 'Histogram'; +} & Histogram | { + type: 'Statistics'; +} & Statistics; +export declare function PlotOperatorFromJSON(json: any): PlotOperator; +export declare function PlotOperatorFromJSONTyped(json: any, ignoreDiscriminator: boolean): PlotOperator; +export declare function PlotOperatorToJSON(json: any): any; +export declare function PlotOperatorToJSONTyped(value?: PlotOperator | null, ignoreDiscriminator?: boolean): any; diff --git a/typescript/dist/models/PlotOperator.js b/typescript/dist/models/PlotOperator.js new file mode 100644 index 00000000..58844624 --- /dev/null +++ b/typescript/dist/models/PlotOperator.js @@ -0,0 +1,53 @@ +"use strict"; +/* tslint:disable */ +/* eslint-disable */ +/** + * Geo Engine API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ +Object.defineProperty(exports, "__esModule", { value: true }); +exports.PlotOperatorFromJSON = PlotOperatorFromJSON; +exports.PlotOperatorFromJSONTyped = PlotOperatorFromJSONTyped; +exports.PlotOperatorToJSON = PlotOperatorToJSON; +exports.PlotOperatorToJSONTyped = PlotOperatorToJSONTyped; +const Histogram_1 = require("./Histogram"); +const Statistics_1 = require("./Statistics"); +function PlotOperatorFromJSON(json) { + return PlotOperatorFromJSONTyped(json, false); +} +function PlotOperatorFromJSONTyped(json, ignoreDiscriminator) { + if (json == null) { + return json; + } + switch (json['type']) { + case 'Histogram': + return Object.assign({}, (0, Histogram_1.HistogramFromJSONTyped)(json, true), { type: 'Histogram' }); + case 'Statistics': + return Object.assign({}, (0, Statistics_1.StatisticsFromJSONTyped)(json, true), { type: 'Statistics' }); + default: + return json; + } +} +function PlotOperatorToJSON(json) { + return PlotOperatorToJSONTyped(json, false); +} +function PlotOperatorToJSONTyped(value, ignoreDiscriminator = false) { + if (value == null) { + return value; + } + switch (value['type']) { + case 'Histogram': + return Object.assign({}, (0, Histogram_1.HistogramToJSON)(value), { type: 'Histogram' }); + case 'Statistics': + return Object.assign({}, (0, Statistics_1.StatisticsToJSON)(value), { type: 'Statistics' }); + default: + return value; + } +} diff --git a/typescript/dist/models/ProvenanceOutput.d.ts b/typescript/dist/models/ProvenanceOutput.d.ts deleted file mode 100644 index 35c59c54..00000000 --- a/typescript/dist/models/ProvenanceOutput.d.ts +++ /dev/null @@ -1,40 +0,0 @@ -/** - * Geo Engine API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 0.9.0 - * Contact: dev@geoengine.de - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ -import type { Provenance } from './Provenance'; -import type { DataId } from './DataId'; -/** - * - * @export - * @interface ProvenanceOutput - */ -export interface ProvenanceOutput { - /** - * - * @type {DataId} - * @memberof ProvenanceOutput - */ - data: DataId; - /** - * - * @type {Array} - * @memberof ProvenanceOutput - */ - provenance?: Array | null; -} -/** - * Check if a given object implements the ProvenanceOutput interface. - */ -export declare function instanceOfProvenanceOutput(value: object): value is ProvenanceOutput; -export declare function ProvenanceOutputFromJSON(json: any): ProvenanceOutput; -export declare function ProvenanceOutputFromJSONTyped(json: any, ignoreDiscriminator: boolean): ProvenanceOutput; -export declare function ProvenanceOutputToJSON(json: any): ProvenanceOutput; -export declare function ProvenanceOutputToJSONTyped(value?: ProvenanceOutput | null, ignoreDiscriminator?: boolean): any; diff --git a/typescript/dist/models/ProvenanceOutput.js b/typescript/dist/models/ProvenanceOutput.js deleted file mode 100644 index d6fe1266..00000000 --- a/typescript/dist/models/ProvenanceOutput.js +++ /dev/null @@ -1,54 +0,0 @@ -"use strict"; -/* tslint:disable */ -/* eslint-disable */ -/** - * Geo Engine API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 0.9.0 - * Contact: dev@geoengine.de - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ -Object.defineProperty(exports, "__esModule", { value: true }); -exports.instanceOfProvenanceOutput = instanceOfProvenanceOutput; -exports.ProvenanceOutputFromJSON = ProvenanceOutputFromJSON; -exports.ProvenanceOutputFromJSONTyped = ProvenanceOutputFromJSONTyped; -exports.ProvenanceOutputToJSON = ProvenanceOutputToJSON; -exports.ProvenanceOutputToJSONTyped = ProvenanceOutputToJSONTyped; -const Provenance_1 = require("./Provenance"); -const DataId_1 = require("./DataId"); -/** - * Check if a given object implements the ProvenanceOutput interface. - */ -function instanceOfProvenanceOutput(value) { - if (!('data' in value) || value['data'] === undefined) - return false; - return true; -} -function ProvenanceOutputFromJSON(json) { - return ProvenanceOutputFromJSONTyped(json, false); -} -function ProvenanceOutputFromJSONTyped(json, ignoreDiscriminator) { - if (json == null) { - return json; - } - return { - 'data': (0, DataId_1.DataIdFromJSON)(json['data']), - 'provenance': json['provenance'] == null ? undefined : (json['provenance'].map(Provenance_1.ProvenanceFromJSON)), - }; -} -function ProvenanceOutputToJSON(json) { - return ProvenanceOutputToJSONTyped(json, false); -} -function ProvenanceOutputToJSONTyped(value, ignoreDiscriminator = false) { - if (value == null) { - return value; - } - return { - 'data': (0, DataId_1.DataIdToJSON)(value['data']), - 'provenance': value['provenance'] == null ? undefined : (value['provenance'].map(Provenance_1.ProvenanceToJSON)), - }; -} diff --git a/typescript/dist/models/RasterDatasetFromWorkflowResult.d.ts b/typescript/dist/models/RasterDatasetFromWorkflowResult.d.ts deleted file mode 100644 index 50f5c120..00000000 --- a/typescript/dist/models/RasterDatasetFromWorkflowResult.d.ts +++ /dev/null @@ -1,38 +0,0 @@ -/** - * Geo Engine API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 0.9.0 - * Contact: dev@geoengine.de - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ -/** - * response of the dataset from workflow handler - * @export - * @interface RasterDatasetFromWorkflowResult - */ -export interface RasterDatasetFromWorkflowResult { - /** - * - * @type {string} - * @memberof RasterDatasetFromWorkflowResult - */ - dataset: string; - /** - * - * @type {string} - * @memberof RasterDatasetFromWorkflowResult - */ - upload: string; -} -/** - * Check if a given object implements the RasterDatasetFromWorkflowResult interface. - */ -export declare function instanceOfRasterDatasetFromWorkflowResult(value: object): value is RasterDatasetFromWorkflowResult; -export declare function RasterDatasetFromWorkflowResultFromJSON(json: any): RasterDatasetFromWorkflowResult; -export declare function RasterDatasetFromWorkflowResultFromJSONTyped(json: any, ignoreDiscriminator: boolean): RasterDatasetFromWorkflowResult; -export declare function RasterDatasetFromWorkflowResultToJSON(json: any): RasterDatasetFromWorkflowResult; -export declare function RasterDatasetFromWorkflowResultToJSONTyped(value?: RasterDatasetFromWorkflowResult | null, ignoreDiscriminator?: boolean): any; diff --git a/typescript/dist/models/RasterDatasetFromWorkflowResult.js b/typescript/dist/models/RasterDatasetFromWorkflowResult.js deleted file mode 100644 index 6b01b2dc..00000000 --- a/typescript/dist/models/RasterDatasetFromWorkflowResult.js +++ /dev/null @@ -1,54 +0,0 @@ -"use strict"; -/* tslint:disable */ -/* eslint-disable */ -/** - * Geo Engine API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 0.9.0 - * Contact: dev@geoengine.de - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ -Object.defineProperty(exports, "__esModule", { value: true }); -exports.instanceOfRasterDatasetFromWorkflowResult = instanceOfRasterDatasetFromWorkflowResult; -exports.RasterDatasetFromWorkflowResultFromJSON = RasterDatasetFromWorkflowResultFromJSON; -exports.RasterDatasetFromWorkflowResultFromJSONTyped = RasterDatasetFromWorkflowResultFromJSONTyped; -exports.RasterDatasetFromWorkflowResultToJSON = RasterDatasetFromWorkflowResultToJSON; -exports.RasterDatasetFromWorkflowResultToJSONTyped = RasterDatasetFromWorkflowResultToJSONTyped; -/** - * Check if a given object implements the RasterDatasetFromWorkflowResult interface. - */ -function instanceOfRasterDatasetFromWorkflowResult(value) { - if (!('dataset' in value) || value['dataset'] === undefined) - return false; - if (!('upload' in value) || value['upload'] === undefined) - return false; - return true; -} -function RasterDatasetFromWorkflowResultFromJSON(json) { - return RasterDatasetFromWorkflowResultFromJSONTyped(json, false); -} -function RasterDatasetFromWorkflowResultFromJSONTyped(json, ignoreDiscriminator) { - if (json == null) { - return json; - } - return { - 'dataset': json['dataset'], - 'upload': json['upload'], - }; -} -function RasterDatasetFromWorkflowResultToJSON(json) { - return RasterDatasetFromWorkflowResultToJSONTyped(json, false); -} -function RasterDatasetFromWorkflowResultToJSONTyped(value, ignoreDiscriminator = false) { - if (value == null) { - return value; - } - return { - 'dataset': value['dataset'], - 'upload': value['upload'], - }; -} diff --git a/typescript/dist/models/RasterOperator.d.ts b/typescript/dist/models/RasterOperator.d.ts new file mode 100644 index 00000000..13886517 --- /dev/null +++ b/typescript/dist/models/RasterOperator.d.ts @@ -0,0 +1,31 @@ +/** + * Geo Engine API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ +import type { Expression } from './Expression'; +import type { GdalSource } from './GdalSource'; +/** + * @type RasterOperator + * An operator that produces raster data. + * @export + */ +export type RasterOperator = { + type: 'Expression'; +} & Expression | { + type: 'GdalSource'; +} & GdalSource; +export declare function RasterOperatorFromJSON(json: any): RasterOperator; +export declare function RasterOperatorFromJSONTyped(json: any, ignoreDiscriminator: boolean): RasterOperator; +export declare function RasterOperatorToJSON(json: any): any; +export declare function RasterOperatorToJSONTyped(value?: RasterOperator | null, ignoreDiscriminator?: boolean): any; +/** +* Check if a given object implements the RasterOperator interface. +*/ +export declare function instanceOfRasterOperator(value: object): value is RasterOperator; diff --git a/typescript/dist/models/RasterOperator.js b/typescript/dist/models/RasterOperator.js new file mode 100644 index 00000000..4e976c43 --- /dev/null +++ b/typescript/dist/models/RasterOperator.js @@ -0,0 +1,61 @@ +"use strict"; +/* tslint:disable */ +/* eslint-disable */ +/** + * Geo Engine API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ +Object.defineProperty(exports, "__esModule", { value: true }); +exports.RasterOperatorFromJSON = RasterOperatorFromJSON; +exports.RasterOperatorFromJSONTyped = RasterOperatorFromJSONTyped; +exports.RasterOperatorToJSON = RasterOperatorToJSON; +exports.RasterOperatorToJSONTyped = RasterOperatorToJSONTyped; +exports.instanceOfRasterOperator = instanceOfRasterOperator; +const Expression_1 = require("./Expression"); +const GdalSource_1 = require("./GdalSource"); +function RasterOperatorFromJSON(json) { + return RasterOperatorFromJSONTyped(json, false); +} +function RasterOperatorFromJSONTyped(json, ignoreDiscriminator) { + if (json == null) { + return json; + } + switch (json['type']) { + case 'Expression': + return Object.assign({}, (0, Expression_1.ExpressionFromJSONTyped)(json, true), { type: 'Expression' }); + case 'GdalSource': + return Object.assign({}, (0, GdalSource_1.GdalSourceFromJSONTyped)(json, true), { type: 'GdalSource' }); + default: + return json; + } +} +function RasterOperatorToJSON(json) { + return RasterOperatorToJSONTyped(json, false); +} +function RasterOperatorToJSONTyped(value, ignoreDiscriminator = false) { + if (value == null) { + return value; + } + switch (value['type']) { + case 'Expression': + return Object.assign({}, (0, Expression_1.ExpressionToJSON)(value), { type: 'Expression' }); + case 'GdalSource': + return Object.assign({}, (0, GdalSource_1.GdalSourceToJSON)(value), { type: 'GdalSource' }); + default: + return value; + } +} +/** +* Check if a given object implements the RasterOperator interface. +*/ +function instanceOfRasterOperator(value) { + return (0, Expression_1.instanceOfExpression)(value) + || (0, GdalSource_1.instanceOfGdalSource)(value); +} diff --git a/typescript/dist/models/RasterVectorJoin.d.ts b/typescript/dist/models/RasterVectorJoin.d.ts new file mode 100644 index 00000000..56448d0f --- /dev/null +++ b/typescript/dist/models/RasterVectorJoin.d.ts @@ -0,0 +1,82 @@ +/** + * Geo Engine API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ +import type { SingleVectorMultipleRasterSources } from './SingleVectorMultipleRasterSources'; +import type { RasterVectorJoinParameters } from './RasterVectorJoinParameters'; +/** + * The `RasterVectorJoin` operator allows combining a single vector input and multiple raster inputs. + * For each raster input, a new column is added to the collection from the vector input. + * The new column contains the value of the raster at the location of the vector feature. + * For features covering multiple pixels like `MultiPoints` or `MultiPolygons`, the value is calculated using an aggregation function selected by the user. + * The same is true if the temporal extent of a vector feature covers multiple raster time steps. + * More details are described below. + * + * **Example**: + * You have a collection of agricultural fields (`Polygons`) and a collection of raster images containing each pixel's monthly NDVI value. + * For your application, you want to know the NDVI value of each field. + * The `RasterVectorJoin` operator allows you to combine the vector and raster data and offers multiple spatial and temporal aggregation strategies. + * For example, you can use the `first` aggregation function to get the NDVI value of the first pixel that intersects with each field. + * This is useful for exploratory analysis since the computation is very fast. + * To calculate the mean NDVI value of all pixels that intersect with the field you should use the `mean` aggregation function. + * Since the NDVI data is a monthly time series, you have to specify the temporal aggregation function as well. + * The default is `none` which will create a new feature for each month. + * Other options are `first` and `mean` which will calculate the first or mean NDVI value for each field over time. + * + * ## Inputs + * + * The `RasterVectorJoin` operator expects one _vector_ input and one or more _raster_ inputs. + * + * | Parameter | Type | + * | --------- | ----------------------------------- | + * | `sources` | `SingleVectorMultipleRasterSources` | + * + * ## Errors + * + * If the length of `names` is not equal to the number of raster inputs, an error is thrown. + * + * @export + * @interface RasterVectorJoin + */ +export interface RasterVectorJoin { + /** + * + * @type {RasterVectorJoinParameters} + * @memberof RasterVectorJoin + */ + params: RasterVectorJoinParameters; + /** + * + * @type {SingleVectorMultipleRasterSources} + * @memberof RasterVectorJoin + */ + sources: SingleVectorMultipleRasterSources; + /** + * + * @type {RasterVectorJoinTypeEnum} + * @memberof RasterVectorJoin + */ + type: RasterVectorJoinTypeEnum; +} +/** + * @export + */ +export declare const RasterVectorJoinTypeEnum: { + readonly RasterVectorJoin: "RasterVectorJoin"; +}; +export type RasterVectorJoinTypeEnum = typeof RasterVectorJoinTypeEnum[keyof typeof RasterVectorJoinTypeEnum]; +/** + * Check if a given object implements the RasterVectorJoin interface. + */ +export declare function instanceOfRasterVectorJoin(value: object): value is RasterVectorJoin; +export declare function RasterVectorJoinFromJSON(json: any): RasterVectorJoin; +export declare function RasterVectorJoinFromJSONTyped(json: any, ignoreDiscriminator: boolean): RasterVectorJoin; +export declare function RasterVectorJoinToJSON(json: any): RasterVectorJoin; +export declare function RasterVectorJoinToJSONTyped(value?: RasterVectorJoin | null, ignoreDiscriminator?: boolean): any; diff --git a/typescript/dist/models/RasterVectorJoin.js b/typescript/dist/models/RasterVectorJoin.js new file mode 100644 index 00000000..3ed9708c --- /dev/null +++ b/typescript/dist/models/RasterVectorJoin.js @@ -0,0 +1,67 @@ +"use strict"; +/* tslint:disable */ +/* eslint-disable */ +/** + * Geo Engine API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ +Object.defineProperty(exports, "__esModule", { value: true }); +exports.RasterVectorJoinTypeEnum = void 0; +exports.instanceOfRasterVectorJoin = instanceOfRasterVectorJoin; +exports.RasterVectorJoinFromJSON = RasterVectorJoinFromJSON; +exports.RasterVectorJoinFromJSONTyped = RasterVectorJoinFromJSONTyped; +exports.RasterVectorJoinToJSON = RasterVectorJoinToJSON; +exports.RasterVectorJoinToJSONTyped = RasterVectorJoinToJSONTyped; +const SingleVectorMultipleRasterSources_1 = require("./SingleVectorMultipleRasterSources"); +const RasterVectorJoinParameters_1 = require("./RasterVectorJoinParameters"); +/** + * @export + */ +exports.RasterVectorJoinTypeEnum = { + RasterVectorJoin: 'RasterVectorJoin' +}; +/** + * Check if a given object implements the RasterVectorJoin interface. + */ +function instanceOfRasterVectorJoin(value) { + if (!('params' in value) || value['params'] === undefined) + return false; + if (!('sources' in value) || value['sources'] === undefined) + return false; + if (!('type' in value) || value['type'] === undefined) + return false; + return true; +} +function RasterVectorJoinFromJSON(json) { + return RasterVectorJoinFromJSONTyped(json, false); +} +function RasterVectorJoinFromJSONTyped(json, ignoreDiscriminator) { + if (json == null) { + return json; + } + return { + 'params': (0, RasterVectorJoinParameters_1.RasterVectorJoinParametersFromJSON)(json['params']), + 'sources': (0, SingleVectorMultipleRasterSources_1.SingleVectorMultipleRasterSourcesFromJSON)(json['sources']), + 'type': json['type'], + }; +} +function RasterVectorJoinToJSON(json) { + return RasterVectorJoinToJSONTyped(json, false); +} +function RasterVectorJoinToJSONTyped(value, ignoreDiscriminator = false) { + if (value == null) { + return value; + } + return { + 'params': (0, RasterVectorJoinParameters_1.RasterVectorJoinParametersToJSON)(value['params']), + 'sources': (0, SingleVectorMultipleRasterSources_1.SingleVectorMultipleRasterSourcesToJSON)(value['sources']), + 'type': value['type'], + }; +} diff --git a/typescript/dist/models/RasterVectorJoinParameters.d.ts b/typescript/dist/models/RasterVectorJoinParameters.d.ts new file mode 100644 index 00000000..b43e25dc --- /dev/null +++ b/typescript/dist/models/RasterVectorJoinParameters.d.ts @@ -0,0 +1,66 @@ +/** + * Geo Engine API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ +import type { ColumnNames } from './ColumnNames'; +import type { TemporalAggregationMethod } from './TemporalAggregationMethod'; +import type { FeatureAggregationMethod } from './FeatureAggregationMethod'; +/** + * + * @export + * @interface RasterVectorJoinParameters + */ +export interface RasterVectorJoinParameters { + /** + * The aggregation function to use for features covering multiple pixels. + * @type {FeatureAggregationMethod} + * @memberof RasterVectorJoinParameters + */ + featureAggregation: FeatureAggregationMethod; + /** + * Whether to ignore no data values in the aggregation. Defaults to `false`. + * @type {boolean} + * @memberof RasterVectorJoinParameters + */ + featureAggregationIgnoreNoData?: boolean; + /** + * Specify how the new column names are derived from the raster band names. + * + * The `ColumnNames` type is used to specify how the new column names are derived from the raster band names. + * + * - **default**: Appends " (n)" to the band name with the smallest `n` that avoids a conflict. + * - **suffix**: Specifies a suffix for each input, to be appended to the band names. + * - **rename**: A list of names for each new column. + * + * @type {ColumnNames} + * @memberof RasterVectorJoinParameters + */ + names: ColumnNames; + /** + * The aggregation function to use for features covering multiple (raster) time steps. + * @type {TemporalAggregationMethod} + * @memberof RasterVectorJoinParameters + */ + temporalAggregation: TemporalAggregationMethod; + /** + * Whether to ignore no data values in the aggregation. Defaults to `false`. + * @type {boolean} + * @memberof RasterVectorJoinParameters + */ + temporalAggregationIgnoreNoData?: boolean; +} +/** + * Check if a given object implements the RasterVectorJoinParameters interface. + */ +export declare function instanceOfRasterVectorJoinParameters(value: object): value is RasterVectorJoinParameters; +export declare function RasterVectorJoinParametersFromJSON(json: any): RasterVectorJoinParameters; +export declare function RasterVectorJoinParametersFromJSONTyped(json: any, ignoreDiscriminator: boolean): RasterVectorJoinParameters; +export declare function RasterVectorJoinParametersToJSON(json: any): RasterVectorJoinParameters; +export declare function RasterVectorJoinParametersToJSONTyped(value?: RasterVectorJoinParameters | null, ignoreDiscriminator?: boolean): any; diff --git a/typescript/dist/models/RasterVectorJoinParameters.js b/typescript/dist/models/RasterVectorJoinParameters.js new file mode 100644 index 00000000..575f4f77 --- /dev/null +++ b/typescript/dist/models/RasterVectorJoinParameters.js @@ -0,0 +1,65 @@ +"use strict"; +/* tslint:disable */ +/* eslint-disable */ +/** + * Geo Engine API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ +Object.defineProperty(exports, "__esModule", { value: true }); +exports.instanceOfRasterVectorJoinParameters = instanceOfRasterVectorJoinParameters; +exports.RasterVectorJoinParametersFromJSON = RasterVectorJoinParametersFromJSON; +exports.RasterVectorJoinParametersFromJSONTyped = RasterVectorJoinParametersFromJSONTyped; +exports.RasterVectorJoinParametersToJSON = RasterVectorJoinParametersToJSON; +exports.RasterVectorJoinParametersToJSONTyped = RasterVectorJoinParametersToJSONTyped; +const ColumnNames_1 = require("./ColumnNames"); +const TemporalAggregationMethod_1 = require("./TemporalAggregationMethod"); +const FeatureAggregationMethod_1 = require("./FeatureAggregationMethod"); +/** + * Check if a given object implements the RasterVectorJoinParameters interface. + */ +function instanceOfRasterVectorJoinParameters(value) { + if (!('featureAggregation' in value) || value['featureAggregation'] === undefined) + return false; + if (!('names' in value) || value['names'] === undefined) + return false; + if (!('temporalAggregation' in value) || value['temporalAggregation'] === undefined) + return false; + return true; +} +function RasterVectorJoinParametersFromJSON(json) { + return RasterVectorJoinParametersFromJSONTyped(json, false); +} +function RasterVectorJoinParametersFromJSONTyped(json, ignoreDiscriminator) { + if (json == null) { + return json; + } + return { + 'featureAggregation': (0, FeatureAggregationMethod_1.FeatureAggregationMethodFromJSON)(json['featureAggregation']), + 'featureAggregationIgnoreNoData': json['featureAggregationIgnoreNoData'] == null ? undefined : json['featureAggregationIgnoreNoData'], + 'names': (0, ColumnNames_1.ColumnNamesFromJSON)(json['names']), + 'temporalAggregation': (0, TemporalAggregationMethod_1.TemporalAggregationMethodFromJSON)(json['temporalAggregation']), + 'temporalAggregationIgnoreNoData': json['temporalAggregationIgnoreNoData'] == null ? undefined : json['temporalAggregationIgnoreNoData'], + }; +} +function RasterVectorJoinParametersToJSON(json) { + return RasterVectorJoinParametersToJSONTyped(json, false); +} +function RasterVectorJoinParametersToJSONTyped(value, ignoreDiscriminator = false) { + if (value == null) { + return value; + } + return { + 'featureAggregation': (0, FeatureAggregationMethod_1.FeatureAggregationMethodToJSON)(value['featureAggregation']), + 'featureAggregationIgnoreNoData': value['featureAggregationIgnoreNoData'], + 'names': (0, ColumnNames_1.ColumnNamesToJSON)(value['names']), + 'temporalAggregation': (0, TemporalAggregationMethod_1.TemporalAggregationMethodToJSON)(value['temporalAggregation']), + 'temporalAggregationIgnoreNoData': value['temporalAggregationIgnoreNoData'], + }; +} diff --git a/typescript/dist/models/SingleRasterOrVectorOperator.d.ts b/typescript/dist/models/SingleRasterOrVectorOperator.d.ts new file mode 100644 index 00000000..4b5660ef --- /dev/null +++ b/typescript/dist/models/SingleRasterOrVectorOperator.d.ts @@ -0,0 +1,23 @@ +/** + * Geo Engine API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ +import type { RasterOperator } from './RasterOperator'; +import type { VectorOperator } from './VectorOperator'; +/** + * @type SingleRasterOrVectorOperator + * It is either a set of `RasterOperator` or a single `VectorOperator` + * @export + */ +export type SingleRasterOrVectorOperator = RasterOperator | VectorOperator; +export declare function SingleRasterOrVectorOperatorFromJSON(json: any): SingleRasterOrVectorOperator; +export declare function SingleRasterOrVectorOperatorFromJSONTyped(json: any, ignoreDiscriminator: boolean): SingleRasterOrVectorOperator; +export declare function SingleRasterOrVectorOperatorToJSON(json: any): any; +export declare function SingleRasterOrVectorOperatorToJSONTyped(value?: SingleRasterOrVectorOperator | null, ignoreDiscriminator?: boolean): any; diff --git a/typescript/dist/models/SingleRasterOrVectorOperator.js b/typescript/dist/models/SingleRasterOrVectorOperator.js new file mode 100644 index 00000000..dc19e1d8 --- /dev/null +++ b/typescript/dist/models/SingleRasterOrVectorOperator.js @@ -0,0 +1,57 @@ +"use strict"; +/* tslint:disable */ +/* eslint-disable */ +/** + * Geo Engine API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ +Object.defineProperty(exports, "__esModule", { value: true }); +exports.SingleRasterOrVectorOperatorFromJSON = SingleRasterOrVectorOperatorFromJSON; +exports.SingleRasterOrVectorOperatorFromJSONTyped = SingleRasterOrVectorOperatorFromJSONTyped; +exports.SingleRasterOrVectorOperatorToJSON = SingleRasterOrVectorOperatorToJSON; +exports.SingleRasterOrVectorOperatorToJSONTyped = SingleRasterOrVectorOperatorToJSONTyped; +const RasterOperator_1 = require("./RasterOperator"); +const VectorOperator_1 = require("./VectorOperator"); +function SingleRasterOrVectorOperatorFromJSON(json) { + return SingleRasterOrVectorOperatorFromJSONTyped(json, false); +} +function SingleRasterOrVectorOperatorFromJSONTyped(json, ignoreDiscriminator) { + if (json == null) { + return json; + } + if (typeof json !== 'object') { + return json; + } + if ((0, RasterOperator_1.instanceOfRasterOperator)(json)) { + return (0, RasterOperator_1.RasterOperatorFromJSONTyped)(json, true); + } + if ((0, VectorOperator_1.instanceOfVectorOperator)(json)) { + return (0, VectorOperator_1.VectorOperatorFromJSONTyped)(json, true); + } + return {}; +} +function SingleRasterOrVectorOperatorToJSON(json) { + return SingleRasterOrVectorOperatorToJSONTyped(json, false); +} +function SingleRasterOrVectorOperatorToJSONTyped(value, ignoreDiscriminator = false) { + if (value == null) { + return value; + } + if (typeof value !== 'object') { + return value; + } + if ((0, RasterOperator_1.instanceOfRasterOperator)(value)) { + return (0, RasterOperator_1.RasterOperatorToJSON)(value); + } + if ((0, VectorOperator_1.instanceOfVectorOperator)(value)) { + return (0, VectorOperator_1.VectorOperatorToJSON)(value); + } + return {}; +} diff --git a/typescript/dist/models/SingleRasterOrVectorSource.d.ts b/typescript/dist/models/SingleRasterOrVectorSource.d.ts new file mode 100644 index 00000000..3203ad7f --- /dev/null +++ b/typescript/dist/models/SingleRasterOrVectorSource.d.ts @@ -0,0 +1,33 @@ +/** + * Geo Engine API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ +import type { SingleRasterOrVectorOperator } from './SingleRasterOrVectorOperator'; +/** + * A single vector operator or a single raster operators as source for this operator. + * @export + * @interface SingleRasterOrVectorSource + */ +export interface SingleRasterOrVectorSource { + /** + * + * @type {SingleRasterOrVectorOperator} + * @memberof SingleRasterOrVectorSource + */ + source: SingleRasterOrVectorOperator; +} +/** + * Check if a given object implements the SingleRasterOrVectorSource interface. + */ +export declare function instanceOfSingleRasterOrVectorSource(value: object): value is SingleRasterOrVectorSource; +export declare function SingleRasterOrVectorSourceFromJSON(json: any): SingleRasterOrVectorSource; +export declare function SingleRasterOrVectorSourceFromJSONTyped(json: any, ignoreDiscriminator: boolean): SingleRasterOrVectorSource; +export declare function SingleRasterOrVectorSourceToJSON(json: any): SingleRasterOrVectorSource; +export declare function SingleRasterOrVectorSourceToJSONTyped(value?: SingleRasterOrVectorSource | null, ignoreDiscriminator?: boolean): any; diff --git a/typescript/dist/models/SingleRasterOrVectorSource.js b/typescript/dist/models/SingleRasterOrVectorSource.js new file mode 100644 index 00000000..1c965a12 --- /dev/null +++ b/typescript/dist/models/SingleRasterOrVectorSource.js @@ -0,0 +1,51 @@ +"use strict"; +/* tslint:disable */ +/* eslint-disable */ +/** + * Geo Engine API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ +Object.defineProperty(exports, "__esModule", { value: true }); +exports.instanceOfSingleRasterOrVectorSource = instanceOfSingleRasterOrVectorSource; +exports.SingleRasterOrVectorSourceFromJSON = SingleRasterOrVectorSourceFromJSON; +exports.SingleRasterOrVectorSourceFromJSONTyped = SingleRasterOrVectorSourceFromJSONTyped; +exports.SingleRasterOrVectorSourceToJSON = SingleRasterOrVectorSourceToJSON; +exports.SingleRasterOrVectorSourceToJSONTyped = SingleRasterOrVectorSourceToJSONTyped; +const SingleRasterOrVectorOperator_1 = require("./SingleRasterOrVectorOperator"); +/** + * Check if a given object implements the SingleRasterOrVectorSource interface. + */ +function instanceOfSingleRasterOrVectorSource(value) { + if (!('source' in value) || value['source'] === undefined) + return false; + return true; +} +function SingleRasterOrVectorSourceFromJSON(json) { + return SingleRasterOrVectorSourceFromJSONTyped(json, false); +} +function SingleRasterOrVectorSourceFromJSONTyped(json, ignoreDiscriminator) { + if (json == null) { + return json; + } + return { + 'source': (0, SingleRasterOrVectorOperator_1.SingleRasterOrVectorOperatorFromJSON)(json['source']), + }; +} +function SingleRasterOrVectorSourceToJSON(json) { + return SingleRasterOrVectorSourceToJSONTyped(json, false); +} +function SingleRasterOrVectorSourceToJSONTyped(value, ignoreDiscriminator = false) { + if (value == null) { + return value; + } + return { + 'source': (0, SingleRasterOrVectorOperator_1.SingleRasterOrVectorOperatorToJSON)(value['source']), + }; +} diff --git a/typescript/dist/models/SingleRasterSource.d.ts b/typescript/dist/models/SingleRasterSource.d.ts new file mode 100644 index 00000000..6695e7ef --- /dev/null +++ b/typescript/dist/models/SingleRasterSource.d.ts @@ -0,0 +1,33 @@ +/** + * Geo Engine API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ +import type { RasterOperator } from './RasterOperator'; +/** + * A single raster operator as a source for this operator. + * @export + * @interface SingleRasterSource + */ +export interface SingleRasterSource { + /** + * + * @type {RasterOperator} + * @memberof SingleRasterSource + */ + raster: RasterOperator; +} +/** + * Check if a given object implements the SingleRasterSource interface. + */ +export declare function instanceOfSingleRasterSource(value: object): value is SingleRasterSource; +export declare function SingleRasterSourceFromJSON(json: any): SingleRasterSource; +export declare function SingleRasterSourceFromJSONTyped(json: any, ignoreDiscriminator: boolean): SingleRasterSource; +export declare function SingleRasterSourceToJSON(json: any): SingleRasterSource; +export declare function SingleRasterSourceToJSONTyped(value?: SingleRasterSource | null, ignoreDiscriminator?: boolean): any; diff --git a/typescript/dist/models/SingleRasterSource.js b/typescript/dist/models/SingleRasterSource.js new file mode 100644 index 00000000..4fdd84eb --- /dev/null +++ b/typescript/dist/models/SingleRasterSource.js @@ -0,0 +1,51 @@ +"use strict"; +/* tslint:disable */ +/* eslint-disable */ +/** + * Geo Engine API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ +Object.defineProperty(exports, "__esModule", { value: true }); +exports.instanceOfSingleRasterSource = instanceOfSingleRasterSource; +exports.SingleRasterSourceFromJSON = SingleRasterSourceFromJSON; +exports.SingleRasterSourceFromJSONTyped = SingleRasterSourceFromJSONTyped; +exports.SingleRasterSourceToJSON = SingleRasterSourceToJSON; +exports.SingleRasterSourceToJSONTyped = SingleRasterSourceToJSONTyped; +const RasterOperator_1 = require("./RasterOperator"); +/** + * Check if a given object implements the SingleRasterSource interface. + */ +function instanceOfSingleRasterSource(value) { + if (!('raster' in value) || value['raster'] === undefined) + return false; + return true; +} +function SingleRasterSourceFromJSON(json) { + return SingleRasterSourceFromJSONTyped(json, false); +} +function SingleRasterSourceFromJSONTyped(json, ignoreDiscriminator) { + if (json == null) { + return json; + } + return { + 'raster': (0, RasterOperator_1.RasterOperatorFromJSON)(json['raster']), + }; +} +function SingleRasterSourceToJSON(json) { + return SingleRasterSourceToJSONTyped(json, false); +} +function SingleRasterSourceToJSONTyped(value, ignoreDiscriminator = false) { + if (value == null) { + return value; + } + return { + 'raster': (0, RasterOperator_1.RasterOperatorToJSON)(value['raster']), + }; +} diff --git a/typescript/dist/models/SingleVectorMultipleRasterSources.d.ts b/typescript/dist/models/SingleVectorMultipleRasterSources.d.ts new file mode 100644 index 00000000..ad378fe7 --- /dev/null +++ b/typescript/dist/models/SingleVectorMultipleRasterSources.d.ts @@ -0,0 +1,40 @@ +/** + * Geo Engine API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ +import type { RasterOperator } from './RasterOperator'; +import type { VectorOperator } from './VectorOperator'; +/** + * A single vector operator and one or more raster operators as source for this operator. + * @export + * @interface SingleVectorMultipleRasterSources + */ +export interface SingleVectorMultipleRasterSources { + /** + * + * @type {Array} + * @memberof SingleVectorMultipleRasterSources + */ + rasters: Array; + /** + * + * @type {VectorOperator} + * @memberof SingleVectorMultipleRasterSources + */ + vector: VectorOperator; +} +/** + * Check if a given object implements the SingleVectorMultipleRasterSources interface. + */ +export declare function instanceOfSingleVectorMultipleRasterSources(value: object): value is SingleVectorMultipleRasterSources; +export declare function SingleVectorMultipleRasterSourcesFromJSON(json: any): SingleVectorMultipleRasterSources; +export declare function SingleVectorMultipleRasterSourcesFromJSONTyped(json: any, ignoreDiscriminator: boolean): SingleVectorMultipleRasterSources; +export declare function SingleVectorMultipleRasterSourcesToJSON(json: any): SingleVectorMultipleRasterSources; +export declare function SingleVectorMultipleRasterSourcesToJSONTyped(value?: SingleVectorMultipleRasterSources | null, ignoreDiscriminator?: boolean): any; diff --git a/typescript/dist/models/SingleVectorMultipleRasterSources.js b/typescript/dist/models/SingleVectorMultipleRasterSources.js new file mode 100644 index 00000000..8c6623fe --- /dev/null +++ b/typescript/dist/models/SingleVectorMultipleRasterSources.js @@ -0,0 +1,56 @@ +"use strict"; +/* tslint:disable */ +/* eslint-disable */ +/** + * Geo Engine API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ +Object.defineProperty(exports, "__esModule", { value: true }); +exports.instanceOfSingleVectorMultipleRasterSources = instanceOfSingleVectorMultipleRasterSources; +exports.SingleVectorMultipleRasterSourcesFromJSON = SingleVectorMultipleRasterSourcesFromJSON; +exports.SingleVectorMultipleRasterSourcesFromJSONTyped = SingleVectorMultipleRasterSourcesFromJSONTyped; +exports.SingleVectorMultipleRasterSourcesToJSON = SingleVectorMultipleRasterSourcesToJSON; +exports.SingleVectorMultipleRasterSourcesToJSONTyped = SingleVectorMultipleRasterSourcesToJSONTyped; +const RasterOperator_1 = require("./RasterOperator"); +const VectorOperator_1 = require("./VectorOperator"); +/** + * Check if a given object implements the SingleVectorMultipleRasterSources interface. + */ +function instanceOfSingleVectorMultipleRasterSources(value) { + if (!('rasters' in value) || value['rasters'] === undefined) + return false; + if (!('vector' in value) || value['vector'] === undefined) + return false; + return true; +} +function SingleVectorMultipleRasterSourcesFromJSON(json) { + return SingleVectorMultipleRasterSourcesFromJSONTyped(json, false); +} +function SingleVectorMultipleRasterSourcesFromJSONTyped(json, ignoreDiscriminator) { + if (json == null) { + return json; + } + return { + 'rasters': (json['rasters'].map(RasterOperator_1.RasterOperatorFromJSON)), + 'vector': (0, VectorOperator_1.VectorOperatorFromJSON)(json['vector']), + }; +} +function SingleVectorMultipleRasterSourcesToJSON(json) { + return SingleVectorMultipleRasterSourcesToJSONTyped(json, false); +} +function SingleVectorMultipleRasterSourcesToJSONTyped(value, ignoreDiscriminator = false) { + if (value == null) { + return value; + } + return { + 'rasters': (value['rasters'].map(RasterOperator_1.RasterOperatorToJSON)), + 'vector': (0, VectorOperator_1.VectorOperatorToJSON)(value['vector']), + }; +} diff --git a/typescript/dist/models/SpatialBoundsDerive.d.ts b/typescript/dist/models/SpatialBoundsDerive.d.ts new file mode 100644 index 00000000..8a7ecb71 --- /dev/null +++ b/typescript/dist/models/SpatialBoundsDerive.d.ts @@ -0,0 +1,30 @@ +/** + * Geo Engine API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ +import type { SpatialBoundsDeriveBounds } from './SpatialBoundsDeriveBounds'; +import type { SpatialBoundsDeriveDerive } from './SpatialBoundsDeriveDerive'; +import type { SpatialBoundsDeriveNone } from './SpatialBoundsDeriveNone'; +/** + * @type SpatialBoundsDerive + * Spatial bounds derivation options for the [`MockPointSource`]. + * @export + */ +export type SpatialBoundsDerive = { + type: 'bounds'; +} & SpatialBoundsDeriveBounds | { + type: 'derive'; +} & SpatialBoundsDeriveDerive | { + type: 'none'; +} & SpatialBoundsDeriveNone; +export declare function SpatialBoundsDeriveFromJSON(json: any): SpatialBoundsDerive; +export declare function SpatialBoundsDeriveFromJSONTyped(json: any, ignoreDiscriminator: boolean): SpatialBoundsDerive; +export declare function SpatialBoundsDeriveToJSON(json: any): any; +export declare function SpatialBoundsDeriveToJSONTyped(value?: SpatialBoundsDerive | null, ignoreDiscriminator?: boolean): any; diff --git a/typescript/dist/models/SpatialBoundsDerive.js b/typescript/dist/models/SpatialBoundsDerive.js new file mode 100644 index 00000000..a65e9b20 --- /dev/null +++ b/typescript/dist/models/SpatialBoundsDerive.js @@ -0,0 +1,58 @@ +"use strict"; +/* tslint:disable */ +/* eslint-disable */ +/** + * Geo Engine API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ +Object.defineProperty(exports, "__esModule", { value: true }); +exports.SpatialBoundsDeriveFromJSON = SpatialBoundsDeriveFromJSON; +exports.SpatialBoundsDeriveFromJSONTyped = SpatialBoundsDeriveFromJSONTyped; +exports.SpatialBoundsDeriveToJSON = SpatialBoundsDeriveToJSON; +exports.SpatialBoundsDeriveToJSONTyped = SpatialBoundsDeriveToJSONTyped; +const SpatialBoundsDeriveBounds_1 = require("./SpatialBoundsDeriveBounds"); +const SpatialBoundsDeriveDerive_1 = require("./SpatialBoundsDeriveDerive"); +const SpatialBoundsDeriveNone_1 = require("./SpatialBoundsDeriveNone"); +function SpatialBoundsDeriveFromJSON(json) { + return SpatialBoundsDeriveFromJSONTyped(json, false); +} +function SpatialBoundsDeriveFromJSONTyped(json, ignoreDiscriminator) { + if (json == null) { + return json; + } + switch (json['type']) { + case 'bounds': + return Object.assign({}, (0, SpatialBoundsDeriveBounds_1.SpatialBoundsDeriveBoundsFromJSONTyped)(json, true), { type: 'bounds' }); + case 'derive': + return Object.assign({}, (0, SpatialBoundsDeriveDerive_1.SpatialBoundsDeriveDeriveFromJSONTyped)(json, true), { type: 'derive' }); + case 'none': + return Object.assign({}, (0, SpatialBoundsDeriveNone_1.SpatialBoundsDeriveNoneFromJSONTyped)(json, true), { type: 'none' }); + default: + return json; + } +} +function SpatialBoundsDeriveToJSON(json) { + return SpatialBoundsDeriveToJSONTyped(json, false); +} +function SpatialBoundsDeriveToJSONTyped(value, ignoreDiscriminator = false) { + if (value == null) { + return value; + } + switch (value['type']) { + case 'bounds': + return Object.assign({}, (0, SpatialBoundsDeriveBounds_1.SpatialBoundsDeriveBoundsToJSON)(value), { type: 'bounds' }); + case 'derive': + return Object.assign({}, (0, SpatialBoundsDeriveDerive_1.SpatialBoundsDeriveDeriveToJSON)(value), { type: 'derive' }); + case 'none': + return Object.assign({}, (0, SpatialBoundsDeriveNone_1.SpatialBoundsDeriveNoneToJSON)(value), { type: 'none' }); + default: + return value; + } +} diff --git a/typescript/dist/models/SpatialBoundsDeriveBounds.d.ts b/typescript/dist/models/SpatialBoundsDeriveBounds.d.ts new file mode 100644 index 00000000..c3b99738 --- /dev/null +++ b/typescript/dist/models/SpatialBoundsDeriveBounds.d.ts @@ -0,0 +1,40 @@ +/** + * Geo Engine API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ +import type { BoundingBox2D } from './BoundingBox2D'; +/** + * + * @export + * @interface SpatialBoundsDeriveBounds + */ +export interface SpatialBoundsDeriveBounds extends BoundingBox2D { + /** + * + * @type {SpatialBoundsDeriveBoundsTypeEnum} + * @memberof SpatialBoundsDeriveBounds + */ + type: SpatialBoundsDeriveBoundsTypeEnum; +} +/** + * @export + */ +export declare const SpatialBoundsDeriveBoundsTypeEnum: { + readonly Bounds: "bounds"; +}; +export type SpatialBoundsDeriveBoundsTypeEnum = typeof SpatialBoundsDeriveBoundsTypeEnum[keyof typeof SpatialBoundsDeriveBoundsTypeEnum]; +/** + * Check if a given object implements the SpatialBoundsDeriveBounds interface. + */ +export declare function instanceOfSpatialBoundsDeriveBounds(value: object): value is SpatialBoundsDeriveBounds; +export declare function SpatialBoundsDeriveBoundsFromJSON(json: any): SpatialBoundsDeriveBounds; +export declare function SpatialBoundsDeriveBoundsFromJSONTyped(json: any, ignoreDiscriminator: boolean): SpatialBoundsDeriveBounds; +export declare function SpatialBoundsDeriveBoundsToJSON(json: any): SpatialBoundsDeriveBounds; +export declare function SpatialBoundsDeriveBoundsToJSONTyped(value?: SpatialBoundsDeriveBounds | null, ignoreDiscriminator?: boolean): any; diff --git a/typescript/dist/models/SpatialBoundsDeriveBounds.js b/typescript/dist/models/SpatialBoundsDeriveBounds.js new file mode 100644 index 00000000..a64be770 --- /dev/null +++ b/typescript/dist/models/SpatialBoundsDeriveBounds.js @@ -0,0 +1,54 @@ +"use strict"; +/* tslint:disable */ +/* eslint-disable */ +/** + * Geo Engine API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ +Object.defineProperty(exports, "__esModule", { value: true }); +exports.SpatialBoundsDeriveBoundsTypeEnum = void 0; +exports.instanceOfSpatialBoundsDeriveBounds = instanceOfSpatialBoundsDeriveBounds; +exports.SpatialBoundsDeriveBoundsFromJSON = SpatialBoundsDeriveBoundsFromJSON; +exports.SpatialBoundsDeriveBoundsFromJSONTyped = SpatialBoundsDeriveBoundsFromJSONTyped; +exports.SpatialBoundsDeriveBoundsToJSON = SpatialBoundsDeriveBoundsToJSON; +exports.SpatialBoundsDeriveBoundsToJSONTyped = SpatialBoundsDeriveBoundsToJSONTyped; +const BoundingBox2D_1 = require("./BoundingBox2D"); +/** + * @export + */ +exports.SpatialBoundsDeriveBoundsTypeEnum = { + Bounds: 'bounds' +}; +/** + * Check if a given object implements the SpatialBoundsDeriveBounds interface. + */ +function instanceOfSpatialBoundsDeriveBounds(value) { + if (!('type' in value) || value['type'] === undefined) + return false; + return true; +} +function SpatialBoundsDeriveBoundsFromJSON(json) { + return SpatialBoundsDeriveBoundsFromJSONTyped(json, false); +} +function SpatialBoundsDeriveBoundsFromJSONTyped(json, ignoreDiscriminator) { + if (json == null) { + return json; + } + return Object.assign(Object.assign({}, (0, BoundingBox2D_1.BoundingBox2DFromJSONTyped)(json, true)), { 'type': json['type'] }); +} +function SpatialBoundsDeriveBoundsToJSON(json) { + return SpatialBoundsDeriveBoundsToJSONTyped(json, false); +} +function SpatialBoundsDeriveBoundsToJSONTyped(value, ignoreDiscriminator = false) { + if (value == null) { + return value; + } + return Object.assign(Object.assign({}, (0, BoundingBox2D_1.BoundingBox2DToJSONTyped)(value, true)), { 'type': value['type'] }); +} diff --git a/typescript/dist/models/SpatialBoundsDeriveDerive.d.ts b/typescript/dist/models/SpatialBoundsDeriveDerive.d.ts new file mode 100644 index 00000000..f01cf928 --- /dev/null +++ b/typescript/dist/models/SpatialBoundsDeriveDerive.d.ts @@ -0,0 +1,39 @@ +/** + * Geo Engine API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ +/** + * + * @export + * @interface SpatialBoundsDeriveDerive + */ +export interface SpatialBoundsDeriveDerive { + /** + * + * @type {SpatialBoundsDeriveDeriveTypeEnum} + * @memberof SpatialBoundsDeriveDerive + */ + type: SpatialBoundsDeriveDeriveTypeEnum; +} +/** + * @export + */ +export declare const SpatialBoundsDeriveDeriveTypeEnum: { + readonly Derive: "derive"; +}; +export type SpatialBoundsDeriveDeriveTypeEnum = typeof SpatialBoundsDeriveDeriveTypeEnum[keyof typeof SpatialBoundsDeriveDeriveTypeEnum]; +/** + * Check if a given object implements the SpatialBoundsDeriveDerive interface. + */ +export declare function instanceOfSpatialBoundsDeriveDerive(value: object): value is SpatialBoundsDeriveDerive; +export declare function SpatialBoundsDeriveDeriveFromJSON(json: any): SpatialBoundsDeriveDerive; +export declare function SpatialBoundsDeriveDeriveFromJSONTyped(json: any, ignoreDiscriminator: boolean): SpatialBoundsDeriveDerive; +export declare function SpatialBoundsDeriveDeriveToJSON(json: any): SpatialBoundsDeriveDerive; +export declare function SpatialBoundsDeriveDeriveToJSONTyped(value?: SpatialBoundsDeriveDerive | null, ignoreDiscriminator?: boolean): any; diff --git a/typescript/dist/models/SpatialBoundsDeriveDerive.js b/typescript/dist/models/SpatialBoundsDeriveDerive.js new file mode 100644 index 00000000..40c09ebe --- /dev/null +++ b/typescript/dist/models/SpatialBoundsDeriveDerive.js @@ -0,0 +1,57 @@ +"use strict"; +/* tslint:disable */ +/* eslint-disable */ +/** + * Geo Engine API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ +Object.defineProperty(exports, "__esModule", { value: true }); +exports.SpatialBoundsDeriveDeriveTypeEnum = void 0; +exports.instanceOfSpatialBoundsDeriveDerive = instanceOfSpatialBoundsDeriveDerive; +exports.SpatialBoundsDeriveDeriveFromJSON = SpatialBoundsDeriveDeriveFromJSON; +exports.SpatialBoundsDeriveDeriveFromJSONTyped = SpatialBoundsDeriveDeriveFromJSONTyped; +exports.SpatialBoundsDeriveDeriveToJSON = SpatialBoundsDeriveDeriveToJSON; +exports.SpatialBoundsDeriveDeriveToJSONTyped = SpatialBoundsDeriveDeriveToJSONTyped; +/** + * @export + */ +exports.SpatialBoundsDeriveDeriveTypeEnum = { + Derive: 'derive' +}; +/** + * Check if a given object implements the SpatialBoundsDeriveDerive interface. + */ +function instanceOfSpatialBoundsDeriveDerive(value) { + if (!('type' in value) || value['type'] === undefined) + return false; + return true; +} +function SpatialBoundsDeriveDeriveFromJSON(json) { + return SpatialBoundsDeriveDeriveFromJSONTyped(json, false); +} +function SpatialBoundsDeriveDeriveFromJSONTyped(json, ignoreDiscriminator) { + if (json == null) { + return json; + } + return { + 'type': json['type'], + }; +} +function SpatialBoundsDeriveDeriveToJSON(json) { + return SpatialBoundsDeriveDeriveToJSONTyped(json, false); +} +function SpatialBoundsDeriveDeriveToJSONTyped(value, ignoreDiscriminator = false) { + if (value == null) { + return value; + } + return { + 'type': value['type'], + }; +} diff --git a/typescript/dist/models/SpatialBoundsDeriveNone.d.ts b/typescript/dist/models/SpatialBoundsDeriveNone.d.ts new file mode 100644 index 00000000..a1eb1596 --- /dev/null +++ b/typescript/dist/models/SpatialBoundsDeriveNone.d.ts @@ -0,0 +1,39 @@ +/** + * Geo Engine API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ +/** + * + * @export + * @interface SpatialBoundsDeriveNone + */ +export interface SpatialBoundsDeriveNone { + /** + * + * @type {SpatialBoundsDeriveNoneTypeEnum} + * @memberof SpatialBoundsDeriveNone + */ + type: SpatialBoundsDeriveNoneTypeEnum; +} +/** + * @export + */ +export declare const SpatialBoundsDeriveNoneTypeEnum: { + readonly None: "none"; +}; +export type SpatialBoundsDeriveNoneTypeEnum = typeof SpatialBoundsDeriveNoneTypeEnum[keyof typeof SpatialBoundsDeriveNoneTypeEnum]; +/** + * Check if a given object implements the SpatialBoundsDeriveNone interface. + */ +export declare function instanceOfSpatialBoundsDeriveNone(value: object): value is SpatialBoundsDeriveNone; +export declare function SpatialBoundsDeriveNoneFromJSON(json: any): SpatialBoundsDeriveNone; +export declare function SpatialBoundsDeriveNoneFromJSONTyped(json: any, ignoreDiscriminator: boolean): SpatialBoundsDeriveNone; +export declare function SpatialBoundsDeriveNoneToJSON(json: any): SpatialBoundsDeriveNone; +export declare function SpatialBoundsDeriveNoneToJSONTyped(value?: SpatialBoundsDeriveNone | null, ignoreDiscriminator?: boolean): any; diff --git a/typescript/dist/models/SpatialBoundsDeriveNone.js b/typescript/dist/models/SpatialBoundsDeriveNone.js new file mode 100644 index 00000000..5ddfcf32 --- /dev/null +++ b/typescript/dist/models/SpatialBoundsDeriveNone.js @@ -0,0 +1,57 @@ +"use strict"; +/* tslint:disable */ +/* eslint-disable */ +/** + * Geo Engine API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ +Object.defineProperty(exports, "__esModule", { value: true }); +exports.SpatialBoundsDeriveNoneTypeEnum = void 0; +exports.instanceOfSpatialBoundsDeriveNone = instanceOfSpatialBoundsDeriveNone; +exports.SpatialBoundsDeriveNoneFromJSON = SpatialBoundsDeriveNoneFromJSON; +exports.SpatialBoundsDeriveNoneFromJSONTyped = SpatialBoundsDeriveNoneFromJSONTyped; +exports.SpatialBoundsDeriveNoneToJSON = SpatialBoundsDeriveNoneToJSON; +exports.SpatialBoundsDeriveNoneToJSONTyped = SpatialBoundsDeriveNoneToJSONTyped; +/** + * @export + */ +exports.SpatialBoundsDeriveNoneTypeEnum = { + None: 'none' +}; +/** + * Check if a given object implements the SpatialBoundsDeriveNone interface. + */ +function instanceOfSpatialBoundsDeriveNone(value) { + if (!('type' in value) || value['type'] === undefined) + return false; + return true; +} +function SpatialBoundsDeriveNoneFromJSON(json) { + return SpatialBoundsDeriveNoneFromJSONTyped(json, false); +} +function SpatialBoundsDeriveNoneFromJSONTyped(json, ignoreDiscriminator) { + if (json == null) { + return json; + } + return { + 'type': json['type'], + }; +} +function SpatialBoundsDeriveNoneToJSON(json) { + return SpatialBoundsDeriveNoneToJSONTyped(json, false); +} +function SpatialBoundsDeriveNoneToJSONTyped(value, ignoreDiscriminator = false) { + if (value == null) { + return value; + } + return { + 'type': value['type'], + }; +} diff --git a/typescript/dist/models/SpatialReferenceAuthority.d.ts b/typescript/dist/models/SpatialReferenceAuthority.d.ts deleted file mode 100644 index 485eac66..00000000 --- a/typescript/dist/models/SpatialReferenceAuthority.d.ts +++ /dev/null @@ -1,27 +0,0 @@ -/** - * Geo Engine API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 0.9.0 - * Contact: dev@geoengine.de - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ -/** - * A spatial reference authority that is part of a spatial reference definition - * @export - */ -export declare const SpatialReferenceAuthority: { - readonly Epsg: "EPSG"; - readonly SrOrg: "SR-ORG"; - readonly Iau2000: "IAU2000"; - readonly Esri: "ESRI"; -}; -export type SpatialReferenceAuthority = typeof SpatialReferenceAuthority[keyof typeof SpatialReferenceAuthority]; -export declare function instanceOfSpatialReferenceAuthority(value: any): boolean; -export declare function SpatialReferenceAuthorityFromJSON(json: any): SpatialReferenceAuthority; -export declare function SpatialReferenceAuthorityFromJSONTyped(json: any, ignoreDiscriminator: boolean): SpatialReferenceAuthority; -export declare function SpatialReferenceAuthorityToJSON(value?: SpatialReferenceAuthority | null): any; -export declare function SpatialReferenceAuthorityToJSONTyped(value: any, ignoreDiscriminator: boolean): SpatialReferenceAuthority; diff --git a/typescript/dist/models/SpatialReferenceAuthority.js b/typescript/dist/models/SpatialReferenceAuthority.js deleted file mode 100644 index 5a68961f..00000000 --- a/typescript/dist/models/SpatialReferenceAuthority.js +++ /dev/null @@ -1,53 +0,0 @@ -"use strict"; -/* tslint:disable */ -/* eslint-disable */ -/** - * Geo Engine API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 0.9.0 - * Contact: dev@geoengine.de - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ -Object.defineProperty(exports, "__esModule", { value: true }); -exports.SpatialReferenceAuthority = void 0; -exports.instanceOfSpatialReferenceAuthority = instanceOfSpatialReferenceAuthority; -exports.SpatialReferenceAuthorityFromJSON = SpatialReferenceAuthorityFromJSON; -exports.SpatialReferenceAuthorityFromJSONTyped = SpatialReferenceAuthorityFromJSONTyped; -exports.SpatialReferenceAuthorityToJSON = SpatialReferenceAuthorityToJSON; -exports.SpatialReferenceAuthorityToJSONTyped = SpatialReferenceAuthorityToJSONTyped; -/** - * A spatial reference authority that is part of a spatial reference definition - * @export - */ -exports.SpatialReferenceAuthority = { - Epsg: 'EPSG', - SrOrg: 'SR-ORG', - Iau2000: 'IAU2000', - Esri: 'ESRI' -}; -function instanceOfSpatialReferenceAuthority(value) { - for (const key in exports.SpatialReferenceAuthority) { - if (Object.prototype.hasOwnProperty.call(exports.SpatialReferenceAuthority, key)) { - if (exports.SpatialReferenceAuthority[key] === value) { - return true; - } - } - } - return false; -} -function SpatialReferenceAuthorityFromJSON(json) { - return SpatialReferenceAuthorityFromJSONTyped(json, false); -} -function SpatialReferenceAuthorityFromJSONTyped(json, ignoreDiscriminator) { - return json; -} -function SpatialReferenceAuthorityToJSON(value) { - return value; -} -function SpatialReferenceAuthorityToJSONTyped(value, ignoreDiscriminator) { - return value; -} diff --git a/typescript/dist/models/SpatialResolution.d.ts b/typescript/dist/models/SpatialResolution.d.ts deleted file mode 100644 index 0bf5293e..00000000 --- a/typescript/dist/models/SpatialResolution.d.ts +++ /dev/null @@ -1,38 +0,0 @@ -/** - * Geo Engine API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 0.9.0 - * Contact: dev@geoengine.de - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ -/** - * The spatial resolution in SRS units - * @export - * @interface SpatialResolution - */ -export interface SpatialResolution { - /** - * - * @type {number} - * @memberof SpatialResolution - */ - x: number; - /** - * - * @type {number} - * @memberof SpatialResolution - */ - y: number; -} -/** - * Check if a given object implements the SpatialResolution interface. - */ -export declare function instanceOfSpatialResolution(value: object): value is SpatialResolution; -export declare function SpatialResolutionFromJSON(json: any): SpatialResolution; -export declare function SpatialResolutionFromJSONTyped(json: any, ignoreDiscriminator: boolean): SpatialResolution; -export declare function SpatialResolutionToJSON(json: any): SpatialResolution; -export declare function SpatialResolutionToJSONTyped(value?: SpatialResolution | null, ignoreDiscriminator?: boolean): any; diff --git a/typescript/dist/models/SpatialResolution.js b/typescript/dist/models/SpatialResolution.js deleted file mode 100644 index 56784d2c..00000000 --- a/typescript/dist/models/SpatialResolution.js +++ /dev/null @@ -1,54 +0,0 @@ -"use strict"; -/* tslint:disable */ -/* eslint-disable */ -/** - * Geo Engine API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 0.9.0 - * Contact: dev@geoengine.de - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ -Object.defineProperty(exports, "__esModule", { value: true }); -exports.instanceOfSpatialResolution = instanceOfSpatialResolution; -exports.SpatialResolutionFromJSON = SpatialResolutionFromJSON; -exports.SpatialResolutionFromJSONTyped = SpatialResolutionFromJSONTyped; -exports.SpatialResolutionToJSON = SpatialResolutionToJSON; -exports.SpatialResolutionToJSONTyped = SpatialResolutionToJSONTyped; -/** - * Check if a given object implements the SpatialResolution interface. - */ -function instanceOfSpatialResolution(value) { - if (!('x' in value) || value['x'] === undefined) - return false; - if (!('y' in value) || value['y'] === undefined) - return false; - return true; -} -function SpatialResolutionFromJSON(json) { - return SpatialResolutionFromJSONTyped(json, false); -} -function SpatialResolutionFromJSONTyped(json, ignoreDiscriminator) { - if (json == null) { - return json; - } - return { - 'x': json['x'], - 'y': json['y'], - }; -} -function SpatialResolutionToJSON(json) { - return SpatialResolutionToJSONTyped(json, false); -} -function SpatialResolutionToJSONTyped(value, ignoreDiscriminator = false) { - if (value == null) { - return value; - } - return { - 'x': value['x'], - 'y': value['y'], - }; -} diff --git a/typescript/dist/models/Statistics.d.ts b/typescript/dist/models/Statistics.d.ts new file mode 100644 index 00000000..535cb3a4 --- /dev/null +++ b/typescript/dist/models/Statistics.d.ts @@ -0,0 +1,116 @@ +/** + * Geo Engine API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ +import type { MultipleRasterOrSingleVectorSource } from './MultipleRasterOrSingleVectorSource'; +import type { StatisticsParameters } from './StatisticsParameters'; +/** + * The `Statistics` operator is a _plot operator_ that computes count statistics over + * + * - a selection of numerical columns of a single vector dataset, or + * - multiple raster datasets. + * + * The output is a JSON description. + * + * For instance, you want to get an overview of a raster data source. + * Then, you can use this operator to get basic count statistics. + * + * ## Vector Data + * + * In the case of vector data, the operator generates one statistic for each of the selected numerical attributes. + * The operator returns an error if one of the selected attributes is not numeric. + * + * ## Raster Data + * + * For raster data, the operator generates one statistic for each input raster. + * + * ## Inputs + * + * The operator consumes exactly one _vector_ or multiple _raster_ operators. + * + * | Parameter | Type | + * | --------- | ------------------------------------ | + * | `source` | `MultipleRasterOrSingleVectorSource` | + * + * ## Errors + * + * The operator returns an error in the following cases. + * + * - Vector data: The `attribute` for one of the given `columnNames` is not numeric. + * - Vector data: The `attribute` for one of the given `columnNames` does not exist. + * - Raster data: The length of the `columnNames` parameter does not match the number of input rasters. + * + * ### Example Output + * + * ```json + * { + * "A": { + * "valueCount": 6, + * "validCount": 6, + * "min": 1.0, + * "max": 6.0, + * "mean": 3.5, + * "stddev": 1.707, + * "percentiles": [ + * { + * "percentile": 0.25, + * "value": 2.0 + * }, + * { + * "percentile": 0.5, + * "value": 3.5 + * }, + * { + * "percentile": 0.75, + * "value": 5.0 + * } + * ] + * } + * } + * ``` + * + * @export + * @interface Statistics + */ +export interface Statistics { + /** + * + * @type {StatisticsParameters} + * @memberof Statistics + */ + params: StatisticsParameters; + /** + * + * @type {MultipleRasterOrSingleVectorSource} + * @memberof Statistics + */ + sources: MultipleRasterOrSingleVectorSource; + /** + * + * @type {StatisticsTypeEnum} + * @memberof Statistics + */ + type: StatisticsTypeEnum; +} +/** + * @export + */ +export declare const StatisticsTypeEnum: { + readonly Statistics: "Statistics"; +}; +export type StatisticsTypeEnum = typeof StatisticsTypeEnum[keyof typeof StatisticsTypeEnum]; +/** + * Check if a given object implements the Statistics interface. + */ +export declare function instanceOfStatistics(value: object): value is Statistics; +export declare function StatisticsFromJSON(json: any): Statistics; +export declare function StatisticsFromJSONTyped(json: any, ignoreDiscriminator: boolean): Statistics; +export declare function StatisticsToJSON(json: any): Statistics; +export declare function StatisticsToJSONTyped(value?: Statistics | null, ignoreDiscriminator?: boolean): any; diff --git a/typescript/dist/models/Statistics.js b/typescript/dist/models/Statistics.js new file mode 100644 index 00000000..08cb91d7 --- /dev/null +++ b/typescript/dist/models/Statistics.js @@ -0,0 +1,67 @@ +"use strict"; +/* tslint:disable */ +/* eslint-disable */ +/** + * Geo Engine API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ +Object.defineProperty(exports, "__esModule", { value: true }); +exports.StatisticsTypeEnum = void 0; +exports.instanceOfStatistics = instanceOfStatistics; +exports.StatisticsFromJSON = StatisticsFromJSON; +exports.StatisticsFromJSONTyped = StatisticsFromJSONTyped; +exports.StatisticsToJSON = StatisticsToJSON; +exports.StatisticsToJSONTyped = StatisticsToJSONTyped; +const MultipleRasterOrSingleVectorSource_1 = require("./MultipleRasterOrSingleVectorSource"); +const StatisticsParameters_1 = require("./StatisticsParameters"); +/** + * @export + */ +exports.StatisticsTypeEnum = { + Statistics: 'Statistics' +}; +/** + * Check if a given object implements the Statistics interface. + */ +function instanceOfStatistics(value) { + if (!('params' in value) || value['params'] === undefined) + return false; + if (!('sources' in value) || value['sources'] === undefined) + return false; + if (!('type' in value) || value['type'] === undefined) + return false; + return true; +} +function StatisticsFromJSON(json) { + return StatisticsFromJSONTyped(json, false); +} +function StatisticsFromJSONTyped(json, ignoreDiscriminator) { + if (json == null) { + return json; + } + return { + 'params': (0, StatisticsParameters_1.StatisticsParametersFromJSON)(json['params']), + 'sources': (0, MultipleRasterOrSingleVectorSource_1.MultipleRasterOrSingleVectorSourceFromJSON)(json['sources']), + 'type': json['type'], + }; +} +function StatisticsToJSON(json) { + return StatisticsToJSONTyped(json, false); +} +function StatisticsToJSONTyped(value, ignoreDiscriminator = false) { + if (value == null) { + return value; + } + return { + 'params': (0, StatisticsParameters_1.StatisticsParametersToJSON)(value['params']), + 'sources': (0, MultipleRasterOrSingleVectorSource_1.MultipleRasterOrSingleVectorSourceToJSON)(value['sources']), + 'type': value['type'], + }; +} diff --git a/typescript/dist/models/StatisticsParameters.d.ts b/typescript/dist/models/StatisticsParameters.d.ts new file mode 100644 index 00000000..cad909ac --- /dev/null +++ b/typescript/dist/models/StatisticsParameters.d.ts @@ -0,0 +1,45 @@ +/** + * Geo Engine API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ +/** + * The parameter spec for `Statistics` + * @export + * @interface StatisticsParameters + */ +export interface StatisticsParameters { + /** + * # Vector data + * The names of the attributes to generate statistics for. + * + * # Raster data + * _Optional_: An alias for each input source. + * The operator will automatically name the rasters `Raster-1`, `Raster-2`, … if this parameter is empty. + * If aliases are given, the number of aliases must match the number of input rasters. + * Otherwise an error is returned. + * @type {Array} + * @memberof StatisticsParameters + */ + columnNames?: Array; + /** + * The percentiles to compute for each attribute. + * @type {Array} + * @memberof StatisticsParameters + */ + percentiles?: Array; +} +/** + * Check if a given object implements the StatisticsParameters interface. + */ +export declare function instanceOfStatisticsParameters(value: object): value is StatisticsParameters; +export declare function StatisticsParametersFromJSON(json: any): StatisticsParameters; +export declare function StatisticsParametersFromJSONTyped(json: any, ignoreDiscriminator: boolean): StatisticsParameters; +export declare function StatisticsParametersToJSON(json: any): StatisticsParameters; +export declare function StatisticsParametersToJSONTyped(value?: StatisticsParameters | null, ignoreDiscriminator?: boolean): any; diff --git a/typescript/dist/models/StatisticsParameters.js b/typescript/dist/models/StatisticsParameters.js new file mode 100644 index 00000000..1bab2527 --- /dev/null +++ b/typescript/dist/models/StatisticsParameters.js @@ -0,0 +1,50 @@ +"use strict"; +/* tslint:disable */ +/* eslint-disable */ +/** + * Geo Engine API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ +Object.defineProperty(exports, "__esModule", { value: true }); +exports.instanceOfStatisticsParameters = instanceOfStatisticsParameters; +exports.StatisticsParametersFromJSON = StatisticsParametersFromJSON; +exports.StatisticsParametersFromJSONTyped = StatisticsParametersFromJSONTyped; +exports.StatisticsParametersToJSON = StatisticsParametersToJSON; +exports.StatisticsParametersToJSONTyped = StatisticsParametersToJSONTyped; +/** + * Check if a given object implements the StatisticsParameters interface. + */ +function instanceOfStatisticsParameters(value) { + return true; +} +function StatisticsParametersFromJSON(json) { + return StatisticsParametersFromJSONTyped(json, false); +} +function StatisticsParametersFromJSONTyped(json, ignoreDiscriminator) { + if (json == null) { + return json; + } + return { + 'columnNames': json['columnNames'] == null ? undefined : json['columnNames'], + 'percentiles': json['percentiles'] == null ? undefined : json['percentiles'], + }; +} +function StatisticsParametersToJSON(json) { + return StatisticsParametersToJSONTyped(json, false); +} +function StatisticsParametersToJSONTyped(value, ignoreDiscriminator = false) { + if (value == null) { + return value; + } + return { + 'columnNames': value['columnNames'], + 'percentiles': value['percentiles'], + }; +} diff --git a/typescript/dist/models/Suffix.d.ts b/typescript/dist/models/Suffix.d.ts new file mode 100644 index 00000000..0ed0b2eb --- /dev/null +++ b/typescript/dist/models/Suffix.d.ts @@ -0,0 +1,45 @@ +/** + * Geo Engine API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ +/** + * + * @export + * @interface Suffix + */ +export interface Suffix { + /** + * + * @type {SuffixTypeEnum} + * @memberof Suffix + */ + type: SuffixTypeEnum; + /** + * + * @type {Array} + * @memberof Suffix + */ + values: Array; +} +/** + * @export + */ +export declare const SuffixTypeEnum: { + readonly Suffix: "suffix"; +}; +export type SuffixTypeEnum = typeof SuffixTypeEnum[keyof typeof SuffixTypeEnum]; +/** + * Check if a given object implements the Suffix interface. + */ +export declare function instanceOfSuffix(value: object): value is Suffix; +export declare function SuffixFromJSON(json: any): Suffix; +export declare function SuffixFromJSONTyped(json: any, ignoreDiscriminator: boolean): Suffix; +export declare function SuffixToJSON(json: any): Suffix; +export declare function SuffixToJSONTyped(value?: Suffix | null, ignoreDiscriminator?: boolean): any; diff --git a/typescript/dist/models/Suffix.js b/typescript/dist/models/Suffix.js new file mode 100644 index 00000000..68b162f0 --- /dev/null +++ b/typescript/dist/models/Suffix.js @@ -0,0 +1,61 @@ +"use strict"; +/* tslint:disable */ +/* eslint-disable */ +/** + * Geo Engine API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ +Object.defineProperty(exports, "__esModule", { value: true }); +exports.SuffixTypeEnum = void 0; +exports.instanceOfSuffix = instanceOfSuffix; +exports.SuffixFromJSON = SuffixFromJSON; +exports.SuffixFromJSONTyped = SuffixFromJSONTyped; +exports.SuffixToJSON = SuffixToJSON; +exports.SuffixToJSONTyped = SuffixToJSONTyped; +/** + * @export + */ +exports.SuffixTypeEnum = { + Suffix: 'suffix' +}; +/** + * Check if a given object implements the Suffix interface. + */ +function instanceOfSuffix(value) { + if (!('type' in value) || value['type'] === undefined) + return false; + if (!('values' in value) || value['values'] === undefined) + return false; + return true; +} +function SuffixFromJSON(json) { + return SuffixFromJSONTyped(json, false); +} +function SuffixFromJSONTyped(json, ignoreDiscriminator) { + if (json == null) { + return json; + } + return { + 'type': json['type'], + 'values': json['values'], + }; +} +function SuffixToJSON(json) { + return SuffixToJSONTyped(json, false); +} +function SuffixToJSONTyped(value, ignoreDiscriminator = false) { + if (value == null) { + return value; + } + return { + 'type': value['type'], + 'values': value['values'], + }; +} diff --git a/typescript/dist/models/TaskAbortOptions.d.ts b/typescript/dist/models/TaskAbortOptions.d.ts deleted file mode 100644 index b44e7967..00000000 --- a/typescript/dist/models/TaskAbortOptions.d.ts +++ /dev/null @@ -1,32 +0,0 @@ -/** - * Geo Engine API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 0.9.0 - * Contact: dev@geoengine.de - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ -/** - * - * @export - * @interface TaskAbortOptions - */ -export interface TaskAbortOptions { - /** - * - * @type {boolean} - * @memberof TaskAbortOptions - */ - force?: boolean; -} -/** - * Check if a given object implements the TaskAbortOptions interface. - */ -export declare function instanceOfTaskAbortOptions(value: object): value is TaskAbortOptions; -export declare function TaskAbortOptionsFromJSON(json: any): TaskAbortOptions; -export declare function TaskAbortOptionsFromJSONTyped(json: any, ignoreDiscriminator: boolean): TaskAbortOptions; -export declare function TaskAbortOptionsToJSON(json: any): TaskAbortOptions; -export declare function TaskAbortOptionsToJSONTyped(value?: TaskAbortOptions | null, ignoreDiscriminator?: boolean): any; diff --git a/typescript/dist/models/TaskAbortOptions.js b/typescript/dist/models/TaskAbortOptions.js deleted file mode 100644 index 6c629f68..00000000 --- a/typescript/dist/models/TaskAbortOptions.js +++ /dev/null @@ -1,48 +0,0 @@ -"use strict"; -/* tslint:disable */ -/* eslint-disable */ -/** - * Geo Engine API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 0.9.0 - * Contact: dev@geoengine.de - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ -Object.defineProperty(exports, "__esModule", { value: true }); -exports.instanceOfTaskAbortOptions = instanceOfTaskAbortOptions; -exports.TaskAbortOptionsFromJSON = TaskAbortOptionsFromJSON; -exports.TaskAbortOptionsFromJSONTyped = TaskAbortOptionsFromJSONTyped; -exports.TaskAbortOptionsToJSON = TaskAbortOptionsToJSON; -exports.TaskAbortOptionsToJSONTyped = TaskAbortOptionsToJSONTyped; -/** - * Check if a given object implements the TaskAbortOptions interface. - */ -function instanceOfTaskAbortOptions(value) { - return true; -} -function TaskAbortOptionsFromJSON(json) { - return TaskAbortOptionsFromJSONTyped(json, false); -} -function TaskAbortOptionsFromJSONTyped(json, ignoreDiscriminator) { - if (json == null) { - return json; - } - return { - 'force': json['force'] == null ? undefined : json['force'], - }; -} -function TaskAbortOptionsToJSON(json) { - return TaskAbortOptionsToJSONTyped(json, false); -} -function TaskAbortOptionsToJSONTyped(value, ignoreDiscriminator = false) { - if (value == null) { - return value; - } - return { - 'force': value['force'], - }; -} diff --git a/typescript/dist/models/TaskListOptions.d.ts b/typescript/dist/models/TaskListOptions.d.ts deleted file mode 100644 index e709c6dc..00000000 --- a/typescript/dist/models/TaskListOptions.d.ts +++ /dev/null @@ -1,45 +0,0 @@ -/** - * Geo Engine API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 0.9.0 - * Contact: dev@geoengine.de - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ -import type { TaskFilter } from './TaskFilter'; -/** - * - * @export - * @interface TaskListOptions - */ -export interface TaskListOptions { - /** - * - * @type {TaskFilter} - * @memberof TaskListOptions - */ - filter?: TaskFilter | null; - /** - * - * @type {number} - * @memberof TaskListOptions - */ - limit?: number; - /** - * - * @type {number} - * @memberof TaskListOptions - */ - offset?: number; -} -/** - * Check if a given object implements the TaskListOptions interface. - */ -export declare function instanceOfTaskListOptions(value: object): value is TaskListOptions; -export declare function TaskListOptionsFromJSON(json: any): TaskListOptions; -export declare function TaskListOptionsFromJSONTyped(json: any, ignoreDiscriminator: boolean): TaskListOptions; -export declare function TaskListOptionsToJSON(json: any): TaskListOptions; -export declare function TaskListOptionsToJSONTyped(value?: TaskListOptions | null, ignoreDiscriminator?: boolean): any; diff --git a/typescript/dist/models/TaskListOptions.js b/typescript/dist/models/TaskListOptions.js deleted file mode 100644 index eafac205..00000000 --- a/typescript/dist/models/TaskListOptions.js +++ /dev/null @@ -1,53 +0,0 @@ -"use strict"; -/* tslint:disable */ -/* eslint-disable */ -/** - * Geo Engine API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 0.9.0 - * Contact: dev@geoengine.de - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ -Object.defineProperty(exports, "__esModule", { value: true }); -exports.instanceOfTaskListOptions = instanceOfTaskListOptions; -exports.TaskListOptionsFromJSON = TaskListOptionsFromJSON; -exports.TaskListOptionsFromJSONTyped = TaskListOptionsFromJSONTyped; -exports.TaskListOptionsToJSON = TaskListOptionsToJSON; -exports.TaskListOptionsToJSONTyped = TaskListOptionsToJSONTyped; -const TaskFilter_1 = require("./TaskFilter"); -/** - * Check if a given object implements the TaskListOptions interface. - */ -function instanceOfTaskListOptions(value) { - return true; -} -function TaskListOptionsFromJSON(json) { - return TaskListOptionsFromJSONTyped(json, false); -} -function TaskListOptionsFromJSONTyped(json, ignoreDiscriminator) { - if (json == null) { - return json; - } - return { - 'filter': json['filter'] == null ? undefined : (0, TaskFilter_1.TaskFilterFromJSON)(json['filter']), - 'limit': json['limit'] == null ? undefined : json['limit'], - 'offset': json['offset'] == null ? undefined : json['offset'], - }; -} -function TaskListOptionsToJSON(json) { - return TaskListOptionsToJSONTyped(json, false); -} -function TaskListOptionsToJSONTyped(value, ignoreDiscriminator = false) { - if (value == null) { - return value; - } - return { - 'filter': (0, TaskFilter_1.TaskFilterToJSON)(value['filter']), - 'limit': value['limit'], - 'offset': value['offset'], - }; -} diff --git a/typescript/dist/models/TemporalAggregationMethod.d.ts b/typescript/dist/models/TemporalAggregationMethod.d.ts new file mode 100644 index 00000000..7abde5f6 --- /dev/null +++ b/typescript/dist/models/TemporalAggregationMethod.d.ts @@ -0,0 +1,26 @@ +/** + * Geo Engine API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ +/** + * + * @export + */ +export declare const TemporalAggregationMethod: { + readonly None: "none"; + readonly First: "first"; + readonly Mean: "mean"; +}; +export type TemporalAggregationMethod = typeof TemporalAggregationMethod[keyof typeof TemporalAggregationMethod]; +export declare function instanceOfTemporalAggregationMethod(value: any): boolean; +export declare function TemporalAggregationMethodFromJSON(json: any): TemporalAggregationMethod; +export declare function TemporalAggregationMethodFromJSONTyped(json: any, ignoreDiscriminator: boolean): TemporalAggregationMethod; +export declare function TemporalAggregationMethodToJSON(value?: TemporalAggregationMethod | null): any; +export declare function TemporalAggregationMethodToJSONTyped(value: any, ignoreDiscriminator: boolean): TemporalAggregationMethod; diff --git a/typescript/dist/models/TemporalAggregationMethod.js b/typescript/dist/models/TemporalAggregationMethod.js new file mode 100644 index 00000000..2237120d --- /dev/null +++ b/typescript/dist/models/TemporalAggregationMethod.js @@ -0,0 +1,52 @@ +"use strict"; +/* tslint:disable */ +/* eslint-disable */ +/** + * Geo Engine API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ +Object.defineProperty(exports, "__esModule", { value: true }); +exports.TemporalAggregationMethod = void 0; +exports.instanceOfTemporalAggregationMethod = instanceOfTemporalAggregationMethod; +exports.TemporalAggregationMethodFromJSON = TemporalAggregationMethodFromJSON; +exports.TemporalAggregationMethodFromJSONTyped = TemporalAggregationMethodFromJSONTyped; +exports.TemporalAggregationMethodToJSON = TemporalAggregationMethodToJSON; +exports.TemporalAggregationMethodToJSONTyped = TemporalAggregationMethodToJSONTyped; +/** + * + * @export + */ +exports.TemporalAggregationMethod = { + None: 'none', + First: 'first', + Mean: 'mean' +}; +function instanceOfTemporalAggregationMethod(value) { + for (const key in exports.TemporalAggregationMethod) { + if (Object.prototype.hasOwnProperty.call(exports.TemporalAggregationMethod, key)) { + if (exports.TemporalAggregationMethod[key] === value) { + return true; + } + } + } + return false; +} +function TemporalAggregationMethodFromJSON(json) { + return TemporalAggregationMethodFromJSONTyped(json, false); +} +function TemporalAggregationMethodFromJSONTyped(json, ignoreDiscriminator) { + return json; +} +function TemporalAggregationMethodToJSON(value) { + return value; +} +function TemporalAggregationMethodToJSONTyped(value, ignoreDiscriminator) { + return value; +} diff --git a/typescript/dist/models/TypedOperator.d.ts b/typescript/dist/models/TypedOperator.d.ts index a95c39cf..1e4f9576 100644 --- a/typescript/dist/models/TypedOperator.d.ts +++ b/typescript/dist/models/TypedOperator.d.ts @@ -9,40 +9,21 @@ * https://openapi-generator.tech * Do not edit the class manually. */ -import type { TypedOperatorOperator } from './TypedOperatorOperator'; +import type { TypedPlotOperator } from './TypedPlotOperator'; +import type { TypedRasterOperator } from './TypedRasterOperator'; +import type { TypedVectorOperator } from './TypedVectorOperator'; /** - * An enum to differentiate between `Operator` variants + * @type TypedOperator + * Operator outputs are distinguished by their data type. + * There are `raster`, `vector` and `plot` operators. * @export - * @interface TypedOperator */ -export interface TypedOperator { - /** - * - * @type {TypedOperatorOperator} - * @memberof TypedOperator - */ - operator: TypedOperatorOperator; - /** - * - * @type {TypedOperatorTypeEnum} - * @memberof TypedOperator - */ - type: TypedOperatorTypeEnum; -} -/** - * @export - */ -export declare const TypedOperatorTypeEnum: { - readonly Vector: "Vector"; - readonly Raster: "Raster"; - readonly Plot: "Plot"; -}; -export type TypedOperatorTypeEnum = typeof TypedOperatorTypeEnum[keyof typeof TypedOperatorTypeEnum]; -/** - * Check if a given object implements the TypedOperator interface. - */ -export declare function instanceOfTypedOperator(value: object): value is TypedOperator; +export type TypedOperator = TypedPlotOperator | TypedRasterOperator | TypedVectorOperator; export declare function TypedOperatorFromJSON(json: any): TypedOperator; export declare function TypedOperatorFromJSONTyped(json: any, ignoreDiscriminator: boolean): TypedOperator; -export declare function TypedOperatorToJSON(json: any): TypedOperator; +export declare function TypedOperatorToJSON(json: any): any; export declare function TypedOperatorToJSONTyped(value?: TypedOperator | null, ignoreDiscriminator?: boolean): any; +/** +* Check if a given object implements the TypedOperator interface. +*/ +export declare function instanceOfTypedOperator(value: object): value is TypedOperator; diff --git a/typescript/dist/models/TypedOperator.js b/typescript/dist/models/TypedOperator.js index 343d6c0a..fc11cb6d 100644 --- a/typescript/dist/models/TypedOperator.js +++ b/typescript/dist/models/TypedOperator.js @@ -13,31 +13,14 @@ * Do not edit the class manually. */ Object.defineProperty(exports, "__esModule", { value: true }); -exports.TypedOperatorTypeEnum = void 0; -exports.instanceOfTypedOperator = instanceOfTypedOperator; exports.TypedOperatorFromJSON = TypedOperatorFromJSON; exports.TypedOperatorFromJSONTyped = TypedOperatorFromJSONTyped; exports.TypedOperatorToJSON = TypedOperatorToJSON; exports.TypedOperatorToJSONTyped = TypedOperatorToJSONTyped; -const TypedOperatorOperator_1 = require("./TypedOperatorOperator"); -/** - * @export - */ -exports.TypedOperatorTypeEnum = { - Vector: 'Vector', - Raster: 'Raster', - Plot: 'Plot' -}; -/** - * Check if a given object implements the TypedOperator interface. - */ -function instanceOfTypedOperator(value) { - if (!('operator' in value) || value['operator'] === undefined) - return false; - if (!('type' in value) || value['type'] === undefined) - return false; - return true; -} +exports.instanceOfTypedOperator = instanceOfTypedOperator; +const TypedPlotOperator_1 = require("./TypedPlotOperator"); +const TypedRasterOperator_1 = require("./TypedRasterOperator"); +const TypedVectorOperator_1 = require("./TypedVectorOperator"); function TypedOperatorFromJSON(json) { return TypedOperatorFromJSONTyped(json, false); } @@ -45,10 +28,19 @@ function TypedOperatorFromJSONTyped(json, ignoreDiscriminator) { if (json == null) { return json; } - return { - 'operator': (0, TypedOperatorOperator_1.TypedOperatorOperatorFromJSON)(json['operator']), - 'type': json['type'], - }; + if (typeof json !== 'object') { + return json; + } + if ((0, TypedPlotOperator_1.instanceOfTypedPlotOperator)(json)) { + return (0, TypedPlotOperator_1.TypedPlotOperatorFromJSONTyped)(json, true); + } + if ((0, TypedRasterOperator_1.instanceOfTypedRasterOperator)(json)) { + return (0, TypedRasterOperator_1.TypedRasterOperatorFromJSONTyped)(json, true); + } + if ((0, TypedVectorOperator_1.instanceOfTypedVectorOperator)(json)) { + return (0, TypedVectorOperator_1.TypedVectorOperatorFromJSONTyped)(json, true); + } + return {}; } function TypedOperatorToJSON(json) { return TypedOperatorToJSONTyped(json, false); @@ -57,8 +49,25 @@ function TypedOperatorToJSONTyped(value, ignoreDiscriminator = false) { if (value == null) { return value; } - return { - 'operator': (0, TypedOperatorOperator_1.TypedOperatorOperatorToJSON)(value['operator']), - 'type': value['type'], - }; + if (typeof value !== 'object') { + return value; + } + if ((0, TypedPlotOperator_1.instanceOfTypedPlotOperator)(value)) { + return (0, TypedPlotOperator_1.TypedPlotOperatorToJSON)(value); + } + if ((0, TypedRasterOperator_1.instanceOfTypedRasterOperator)(value)) { + return (0, TypedRasterOperator_1.TypedRasterOperatorToJSON)(value); + } + if ((0, TypedVectorOperator_1.instanceOfTypedVectorOperator)(value)) { + return (0, TypedVectorOperator_1.TypedVectorOperatorToJSON)(value); + } + return {}; +} +/** +* Check if a given object implements the TypedOperator interface. +*/ +function instanceOfTypedOperator(value) { + return (0, TypedPlotOperator_1.instanceOfTypedPlotOperator)(value) + || (0, TypedRasterOperator_1.instanceOfTypedRasterOperator)(value) + || (0, TypedVectorOperator_1.instanceOfTypedVectorOperator)(value); } diff --git a/typescript/dist/models/TypedOperatorOperator.d.ts b/typescript/dist/models/TypedOperatorOperator.d.ts deleted file mode 100644 index db7b1efd..00000000 --- a/typescript/dist/models/TypedOperatorOperator.d.ts +++ /dev/null @@ -1,44 +0,0 @@ -/** - * Geo Engine API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 0.9.0 - * Contact: dev@geoengine.de - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ -/** - * - * @export - * @interface TypedOperatorOperator - */ -export interface TypedOperatorOperator { - /** - * - * @type {object} - * @memberof TypedOperatorOperator - */ - params?: object; - /** - * - * @type {object} - * @memberof TypedOperatorOperator - */ - sources?: object; - /** - * - * @type {string} - * @memberof TypedOperatorOperator - */ - type: string; -} -/** - * Check if a given object implements the TypedOperatorOperator interface. - */ -export declare function instanceOfTypedOperatorOperator(value: object): value is TypedOperatorOperator; -export declare function TypedOperatorOperatorFromJSON(json: any): TypedOperatorOperator; -export declare function TypedOperatorOperatorFromJSONTyped(json: any, ignoreDiscriminator: boolean): TypedOperatorOperator; -export declare function TypedOperatorOperatorToJSON(json: any): TypedOperatorOperator; -export declare function TypedOperatorOperatorToJSONTyped(value?: TypedOperatorOperator | null, ignoreDiscriminator?: boolean): any; diff --git a/typescript/dist/models/TypedPlotOperator.d.ts b/typescript/dist/models/TypedPlotOperator.d.ts new file mode 100644 index 00000000..6f439f1a --- /dev/null +++ b/typescript/dist/models/TypedPlotOperator.d.ts @@ -0,0 +1,46 @@ +/** + * Geo Engine API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ +import type { PlotOperator } from './PlotOperator'; +/** + * + * @export + * @interface TypedPlotOperator + */ +export interface TypedPlotOperator { + /** + * + * @type {PlotOperator} + * @memberof TypedPlotOperator + */ + operator: PlotOperator; + /** + * + * @type {TypedPlotOperatorTypeEnum} + * @memberof TypedPlotOperator + */ + type: TypedPlotOperatorTypeEnum; +} +/** + * @export + */ +export declare const TypedPlotOperatorTypeEnum: { + readonly Plot: "Plot"; +}; +export type TypedPlotOperatorTypeEnum = typeof TypedPlotOperatorTypeEnum[keyof typeof TypedPlotOperatorTypeEnum]; +/** + * Check if a given object implements the TypedPlotOperator interface. + */ +export declare function instanceOfTypedPlotOperator(value: object): value is TypedPlotOperator; +export declare function TypedPlotOperatorFromJSON(json: any): TypedPlotOperator; +export declare function TypedPlotOperatorFromJSONTyped(json: any, ignoreDiscriminator: boolean): TypedPlotOperator; +export declare function TypedPlotOperatorToJSON(json: any): TypedPlotOperator; +export declare function TypedPlotOperatorToJSONTyped(value?: TypedPlotOperator | null, ignoreDiscriminator?: boolean): any; diff --git a/typescript/dist/models/TypedPlotOperator.js b/typescript/dist/models/TypedPlotOperator.js new file mode 100644 index 00000000..dbc43c3f --- /dev/null +++ b/typescript/dist/models/TypedPlotOperator.js @@ -0,0 +1,62 @@ +"use strict"; +/* tslint:disable */ +/* eslint-disable */ +/** + * Geo Engine API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ +Object.defineProperty(exports, "__esModule", { value: true }); +exports.TypedPlotOperatorTypeEnum = void 0; +exports.instanceOfTypedPlotOperator = instanceOfTypedPlotOperator; +exports.TypedPlotOperatorFromJSON = TypedPlotOperatorFromJSON; +exports.TypedPlotOperatorFromJSONTyped = TypedPlotOperatorFromJSONTyped; +exports.TypedPlotOperatorToJSON = TypedPlotOperatorToJSON; +exports.TypedPlotOperatorToJSONTyped = TypedPlotOperatorToJSONTyped; +const PlotOperator_1 = require("./PlotOperator"); +/** + * @export + */ +exports.TypedPlotOperatorTypeEnum = { + Plot: 'Plot' +}; +/** + * Check if a given object implements the TypedPlotOperator interface. + */ +function instanceOfTypedPlotOperator(value) { + if (!('operator' in value) || value['operator'] === undefined) + return false; + if (!('type' in value) || value['type'] === undefined) + return false; + return true; +} +function TypedPlotOperatorFromJSON(json) { + return TypedPlotOperatorFromJSONTyped(json, false); +} +function TypedPlotOperatorFromJSONTyped(json, ignoreDiscriminator) { + if (json == null) { + return json; + } + return { + 'operator': (0, PlotOperator_1.PlotOperatorFromJSON)(json['operator']), + 'type': json['type'], + }; +} +function TypedPlotOperatorToJSON(json) { + return TypedPlotOperatorToJSONTyped(json, false); +} +function TypedPlotOperatorToJSONTyped(value, ignoreDiscriminator = false) { + if (value == null) { + return value; + } + return { + 'operator': (0, PlotOperator_1.PlotOperatorToJSON)(value['operator']), + 'type': value['type'], + }; +} diff --git a/typescript/dist/models/TypedRasterOperator.d.ts b/typescript/dist/models/TypedRasterOperator.d.ts new file mode 100644 index 00000000..d38ba935 --- /dev/null +++ b/typescript/dist/models/TypedRasterOperator.d.ts @@ -0,0 +1,46 @@ +/** + * Geo Engine API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ +import type { RasterOperator } from './RasterOperator'; +/** + * + * @export + * @interface TypedRasterOperator + */ +export interface TypedRasterOperator { + /** + * + * @type {RasterOperator} + * @memberof TypedRasterOperator + */ + operator: RasterOperator; + /** + * + * @type {TypedRasterOperatorTypeEnum} + * @memberof TypedRasterOperator + */ + type: TypedRasterOperatorTypeEnum; +} +/** + * @export + */ +export declare const TypedRasterOperatorTypeEnum: { + readonly Raster: "Raster"; +}; +export type TypedRasterOperatorTypeEnum = typeof TypedRasterOperatorTypeEnum[keyof typeof TypedRasterOperatorTypeEnum]; +/** + * Check if a given object implements the TypedRasterOperator interface. + */ +export declare function instanceOfTypedRasterOperator(value: object): value is TypedRasterOperator; +export declare function TypedRasterOperatorFromJSON(json: any): TypedRasterOperator; +export declare function TypedRasterOperatorFromJSONTyped(json: any, ignoreDiscriminator: boolean): TypedRasterOperator; +export declare function TypedRasterOperatorToJSON(json: any): TypedRasterOperator; +export declare function TypedRasterOperatorToJSONTyped(value?: TypedRasterOperator | null, ignoreDiscriminator?: boolean): any; diff --git a/typescript/dist/models/TypedRasterOperator.js b/typescript/dist/models/TypedRasterOperator.js new file mode 100644 index 00000000..d5f1f92c --- /dev/null +++ b/typescript/dist/models/TypedRasterOperator.js @@ -0,0 +1,62 @@ +"use strict"; +/* tslint:disable */ +/* eslint-disable */ +/** + * Geo Engine API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ +Object.defineProperty(exports, "__esModule", { value: true }); +exports.TypedRasterOperatorTypeEnum = void 0; +exports.instanceOfTypedRasterOperator = instanceOfTypedRasterOperator; +exports.TypedRasterOperatorFromJSON = TypedRasterOperatorFromJSON; +exports.TypedRasterOperatorFromJSONTyped = TypedRasterOperatorFromJSONTyped; +exports.TypedRasterOperatorToJSON = TypedRasterOperatorToJSON; +exports.TypedRasterOperatorToJSONTyped = TypedRasterOperatorToJSONTyped; +const RasterOperator_1 = require("./RasterOperator"); +/** + * @export + */ +exports.TypedRasterOperatorTypeEnum = { + Raster: 'Raster' +}; +/** + * Check if a given object implements the TypedRasterOperator interface. + */ +function instanceOfTypedRasterOperator(value) { + if (!('operator' in value) || value['operator'] === undefined) + return false; + if (!('type' in value) || value['type'] === undefined) + return false; + return true; +} +function TypedRasterOperatorFromJSON(json) { + return TypedRasterOperatorFromJSONTyped(json, false); +} +function TypedRasterOperatorFromJSONTyped(json, ignoreDiscriminator) { + if (json == null) { + return json; + } + return { + 'operator': (0, RasterOperator_1.RasterOperatorFromJSON)(json['operator']), + 'type': json['type'], + }; +} +function TypedRasterOperatorToJSON(json) { + return TypedRasterOperatorToJSONTyped(json, false); +} +function TypedRasterOperatorToJSONTyped(value, ignoreDiscriminator = false) { + if (value == null) { + return value; + } + return { + 'operator': (0, RasterOperator_1.RasterOperatorToJSON)(value['operator']), + 'type': value['type'], + }; +} diff --git a/typescript/dist/models/TypedVectorOperator.d.ts b/typescript/dist/models/TypedVectorOperator.d.ts new file mode 100644 index 00000000..d801ef4d --- /dev/null +++ b/typescript/dist/models/TypedVectorOperator.d.ts @@ -0,0 +1,46 @@ +/** + * Geo Engine API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ +import type { VectorOperator } from './VectorOperator'; +/** + * + * @export + * @interface TypedVectorOperator + */ +export interface TypedVectorOperator { + /** + * + * @type {VectorOperator} + * @memberof TypedVectorOperator + */ + operator: VectorOperator; + /** + * + * @type {TypedVectorOperatorTypeEnum} + * @memberof TypedVectorOperator + */ + type: TypedVectorOperatorTypeEnum; +} +/** + * @export + */ +export declare const TypedVectorOperatorTypeEnum: { + readonly Vector: "Vector"; +}; +export type TypedVectorOperatorTypeEnum = typeof TypedVectorOperatorTypeEnum[keyof typeof TypedVectorOperatorTypeEnum]; +/** + * Check if a given object implements the TypedVectorOperator interface. + */ +export declare function instanceOfTypedVectorOperator(value: object): value is TypedVectorOperator; +export declare function TypedVectorOperatorFromJSON(json: any): TypedVectorOperator; +export declare function TypedVectorOperatorFromJSONTyped(json: any, ignoreDiscriminator: boolean): TypedVectorOperator; +export declare function TypedVectorOperatorToJSON(json: any): TypedVectorOperator; +export declare function TypedVectorOperatorToJSONTyped(value?: TypedVectorOperator | null, ignoreDiscriminator?: boolean): any; diff --git a/typescript/dist/models/TypedVectorOperator.js b/typescript/dist/models/TypedVectorOperator.js new file mode 100644 index 00000000..77c2cfee --- /dev/null +++ b/typescript/dist/models/TypedVectorOperator.js @@ -0,0 +1,62 @@ +"use strict"; +/* tslint:disable */ +/* eslint-disable */ +/** + * Geo Engine API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ +Object.defineProperty(exports, "__esModule", { value: true }); +exports.TypedVectorOperatorTypeEnum = void 0; +exports.instanceOfTypedVectorOperator = instanceOfTypedVectorOperator; +exports.TypedVectorOperatorFromJSON = TypedVectorOperatorFromJSON; +exports.TypedVectorOperatorFromJSONTyped = TypedVectorOperatorFromJSONTyped; +exports.TypedVectorOperatorToJSON = TypedVectorOperatorToJSON; +exports.TypedVectorOperatorToJSONTyped = TypedVectorOperatorToJSONTyped; +const VectorOperator_1 = require("./VectorOperator"); +/** + * @export + */ +exports.TypedVectorOperatorTypeEnum = { + Vector: 'Vector' +}; +/** + * Check if a given object implements the TypedVectorOperator interface. + */ +function instanceOfTypedVectorOperator(value) { + if (!('operator' in value) || value['operator'] === undefined) + return false; + if (!('type' in value) || value['type'] === undefined) + return false; + return true; +} +function TypedVectorOperatorFromJSON(json) { + return TypedVectorOperatorFromJSONTyped(json, false); +} +function TypedVectorOperatorFromJSONTyped(json, ignoreDiscriminator) { + if (json == null) { + return json; + } + return { + 'operator': (0, VectorOperator_1.VectorOperatorFromJSON)(json['operator']), + 'type': json['type'], + }; +} +function TypedVectorOperatorToJSON(json) { + return TypedVectorOperatorToJSONTyped(json, false); +} +function TypedVectorOperatorToJSONTyped(value, ignoreDiscriminator = false) { + if (value == null) { + return value; + } + return { + 'operator': (0, VectorOperator_1.VectorOperatorToJSON)(value['operator']), + 'type': value['type'], + }; +} diff --git a/typescript/dist/models/VectorOperator.d.ts b/typescript/dist/models/VectorOperator.d.ts new file mode 100644 index 00000000..3bf76dad --- /dev/null +++ b/typescript/dist/models/VectorOperator.d.ts @@ -0,0 +1,31 @@ +/** + * Geo Engine API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ +import type { MockPointSource } from './MockPointSource'; +import type { RasterVectorJoin } from './RasterVectorJoin'; +/** + * @type VectorOperator + * An operator that produces vector data. + * @export + */ +export type VectorOperator = { + type: 'MockPointSource'; +} & MockPointSource | { + type: 'RasterVectorJoin'; +} & RasterVectorJoin; +export declare function VectorOperatorFromJSON(json: any): VectorOperator; +export declare function VectorOperatorFromJSONTyped(json: any, ignoreDiscriminator: boolean): VectorOperator; +export declare function VectorOperatorToJSON(json: any): any; +export declare function VectorOperatorToJSONTyped(value?: VectorOperator | null, ignoreDiscriminator?: boolean): any; +/** +* Check if a given object implements the VectorOperator interface. +*/ +export declare function instanceOfVectorOperator(value: object): value is VectorOperator; diff --git a/typescript/dist/models/VectorOperator.js b/typescript/dist/models/VectorOperator.js new file mode 100644 index 00000000..81b852cf --- /dev/null +++ b/typescript/dist/models/VectorOperator.js @@ -0,0 +1,61 @@ +"use strict"; +/* tslint:disable */ +/* eslint-disable */ +/** + * Geo Engine API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ +Object.defineProperty(exports, "__esModule", { value: true }); +exports.VectorOperatorFromJSON = VectorOperatorFromJSON; +exports.VectorOperatorFromJSONTyped = VectorOperatorFromJSONTyped; +exports.VectorOperatorToJSON = VectorOperatorToJSON; +exports.VectorOperatorToJSONTyped = VectorOperatorToJSONTyped; +exports.instanceOfVectorOperator = instanceOfVectorOperator; +const MockPointSource_1 = require("./MockPointSource"); +const RasterVectorJoin_1 = require("./RasterVectorJoin"); +function VectorOperatorFromJSON(json) { + return VectorOperatorFromJSONTyped(json, false); +} +function VectorOperatorFromJSONTyped(json, ignoreDiscriminator) { + if (json == null) { + return json; + } + switch (json['type']) { + case 'MockPointSource': + return Object.assign({}, (0, MockPointSource_1.MockPointSourceFromJSONTyped)(json, true), { type: 'MockPointSource' }); + case 'RasterVectorJoin': + return Object.assign({}, (0, RasterVectorJoin_1.RasterVectorJoinFromJSONTyped)(json, true), { type: 'RasterVectorJoin' }); + default: + return json; + } +} +function VectorOperatorToJSON(json) { + return VectorOperatorToJSONTyped(json, false); +} +function VectorOperatorToJSONTyped(value, ignoreDiscriminator = false) { + if (value == null) { + return value; + } + switch (value['type']) { + case 'MockPointSource': + return Object.assign({}, (0, MockPointSource_1.MockPointSourceToJSON)(value), { type: 'MockPointSource' }); + case 'RasterVectorJoin': + return Object.assign({}, (0, RasterVectorJoin_1.RasterVectorJoinToJSON)(value), { type: 'RasterVectorJoin' }); + default: + return value; + } +} +/** +* Check if a given object implements the VectorOperator interface. +*/ +function instanceOfVectorOperator(value) { + return (0, MockPointSource_1.instanceOfMockPointSource)(value) + || (0, RasterVectorJoin_1.instanceOfRasterVectorJoin)(value); +} diff --git a/typescript/dist/models/WcsBoundingbox.d.ts b/typescript/dist/models/WcsBoundingbox.d.ts deleted file mode 100644 index 20a830a2..00000000 --- a/typescript/dist/models/WcsBoundingbox.d.ts +++ /dev/null @@ -1,38 +0,0 @@ -/** - * Geo Engine API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 0.9.0 - * Contact: dev@geoengine.de - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ -/** - * - * @export - * @interface WcsBoundingbox - */ -export interface WcsBoundingbox { - /** - * - * @type {Array} - * @memberof WcsBoundingbox - */ - bbox: Array; - /** - * - * @type {string} - * @memberof WcsBoundingbox - */ - spatialReference?: string | null; -} -/** - * Check if a given object implements the WcsBoundingbox interface. - */ -export declare function instanceOfWcsBoundingbox(value: object): value is WcsBoundingbox; -export declare function WcsBoundingboxFromJSON(json: any): WcsBoundingbox; -export declare function WcsBoundingboxFromJSONTyped(json: any, ignoreDiscriminator: boolean): WcsBoundingbox; -export declare function WcsBoundingboxToJSON(json: any): WcsBoundingbox; -export declare function WcsBoundingboxToJSONTyped(value?: WcsBoundingbox | null, ignoreDiscriminator?: boolean): any; diff --git a/typescript/dist/models/WcsBoundingbox.js b/typescript/dist/models/WcsBoundingbox.js deleted file mode 100644 index e6666f3a..00000000 --- a/typescript/dist/models/WcsBoundingbox.js +++ /dev/null @@ -1,52 +0,0 @@ -"use strict"; -/* tslint:disable */ -/* eslint-disable */ -/** - * Geo Engine API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 0.9.0 - * Contact: dev@geoengine.de - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ -Object.defineProperty(exports, "__esModule", { value: true }); -exports.instanceOfWcsBoundingbox = instanceOfWcsBoundingbox; -exports.WcsBoundingboxFromJSON = WcsBoundingboxFromJSON; -exports.WcsBoundingboxFromJSONTyped = WcsBoundingboxFromJSONTyped; -exports.WcsBoundingboxToJSON = WcsBoundingboxToJSON; -exports.WcsBoundingboxToJSONTyped = WcsBoundingboxToJSONTyped; -/** - * Check if a given object implements the WcsBoundingbox interface. - */ -function instanceOfWcsBoundingbox(value) { - if (!('bbox' in value) || value['bbox'] === undefined) - return false; - return true; -} -function WcsBoundingboxFromJSON(json) { - return WcsBoundingboxFromJSONTyped(json, false); -} -function WcsBoundingboxFromJSONTyped(json, ignoreDiscriminator) { - if (json == null) { - return json; - } - return { - 'bbox': json['bbox'], - 'spatialReference': json['spatial_reference'] == null ? undefined : json['spatial_reference'], - }; -} -function WcsBoundingboxToJSON(json) { - return WcsBoundingboxToJSONTyped(json, false); -} -function WcsBoundingboxToJSONTyped(value, ignoreDiscriminator = false) { - if (value == null) { - return value; - } - return { - 'bbox': value['bbox'], - 'spatial_reference': value['spatialReference'], - }; -} diff --git a/typescript/dist/models/Workflow.d.ts b/typescript/dist/models/Workflow.d.ts index bae541e5..a4de5bb6 100644 --- a/typescript/dist/models/Workflow.d.ts +++ b/typescript/dist/models/Workflow.d.ts @@ -9,40 +9,15 @@ * https://openapi-generator.tech * Do not edit the class manually. */ -import type { TypedOperatorOperator } from './TypedOperatorOperator'; +import type { LegacyTypedOperator } from './LegacyTypedOperator'; +import type { TypedOperator } from './TypedOperator'; /** + * @type Workflow * * @export - * @interface Workflow */ -export interface Workflow { - /** - * - * @type {TypedOperatorOperator} - * @memberof Workflow - */ - operator: TypedOperatorOperator; - /** - * - * @type {WorkflowTypeEnum} - * @memberof Workflow - */ - type: WorkflowTypeEnum; -} -/** - * @export - */ -export declare const WorkflowTypeEnum: { - readonly Vector: "Vector"; - readonly Raster: "Raster"; - readonly Plot: "Plot"; -}; -export type WorkflowTypeEnum = typeof WorkflowTypeEnum[keyof typeof WorkflowTypeEnum]; -/** - * Check if a given object implements the Workflow interface. - */ -export declare function instanceOfWorkflow(value: object): value is Workflow; +export type Workflow = LegacyTypedOperator | TypedOperator; export declare function WorkflowFromJSON(json: any): Workflow; export declare function WorkflowFromJSONTyped(json: any, ignoreDiscriminator: boolean): Workflow; -export declare function WorkflowToJSON(json: any): Workflow; +export declare function WorkflowToJSON(json: any): any; export declare function WorkflowToJSONTyped(value?: Workflow | null, ignoreDiscriminator?: boolean): any; diff --git a/typescript/dist/models/Workflow.js b/typescript/dist/models/Workflow.js index af41da9e..597dc5d4 100644 --- a/typescript/dist/models/Workflow.js +++ b/typescript/dist/models/Workflow.js @@ -13,31 +13,12 @@ * Do not edit the class manually. */ Object.defineProperty(exports, "__esModule", { value: true }); -exports.WorkflowTypeEnum = void 0; -exports.instanceOfWorkflow = instanceOfWorkflow; exports.WorkflowFromJSON = WorkflowFromJSON; exports.WorkflowFromJSONTyped = WorkflowFromJSONTyped; exports.WorkflowToJSON = WorkflowToJSON; exports.WorkflowToJSONTyped = WorkflowToJSONTyped; -const TypedOperatorOperator_1 = require("./TypedOperatorOperator"); -/** - * @export - */ -exports.WorkflowTypeEnum = { - Vector: 'Vector', - Raster: 'Raster', - Plot: 'Plot' -}; -/** - * Check if a given object implements the Workflow interface. - */ -function instanceOfWorkflow(value) { - if (!('operator' in value) || value['operator'] === undefined) - return false; - if (!('type' in value) || value['type'] === undefined) - return false; - return true; -} +const LegacyTypedOperator_1 = require("./LegacyTypedOperator"); +const TypedOperator_1 = require("./TypedOperator"); function WorkflowFromJSON(json) { return WorkflowFromJSONTyped(json, false); } @@ -45,10 +26,16 @@ function WorkflowFromJSONTyped(json, ignoreDiscriminator) { if (json == null) { return json; } - return { - 'operator': (0, TypedOperatorOperator_1.TypedOperatorOperatorFromJSON)(json['operator']), - 'type': json['type'], - }; + if (typeof json !== 'object') { + return json; + } + if ((0, LegacyTypedOperator_1.instanceOfLegacyTypedOperator)(json)) { + return (0, LegacyTypedOperator_1.LegacyTypedOperatorFromJSONTyped)(json, true); + } + if ((0, TypedOperator_1.instanceOfTypedOperator)(json)) { + return (0, TypedOperator_1.TypedOperatorFromJSONTyped)(json, true); + } + return {}; } function WorkflowToJSON(json) { return WorkflowToJSONTyped(json, false); @@ -57,8 +44,14 @@ function WorkflowToJSONTyped(value, ignoreDiscriminator = false) { if (value == null) { return value; } - return { - 'operator': (0, TypedOperatorOperator_1.TypedOperatorOperatorToJSON)(value['operator']), - 'type': value['type'], - }; + if (typeof value !== 'object') { + return value; + } + if ((0, LegacyTypedOperator_1.instanceOfLegacyTypedOperator)(value)) { + return (0, LegacyTypedOperator_1.LegacyTypedOperatorToJSON)(value); + } + if ((0, TypedOperator_1.instanceOfTypedOperator)(value)) { + return (0, TypedOperator_1.TypedOperatorToJSON)(value); + } + return {}; } diff --git a/typescript/dist/models/index.d.ts b/typescript/dist/models/index.d.ts index c4acc3ac..7733eadb 100644 --- a/typescript/dist/models/index.d.ts +++ b/typescript/dist/models/index.d.ts @@ -1,5 +1,4 @@ export * from './AddDataset'; -export * from './AddDatasetTile'; export * from './AddLayer'; export * from './AddLayerCollection'; export * from './AddRole'; @@ -15,6 +14,7 @@ export * from './CollectionItem'; export * from './CollectionType'; export * from './ColorParam'; export * from './Colorizer'; +export * from './ColumnNames'; export * from './ComputationQuota'; export * from './ContinuousMeasurement'; export * from './Coordinate2D'; @@ -37,13 +37,17 @@ export * from './DatasetLayerListingProviderDefinition'; export * from './DatasetListing'; export * from './DatasetNameResponse'; export * from './DatasetResource'; +export * from './Default'; export * from './DerivedColor'; export * from './DerivedNumber'; export * from './EbvPortalDataProviderDefinition'; export * from './EdrDataProviderDefinition'; export * from './EdrVectorSpec'; export * from './ErrorResponse'; +export * from './Expression'; +export * from './ExpressionParameters'; export * from './ExternalDataId'; +export * from './FeatureAggregationMethod'; export * from './FeatureDataType'; export * from './FileNotFoundHandling'; export * from './FormatSpecifics'; @@ -57,6 +61,8 @@ export * from './GdalMetaDataStatic'; export * from './GdalMetadataMapping'; export * from './GdalMetadataNetCdfCf'; export * from './GdalMultiBand'; +export * from './GdalSource'; +export * from './GdalSourceParameters'; export * from './GdalSourceTimePlaceholder'; export * from './GeoJson'; export * from './GeoTransform'; @@ -66,6 +72,15 @@ export * from './GfbioAbcdDataProviderDefinition'; export * from './GfbioCollectionsDataProviderDefinition'; export * from './GridBoundingBox2D'; export * from './GridIdx2D'; +export * from './Histogram'; +export * from './HistogramBounds'; +export * from './HistogramBoundsOneOf'; +export * from './HistogramBoundsOneOf1'; +export * from './HistogramBoundsOneOf1Values'; +export * from './HistogramBuckets'; +export * from './HistogramBucketsOneOf'; +export * from './HistogramBucketsOneOf1'; +export * from './HistogramParameters'; export * from './IdResponse'; export * from './InternalDataId'; export * from './Layer'; @@ -76,6 +91,8 @@ export * from './LayerListing'; export * from './LayerProviderListing'; export * from './LayerResource'; export * from './LayerVisibility'; +export * from './LegacyTypedOperator'; +export * from './LegacyTypedOperatorOperator'; export * from './LineSymbology'; export * from './LinearGradient'; export * from './LogarithmicGradient'; @@ -93,10 +110,15 @@ export * from './MlModelResource'; export * from './MlTensorShape3D'; export * from './MockDatasetDataSourceLoadingInfo'; export * from './MockMetaData'; +export * from './MockPointSource'; +export * from './MockPointSourceParameters'; export * from './MultiBandRasterColorizer'; export * from './MultiLineString'; export * from './MultiPoint'; export * from './MultiPolygon'; +export * from './MultipleRasterOrSingleVectorOperator'; +export * from './MultipleRasterOrSingleVectorSource'; +export * from './Names'; export * from './NetCdfCfDataProviderDefinition'; export * from './NumberParam'; export * from './OgrMetaData'; @@ -121,10 +143,10 @@ export * from './OrderBy'; export * from './PaletteColorizer'; export * from './PangaeaDataProviderDefinition'; export * from './Permission'; -export * from './PermissionListOptions'; export * from './PermissionListing'; export * from './PermissionRequest'; export * from './Plot'; +export * from './PlotOperator'; export * from './PlotOutputFormat'; export * from './PlotResultDescriptor'; export * from './PointSymbology'; @@ -137,7 +159,6 @@ export * from './ProjectUpdateToken'; export * from './ProjectVersion'; export * from './Provenance'; export * from './ProvenanceEntry'; -export * from './ProvenanceOutput'; export * from './Provenances'; export * from './ProviderCapabilities'; export * from './ProviderLayerCollectionId'; @@ -147,13 +168,15 @@ export * from './RasterBandDescriptor'; export * from './RasterColorizer'; export * from './RasterDataType'; export * from './RasterDatasetFromWorkflow'; -export * from './RasterDatasetFromWorkflowResult'; +export * from './RasterOperator'; export * from './RasterPropertiesEntryType'; export * from './RasterPropertiesKey'; export * from './RasterResultDescriptor'; export * from './RasterStreamWebsocketResultType'; export * from './RasterSymbology'; export * from './RasterToDatasetQueryRectangle'; +export * from './RasterVectorJoin'; +export * from './RasterVectorJoinParameters'; export * from './RegularTimeDimension'; export * from './Resource'; export * from './Role'; @@ -165,23 +188,30 @@ export * from './SearchTypes'; export * from './SentinelS2L2ACogsProviderDefinition'; export * from './ServerInfo'; export * from './SingleBandRasterColorizer'; +export * from './SingleRasterOrVectorOperator'; +export * from './SingleRasterOrVectorSource'; +export * from './SingleRasterSource'; +export * from './SingleVectorMultipleRasterSources'; +export * from './SpatialBoundsDerive'; +export * from './SpatialBoundsDeriveBounds'; +export * from './SpatialBoundsDeriveDerive'; +export * from './SpatialBoundsDeriveNone'; export * from './SpatialGridDefinition'; export * from './SpatialGridDescriptor'; export * from './SpatialGridDescriptorState'; export * from './SpatialPartition2D'; -export * from './SpatialReferenceAuthority'; export * from './SpatialReferenceSpecification'; -export * from './SpatialResolution'; export * from './StacApiRetries'; export * from './StacQueryBuffer'; export * from './StaticColor'; export * from './StaticNumber'; +export * from './Statistics'; +export * from './StatisticsParameters'; export * from './StrokeParam'; +export * from './Suffix'; export * from './SuggestMetaData'; export * from './Symbology'; -export * from './TaskAbortOptions'; export * from './TaskFilter'; -export * from './TaskListOptions'; export * from './TaskResponse'; export * from './TaskStatus'; export * from './TaskStatusAborted'; @@ -189,6 +219,7 @@ export * from './TaskStatusCompleted'; export * from './TaskStatusFailed'; export * from './TaskStatusRunning'; export * from './TaskStatusWithId'; +export * from './TemporalAggregationMethod'; export * from './TextSymbology'; export * from './TimeDescriptor'; export * from './TimeDimension'; @@ -205,10 +236,12 @@ export * from './TypedGeometryOneOf1'; export * from './TypedGeometryOneOf2'; export * from './TypedGeometryOneOf3'; export * from './TypedOperator'; -export * from './TypedOperatorOperator'; +export * from './TypedPlotOperator'; export * from './TypedPlotResultDescriptor'; +export * from './TypedRasterOperator'; export * from './TypedRasterResultDescriptor'; export * from './TypedResultDescriptor'; +export * from './TypedVectorOperator'; export * from './TypedVectorResultDescriptor'; export * from './UnitlessMeasurement'; export * from './UnixTimeStampType'; @@ -227,10 +260,10 @@ export * from './UserSession'; export * from './VecUpdate'; export * from './VectorColumnInfo'; export * from './VectorDataType'; +export * from './VectorOperator'; export * from './VectorResultDescriptor'; export * from './Volume'; export * from './VolumeFileLayersResponse'; -export * from './WcsBoundingbox'; export * from './WcsRequest'; export * from './WcsService'; export * from './WcsVersion'; diff --git a/typescript/dist/models/index.js b/typescript/dist/models/index.js index 9d65404e..e487e8c7 100644 --- a/typescript/dist/models/index.js +++ b/typescript/dist/models/index.js @@ -17,7 +17,6 @@ Object.defineProperty(exports, "__esModule", { value: true }); /* tslint:disable */ /* eslint-disable */ __exportStar(require("./AddDataset"), exports); -__exportStar(require("./AddDatasetTile"), exports); __exportStar(require("./AddLayer"), exports); __exportStar(require("./AddLayerCollection"), exports); __exportStar(require("./AddRole"), exports); @@ -33,6 +32,7 @@ __exportStar(require("./CollectionItem"), exports); __exportStar(require("./CollectionType"), exports); __exportStar(require("./ColorParam"), exports); __exportStar(require("./Colorizer"), exports); +__exportStar(require("./ColumnNames"), exports); __exportStar(require("./ComputationQuota"), exports); __exportStar(require("./ContinuousMeasurement"), exports); __exportStar(require("./Coordinate2D"), exports); @@ -55,13 +55,17 @@ __exportStar(require("./DatasetLayerListingProviderDefinition"), exports); __exportStar(require("./DatasetListing"), exports); __exportStar(require("./DatasetNameResponse"), exports); __exportStar(require("./DatasetResource"), exports); +__exportStar(require("./Default"), exports); __exportStar(require("./DerivedColor"), exports); __exportStar(require("./DerivedNumber"), exports); __exportStar(require("./EbvPortalDataProviderDefinition"), exports); __exportStar(require("./EdrDataProviderDefinition"), exports); __exportStar(require("./EdrVectorSpec"), exports); __exportStar(require("./ErrorResponse"), exports); +__exportStar(require("./Expression"), exports); +__exportStar(require("./ExpressionParameters"), exports); __exportStar(require("./ExternalDataId"), exports); +__exportStar(require("./FeatureAggregationMethod"), exports); __exportStar(require("./FeatureDataType"), exports); __exportStar(require("./FileNotFoundHandling"), exports); __exportStar(require("./FormatSpecifics"), exports); @@ -75,6 +79,8 @@ __exportStar(require("./GdalMetaDataStatic"), exports); __exportStar(require("./GdalMetadataMapping"), exports); __exportStar(require("./GdalMetadataNetCdfCf"), exports); __exportStar(require("./GdalMultiBand"), exports); +__exportStar(require("./GdalSource"), exports); +__exportStar(require("./GdalSourceParameters"), exports); __exportStar(require("./GdalSourceTimePlaceholder"), exports); __exportStar(require("./GeoJson"), exports); __exportStar(require("./GeoTransform"), exports); @@ -84,6 +90,15 @@ __exportStar(require("./GfbioAbcdDataProviderDefinition"), exports); __exportStar(require("./GfbioCollectionsDataProviderDefinition"), exports); __exportStar(require("./GridBoundingBox2D"), exports); __exportStar(require("./GridIdx2D"), exports); +__exportStar(require("./Histogram"), exports); +__exportStar(require("./HistogramBounds"), exports); +__exportStar(require("./HistogramBoundsOneOf"), exports); +__exportStar(require("./HistogramBoundsOneOf1"), exports); +__exportStar(require("./HistogramBoundsOneOf1Values"), exports); +__exportStar(require("./HistogramBuckets"), exports); +__exportStar(require("./HistogramBucketsOneOf"), exports); +__exportStar(require("./HistogramBucketsOneOf1"), exports); +__exportStar(require("./HistogramParameters"), exports); __exportStar(require("./IdResponse"), exports); __exportStar(require("./InternalDataId"), exports); __exportStar(require("./Layer"), exports); @@ -94,6 +109,8 @@ __exportStar(require("./LayerListing"), exports); __exportStar(require("./LayerProviderListing"), exports); __exportStar(require("./LayerResource"), exports); __exportStar(require("./LayerVisibility"), exports); +__exportStar(require("./LegacyTypedOperator"), exports); +__exportStar(require("./LegacyTypedOperatorOperator"), exports); __exportStar(require("./LineSymbology"), exports); __exportStar(require("./LinearGradient"), exports); __exportStar(require("./LogarithmicGradient"), exports); @@ -111,10 +128,15 @@ __exportStar(require("./MlModelResource"), exports); __exportStar(require("./MlTensorShape3D"), exports); __exportStar(require("./MockDatasetDataSourceLoadingInfo"), exports); __exportStar(require("./MockMetaData"), exports); +__exportStar(require("./MockPointSource"), exports); +__exportStar(require("./MockPointSourceParameters"), exports); __exportStar(require("./MultiBandRasterColorizer"), exports); __exportStar(require("./MultiLineString"), exports); __exportStar(require("./MultiPoint"), exports); __exportStar(require("./MultiPolygon"), exports); +__exportStar(require("./MultipleRasterOrSingleVectorOperator"), exports); +__exportStar(require("./MultipleRasterOrSingleVectorSource"), exports); +__exportStar(require("./Names"), exports); __exportStar(require("./NetCdfCfDataProviderDefinition"), exports); __exportStar(require("./NumberParam"), exports); __exportStar(require("./OgrMetaData"), exports); @@ -139,10 +161,10 @@ __exportStar(require("./OrderBy"), exports); __exportStar(require("./PaletteColorizer"), exports); __exportStar(require("./PangaeaDataProviderDefinition"), exports); __exportStar(require("./Permission"), exports); -__exportStar(require("./PermissionListOptions"), exports); __exportStar(require("./PermissionListing"), exports); __exportStar(require("./PermissionRequest"), exports); __exportStar(require("./Plot"), exports); +__exportStar(require("./PlotOperator"), exports); __exportStar(require("./PlotOutputFormat"), exports); __exportStar(require("./PlotResultDescriptor"), exports); __exportStar(require("./PointSymbology"), exports); @@ -155,7 +177,6 @@ __exportStar(require("./ProjectUpdateToken"), exports); __exportStar(require("./ProjectVersion"), exports); __exportStar(require("./Provenance"), exports); __exportStar(require("./ProvenanceEntry"), exports); -__exportStar(require("./ProvenanceOutput"), exports); __exportStar(require("./Provenances"), exports); __exportStar(require("./ProviderCapabilities"), exports); __exportStar(require("./ProviderLayerCollectionId"), exports); @@ -165,13 +186,15 @@ __exportStar(require("./RasterBandDescriptor"), exports); __exportStar(require("./RasterColorizer"), exports); __exportStar(require("./RasterDataType"), exports); __exportStar(require("./RasterDatasetFromWorkflow"), exports); -__exportStar(require("./RasterDatasetFromWorkflowResult"), exports); +__exportStar(require("./RasterOperator"), exports); __exportStar(require("./RasterPropertiesEntryType"), exports); __exportStar(require("./RasterPropertiesKey"), exports); __exportStar(require("./RasterResultDescriptor"), exports); __exportStar(require("./RasterStreamWebsocketResultType"), exports); __exportStar(require("./RasterSymbology"), exports); __exportStar(require("./RasterToDatasetQueryRectangle"), exports); +__exportStar(require("./RasterVectorJoin"), exports); +__exportStar(require("./RasterVectorJoinParameters"), exports); __exportStar(require("./RegularTimeDimension"), exports); __exportStar(require("./Resource"), exports); __exportStar(require("./Role"), exports); @@ -183,23 +206,30 @@ __exportStar(require("./SearchTypes"), exports); __exportStar(require("./SentinelS2L2ACogsProviderDefinition"), exports); __exportStar(require("./ServerInfo"), exports); __exportStar(require("./SingleBandRasterColorizer"), exports); +__exportStar(require("./SingleRasterOrVectorOperator"), exports); +__exportStar(require("./SingleRasterOrVectorSource"), exports); +__exportStar(require("./SingleRasterSource"), exports); +__exportStar(require("./SingleVectorMultipleRasterSources"), exports); +__exportStar(require("./SpatialBoundsDerive"), exports); +__exportStar(require("./SpatialBoundsDeriveBounds"), exports); +__exportStar(require("./SpatialBoundsDeriveDerive"), exports); +__exportStar(require("./SpatialBoundsDeriveNone"), exports); __exportStar(require("./SpatialGridDefinition"), exports); __exportStar(require("./SpatialGridDescriptor"), exports); __exportStar(require("./SpatialGridDescriptorState"), exports); __exportStar(require("./SpatialPartition2D"), exports); -__exportStar(require("./SpatialReferenceAuthority"), exports); __exportStar(require("./SpatialReferenceSpecification"), exports); -__exportStar(require("./SpatialResolution"), exports); __exportStar(require("./StacApiRetries"), exports); __exportStar(require("./StacQueryBuffer"), exports); __exportStar(require("./StaticColor"), exports); __exportStar(require("./StaticNumber"), exports); +__exportStar(require("./Statistics"), exports); +__exportStar(require("./StatisticsParameters"), exports); __exportStar(require("./StrokeParam"), exports); +__exportStar(require("./Suffix"), exports); __exportStar(require("./SuggestMetaData"), exports); __exportStar(require("./Symbology"), exports); -__exportStar(require("./TaskAbortOptions"), exports); __exportStar(require("./TaskFilter"), exports); -__exportStar(require("./TaskListOptions"), exports); __exportStar(require("./TaskResponse"), exports); __exportStar(require("./TaskStatus"), exports); __exportStar(require("./TaskStatusAborted"), exports); @@ -207,6 +237,7 @@ __exportStar(require("./TaskStatusCompleted"), exports); __exportStar(require("./TaskStatusFailed"), exports); __exportStar(require("./TaskStatusRunning"), exports); __exportStar(require("./TaskStatusWithId"), exports); +__exportStar(require("./TemporalAggregationMethod"), exports); __exportStar(require("./TextSymbology"), exports); __exportStar(require("./TimeDescriptor"), exports); __exportStar(require("./TimeDimension"), exports); @@ -223,10 +254,12 @@ __exportStar(require("./TypedGeometryOneOf1"), exports); __exportStar(require("./TypedGeometryOneOf2"), exports); __exportStar(require("./TypedGeometryOneOf3"), exports); __exportStar(require("./TypedOperator"), exports); -__exportStar(require("./TypedOperatorOperator"), exports); +__exportStar(require("./TypedPlotOperator"), exports); __exportStar(require("./TypedPlotResultDescriptor"), exports); +__exportStar(require("./TypedRasterOperator"), exports); __exportStar(require("./TypedRasterResultDescriptor"), exports); __exportStar(require("./TypedResultDescriptor"), exports); +__exportStar(require("./TypedVectorOperator"), exports); __exportStar(require("./TypedVectorResultDescriptor"), exports); __exportStar(require("./UnitlessMeasurement"), exports); __exportStar(require("./UnixTimeStampType"), exports); @@ -245,10 +278,10 @@ __exportStar(require("./UserSession"), exports); __exportStar(require("./VecUpdate"), exports); __exportStar(require("./VectorColumnInfo"), exports); __exportStar(require("./VectorDataType"), exports); +__exportStar(require("./VectorOperator"), exports); __exportStar(require("./VectorResultDescriptor"), exports); __exportStar(require("./Volume"), exports); __exportStar(require("./VolumeFileLayersResponse"), exports); -__exportStar(require("./WcsBoundingbox"), exports); __exportStar(require("./WcsRequest"), exports); __exportStar(require("./WcsService"), exports); __exportStar(require("./WcsVersion"), exports); diff --git a/typescript/dist/runtime.js b/typescript/dist/runtime.js index 8dd7b4c7..b17e5b90 100644 --- a/typescript/dist/runtime.js +++ b/typescript/dist/runtime.js @@ -77,7 +77,7 @@ class Configuration { exports.Configuration = Configuration; exports.DefaultConfig = new Configuration({ headers: { - 'User-Agent': 'geoengine/openapi-client/typescript/0.0.32' + 'User-Agent': 'geoengine/openapi-client/typescript/0.0.33' } }); /** diff --git a/typescript/docs/ColumnNames.md b/typescript/docs/ColumnNames.md new file mode 100644 index 00000000..73afabe4 --- /dev/null +++ b/typescript/docs/ColumnNames.md @@ -0,0 +1,36 @@ + +# ColumnNames + + +## Properties + +Name | Type +------------ | ------------- +`type` | string +`values` | Array<string> + +## Example + +```typescript +import type { ColumnNames } from '@geoengine/openapi-client' + +// TODO: Update the object below with actual values +const example = { + "type": null, + "values": null, +} satisfies ColumnNames + +console.log(example) + +// Convert the instance to a JSON string +const exampleJSON: string = JSON.stringify(example) +console.log(exampleJSON) + +// Parse the JSON string back to an object +const exampleParsed = JSON.parse(exampleJSON) as ColumnNames +console.log(exampleParsed) +``` + +[[Back to top]](#) [[Back to API list]](../README.md#api-endpoints) [[Back to Model list]](../README.md#models) [[Back to README]](../README.md) + + diff --git a/typescript/docs/Default.md b/typescript/docs/Default.md new file mode 100644 index 00000000..c7a8fa57 --- /dev/null +++ b/typescript/docs/Default.md @@ -0,0 +1,34 @@ + +# Default + + +## Properties + +Name | Type +------------ | ------------- +`type` | string + +## Example + +```typescript +import type { Default } from '@geoengine/openapi-client' + +// TODO: Update the object below with actual values +const example = { + "type": null, +} satisfies Default + +console.log(example) + +// Convert the instance to a JSON string +const exampleJSON: string = JSON.stringify(example) +console.log(exampleJSON) + +// Parse the JSON string back to an object +const exampleParsed = JSON.parse(exampleJSON) as Default +console.log(exampleParsed) +``` + +[[Back to top]](#) [[Back to API list]](../README.md#api-endpoints) [[Back to Model list]](../README.md#models) [[Back to README]](../README.md) + + diff --git a/typescript/docs/Expression.md b/typescript/docs/Expression.md new file mode 100644 index 00000000..a381c627 --- /dev/null +++ b/typescript/docs/Expression.md @@ -0,0 +1,39 @@ + +# Expression + +The `Expression` operator performs a pixel-wise mathematical expression on one or more bands of a raster source. The expression is specified as a user-defined script in a very simple language. The output is a raster time series with the result of the expression and with time intervals that are the same as for the inputs. Users can specify an output data type. Internally, the expression is evaluated using floating-point numbers. An example usage scenario is to calculate NDVI for a red and a near-infrared raster channel. The expression uses a raster source with two bands, referred to as A and B, and calculates the formula `(A - B) / (A + B)`. When the temporal resolution is months, our output NDVI will also be a monthly time series. ## Types The following describes the types used in the parameters. ### Expression Expressions are simple scripts to perform pixel-wise computations. One can refer to the raster inputs as `A` for the first raster band, `B` for the second, and so on. Furthermore, expressions can check with `A IS NODATA`, `B IS NODATA`, etc. for NO DATA values. This is important if `mapNoData` is set to true. Otherwise, NO DATA values are mapped automatically to the output NO DATA value. Finally, the value `NODATA` can be used to output NO DATA. Users can think of this implicit function signature for, e.g., two inputs: ```Rust fn (A: f64, B: f64) -> f64 ``` As a start, expressions contain algebraic operations and mathematical functions. ```Rust (A + B) / 2 ``` In addition, branches can be used to check for conditions. ```Rust if A IS NODATA { B } else { A } ``` Function calls can be used to access utility functions. ```Rust max(A, 0) ``` Currently, the following functions are available: - `abs(a)`: absolute value - `min(a, b)`, `min(a, b, c)`: minimum value - `max(a, b)`, `max(a, b, c)`: maximum value - `sqrt(a)`: square root - `ln(a)`: natural logarithm - `log10(a)`: base 10 logarithm - `cos(a)`, `sin(a)`, `tan(a)`, `acos(a)`, `asin(a)`, `atan(a)`: trigonometric functions - `pi()`, `e()`: mathematical constants - `round(a)`, `ceil(a)`, `floor(a)`: rounding functions - `mod(a, b)`: division remainder - `to_degrees(a)`, `to_radians(a)`: conversion to degrees or radians To generate more complex expressions, it is possible to have variable assignments. ```Rust let mean = (A + B) / 2; let coefficient = 0.357; mean * coefficient ``` Note, that all assignments are separated by semicolons. However, the last expression must be without a semicolon. + +## Properties + +Name | Type +------------ | ------------- +`params` | [ExpressionParameters](ExpressionParameters.md) +`sources` | [SingleRasterSource](SingleRasterSource.md) +`type` | string + +## Example + +```typescript +import type { Expression } from '@geoengine/openapi-client' + +// TODO: Update the object below with actual values +const example = { + "params": null, + "sources": null, + "type": null, +} satisfies Expression + +console.log(example) + +// Convert the instance to a JSON string +const exampleJSON: string = JSON.stringify(example) +console.log(exampleJSON) + +// Parse the JSON string back to an object +const exampleParsed = JSON.parse(exampleJSON) as Expression +console.log(exampleParsed) +``` + +[[Back to top]](#) [[Back to API list]](../README.md#api-endpoints) [[Back to Model list]](../README.md#models) [[Back to README]](../README.md) + + diff --git a/typescript/docs/ExpressionParameters.md b/typescript/docs/ExpressionParameters.md new file mode 100644 index 00000000..fb1b5d5e --- /dev/null +++ b/typescript/docs/ExpressionParameters.md @@ -0,0 +1,41 @@ + +# ExpressionParameters + +## Types The following describes the types used in the parameters. + +## Properties + +Name | Type +------------ | ------------- +`expression` | string +`mapNoData` | boolean +`outputBand` | [RasterBandDescriptor](RasterBandDescriptor.md) +`outputType` | [RasterDataType](RasterDataType.md) + +## Example + +```typescript +import type { ExpressionParameters } from '@geoengine/openapi-client' + +// TODO: Update the object below with actual values +const example = { + "expression": null, + "mapNoData": null, + "outputBand": null, + "outputType": null, +} satisfies ExpressionParameters + +console.log(example) + +// Convert the instance to a JSON string +const exampleJSON: string = JSON.stringify(example) +console.log(exampleJSON) + +// Parse the JSON string back to an object +const exampleParsed = JSON.parse(exampleJSON) as ExpressionParameters +console.log(exampleParsed) +``` + +[[Back to top]](#) [[Back to API list]](../README.md#api-endpoints) [[Back to Model list]](../README.md#models) [[Back to README]](../README.md) + + diff --git a/typescript/docs/FeatureAggregationMethod.md b/typescript/docs/FeatureAggregationMethod.md new file mode 100644 index 00000000..5ba1bdb3 --- /dev/null +++ b/typescript/docs/FeatureAggregationMethod.md @@ -0,0 +1,32 @@ + +# FeatureAggregationMethod + + +## Properties + +Name | Type +------------ | ------------- + +## Example + +```typescript +import type { FeatureAggregationMethod } from '@geoengine/openapi-client' + +// TODO: Update the object below with actual values +const example = { +} satisfies FeatureAggregationMethod + +console.log(example) + +// Convert the instance to a JSON string +const exampleJSON: string = JSON.stringify(example) +console.log(exampleJSON) + +// Parse the JSON string back to an object +const exampleParsed = JSON.parse(exampleJSON) as FeatureAggregationMethod +console.log(exampleParsed) +``` + +[[Back to top]](#) [[Back to API list]](../README.md#api-endpoints) [[Back to Model list]](../README.md#models) [[Back to README]](../README.md) + + diff --git a/typescript/docs/GdalSource.md b/typescript/docs/GdalSource.md new file mode 100644 index 00000000..79ecdd86 --- /dev/null +++ b/typescript/docs/GdalSource.md @@ -0,0 +1,37 @@ + +# GdalSource + +The [`GdalSource`] is a source operator that reads raster data using GDAL. The counterpart for vector data is the [`OgrSource`]. ## Errors If the given dataset does not exist or is not readable, an error is thrown. + +## Properties + +Name | Type +------------ | ------------- +`params` | [GdalSourceParameters](GdalSourceParameters.md) +`type` | string + +## Example + +```typescript +import type { GdalSource } from '@geoengine/openapi-client' + +// TODO: Update the object below with actual values +const example = { + "params": null, + "type": null, +} satisfies GdalSource + +console.log(example) + +// Convert the instance to a JSON string +const exampleJSON: string = JSON.stringify(example) +console.log(exampleJSON) + +// Parse the JSON string back to an object +const exampleParsed = JSON.parse(exampleJSON) as GdalSource +console.log(exampleParsed) +``` + +[[Back to top]](#) [[Back to API list]](../README.md#api-endpoints) [[Back to Model list]](../README.md#models) [[Back to README]](../README.md) + + diff --git a/typescript/docs/GdalSourceParameters.md b/typescript/docs/GdalSourceParameters.md new file mode 100644 index 00000000..5cd1487e --- /dev/null +++ b/typescript/docs/GdalSourceParameters.md @@ -0,0 +1,37 @@ + +# GdalSourceParameters + +Parameters for the [`GdalSource`] operator. + +## Properties + +Name | Type +------------ | ------------- +`data` | string +`overviewLevel` | number + +## Example + +```typescript +import type { GdalSourceParameters } from '@geoengine/openapi-client' + +// TODO: Update the object below with actual values +const example = { + "data": null, + "overviewLevel": null, +} satisfies GdalSourceParameters + +console.log(example) + +// Convert the instance to a JSON string +const exampleJSON: string = JSON.stringify(example) +console.log(exampleJSON) + +// Parse the JSON string back to an object +const exampleParsed = JSON.parse(exampleJSON) as GdalSourceParameters +console.log(exampleParsed) +``` + +[[Back to top]](#) [[Back to API list]](../README.md#api-endpoints) [[Back to Model list]](../README.md#models) [[Back to README]](../README.md) + + diff --git a/typescript/docs/Histogram.md b/typescript/docs/Histogram.md new file mode 100644 index 00000000..a2dd47bb --- /dev/null +++ b/typescript/docs/Histogram.md @@ -0,0 +1,39 @@ + +# Histogram + +The `Histogram` is a _plot operator_ that computes a histogram plot either over attributes of a vector dataset or values of a raster source. The output is a plot in [Vega-Lite](https://vega.github.io/vega-lite/) specification. For instance, you want to plot the data distribution of numeric attributes of a feature collection. Then you can use a histogram with a suitable number of buckets to visualize and assess this. ## Errors The operator returns an error if the selected column (`columnName`) does not exist or is not numeric. ## Notes If `bounds` or `buckets` are not defined, the operator will determine these values by itself which requires processing the data twice. If the `buckets` parameter is set to `squareRootChoiceRule`, the operator estimates it using the square root of the number of elements in the data. + +## Properties + +Name | Type +------------ | ------------- +`params` | [HistogramParameters](HistogramParameters.md) +`sources` | [SingleRasterOrVectorSource](SingleRasterOrVectorSource.md) +`type` | string + +## Example + +```typescript +import type { Histogram } from '@geoengine/openapi-client' + +// TODO: Update the object below with actual values +const example = { + "params": null, + "sources": null, + "type": null, +} satisfies Histogram + +console.log(example) + +// Convert the instance to a JSON string +const exampleJSON: string = JSON.stringify(example) +console.log(exampleJSON) + +// Parse the JSON string back to an object +const exampleParsed = JSON.parse(exampleJSON) as Histogram +console.log(exampleParsed) +``` + +[[Back to top]](#) [[Back to API list]](../README.md#api-endpoints) [[Back to Model list]](../README.md#models) [[Back to README]](../README.md) + + diff --git a/typescript/docs/HistogramBounds.md b/typescript/docs/HistogramBounds.md new file mode 100644 index 00000000..d5a13d8a --- /dev/null +++ b/typescript/docs/HistogramBounds.md @@ -0,0 +1,36 @@ + +# HistogramBounds + + +## Properties + +Name | Type +------------ | ------------- +`data` | any +`values` | [HistogramBoundsOneOf1Values](HistogramBoundsOneOf1Values.md) + +## Example + +```typescript +import type { HistogramBounds } from '@geoengine/openapi-client' + +// TODO: Update the object below with actual values +const example = { + "data": null, + "values": null, +} satisfies HistogramBounds + +console.log(example) + +// Convert the instance to a JSON string +const exampleJSON: string = JSON.stringify(example) +console.log(exampleJSON) + +// Parse the JSON string back to an object +const exampleParsed = JSON.parse(exampleJSON) as HistogramBounds +console.log(exampleParsed) +``` + +[[Back to top]](#) [[Back to API list]](../README.md#api-endpoints) [[Back to Model list]](../README.md#models) [[Back to README]](../README.md) + + diff --git a/typescript/docs/HistogramBoundsOneOf.md b/typescript/docs/HistogramBoundsOneOf.md new file mode 100644 index 00000000..8dd15aec --- /dev/null +++ b/typescript/docs/HistogramBoundsOneOf.md @@ -0,0 +1,34 @@ + +# HistogramBoundsOneOf + + +## Properties + +Name | Type +------------ | ------------- +`data` | any + +## Example + +```typescript +import type { HistogramBoundsOneOf } from '@geoengine/openapi-client' + +// TODO: Update the object below with actual values +const example = { + "data": null, +} satisfies HistogramBoundsOneOf + +console.log(example) + +// Convert the instance to a JSON string +const exampleJSON: string = JSON.stringify(example) +console.log(exampleJSON) + +// Parse the JSON string back to an object +const exampleParsed = JSON.parse(exampleJSON) as HistogramBoundsOneOf +console.log(exampleParsed) +``` + +[[Back to top]](#) [[Back to API list]](../README.md#api-endpoints) [[Back to Model list]](../README.md#models) [[Back to README]](../README.md) + + diff --git a/typescript/docs/HistogramBoundsOneOf1.md b/typescript/docs/HistogramBoundsOneOf1.md new file mode 100644 index 00000000..8858eac9 --- /dev/null +++ b/typescript/docs/HistogramBoundsOneOf1.md @@ -0,0 +1,34 @@ + +# HistogramBoundsOneOf1 + + +## Properties + +Name | Type +------------ | ------------- +`values` | [HistogramBoundsOneOf1Values](HistogramBoundsOneOf1Values.md) + +## Example + +```typescript +import type { HistogramBoundsOneOf1 } from '@geoengine/openapi-client' + +// TODO: Update the object below with actual values +const example = { + "values": null, +} satisfies HistogramBoundsOneOf1 + +console.log(example) + +// Convert the instance to a JSON string +const exampleJSON: string = JSON.stringify(example) +console.log(exampleJSON) + +// Parse the JSON string back to an object +const exampleParsed = JSON.parse(exampleJSON) as HistogramBoundsOneOf1 +console.log(exampleParsed) +``` + +[[Back to top]](#) [[Back to API list]](../README.md#api-endpoints) [[Back to Model list]](../README.md#models) [[Back to README]](../README.md) + + diff --git a/typescript/docs/HistogramBoundsOneOf1Values.md b/typescript/docs/HistogramBoundsOneOf1Values.md new file mode 100644 index 00000000..f17a0093 --- /dev/null +++ b/typescript/docs/HistogramBoundsOneOf1Values.md @@ -0,0 +1,36 @@ + +# HistogramBoundsOneOf1Values + + +## Properties + +Name | Type +------------ | ------------- +`max` | number +`min` | number + +## Example + +```typescript +import type { HistogramBoundsOneOf1Values } from '@geoengine/openapi-client' + +// TODO: Update the object below with actual values +const example = { + "max": null, + "min": null, +} satisfies HistogramBoundsOneOf1Values + +console.log(example) + +// Convert the instance to a JSON string +const exampleJSON: string = JSON.stringify(example) +console.log(exampleJSON) + +// Parse the JSON string back to an object +const exampleParsed = JSON.parse(exampleJSON) as HistogramBoundsOneOf1Values +console.log(exampleParsed) +``` + +[[Back to top]](#) [[Back to API list]](../README.md#api-endpoints) [[Back to Model list]](../README.md#models) [[Back to README]](../README.md) + + diff --git a/typescript/docs/HistogramBuckets.md b/typescript/docs/HistogramBuckets.md new file mode 100644 index 00000000..274782a1 --- /dev/null +++ b/typescript/docs/HistogramBuckets.md @@ -0,0 +1,38 @@ + +# HistogramBuckets + + +## Properties + +Name | Type +------------ | ------------- +`type` | string +`value` | number +`maxNumberOfBuckets` | number + +## Example + +```typescript +import type { HistogramBuckets } from '@geoengine/openapi-client' + +// TODO: Update the object below with actual values +const example = { + "type": null, + "value": null, + "maxNumberOfBuckets": null, +} satisfies HistogramBuckets + +console.log(example) + +// Convert the instance to a JSON string +const exampleJSON: string = JSON.stringify(example) +console.log(exampleJSON) + +// Parse the JSON string back to an object +const exampleParsed = JSON.parse(exampleJSON) as HistogramBuckets +console.log(exampleParsed) +``` + +[[Back to top]](#) [[Back to API list]](../README.md#api-endpoints) [[Back to Model list]](../README.md#models) [[Back to README]](../README.md) + + diff --git a/typescript/docs/HistogramBucketsOneOf.md b/typescript/docs/HistogramBucketsOneOf.md new file mode 100644 index 00000000..b5c22bd6 --- /dev/null +++ b/typescript/docs/HistogramBucketsOneOf.md @@ -0,0 +1,36 @@ + +# HistogramBucketsOneOf + + +## Properties + +Name | Type +------------ | ------------- +`type` | string +`value` | number + +## Example + +```typescript +import type { HistogramBucketsOneOf } from '@geoengine/openapi-client' + +// TODO: Update the object below with actual values +const example = { + "type": null, + "value": null, +} satisfies HistogramBucketsOneOf + +console.log(example) + +// Convert the instance to a JSON string +const exampleJSON: string = JSON.stringify(example) +console.log(exampleJSON) + +// Parse the JSON string back to an object +const exampleParsed = JSON.parse(exampleJSON) as HistogramBucketsOneOf +console.log(exampleParsed) +``` + +[[Back to top]](#) [[Back to API list]](../README.md#api-endpoints) [[Back to Model list]](../README.md#models) [[Back to README]](../README.md) + + diff --git a/typescript/docs/HistogramBucketsOneOf1.md b/typescript/docs/HistogramBucketsOneOf1.md new file mode 100644 index 00000000..ebdce402 --- /dev/null +++ b/typescript/docs/HistogramBucketsOneOf1.md @@ -0,0 +1,36 @@ + +# HistogramBucketsOneOf1 + + +## Properties + +Name | Type +------------ | ------------- +`maxNumberOfBuckets` | number +`type` | string + +## Example + +```typescript +import type { HistogramBucketsOneOf1 } from '@geoengine/openapi-client' + +// TODO: Update the object below with actual values +const example = { + "maxNumberOfBuckets": null, + "type": null, +} satisfies HistogramBucketsOneOf1 + +console.log(example) + +// Convert the instance to a JSON string +const exampleJSON: string = JSON.stringify(example) +console.log(exampleJSON) + +// Parse the JSON string back to an object +const exampleParsed = JSON.parse(exampleJSON) as HistogramBucketsOneOf1 +console.log(exampleParsed) +``` + +[[Back to top]](#) [[Back to API list]](../README.md#api-endpoints) [[Back to Model list]](../README.md#models) [[Back to README]](../README.md) + + diff --git a/typescript/docs/HistogramParameters.md b/typescript/docs/HistogramParameters.md new file mode 100644 index 00000000..dfbedd2e --- /dev/null +++ b/typescript/docs/HistogramParameters.md @@ -0,0 +1,41 @@ + +# HistogramParameters + +The parameter spec for `Histogram` + +## Properties + +Name | Type +------------ | ------------- +`attributeName` | string +`bounds` | [HistogramBounds](HistogramBounds.md) +`buckets` | [HistogramBuckets](HistogramBuckets.md) +`interactive` | boolean + +## Example + +```typescript +import type { HistogramParameters } from '@geoengine/openapi-client' + +// TODO: Update the object below with actual values +const example = { + "attributeName": null, + "bounds": null, + "buckets": null, + "interactive": null, +} satisfies HistogramParameters + +console.log(example) + +// Convert the instance to a JSON string +const exampleJSON: string = JSON.stringify(example) +console.log(exampleJSON) + +// Parse the JSON string back to an object +const exampleParsed = JSON.parse(exampleJSON) as HistogramParameters +console.log(exampleParsed) +``` + +[[Back to top]](#) [[Back to API list]](../README.md#api-endpoints) [[Back to Model list]](../README.md#models) [[Back to README]](../README.md) + + diff --git a/typescript/docs/LegacyTypedOperator.md b/typescript/docs/LegacyTypedOperator.md new file mode 100644 index 00000000..e4a3e288 --- /dev/null +++ b/typescript/docs/LegacyTypedOperator.md @@ -0,0 +1,37 @@ + +# LegacyTypedOperator + +An enum to differentiate between `Operator` variants + +## Properties + +Name | Type +------------ | ------------- +`operator` | [LegacyTypedOperatorOperator](LegacyTypedOperatorOperator.md) +`type` | string + +## Example + +```typescript +import type { LegacyTypedOperator } from '@geoengine/openapi-client' + +// TODO: Update the object below with actual values +const example = { + "operator": null, + "type": null, +} satisfies LegacyTypedOperator + +console.log(example) + +// Convert the instance to a JSON string +const exampleJSON: string = JSON.stringify(example) +console.log(exampleJSON) + +// Parse the JSON string back to an object +const exampleParsed = JSON.parse(exampleJSON) as LegacyTypedOperator +console.log(exampleParsed) +``` + +[[Back to top]](#) [[Back to API list]](../README.md#api-endpoints) [[Back to Model list]](../README.md#models) [[Back to README]](../README.md) + + diff --git a/typescript/docs/LegacyTypedOperatorOperator.md b/typescript/docs/LegacyTypedOperatorOperator.md new file mode 100644 index 00000000..8821f036 --- /dev/null +++ b/typescript/docs/LegacyTypedOperatorOperator.md @@ -0,0 +1,38 @@ + +# LegacyTypedOperatorOperator + + +## Properties + +Name | Type +------------ | ------------- +`params` | object +`sources` | object +`type` | string + +## Example + +```typescript +import type { LegacyTypedOperatorOperator } from '@geoengine/openapi-client' + +// TODO: Update the object below with actual values +const example = { + "params": null, + "sources": null, + "type": null, +} satisfies LegacyTypedOperatorOperator + +console.log(example) + +// Convert the instance to a JSON string +const exampleJSON: string = JSON.stringify(example) +console.log(exampleJSON) + +// Parse the JSON string back to an object +const exampleParsed = JSON.parse(exampleJSON) as LegacyTypedOperatorOperator +console.log(exampleParsed) +``` + +[[Back to top]](#) [[Back to API list]](../README.md#api-endpoints) [[Back to Model list]](../README.md#models) [[Back to README]](../README.md) + + diff --git a/typescript/docs/MockPointSource.md b/typescript/docs/MockPointSource.md new file mode 100644 index 00000000..12db08da --- /dev/null +++ b/typescript/docs/MockPointSource.md @@ -0,0 +1,37 @@ + +# MockPointSource + +The [`MockPointSource`] is a source operator that provides mock vector point data for testing and development purposes. + +## Properties + +Name | Type +------------ | ------------- +`params` | [MockPointSourceParameters](MockPointSourceParameters.md) +`type` | string + +## Example + +```typescript +import type { MockPointSource } from '@geoengine/openapi-client' + +// TODO: Update the object below with actual values +const example = { + "params": null, + "type": null, +} satisfies MockPointSource + +console.log(example) + +// Convert the instance to a JSON string +const exampleJSON: string = JSON.stringify(example) +console.log(exampleJSON) + +// Parse the JSON string back to an object +const exampleParsed = JSON.parse(exampleJSON) as MockPointSource +console.log(exampleParsed) +``` + +[[Back to top]](#) [[Back to API list]](../README.md#api-endpoints) [[Back to Model list]](../README.md#models) [[Back to README]](../README.md) + + diff --git a/typescript/docs/MockPointSourceParameters.md b/typescript/docs/MockPointSourceParameters.md new file mode 100644 index 00000000..8ad3d054 --- /dev/null +++ b/typescript/docs/MockPointSourceParameters.md @@ -0,0 +1,37 @@ + +# MockPointSourceParameters + +Parameters for the [`MockPointSource`] operator. + +## Properties + +Name | Type +------------ | ------------- +`points` | [Array<Coordinate2D>](Coordinate2D.md) +`spatialBounds` | [SpatialBoundsDerive](SpatialBoundsDerive.md) + +## Example + +```typescript +import type { MockPointSourceParameters } from '@geoengine/openapi-client' + +// TODO: Update the object below with actual values +const example = { + "points": null, + "spatialBounds": null, +} satisfies MockPointSourceParameters + +console.log(example) + +// Convert the instance to a JSON string +const exampleJSON: string = JSON.stringify(example) +console.log(exampleJSON) + +// Parse the JSON string back to an object +const exampleParsed = JSON.parse(exampleJSON) as MockPointSourceParameters +console.log(exampleParsed) +``` + +[[Back to top]](#) [[Back to API list]](../README.md#api-endpoints) [[Back to Model list]](../README.md#models) [[Back to README]](../README.md) + + diff --git a/typescript/docs/MultipleRasterOrSingleVectorOperator.md b/typescript/docs/MultipleRasterOrSingleVectorOperator.md new file mode 100644 index 00000000..0398323b --- /dev/null +++ b/typescript/docs/MultipleRasterOrSingleVectorOperator.md @@ -0,0 +1,33 @@ + +# MultipleRasterOrSingleVectorOperator + +It is either a set of `RasterOperator` or a single `VectorOperator` + +## Properties + +Name | Type +------------ | ------------- + +## Example + +```typescript +import type { MultipleRasterOrSingleVectorOperator } from '@geoengine/openapi-client' + +// TODO: Update the object below with actual values +const example = { +} satisfies MultipleRasterOrSingleVectorOperator + +console.log(example) + +// Convert the instance to a JSON string +const exampleJSON: string = JSON.stringify(example) +console.log(exampleJSON) + +// Parse the JSON string back to an object +const exampleParsed = JSON.parse(exampleJSON) as MultipleRasterOrSingleVectorOperator +console.log(exampleParsed) +``` + +[[Back to top]](#) [[Back to API list]](../README.md#api-endpoints) [[Back to Model list]](../README.md#models) [[Back to README]](../README.md) + + diff --git a/typescript/docs/MultipleRasterOrSingleVectorSource.md b/typescript/docs/MultipleRasterOrSingleVectorSource.md new file mode 100644 index 00000000..efb0bf90 --- /dev/null +++ b/typescript/docs/MultipleRasterOrSingleVectorSource.md @@ -0,0 +1,35 @@ + +# MultipleRasterOrSingleVectorSource + +Either one or more raster operators or a single vector operator as source for this operator. + +## Properties + +Name | Type +------------ | ------------- +`source` | [MultipleRasterOrSingleVectorOperator](MultipleRasterOrSingleVectorOperator.md) + +## Example + +```typescript +import type { MultipleRasterOrSingleVectorSource } from '@geoengine/openapi-client' + +// TODO: Update the object below with actual values +const example = { + "source": null, +} satisfies MultipleRasterOrSingleVectorSource + +console.log(example) + +// Convert the instance to a JSON string +const exampleJSON: string = JSON.stringify(example) +console.log(exampleJSON) + +// Parse the JSON string back to an object +const exampleParsed = JSON.parse(exampleJSON) as MultipleRasterOrSingleVectorSource +console.log(exampleParsed) +``` + +[[Back to top]](#) [[Back to API list]](../README.md#api-endpoints) [[Back to Model list]](../README.md#models) [[Back to README]](../README.md) + + diff --git a/typescript/docs/Names.md b/typescript/docs/Names.md new file mode 100644 index 00000000..6cbd20eb --- /dev/null +++ b/typescript/docs/Names.md @@ -0,0 +1,36 @@ + +# Names + + +## Properties + +Name | Type +------------ | ------------- +`type` | string +`values` | Array<string> + +## Example + +```typescript +import type { Names } from '@geoengine/openapi-client' + +// TODO: Update the object below with actual values +const example = { + "type": null, + "values": null, +} satisfies Names + +console.log(example) + +// Convert the instance to a JSON string +const exampleJSON: string = JSON.stringify(example) +console.log(exampleJSON) + +// Parse the JSON string back to an object +const exampleParsed = JSON.parse(exampleJSON) as Names +console.log(exampleParsed) +``` + +[[Back to top]](#) [[Back to API list]](../README.md#api-endpoints) [[Back to Model list]](../README.md#models) [[Back to README]](../README.md) + + diff --git a/typescript/docs/PlotOperator.md b/typescript/docs/PlotOperator.md new file mode 100644 index 00000000..884effa6 --- /dev/null +++ b/typescript/docs/PlotOperator.md @@ -0,0 +1,39 @@ + +# PlotOperator + +An operator that produces plot data. + +## Properties + +Name | Type +------------ | ------------- +`params` | [StatisticsParameters](StatisticsParameters.md) +`sources` | [MultipleRasterOrSingleVectorSource](MultipleRasterOrSingleVectorSource.md) +`type` | string + +## Example + +```typescript +import type { PlotOperator } from '@geoengine/openapi-client' + +// TODO: Update the object below with actual values +const example = { + "params": null, + "sources": null, + "type": null, +} satisfies PlotOperator + +console.log(example) + +// Convert the instance to a JSON string +const exampleJSON: string = JSON.stringify(example) +console.log(exampleJSON) + +// Parse the JSON string back to an object +const exampleParsed = JSON.parse(exampleJSON) as PlotOperator +console.log(exampleParsed) +``` + +[[Back to top]](#) [[Back to API list]](../README.md#api-endpoints) [[Back to Model list]](../README.md#models) [[Back to README]](../README.md) + + diff --git a/typescript/docs/RasterOperator.md b/typescript/docs/RasterOperator.md new file mode 100644 index 00000000..498c5c02 --- /dev/null +++ b/typescript/docs/RasterOperator.md @@ -0,0 +1,39 @@ + +# RasterOperator + +An operator that produces raster data. + +## Properties + +Name | Type +------------ | ------------- +`params` | [GdalSourceParameters](GdalSourceParameters.md) +`sources` | [SingleRasterSource](SingleRasterSource.md) +`type` | string + +## Example + +```typescript +import type { RasterOperator } from '@geoengine/openapi-client' + +// TODO: Update the object below with actual values +const example = { + "params": null, + "sources": null, + "type": null, +} satisfies RasterOperator + +console.log(example) + +// Convert the instance to a JSON string +const exampleJSON: string = JSON.stringify(example) +console.log(exampleJSON) + +// Parse the JSON string back to an object +const exampleParsed = JSON.parse(exampleJSON) as RasterOperator +console.log(exampleParsed) +``` + +[[Back to top]](#) [[Back to API list]](../README.md#api-endpoints) [[Back to Model list]](../README.md#models) [[Back to README]](../README.md) + + diff --git a/typescript/docs/RasterVectorJoin.md b/typescript/docs/RasterVectorJoin.md new file mode 100644 index 00000000..7316f8a8 --- /dev/null +++ b/typescript/docs/RasterVectorJoin.md @@ -0,0 +1,39 @@ + +# RasterVectorJoin + +The `RasterVectorJoin` operator allows combining a single vector input and multiple raster inputs. For each raster input, a new column is added to the collection from the vector input. The new column contains the value of the raster at the location of the vector feature. For features covering multiple pixels like `MultiPoints` or `MultiPolygons`, the value is calculated using an aggregation function selected by the user. The same is true if the temporal extent of a vector feature covers multiple raster time steps. More details are described below. **Example**: You have a collection of agricultural fields (`Polygons`) and a collection of raster images containing each pixel\'s monthly NDVI value. For your application, you want to know the NDVI value of each field. The `RasterVectorJoin` operator allows you to combine the vector and raster data and offers multiple spatial and temporal aggregation strategies. For example, you can use the `first` aggregation function to get the NDVI value of the first pixel that intersects with each field. This is useful for exploratory analysis since the computation is very fast. To calculate the mean NDVI value of all pixels that intersect with the field you should use the `mean` aggregation function. Since the NDVI data is a monthly time series, you have to specify the temporal aggregation function as well. The default is `none` which will create a new feature for each month. Other options are `first` and `mean` which will calculate the first or mean NDVI value for each field over time. ## Inputs The `RasterVectorJoin` operator expects one _vector_ input and one or more _raster_ inputs. | Parameter | Type | | --------- | ----------------------------------- | | `sources` | `SingleVectorMultipleRasterSources` | ## Errors If the length of `names` is not equal to the number of raster inputs, an error is thrown. + +## Properties + +Name | Type +------------ | ------------- +`params` | [RasterVectorJoinParameters](RasterVectorJoinParameters.md) +`sources` | [SingleVectorMultipleRasterSources](SingleVectorMultipleRasterSources.md) +`type` | string + +## Example + +```typescript +import type { RasterVectorJoin } from '@geoengine/openapi-client' + +// TODO: Update the object below with actual values +const example = { + "params": null, + "sources": null, + "type": null, +} satisfies RasterVectorJoin + +console.log(example) + +// Convert the instance to a JSON string +const exampleJSON: string = JSON.stringify(example) +console.log(exampleJSON) + +// Parse the JSON string back to an object +const exampleParsed = JSON.parse(exampleJSON) as RasterVectorJoin +console.log(exampleParsed) +``` + +[[Back to top]](#) [[Back to API list]](../README.md#api-endpoints) [[Back to Model list]](../README.md#models) [[Back to README]](../README.md) + + diff --git a/typescript/docs/RasterVectorJoinParameters.md b/typescript/docs/RasterVectorJoinParameters.md new file mode 100644 index 00000000..8331edd7 --- /dev/null +++ b/typescript/docs/RasterVectorJoinParameters.md @@ -0,0 +1,42 @@ + +# RasterVectorJoinParameters + + +## Properties + +Name | Type +------------ | ------------- +`featureAggregation` | [FeatureAggregationMethod](FeatureAggregationMethod.md) +`featureAggregationIgnoreNoData` | boolean +`names` | [ColumnNames](ColumnNames.md) +`temporalAggregation` | [TemporalAggregationMethod](TemporalAggregationMethod.md) +`temporalAggregationIgnoreNoData` | boolean + +## Example + +```typescript +import type { RasterVectorJoinParameters } from '@geoengine/openapi-client' + +// TODO: Update the object below with actual values +const example = { + "featureAggregation": null, + "featureAggregationIgnoreNoData": null, + "names": null, + "temporalAggregation": null, + "temporalAggregationIgnoreNoData": null, +} satisfies RasterVectorJoinParameters + +console.log(example) + +// Convert the instance to a JSON string +const exampleJSON: string = JSON.stringify(example) +console.log(exampleJSON) + +// Parse the JSON string back to an object +const exampleParsed = JSON.parse(exampleJSON) as RasterVectorJoinParameters +console.log(exampleParsed) +``` + +[[Back to top]](#) [[Back to API list]](../README.md#api-endpoints) [[Back to Model list]](../README.md#models) [[Back to README]](../README.md) + + diff --git a/typescript/docs/SingleRasterOrVectorOperator.md b/typescript/docs/SingleRasterOrVectorOperator.md new file mode 100644 index 00000000..28d60426 --- /dev/null +++ b/typescript/docs/SingleRasterOrVectorOperator.md @@ -0,0 +1,39 @@ + +# SingleRasterOrVectorOperator + +It is either a set of `RasterOperator` or a single `VectorOperator` + +## Properties + +Name | Type +------------ | ------------- +`params` | [RasterVectorJoinParameters](RasterVectorJoinParameters.md) +`sources` | [SingleVectorMultipleRasterSources](SingleVectorMultipleRasterSources.md) +`type` | string + +## Example + +```typescript +import type { SingleRasterOrVectorOperator } from '@geoengine/openapi-client' + +// TODO: Update the object below with actual values +const example = { + "params": null, + "sources": null, + "type": null, +} satisfies SingleRasterOrVectorOperator + +console.log(example) + +// Convert the instance to a JSON string +const exampleJSON: string = JSON.stringify(example) +console.log(exampleJSON) + +// Parse the JSON string back to an object +const exampleParsed = JSON.parse(exampleJSON) as SingleRasterOrVectorOperator +console.log(exampleParsed) +``` + +[[Back to top]](#) [[Back to API list]](../README.md#api-endpoints) [[Back to Model list]](../README.md#models) [[Back to README]](../README.md) + + diff --git a/typescript/docs/SingleRasterOrVectorSource.md b/typescript/docs/SingleRasterOrVectorSource.md new file mode 100644 index 00000000..d7a68812 --- /dev/null +++ b/typescript/docs/SingleRasterOrVectorSource.md @@ -0,0 +1,35 @@ + +# SingleRasterOrVectorSource + +A single vector operator or a single raster operators as source for this operator. + +## Properties + +Name | Type +------------ | ------------- +`source` | [SingleRasterOrVectorOperator](SingleRasterOrVectorOperator.md) + +## Example + +```typescript +import type { SingleRasterOrVectorSource } from '@geoengine/openapi-client' + +// TODO: Update the object below with actual values +const example = { + "source": null, +} satisfies SingleRasterOrVectorSource + +console.log(example) + +// Convert the instance to a JSON string +const exampleJSON: string = JSON.stringify(example) +console.log(exampleJSON) + +// Parse the JSON string back to an object +const exampleParsed = JSON.parse(exampleJSON) as SingleRasterOrVectorSource +console.log(exampleParsed) +``` + +[[Back to top]](#) [[Back to API list]](../README.md#api-endpoints) [[Back to Model list]](../README.md#models) [[Back to README]](../README.md) + + diff --git a/typescript/docs/SingleRasterSource.md b/typescript/docs/SingleRasterSource.md new file mode 100644 index 00000000..84bcbac6 --- /dev/null +++ b/typescript/docs/SingleRasterSource.md @@ -0,0 +1,35 @@ + +# SingleRasterSource + +A single raster operator as a source for this operator. + +## Properties + +Name | Type +------------ | ------------- +`raster` | [RasterOperator](RasterOperator.md) + +## Example + +```typescript +import type { SingleRasterSource } from '@geoengine/openapi-client' + +// TODO: Update the object below with actual values +const example = { + "raster": null, +} satisfies SingleRasterSource + +console.log(example) + +// Convert the instance to a JSON string +const exampleJSON: string = JSON.stringify(example) +console.log(exampleJSON) + +// Parse the JSON string back to an object +const exampleParsed = JSON.parse(exampleJSON) as SingleRasterSource +console.log(exampleParsed) +``` + +[[Back to top]](#) [[Back to API list]](../README.md#api-endpoints) [[Back to Model list]](../README.md#models) [[Back to README]](../README.md) + + diff --git a/typescript/docs/SingleVectorMultipleRasterSources.md b/typescript/docs/SingleVectorMultipleRasterSources.md new file mode 100644 index 00000000..432d7caa --- /dev/null +++ b/typescript/docs/SingleVectorMultipleRasterSources.md @@ -0,0 +1,37 @@ + +# SingleVectorMultipleRasterSources + +A single vector operator and one or more raster operators as source for this operator. + +## Properties + +Name | Type +------------ | ------------- +`rasters` | [Array<RasterOperator>](RasterOperator.md) +`vector` | [VectorOperator](VectorOperator.md) + +## Example + +```typescript +import type { SingleVectorMultipleRasterSources } from '@geoengine/openapi-client' + +// TODO: Update the object below with actual values +const example = { + "rasters": null, + "vector": null, +} satisfies SingleVectorMultipleRasterSources + +console.log(example) + +// Convert the instance to a JSON string +const exampleJSON: string = JSON.stringify(example) +console.log(exampleJSON) + +// Parse the JSON string back to an object +const exampleParsed = JSON.parse(exampleJSON) as SingleVectorMultipleRasterSources +console.log(exampleParsed) +``` + +[[Back to top]](#) [[Back to API list]](../README.md#api-endpoints) [[Back to Model list]](../README.md#models) [[Back to README]](../README.md) + + diff --git a/typescript/docs/SpatialBoundsDerive.md b/typescript/docs/SpatialBoundsDerive.md new file mode 100644 index 00000000..3c0e696b --- /dev/null +++ b/typescript/docs/SpatialBoundsDerive.md @@ -0,0 +1,35 @@ + +# SpatialBoundsDerive + +Spatial bounds derivation options for the [`MockPointSource`]. + +## Properties + +Name | Type +------------ | ------------- +`type` | string + +## Example + +```typescript +import type { SpatialBoundsDerive } from '@geoengine/openapi-client' + +// TODO: Update the object below with actual values +const example = { + "type": null, +} satisfies SpatialBoundsDerive + +console.log(example) + +// Convert the instance to a JSON string +const exampleJSON: string = JSON.stringify(example) +console.log(exampleJSON) + +// Parse the JSON string back to an object +const exampleParsed = JSON.parse(exampleJSON) as SpatialBoundsDerive +console.log(exampleParsed) +``` + +[[Back to top]](#) [[Back to API list]](../README.md#api-endpoints) [[Back to Model list]](../README.md#models) [[Back to README]](../README.md) + + diff --git a/typescript/docs/SpatialBoundsDeriveBounds.md b/typescript/docs/SpatialBoundsDeriveBounds.md new file mode 100644 index 00000000..8217af81 --- /dev/null +++ b/typescript/docs/SpatialBoundsDeriveBounds.md @@ -0,0 +1,34 @@ + +# SpatialBoundsDeriveBounds + + +## Properties + +Name | Type +------------ | ------------- +`type` | string + +## Example + +```typescript +import type { SpatialBoundsDeriveBounds } from '@geoengine/openapi-client' + +// TODO: Update the object below with actual values +const example = { + "type": null, +} satisfies SpatialBoundsDeriveBounds + +console.log(example) + +// Convert the instance to a JSON string +const exampleJSON: string = JSON.stringify(example) +console.log(exampleJSON) + +// Parse the JSON string back to an object +const exampleParsed = JSON.parse(exampleJSON) as SpatialBoundsDeriveBounds +console.log(exampleParsed) +``` + +[[Back to top]](#) [[Back to API list]](../README.md#api-endpoints) [[Back to Model list]](../README.md#models) [[Back to README]](../README.md) + + diff --git a/typescript/docs/SpatialBoundsDeriveDerive.md b/typescript/docs/SpatialBoundsDeriveDerive.md new file mode 100644 index 00000000..e6cecc91 --- /dev/null +++ b/typescript/docs/SpatialBoundsDeriveDerive.md @@ -0,0 +1,34 @@ + +# SpatialBoundsDeriveDerive + + +## Properties + +Name | Type +------------ | ------------- +`type` | string + +## Example + +```typescript +import type { SpatialBoundsDeriveDerive } from '@geoengine/openapi-client' + +// TODO: Update the object below with actual values +const example = { + "type": null, +} satisfies SpatialBoundsDeriveDerive + +console.log(example) + +// Convert the instance to a JSON string +const exampleJSON: string = JSON.stringify(example) +console.log(exampleJSON) + +// Parse the JSON string back to an object +const exampleParsed = JSON.parse(exampleJSON) as SpatialBoundsDeriveDerive +console.log(exampleParsed) +``` + +[[Back to top]](#) [[Back to API list]](../README.md#api-endpoints) [[Back to Model list]](../README.md#models) [[Back to README]](../README.md) + + diff --git a/typescript/docs/SpatialBoundsDeriveNone.md b/typescript/docs/SpatialBoundsDeriveNone.md new file mode 100644 index 00000000..1bbd7964 --- /dev/null +++ b/typescript/docs/SpatialBoundsDeriveNone.md @@ -0,0 +1,34 @@ + +# SpatialBoundsDeriveNone + + +## Properties + +Name | Type +------------ | ------------- +`type` | string + +## Example + +```typescript +import type { SpatialBoundsDeriveNone } from '@geoengine/openapi-client' + +// TODO: Update the object below with actual values +const example = { + "type": null, +} satisfies SpatialBoundsDeriveNone + +console.log(example) + +// Convert the instance to a JSON string +const exampleJSON: string = JSON.stringify(example) +console.log(exampleJSON) + +// Parse the JSON string back to an object +const exampleParsed = JSON.parse(exampleJSON) as SpatialBoundsDeriveNone +console.log(exampleParsed) +``` + +[[Back to top]](#) [[Back to API list]](../README.md#api-endpoints) [[Back to Model list]](../README.md#models) [[Back to README]](../README.md) + + diff --git a/typescript/docs/Statistics.md b/typescript/docs/Statistics.md new file mode 100644 index 00000000..9085898a --- /dev/null +++ b/typescript/docs/Statistics.md @@ -0,0 +1,39 @@ + +# Statistics + +The `Statistics` operator is a _plot operator_ that computes count statistics over - a selection of numerical columns of a single vector dataset, or - multiple raster datasets. The output is a JSON description. For instance, you want to get an overview of a raster data source. Then, you can use this operator to get basic count statistics. ## Vector Data In the case of vector data, the operator generates one statistic for each of the selected numerical attributes. The operator returns an error if one of the selected attributes is not numeric. ## Raster Data For raster data, the operator generates one statistic for each input raster. ## Inputs The operator consumes exactly one _vector_ or multiple _raster_ operators. | Parameter | Type | | --------- | ------------------------------------ | | `source` | `MultipleRasterOrSingleVectorSource` | ## Errors The operator returns an error in the following cases. - Vector data: The `attribute` for one of the given `columnNames` is not numeric. - Vector data: The `attribute` for one of the given `columnNames` does not exist. - Raster data: The length of the `columnNames` parameter does not match the number of input rasters. ### Example Output ```json { \"A\": { \"valueCount\": 6, \"validCount\": 6, \"min\": 1.0, \"max\": 6.0, \"mean\": 3.5, \"stddev\": 1.707, \"percentiles\": [ { \"percentile\": 0.25, \"value\": 2.0 }, { \"percentile\": 0.5, \"value\": 3.5 }, { \"percentile\": 0.75, \"value\": 5.0 } ] } } ``` + +## Properties + +Name | Type +------------ | ------------- +`params` | [StatisticsParameters](StatisticsParameters.md) +`sources` | [MultipleRasterOrSingleVectorSource](MultipleRasterOrSingleVectorSource.md) +`type` | string + +## Example + +```typescript +import type { Statistics } from '@geoengine/openapi-client' + +// TODO: Update the object below with actual values +const example = { + "params": null, + "sources": null, + "type": null, +} satisfies Statistics + +console.log(example) + +// Convert the instance to a JSON string +const exampleJSON: string = JSON.stringify(example) +console.log(exampleJSON) + +// Parse the JSON string back to an object +const exampleParsed = JSON.parse(exampleJSON) as Statistics +console.log(exampleParsed) +``` + +[[Back to top]](#) [[Back to API list]](../README.md#api-endpoints) [[Back to Model list]](../README.md#models) [[Back to README]](../README.md) + + diff --git a/typescript/docs/StatisticsParameters.md b/typescript/docs/StatisticsParameters.md new file mode 100644 index 00000000..fa88fa28 --- /dev/null +++ b/typescript/docs/StatisticsParameters.md @@ -0,0 +1,37 @@ + +# StatisticsParameters + +The parameter spec for `Statistics` + +## Properties + +Name | Type +------------ | ------------- +`columnNames` | Array<string> +`percentiles` | Array<number> + +## Example + +```typescript +import type { StatisticsParameters } from '@geoengine/openapi-client' + +// TODO: Update the object below with actual values +const example = { + "columnNames": null, + "percentiles": null, +} satisfies StatisticsParameters + +console.log(example) + +// Convert the instance to a JSON string +const exampleJSON: string = JSON.stringify(example) +console.log(exampleJSON) + +// Parse the JSON string back to an object +const exampleParsed = JSON.parse(exampleJSON) as StatisticsParameters +console.log(exampleParsed) +``` + +[[Back to top]](#) [[Back to API list]](../README.md#api-endpoints) [[Back to Model list]](../README.md#models) [[Back to README]](../README.md) + + diff --git a/typescript/docs/Suffix.md b/typescript/docs/Suffix.md new file mode 100644 index 00000000..5b37d492 --- /dev/null +++ b/typescript/docs/Suffix.md @@ -0,0 +1,36 @@ + +# Suffix + + +## Properties + +Name | Type +------------ | ------------- +`type` | string +`values` | Array<string> + +## Example + +```typescript +import type { Suffix } from '@geoengine/openapi-client' + +// TODO: Update the object below with actual values +const example = { + "type": null, + "values": null, +} satisfies Suffix + +console.log(example) + +// Convert the instance to a JSON string +const exampleJSON: string = JSON.stringify(example) +console.log(exampleJSON) + +// Parse the JSON string back to an object +const exampleParsed = JSON.parse(exampleJSON) as Suffix +console.log(exampleParsed) +``` + +[[Back to top]](#) [[Back to API list]](../README.md#api-endpoints) [[Back to Model list]](../README.md#models) [[Back to README]](../README.md) + + diff --git a/typescript/docs/TemporalAggregationMethod.md b/typescript/docs/TemporalAggregationMethod.md new file mode 100644 index 00000000..0f1af9df --- /dev/null +++ b/typescript/docs/TemporalAggregationMethod.md @@ -0,0 +1,32 @@ + +# TemporalAggregationMethod + + +## Properties + +Name | Type +------------ | ------------- + +## Example + +```typescript +import type { TemporalAggregationMethod } from '@geoengine/openapi-client' + +// TODO: Update the object below with actual values +const example = { +} satisfies TemporalAggregationMethod + +console.log(example) + +// Convert the instance to a JSON string +const exampleJSON: string = JSON.stringify(example) +console.log(exampleJSON) + +// Parse the JSON string back to an object +const exampleParsed = JSON.parse(exampleJSON) as TemporalAggregationMethod +console.log(exampleParsed) +``` + +[[Back to top]](#) [[Back to API list]](../README.md#api-endpoints) [[Back to Model list]](../README.md#models) [[Back to README]](../README.md) + + diff --git a/typescript/docs/TypedOperator.md b/typescript/docs/TypedOperator.md index 648140ff..fdc330b2 100644 --- a/typescript/docs/TypedOperator.md +++ b/typescript/docs/TypedOperator.md @@ -1,13 +1,13 @@ # TypedOperator -An enum to differentiate between `Operator` variants +Operator outputs are distinguished by their data type. There are `raster`, `vector` and `plot` operators. ## Properties Name | Type ------------ | ------------- -`operator` | [TypedOperatorOperator](TypedOperatorOperator.md) +`operator` | [PlotOperator](PlotOperator.md) `type` | string ## Example diff --git a/typescript/docs/TypedOperatorOneOf.md b/typescript/docs/TypedOperatorOneOf.md new file mode 100644 index 00000000..45c296da --- /dev/null +++ b/typescript/docs/TypedOperatorOneOf.md @@ -0,0 +1,36 @@ + +# TypedOperatorOneOf + + +## Properties + +Name | Type +------------ | ------------- +`operator` | [VectorOperator](VectorOperator.md) +`type` | string + +## Example + +```typescript +import type { TypedOperatorOneOf } from '@geoengine/openapi-client' + +// TODO: Update the object below with actual values +const example = { + "operator": null, + "type": null, +} satisfies TypedOperatorOneOf + +console.log(example) + +// Convert the instance to a JSON string +const exampleJSON: string = JSON.stringify(example) +console.log(exampleJSON) + +// Parse the JSON string back to an object +const exampleParsed = JSON.parse(exampleJSON) as TypedOperatorOneOf +console.log(exampleParsed) +``` + +[[Back to top]](#) [[Back to API list]](../README.md#api-endpoints) [[Back to Model list]](../README.md#models) [[Back to README]](../README.md) + + diff --git a/typescript/docs/TypedOperatorOneOf1.md b/typescript/docs/TypedOperatorOneOf1.md new file mode 100644 index 00000000..98c0dd0c --- /dev/null +++ b/typescript/docs/TypedOperatorOneOf1.md @@ -0,0 +1,36 @@ + +# TypedOperatorOneOf1 + + +## Properties + +Name | Type +------------ | ------------- +`operator` | [RasterOperator](RasterOperator.md) +`type` | string + +## Example + +```typescript +import type { TypedOperatorOneOf1 } from '@geoengine/openapi-client' + +// TODO: Update the object below with actual values +const example = { + "operator": null, + "type": null, +} satisfies TypedOperatorOneOf1 + +console.log(example) + +// Convert the instance to a JSON string +const exampleJSON: string = JSON.stringify(example) +console.log(exampleJSON) + +// Parse the JSON string back to an object +const exampleParsed = JSON.parse(exampleJSON) as TypedOperatorOneOf1 +console.log(exampleParsed) +``` + +[[Back to top]](#) [[Back to API list]](../README.md#api-endpoints) [[Back to Model list]](../README.md#models) [[Back to README]](../README.md) + + diff --git a/typescript/docs/TypedOperatorOneOf2.md b/typescript/docs/TypedOperatorOneOf2.md new file mode 100644 index 00000000..185f2bf3 --- /dev/null +++ b/typescript/docs/TypedOperatorOneOf2.md @@ -0,0 +1,36 @@ + +# TypedOperatorOneOf2 + + +## Properties + +Name | Type +------------ | ------------- +`operator` | [PlotOperator](PlotOperator.md) +`type` | string + +## Example + +```typescript +import type { TypedOperatorOneOf2 } from '@geoengine/openapi-client' + +// TODO: Update the object below with actual values +const example = { + "operator": null, + "type": null, +} satisfies TypedOperatorOneOf2 + +console.log(example) + +// Convert the instance to a JSON string +const exampleJSON: string = JSON.stringify(example) +console.log(exampleJSON) + +// Parse the JSON string back to an object +const exampleParsed = JSON.parse(exampleJSON) as TypedOperatorOneOf2 +console.log(exampleParsed) +``` + +[[Back to top]](#) [[Back to API list]](../README.md#api-endpoints) [[Back to Model list]](../README.md#models) [[Back to README]](../README.md) + + diff --git a/typescript/docs/TypedPlotOperator.md b/typescript/docs/TypedPlotOperator.md new file mode 100644 index 00000000..aa4dd1f6 --- /dev/null +++ b/typescript/docs/TypedPlotOperator.md @@ -0,0 +1,36 @@ + +# TypedPlotOperator + + +## Properties + +Name | Type +------------ | ------------- +`operator` | [PlotOperator](PlotOperator.md) +`type` | string + +## Example + +```typescript +import type { TypedPlotOperator } from '@geoengine/openapi-client' + +// TODO: Update the object below with actual values +const example = { + "operator": null, + "type": null, +} satisfies TypedPlotOperator + +console.log(example) + +// Convert the instance to a JSON string +const exampleJSON: string = JSON.stringify(example) +console.log(exampleJSON) + +// Parse the JSON string back to an object +const exampleParsed = JSON.parse(exampleJSON) as TypedPlotOperator +console.log(exampleParsed) +``` + +[[Back to top]](#) [[Back to API list]](../README.md#api-endpoints) [[Back to Model list]](../README.md#models) [[Back to README]](../README.md) + + diff --git a/typescript/docs/TypedRasterOperator.md b/typescript/docs/TypedRasterOperator.md new file mode 100644 index 00000000..3e8a3e75 --- /dev/null +++ b/typescript/docs/TypedRasterOperator.md @@ -0,0 +1,36 @@ + +# TypedRasterOperator + + +## Properties + +Name | Type +------------ | ------------- +`operator` | [RasterOperator](RasterOperator.md) +`type` | string + +## Example + +```typescript +import type { TypedRasterOperator } from '@geoengine/openapi-client' + +// TODO: Update the object below with actual values +const example = { + "operator": null, + "type": null, +} satisfies TypedRasterOperator + +console.log(example) + +// Convert the instance to a JSON string +const exampleJSON: string = JSON.stringify(example) +console.log(exampleJSON) + +// Parse the JSON string back to an object +const exampleParsed = JSON.parse(exampleJSON) as TypedRasterOperator +console.log(exampleParsed) +``` + +[[Back to top]](#) [[Back to API list]](../README.md#api-endpoints) [[Back to Model list]](../README.md#models) [[Back to README]](../README.md) + + diff --git a/typescript/docs/TypedVectorOperator.md b/typescript/docs/TypedVectorOperator.md new file mode 100644 index 00000000..0815c5d3 --- /dev/null +++ b/typescript/docs/TypedVectorOperator.md @@ -0,0 +1,36 @@ + +# TypedVectorOperator + + +## Properties + +Name | Type +------------ | ------------- +`operator` | [VectorOperator](VectorOperator.md) +`type` | string + +## Example + +```typescript +import type { TypedVectorOperator } from '@geoengine/openapi-client' + +// TODO: Update the object below with actual values +const example = { + "operator": null, + "type": null, +} satisfies TypedVectorOperator + +console.log(example) + +// Convert the instance to a JSON string +const exampleJSON: string = JSON.stringify(example) +console.log(exampleJSON) + +// Parse the JSON string back to an object +const exampleParsed = JSON.parse(exampleJSON) as TypedVectorOperator +console.log(exampleParsed) +``` + +[[Back to top]](#) [[Back to API list]](../README.md#api-endpoints) [[Back to Model list]](../README.md#models) [[Back to README]](../README.md) + + diff --git a/typescript/docs/VectorOperator.md b/typescript/docs/VectorOperator.md new file mode 100644 index 00000000..a059b59f --- /dev/null +++ b/typescript/docs/VectorOperator.md @@ -0,0 +1,39 @@ + +# VectorOperator + +An operator that produces vector data. + +## Properties + +Name | Type +------------ | ------------- +`params` | [RasterVectorJoinParameters](RasterVectorJoinParameters.md) +`type` | string +`sources` | [SingleVectorMultipleRasterSources](SingleVectorMultipleRasterSources.md) + +## Example + +```typescript +import type { VectorOperator } from '@geoengine/openapi-client' + +// TODO: Update the object below with actual values +const example = { + "params": null, + "type": null, + "sources": null, +} satisfies VectorOperator + +console.log(example) + +// Convert the instance to a JSON string +const exampleJSON: string = JSON.stringify(example) +console.log(exampleJSON) + +// Parse the JSON string back to an object +const exampleParsed = JSON.parse(exampleJSON) as VectorOperator +console.log(exampleParsed) +``` + +[[Back to top]](#) [[Back to API list]](../README.md#api-endpoints) [[Back to Model list]](../README.md#models) [[Back to README]](../README.md) + + diff --git a/typescript/docs/Workflow.md b/typescript/docs/Workflow.md index 8414025f..4d565efd 100644 --- a/typescript/docs/Workflow.md +++ b/typescript/docs/Workflow.md @@ -6,7 +6,7 @@ Name | Type ------------ | ------------- -`operator` | [TypedOperatorOperator](TypedOperatorOperator.md) +`operator` | [LegacyTypedOperatorOperator](LegacyTypedOperatorOperator.md) `type` | string ## Example diff --git a/typescript/package.json b/typescript/package.json index c9fc4ac3..9433df9f 100644 --- a/typescript/package.json +++ b/typescript/package.json @@ -1,6 +1,6 @@ { "name": "@geoengine/openapi-client", - "version": "0.0.32", + "version": "0.0.33", "description": "OpenAPI client for @geoengine/openapi-client", "author": "OpenAPI-Generator", "repository": { diff --git a/typescript/src/models/AddDatasetTile.ts b/typescript/src/models/AddDatasetTile.ts deleted file mode 100644 index 1de3e180..00000000 --- a/typescript/src/models/AddDatasetTile.ts +++ /dev/null @@ -1,124 +0,0 @@ -/* tslint:disable */ -/* eslint-disable */ -/** - * Geo Engine API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 0.9.0 - * Contact: dev@geoengine.de - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - -import { mapValues } from '../runtime'; -import type { TimeInterval } from './TimeInterval'; -import { - TimeIntervalFromJSON, - TimeIntervalFromJSONTyped, - TimeIntervalToJSON, - TimeIntervalToJSONTyped, -} from './TimeInterval'; -import type { GdalDatasetParameters } from './GdalDatasetParameters'; -import { - GdalDatasetParametersFromJSON, - GdalDatasetParametersFromJSONTyped, - GdalDatasetParametersToJSON, - GdalDatasetParametersToJSONTyped, -} from './GdalDatasetParameters'; -import type { SpatialPartition2D } from './SpatialPartition2D'; -import { - SpatialPartition2DFromJSON, - SpatialPartition2DFromJSONTyped, - SpatialPartition2DToJSON, - SpatialPartition2DToJSONTyped, -} from './SpatialPartition2D'; - -/** - * - * @export - * @interface AddDatasetTile - */ -export interface AddDatasetTile { - /** - * - * @type {number} - * @memberof AddDatasetTile - */ - band: number; - /** - * - * @type {GdalDatasetParameters} - * @memberof AddDatasetTile - */ - params: GdalDatasetParameters; - /** - * - * @type {SpatialPartition2D} - * @memberof AddDatasetTile - */ - spatialPartition: SpatialPartition2D; - /** - * - * @type {TimeInterval} - * @memberof AddDatasetTile - */ - time: TimeInterval; - /** - * - * @type {number} - * @memberof AddDatasetTile - */ - zIndex: number; -} - -/** - * Check if a given object implements the AddDatasetTile interface. - */ -export function instanceOfAddDatasetTile(value: object): value is AddDatasetTile { - if (!('band' in value) || value['band'] === undefined) return false; - if (!('params' in value) || value['params'] === undefined) return false; - if (!('spatialPartition' in value) || value['spatialPartition'] === undefined) return false; - if (!('time' in value) || value['time'] === undefined) return false; - if (!('zIndex' in value) || value['zIndex'] === undefined) return false; - return true; -} - -export function AddDatasetTileFromJSON(json: any): AddDatasetTile { - return AddDatasetTileFromJSONTyped(json, false); -} - -export function AddDatasetTileFromJSONTyped(json: any, ignoreDiscriminator: boolean): AddDatasetTile { - if (json == null) { - return json; - } - return { - - 'band': json['band'], - 'params': GdalDatasetParametersFromJSON(json['params']), - 'spatialPartition': SpatialPartition2DFromJSON(json['spatial_partition']), - 'time': TimeIntervalFromJSON(json['time']), - 'zIndex': json['z_index'], - }; -} - -export function AddDatasetTileToJSON(json: any): AddDatasetTile { - return AddDatasetTileToJSONTyped(json, false); -} - -export function AddDatasetTileToJSONTyped(value?: AddDatasetTile | null, ignoreDiscriminator: boolean = false): any { - if (value == null) { - return value; - } - - return { - - 'band': value['band'], - 'params': GdalDatasetParametersToJSON(value['params']), - 'spatial_partition': SpatialPartition2DToJSON(value['spatialPartition']), - 'time': TimeIntervalToJSON(value['time']), - 'z_index': value['zIndex'], - }; -} - diff --git a/typescript/src/models/ColumnNames.ts b/typescript/src/models/ColumnNames.ts new file mode 100644 index 00000000..5221cfc8 --- /dev/null +++ b/typescript/src/models/ColumnNames.ts @@ -0,0 +1,89 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Geo Engine API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import type { Default } from './Default'; +import { + instanceOfDefault, + DefaultFromJSON, + DefaultFromJSONTyped, + DefaultToJSON, +} from './Default'; +import type { Names } from './Names'; +import { + instanceOfNames, + NamesFromJSON, + NamesFromJSONTyped, + NamesToJSON, +} from './Names'; +import type { Suffix } from './Suffix'; +import { + instanceOfSuffix, + SuffixFromJSON, + SuffixFromJSONTyped, + SuffixToJSON, +} from './Suffix'; + +/** + * @type ColumnNames + * + * @export + */ +export type ColumnNames = Default | Names | Suffix; + +export function ColumnNamesFromJSON(json: any): ColumnNames { + return ColumnNamesFromJSONTyped(json, false); +} + +export function ColumnNamesFromJSONTyped(json: any, ignoreDiscriminator: boolean): ColumnNames { + if (json == null) { + return json; + } + if (typeof json !== 'object') { + return json; + } + if (instanceOfDefault(json)) { + return DefaultFromJSONTyped(json, true); + } + if (instanceOfNames(json)) { + return NamesFromJSONTyped(json, true); + } + if (instanceOfSuffix(json)) { + return SuffixFromJSONTyped(json, true); + } + return {} as any; +} + +export function ColumnNamesToJSON(json: any): any { + return ColumnNamesToJSONTyped(json, false); +} + +export function ColumnNamesToJSONTyped(value?: ColumnNames | null, ignoreDiscriminator: boolean = false): any { + if (value == null) { + return value; + } + if (typeof value !== 'object') { + return value; + } + if (instanceOfDefault(value)) { + return DefaultToJSON(value as Default); + } + if (instanceOfNames(value)) { + return NamesToJSON(value as Names); + } + if (instanceOfSuffix(value)) { + return SuffixToJSON(value as Suffix); + } + return {}; +} + diff --git a/typescript/src/models/Default.ts b/typescript/src/models/Default.ts new file mode 100644 index 00000000..2541f2e3 --- /dev/null +++ b/typescript/src/models/Default.ts @@ -0,0 +1,76 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Geo Engine API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { mapValues } from '../runtime'; +/** + * + * @export + * @interface Default + */ +export interface Default { + /** + * + * @type {DefaultTypeEnum} + * @memberof Default + */ + type: DefaultTypeEnum; +} + + +/** + * @export + */ +export const DefaultTypeEnum = { + Default: 'default' +} as const; +export type DefaultTypeEnum = typeof DefaultTypeEnum[keyof typeof DefaultTypeEnum]; + + +/** + * Check if a given object implements the Default interface. + */ +export function instanceOfDefault(value: object): value is Default { + if (!('type' in value) || value['type'] === undefined) return false; + return true; +} + +export function DefaultFromJSON(json: any): Default { + return DefaultFromJSONTyped(json, false); +} + +export function DefaultFromJSONTyped(json: any, ignoreDiscriminator: boolean): Default { + if (json == null) { + return json; + } + return { + + 'type': json['type'], + }; +} + +export function DefaultToJSON(json: any): Default { + return DefaultToJSONTyped(json, false); +} + +export function DefaultToJSONTyped(value?: Default | null, ignoreDiscriminator: boolean = false): any { + if (value == null) { + return value; + } + + return { + + 'type': value['type'], + }; +} + diff --git a/typescript/src/models/Expression.ts b/typescript/src/models/Expression.ts new file mode 100644 index 00000000..b32083dd --- /dev/null +++ b/typescript/src/models/Expression.ts @@ -0,0 +1,183 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Geo Engine API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { mapValues } from '../runtime'; +import type { SingleRasterSource } from './SingleRasterSource'; +import { + SingleRasterSourceFromJSON, + SingleRasterSourceFromJSONTyped, + SingleRasterSourceToJSON, + SingleRasterSourceToJSONTyped, +} from './SingleRasterSource'; +import type { ExpressionParameters } from './ExpressionParameters'; +import { + ExpressionParametersFromJSON, + ExpressionParametersFromJSONTyped, + ExpressionParametersToJSON, + ExpressionParametersToJSONTyped, +} from './ExpressionParameters'; + +/** + * The `Expression` operator performs a pixel-wise mathematical expression on one or more bands of a raster source. + * The expression is specified as a user-defined script in a very simple language. + * The output is a raster time series with the result of the expression and with time intervals that are the same as for the inputs. + * Users can specify an output data type. + * Internally, the expression is evaluated using floating-point numbers. + * + * An example usage scenario is to calculate NDVI for a red and a near-infrared raster channel. + * The expression uses a raster source with two bands, referred to as A and B, and calculates the formula `(A - B) / (A + B)`. + * When the temporal resolution is months, our output NDVI will also be a monthly time series. + * + * ## Types + * + * The following describes the types used in the parameters. + * + * ### Expression + * + * Expressions are simple scripts to perform pixel-wise computations. + * One can refer to the raster inputs as `A` for the first raster band, `B` for the second, and so on. + * Furthermore, expressions can check with `A IS NODATA`, `B IS NODATA`, etc. for NO DATA values. + * This is important if `mapNoData` is set to true. + * Otherwise, NO DATA values are mapped automatically to the output NO DATA value. + * Finally, the value `NODATA` can be used to output NO DATA. + * + * Users can think of this implicit function signature for, e.g., two inputs: + * + * ```Rust + * fn (A: f64, B: f64) -> f64 + * ``` + * + * As a start, expressions contain algebraic operations and mathematical functions. + * + * ```Rust + * (A + B) / 2 + * ``` + * + * In addition, branches can be used to check for conditions. + * + * ```Rust + * if A IS NODATA { + * B + * } else { + * A + * } + * ``` + * + * Function calls can be used to access utility functions. + * + * ```Rust + * max(A, 0) + * ``` + * + * Currently, the following functions are available: + * + * - `abs(a)`: absolute value + * - `min(a, b)`, `min(a, b, c)`: minimum value + * - `max(a, b)`, `max(a, b, c)`: maximum value + * - `sqrt(a)`: square root + * - `ln(a)`: natural logarithm + * - `log10(a)`: base 10 logarithm + * - `cos(a)`, `sin(a)`, `tan(a)`, `acos(a)`, `asin(a)`, `atan(a)`: trigonometric functions + * - `pi()`, `e()`: mathematical constants + * - `round(a)`, `ceil(a)`, `floor(a)`: rounding functions + * - `mod(a, b)`: division remainder + * - `to_degrees(a)`, `to_radians(a)`: conversion to degrees or radians + * + * To generate more complex expressions, it is possible to have variable assignments. + * + * ```Rust + * let mean = (A + B) / 2; + * let coefficient = 0.357; + * mean * coefficient + * ``` + * + * Note, that all assignments are separated by semicolons. + * However, the last expression must be without a semicolon. + * @export + * @interface Expression + */ +export interface Expression { + /** + * + * @type {ExpressionParameters} + * @memberof Expression + */ + params: ExpressionParameters; + /** + * + * @type {SingleRasterSource} + * @memberof Expression + */ + sources: SingleRasterSource; + /** + * + * @type {ExpressionTypeEnum} + * @memberof Expression + */ + type: ExpressionTypeEnum; +} + + +/** + * @export + */ +export const ExpressionTypeEnum = { + Expression: 'Expression' +} as const; +export type ExpressionTypeEnum = typeof ExpressionTypeEnum[keyof typeof ExpressionTypeEnum]; + + +/** + * Check if a given object implements the Expression interface. + */ +export function instanceOfExpression(value: object): value is Expression { + if (!('params' in value) || value['params'] === undefined) return false; + if (!('sources' in value) || value['sources'] === undefined) return false; + if (!('type' in value) || value['type'] === undefined) return false; + return true; +} + +export function ExpressionFromJSON(json: any): Expression { + return ExpressionFromJSONTyped(json, false); +} + +export function ExpressionFromJSONTyped(json: any, ignoreDiscriminator: boolean): Expression { + if (json == null) { + return json; + } + return { + + 'params': ExpressionParametersFromJSON(json['params']), + 'sources': SingleRasterSourceFromJSON(json['sources']), + 'type': json['type'], + }; +} + +export function ExpressionToJSON(json: any): Expression { + return ExpressionToJSONTyped(json, false); +} + +export function ExpressionToJSONTyped(value?: Expression | null, ignoreDiscriminator: boolean = false): any { + if (value == null) { + return value; + } + + return { + + 'params': ExpressionParametersToJSON(value['params']), + 'sources': SingleRasterSourceToJSON(value['sources']), + 'type': value['type'], + }; +} + diff --git a/typescript/src/models/ExpressionParameters.ts b/typescript/src/models/ExpressionParameters.ts new file mode 100644 index 00000000..e5f49036 --- /dev/null +++ b/typescript/src/models/ExpressionParameters.ts @@ -0,0 +1,113 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Geo Engine API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { mapValues } from '../runtime'; +import type { RasterBandDescriptor } from './RasterBandDescriptor'; +import { + RasterBandDescriptorFromJSON, + RasterBandDescriptorFromJSONTyped, + RasterBandDescriptorToJSON, + RasterBandDescriptorToJSONTyped, +} from './RasterBandDescriptor'; +import type { RasterDataType } from './RasterDataType'; +import { + RasterDataTypeFromJSON, + RasterDataTypeFromJSONTyped, + RasterDataTypeToJSON, + RasterDataTypeToJSONTyped, +} from './RasterDataType'; + +/** + * ## Types + * + * The following describes the types used in the parameters. + * @export + * @interface ExpressionParameters + */ +export interface ExpressionParameters { + /** + * Expression script + * + * Example: `"(A - B) / (A + B)"` + * @type {string} + * @memberof ExpressionParameters + */ + expression: string; + /** + * Should NO DATA values be mapped with the `expression`? Otherwise, they are mapped automatically to NO DATA. + * @type {boolean} + * @memberof ExpressionParameters + */ + mapNoData: boolean; + /** + * Description about the output + * @type {RasterBandDescriptor} + * @memberof ExpressionParameters + */ + outputBand?: RasterBandDescriptor; + /** + * A raster data type for the output + * @type {RasterDataType} + * @memberof ExpressionParameters + */ + outputType: RasterDataType; +} + + + +/** + * Check if a given object implements the ExpressionParameters interface. + */ +export function instanceOfExpressionParameters(value: object): value is ExpressionParameters { + if (!('expression' in value) || value['expression'] === undefined) return false; + if (!('mapNoData' in value) || value['mapNoData'] === undefined) return false; + if (!('outputType' in value) || value['outputType'] === undefined) return false; + return true; +} + +export function ExpressionParametersFromJSON(json: any): ExpressionParameters { + return ExpressionParametersFromJSONTyped(json, false); +} + +export function ExpressionParametersFromJSONTyped(json: any, ignoreDiscriminator: boolean): ExpressionParameters { + if (json == null) { + return json; + } + return { + + 'expression': json['expression'], + 'mapNoData': json['mapNoData'], + 'outputBand': json['outputBand'] == null ? undefined : RasterBandDescriptorFromJSON(json['outputBand']), + 'outputType': RasterDataTypeFromJSON(json['outputType']), + }; +} + +export function ExpressionParametersToJSON(json: any): ExpressionParameters { + return ExpressionParametersToJSONTyped(json, false); +} + +export function ExpressionParametersToJSONTyped(value?: ExpressionParameters | null, ignoreDiscriminator: boolean = false): any { + if (value == null) { + return value; + } + + return { + + 'expression': value['expression'], + 'mapNoData': value['mapNoData'], + 'outputBand': RasterBandDescriptorToJSON(value['outputBand']), + 'outputType': RasterDataTypeToJSON(value['outputType']), + }; +} + diff --git a/typescript/src/models/FeatureAggregationMethod.ts b/typescript/src/models/FeatureAggregationMethod.ts new file mode 100644 index 00000000..ed7bbfb2 --- /dev/null +++ b/typescript/src/models/FeatureAggregationMethod.ts @@ -0,0 +1,53 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Geo Engine API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +/** + * + * @export + */ +export const FeatureAggregationMethod = { + First: 'first', + Mean: 'mean' +} as const; +export type FeatureAggregationMethod = typeof FeatureAggregationMethod[keyof typeof FeatureAggregationMethod]; + + +export function instanceOfFeatureAggregationMethod(value: any): boolean { + for (const key in FeatureAggregationMethod) { + if (Object.prototype.hasOwnProperty.call(FeatureAggregationMethod, key)) { + if (FeatureAggregationMethod[key as keyof typeof FeatureAggregationMethod] === value) { + return true; + } + } + } + return false; +} + +export function FeatureAggregationMethodFromJSON(json: any): FeatureAggregationMethod { + return FeatureAggregationMethodFromJSONTyped(json, false); +} + +export function FeatureAggregationMethodFromJSONTyped(json: any, ignoreDiscriminator: boolean): FeatureAggregationMethod { + return json as FeatureAggregationMethod; +} + +export function FeatureAggregationMethodToJSON(value?: FeatureAggregationMethod | null): any { + return value as any; +} + +export function FeatureAggregationMethodToJSONTyped(value: any, ignoreDiscriminator: boolean): FeatureAggregationMethod { + return value as FeatureAggregationMethod; +} + diff --git a/typescript/src/models/GdalSource.ts b/typescript/src/models/GdalSource.ts new file mode 100644 index 00000000..51206d4f --- /dev/null +++ b/typescript/src/models/GdalSource.ts @@ -0,0 +1,99 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Geo Engine API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { mapValues } from '../runtime'; +import type { GdalSourceParameters } from './GdalSourceParameters'; +import { + GdalSourceParametersFromJSON, + GdalSourceParametersFromJSONTyped, + GdalSourceParametersToJSON, + GdalSourceParametersToJSONTyped, +} from './GdalSourceParameters'; + +/** + * The [`GdalSource`] is a source operator that reads raster data using GDAL. + * The counterpart for vector data is the [`OgrSource`]. + * + * ## Errors + * + * If the given dataset does not exist or is not readable, an error is thrown. + * + * @export + * @interface GdalSource + */ +export interface GdalSource { + /** + * + * @type {GdalSourceParameters} + * @memberof GdalSource + */ + params: GdalSourceParameters; + /** + * + * @type {GdalSourceTypeEnum} + * @memberof GdalSource + */ + type: GdalSourceTypeEnum; +} + + +/** + * @export + */ +export const GdalSourceTypeEnum = { + GdalSource: 'GdalSource' +} as const; +export type GdalSourceTypeEnum = typeof GdalSourceTypeEnum[keyof typeof GdalSourceTypeEnum]; + + +/** + * Check if a given object implements the GdalSource interface. + */ +export function instanceOfGdalSource(value: object): value is GdalSource { + if (!('params' in value) || value['params'] === undefined) return false; + if (!('type' in value) || value['type'] === undefined) return false; + return true; +} + +export function GdalSourceFromJSON(json: any): GdalSource { + return GdalSourceFromJSONTyped(json, false); +} + +export function GdalSourceFromJSONTyped(json: any, ignoreDiscriminator: boolean): GdalSource { + if (json == null) { + return json; + } + return { + + 'params': GdalSourceParametersFromJSON(json['params']), + 'type': json['type'], + }; +} + +export function GdalSourceToJSON(json: any): GdalSource { + return GdalSourceToJSONTyped(json, false); +} + +export function GdalSourceToJSONTyped(value?: GdalSource | null, ignoreDiscriminator: boolean = false): any { + if (value == null) { + return value; + } + + return { + + 'params': GdalSourceParametersToJSON(value['params']), + 'type': value['type'], + }; +} + diff --git a/typescript/src/models/GdalSourceParameters.ts b/typescript/src/models/GdalSourceParameters.ts new file mode 100644 index 00000000..71623d5b --- /dev/null +++ b/typescript/src/models/GdalSourceParameters.ts @@ -0,0 +1,76 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Geo Engine API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { mapValues } from '../runtime'; +/** + * Parameters for the [`GdalSource`] operator. + * @export + * @interface GdalSourceParameters + */ +export interface GdalSourceParameters { + /** + * Dataset name or identifier to be loaded. + * @type {string} + * @memberof GdalSourceParameters + */ + data: string; + /** + * *Optional*: overview level to use. + * + * If not provided, the data source will determine the resolution, i.e., uses its native resolution. + * @type {number} + * @memberof GdalSourceParameters + */ + overviewLevel?: number | null; +} + +/** + * Check if a given object implements the GdalSourceParameters interface. + */ +export function instanceOfGdalSourceParameters(value: object): value is GdalSourceParameters { + if (!('data' in value) || value['data'] === undefined) return false; + return true; +} + +export function GdalSourceParametersFromJSON(json: any): GdalSourceParameters { + return GdalSourceParametersFromJSONTyped(json, false); +} + +export function GdalSourceParametersFromJSONTyped(json: any, ignoreDiscriminator: boolean): GdalSourceParameters { + if (json == null) { + return json; + } + return { + + 'data': json['data'], + 'overviewLevel': json['overviewLevel'] == null ? undefined : json['overviewLevel'], + }; +} + +export function GdalSourceParametersToJSON(json: any): GdalSourceParameters { + return GdalSourceParametersToJSONTyped(json, false); +} + +export function GdalSourceParametersToJSONTyped(value?: GdalSourceParameters | null, ignoreDiscriminator: boolean = false): any { + if (value == null) { + return value; + } + + return { + + 'data': value['data'], + 'overviewLevel': value['overviewLevel'], + }; +} + diff --git a/typescript/src/models/Histogram.ts b/typescript/src/models/Histogram.ts new file mode 100644 index 00000000..e51e48a8 --- /dev/null +++ b/typescript/src/models/Histogram.ts @@ -0,0 +1,124 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Geo Engine API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { mapValues } from '../runtime'; +import type { HistogramParameters } from './HistogramParameters'; +import { + HistogramParametersFromJSON, + HistogramParametersFromJSONTyped, + HistogramParametersToJSON, + HistogramParametersToJSONTyped, +} from './HistogramParameters'; +import type { SingleRasterOrVectorSource } from './SingleRasterOrVectorSource'; +import { + SingleRasterOrVectorSourceFromJSON, + SingleRasterOrVectorSourceFromJSONTyped, + SingleRasterOrVectorSourceToJSON, + SingleRasterOrVectorSourceToJSONTyped, +} from './SingleRasterOrVectorSource'; + +/** + * The `Histogram` is a _plot operator_ that computes a histogram plot either over attributes of a vector dataset or values of a raster source. + * The output is a plot in [Vega-Lite](https://vega.github.io/vega-lite/) specification. + * + * For instance, you want to plot the data distribution of numeric attributes of a feature collection. + * Then you can use a histogram with a suitable number of buckets to visualize and assess this. + * + * ## Errors + * + * The operator returns an error if the selected column (`columnName`) does not exist or is not numeric. + * + * ## Notes + * + * If `bounds` or `buckets` are not defined, the operator will determine these values by itself which requires processing the data twice. + * + * If the `buckets` parameter is set to `squareRootChoiceRule`, the operator estimates it using the square root of the number of elements in the data. + * + * @export + * @interface Histogram + */ +export interface Histogram { + /** + * + * @type {HistogramParameters} + * @memberof Histogram + */ + params: HistogramParameters; + /** + * + * @type {SingleRasterOrVectorSource} + * @memberof Histogram + */ + sources: SingleRasterOrVectorSource; + /** + * + * @type {HistogramTypeEnum} + * @memberof Histogram + */ + type: HistogramTypeEnum; +} + + +/** + * @export + */ +export const HistogramTypeEnum = { + Histogram: 'Histogram' +} as const; +export type HistogramTypeEnum = typeof HistogramTypeEnum[keyof typeof HistogramTypeEnum]; + + +/** + * Check if a given object implements the Histogram interface. + */ +export function instanceOfHistogram(value: object): value is Histogram { + if (!('params' in value) || value['params'] === undefined) return false; + if (!('sources' in value) || value['sources'] === undefined) return false; + if (!('type' in value) || value['type'] === undefined) return false; + return true; +} + +export function HistogramFromJSON(json: any): Histogram { + return HistogramFromJSONTyped(json, false); +} + +export function HistogramFromJSONTyped(json: any, ignoreDiscriminator: boolean): Histogram { + if (json == null) { + return json; + } + return { + + 'params': HistogramParametersFromJSON(json['params']), + 'sources': SingleRasterOrVectorSourceFromJSON(json['sources']), + 'type': json['type'], + }; +} + +export function HistogramToJSON(json: any): Histogram { + return HistogramToJSONTyped(json, false); +} + +export function HistogramToJSONTyped(value?: Histogram | null, ignoreDiscriminator: boolean = false): any { + if (value == null) { + return value; + } + + return { + + 'params': HistogramParametersToJSON(value['params']), + 'sources': SingleRasterOrVectorSourceToJSON(value['sources']), + 'type': value['type'], + }; +} + diff --git a/typescript/src/models/HistogramBounds.ts b/typescript/src/models/HistogramBounds.ts new file mode 100644 index 00000000..fa215ab1 --- /dev/null +++ b/typescript/src/models/HistogramBounds.ts @@ -0,0 +1,76 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Geo Engine API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import type { HistogramBoundsOneOf } from './HistogramBoundsOneOf'; +import { + instanceOfHistogramBoundsOneOf, + HistogramBoundsOneOfFromJSON, + HistogramBoundsOneOfFromJSONTyped, + HistogramBoundsOneOfToJSON, +} from './HistogramBoundsOneOf'; +import type { HistogramBoundsOneOf1 } from './HistogramBoundsOneOf1'; +import { + instanceOfHistogramBoundsOneOf1, + HistogramBoundsOneOf1FromJSON, + HistogramBoundsOneOf1FromJSONTyped, + HistogramBoundsOneOf1ToJSON, +} from './HistogramBoundsOneOf1'; + +/** + * @type HistogramBounds + * + * @export + */ +export type HistogramBounds = HistogramBoundsOneOf | HistogramBoundsOneOf1; + +export function HistogramBoundsFromJSON(json: any): HistogramBounds { + return HistogramBoundsFromJSONTyped(json, false); +} + +export function HistogramBoundsFromJSONTyped(json: any, ignoreDiscriminator: boolean): HistogramBounds { + if (json == null) { + return json; + } + if (typeof json !== 'object') { + return json; + } + if (instanceOfHistogramBoundsOneOf(json)) { + return HistogramBoundsOneOfFromJSONTyped(json, true); + } + if (instanceOfHistogramBoundsOneOf1(json)) { + return HistogramBoundsOneOf1FromJSONTyped(json, true); + } + return {} as any; +} + +export function HistogramBoundsToJSON(json: any): any { + return HistogramBoundsToJSONTyped(json, false); +} + +export function HistogramBoundsToJSONTyped(value?: HistogramBounds | null, ignoreDiscriminator: boolean = false): any { + if (value == null) { + return value; + } + if (typeof value !== 'object') { + return value; + } + if (instanceOfHistogramBoundsOneOf(value)) { + return HistogramBoundsOneOfToJSON(value as HistogramBoundsOneOf); + } + if (instanceOfHistogramBoundsOneOf1(value)) { + return HistogramBoundsOneOf1ToJSON(value as HistogramBoundsOneOf1); + } + return {}; +} + diff --git a/typescript/src/models/HistogramBoundsOneOf.ts b/typescript/src/models/HistogramBoundsOneOf.ts new file mode 100644 index 00000000..4c623b2c --- /dev/null +++ b/typescript/src/models/HistogramBoundsOneOf.ts @@ -0,0 +1,66 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Geo Engine API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { mapValues } from '../runtime'; +/** + * + * @export + * @interface HistogramBoundsOneOf + */ +export interface HistogramBoundsOneOf { + /** + * + * @type {any} + * @memberof HistogramBoundsOneOf + */ + data: any | null; +} + +/** + * Check if a given object implements the HistogramBoundsOneOf interface. + */ +export function instanceOfHistogramBoundsOneOf(value: object): value is HistogramBoundsOneOf { + if (!('data' in value) || value['data'] === undefined) return false; + return true; +} + +export function HistogramBoundsOneOfFromJSON(json: any): HistogramBoundsOneOf { + return HistogramBoundsOneOfFromJSONTyped(json, false); +} + +export function HistogramBoundsOneOfFromJSONTyped(json: any, ignoreDiscriminator: boolean): HistogramBoundsOneOf { + if (json == null) { + return json; + } + return { + + 'data': json['data'], + }; +} + +export function HistogramBoundsOneOfToJSON(json: any): HistogramBoundsOneOf { + return HistogramBoundsOneOfToJSONTyped(json, false); +} + +export function HistogramBoundsOneOfToJSONTyped(value?: HistogramBoundsOneOf | null, ignoreDiscriminator: boolean = false): any { + if (value == null) { + return value; + } + + return { + + 'data': value['data'], + }; +} + diff --git a/typescript/src/models/HistogramBoundsOneOf1.ts b/typescript/src/models/HistogramBoundsOneOf1.ts new file mode 100644 index 00000000..689b8956 --- /dev/null +++ b/typescript/src/models/HistogramBoundsOneOf1.ts @@ -0,0 +1,74 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Geo Engine API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { mapValues } from '../runtime'; +import type { HistogramBoundsOneOf1Values } from './HistogramBoundsOneOf1Values'; +import { + HistogramBoundsOneOf1ValuesFromJSON, + HistogramBoundsOneOf1ValuesFromJSONTyped, + HistogramBoundsOneOf1ValuesToJSON, + HistogramBoundsOneOf1ValuesToJSONTyped, +} from './HistogramBoundsOneOf1Values'; + +/** + * + * @export + * @interface HistogramBoundsOneOf1 + */ +export interface HistogramBoundsOneOf1 { + /** + * + * @type {HistogramBoundsOneOf1Values} + * @memberof HistogramBoundsOneOf1 + */ + values: HistogramBoundsOneOf1Values; +} + +/** + * Check if a given object implements the HistogramBoundsOneOf1 interface. + */ +export function instanceOfHistogramBoundsOneOf1(value: object): value is HistogramBoundsOneOf1 { + if (!('values' in value) || value['values'] === undefined) return false; + return true; +} + +export function HistogramBoundsOneOf1FromJSON(json: any): HistogramBoundsOneOf1 { + return HistogramBoundsOneOf1FromJSONTyped(json, false); +} + +export function HistogramBoundsOneOf1FromJSONTyped(json: any, ignoreDiscriminator: boolean): HistogramBoundsOneOf1 { + if (json == null) { + return json; + } + return { + + 'values': HistogramBoundsOneOf1ValuesFromJSON(json['values']), + }; +} + +export function HistogramBoundsOneOf1ToJSON(json: any): HistogramBoundsOneOf1 { + return HistogramBoundsOneOf1ToJSONTyped(json, false); +} + +export function HistogramBoundsOneOf1ToJSONTyped(value?: HistogramBoundsOneOf1 | null, ignoreDiscriminator: boolean = false): any { + if (value == null) { + return value; + } + + return { + + 'values': HistogramBoundsOneOf1ValuesToJSON(value['values']), + }; +} + diff --git a/typescript/src/models/HistogramBoundsOneOf1Values.ts b/typescript/src/models/HistogramBoundsOneOf1Values.ts new file mode 100644 index 00000000..3327e50c --- /dev/null +++ b/typescript/src/models/HistogramBoundsOneOf1Values.ts @@ -0,0 +1,75 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Geo Engine API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { mapValues } from '../runtime'; +/** + * + * @export + * @interface HistogramBoundsOneOf1Values + */ +export interface HistogramBoundsOneOf1Values { + /** + * + * @type {number} + * @memberof HistogramBoundsOneOf1Values + */ + max: number; + /** + * + * @type {number} + * @memberof HistogramBoundsOneOf1Values + */ + min: number; +} + +/** + * Check if a given object implements the HistogramBoundsOneOf1Values interface. + */ +export function instanceOfHistogramBoundsOneOf1Values(value: object): value is HistogramBoundsOneOf1Values { + if (!('max' in value) || value['max'] === undefined) return false; + if (!('min' in value) || value['min'] === undefined) return false; + return true; +} + +export function HistogramBoundsOneOf1ValuesFromJSON(json: any): HistogramBoundsOneOf1Values { + return HistogramBoundsOneOf1ValuesFromJSONTyped(json, false); +} + +export function HistogramBoundsOneOf1ValuesFromJSONTyped(json: any, ignoreDiscriminator: boolean): HistogramBoundsOneOf1Values { + if (json == null) { + return json; + } + return { + + 'max': json['max'], + 'min': json['min'], + }; +} + +export function HistogramBoundsOneOf1ValuesToJSON(json: any): HistogramBoundsOneOf1Values { + return HistogramBoundsOneOf1ValuesToJSONTyped(json, false); +} + +export function HistogramBoundsOneOf1ValuesToJSONTyped(value?: HistogramBoundsOneOf1Values | null, ignoreDiscriminator: boolean = false): any { + if (value == null) { + return value; + } + + return { + + 'max': value['max'], + 'min': value['min'], + }; +} + diff --git a/typescript/src/models/HistogramBuckets.ts b/typescript/src/models/HistogramBuckets.ts new file mode 100644 index 00000000..a62bfa4e --- /dev/null +++ b/typescript/src/models/HistogramBuckets.ts @@ -0,0 +1,76 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Geo Engine API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import type { HistogramBucketsOneOf } from './HistogramBucketsOneOf'; +import { + instanceOfHistogramBucketsOneOf, + HistogramBucketsOneOfFromJSON, + HistogramBucketsOneOfFromJSONTyped, + HistogramBucketsOneOfToJSON, +} from './HistogramBucketsOneOf'; +import type { HistogramBucketsOneOf1 } from './HistogramBucketsOneOf1'; +import { + instanceOfHistogramBucketsOneOf1, + HistogramBucketsOneOf1FromJSON, + HistogramBucketsOneOf1FromJSONTyped, + HistogramBucketsOneOf1ToJSON, +} from './HistogramBucketsOneOf1'; + +/** + * @type HistogramBuckets + * + * @export + */ +export type HistogramBuckets = HistogramBucketsOneOf | HistogramBucketsOneOf1; + +export function HistogramBucketsFromJSON(json: any): HistogramBuckets { + return HistogramBucketsFromJSONTyped(json, false); +} + +export function HistogramBucketsFromJSONTyped(json: any, ignoreDiscriminator: boolean): HistogramBuckets { + if (json == null) { + return json; + } + if (typeof json !== 'object') { + return json; + } + if (instanceOfHistogramBucketsOneOf(json)) { + return HistogramBucketsOneOfFromJSONTyped(json, true); + } + if (instanceOfHistogramBucketsOneOf1(json)) { + return HistogramBucketsOneOf1FromJSONTyped(json, true); + } + return {} as any; +} + +export function HistogramBucketsToJSON(json: any): any { + return HistogramBucketsToJSONTyped(json, false); +} + +export function HistogramBucketsToJSONTyped(value?: HistogramBuckets | null, ignoreDiscriminator: boolean = false): any { + if (value == null) { + return value; + } + if (typeof value !== 'object') { + return value; + } + if (instanceOfHistogramBucketsOneOf(value)) { + return HistogramBucketsOneOfToJSON(value as HistogramBucketsOneOf); + } + if (instanceOfHistogramBucketsOneOf1(value)) { + return HistogramBucketsOneOf1ToJSON(value as HistogramBucketsOneOf1); + } + return {}; +} + diff --git a/typescript/src/models/HistogramBucketsOneOf.ts b/typescript/src/models/HistogramBucketsOneOf.ts new file mode 100644 index 00000000..6e57252d --- /dev/null +++ b/typescript/src/models/HistogramBucketsOneOf.ts @@ -0,0 +1,85 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Geo Engine API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { mapValues } from '../runtime'; +/** + * + * @export + * @interface HistogramBucketsOneOf + */ +export interface HistogramBucketsOneOf { + /** + * + * @type {HistogramBucketsOneOfTypeEnum} + * @memberof HistogramBucketsOneOf + */ + type: HistogramBucketsOneOfTypeEnum; + /** + * + * @type {number} + * @memberof HistogramBucketsOneOf + */ + value: number; +} + + +/** + * @export + */ +export const HistogramBucketsOneOfTypeEnum = { + Number: 'number' +} as const; +export type HistogramBucketsOneOfTypeEnum = typeof HistogramBucketsOneOfTypeEnum[keyof typeof HistogramBucketsOneOfTypeEnum]; + + +/** + * Check if a given object implements the HistogramBucketsOneOf interface. + */ +export function instanceOfHistogramBucketsOneOf(value: object): value is HistogramBucketsOneOf { + if (!('type' in value) || value['type'] === undefined) return false; + if (!('value' in value) || value['value'] === undefined) return false; + return true; +} + +export function HistogramBucketsOneOfFromJSON(json: any): HistogramBucketsOneOf { + return HistogramBucketsOneOfFromJSONTyped(json, false); +} + +export function HistogramBucketsOneOfFromJSONTyped(json: any, ignoreDiscriminator: boolean): HistogramBucketsOneOf { + if (json == null) { + return json; + } + return { + + 'type': json['type'], + 'value': json['value'], + }; +} + +export function HistogramBucketsOneOfToJSON(json: any): HistogramBucketsOneOf { + return HistogramBucketsOneOfToJSONTyped(json, false); +} + +export function HistogramBucketsOneOfToJSONTyped(value?: HistogramBucketsOneOf | null, ignoreDiscriminator: boolean = false): any { + if (value == null) { + return value; + } + + return { + + 'type': value['type'], + 'value': value['value'], + }; +} + diff --git a/typescript/src/models/HistogramBucketsOneOf1.ts b/typescript/src/models/HistogramBucketsOneOf1.ts new file mode 100644 index 00000000..a8a4ea18 --- /dev/null +++ b/typescript/src/models/HistogramBucketsOneOf1.ts @@ -0,0 +1,84 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Geo Engine API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { mapValues } from '../runtime'; +/** + * + * @export + * @interface HistogramBucketsOneOf1 + */ +export interface HistogramBucketsOneOf1 { + /** + * + * @type {number} + * @memberof HistogramBucketsOneOf1 + */ + maxNumberOfBuckets?: number; + /** + * + * @type {HistogramBucketsOneOf1TypeEnum} + * @memberof HistogramBucketsOneOf1 + */ + type: HistogramBucketsOneOf1TypeEnum; +} + + +/** + * @export + */ +export const HistogramBucketsOneOf1TypeEnum = { + SquareRootChoiceRule: 'squareRootChoiceRule' +} as const; +export type HistogramBucketsOneOf1TypeEnum = typeof HistogramBucketsOneOf1TypeEnum[keyof typeof HistogramBucketsOneOf1TypeEnum]; + + +/** + * Check if a given object implements the HistogramBucketsOneOf1 interface. + */ +export function instanceOfHistogramBucketsOneOf1(value: object): value is HistogramBucketsOneOf1 { + if (!('type' in value) || value['type'] === undefined) return false; + return true; +} + +export function HistogramBucketsOneOf1FromJSON(json: any): HistogramBucketsOneOf1 { + return HistogramBucketsOneOf1FromJSONTyped(json, false); +} + +export function HistogramBucketsOneOf1FromJSONTyped(json: any, ignoreDiscriminator: boolean): HistogramBucketsOneOf1 { + if (json == null) { + return json; + } + return { + + 'maxNumberOfBuckets': json['maxNumberOfBuckets'] == null ? undefined : json['maxNumberOfBuckets'], + 'type': json['type'], + }; +} + +export function HistogramBucketsOneOf1ToJSON(json: any): HistogramBucketsOneOf1 { + return HistogramBucketsOneOf1ToJSONTyped(json, false); +} + +export function HistogramBucketsOneOf1ToJSONTyped(value?: HistogramBucketsOneOf1 | null, ignoreDiscriminator: boolean = false): any { + if (value == null) { + return value; + } + + return { + + 'maxNumberOfBuckets': value['maxNumberOfBuckets'], + 'type': value['type'], + }; +} + diff --git a/typescript/src/models/HistogramParameters.ts b/typescript/src/models/HistogramParameters.ts new file mode 100644 index 00000000..4f3dfb6b --- /dev/null +++ b/typescript/src/models/HistogramParameters.ts @@ -0,0 +1,107 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Geo Engine API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { mapValues } from '../runtime'; +import type { HistogramBounds } from './HistogramBounds'; +import { + HistogramBoundsFromJSON, + HistogramBoundsFromJSONTyped, + HistogramBoundsToJSON, + HistogramBoundsToJSONTyped, +} from './HistogramBounds'; +import type { HistogramBuckets } from './HistogramBuckets'; +import { + HistogramBucketsFromJSON, + HistogramBucketsFromJSONTyped, + HistogramBucketsToJSON, + HistogramBucketsToJSONTyped, +} from './HistogramBuckets'; + +/** + * The parameter spec for `Histogram` + * @export + * @interface HistogramParameters + */ +export interface HistogramParameters { + /** + * Name of the (numeric) vector attribute or raster band to compute the histogram on. + * @type {string} + * @memberof HistogramParameters + */ + attributeName: string; + /** + * If `data`, it computes the bounds of the underlying data. If `values`, one can specify custom bounds. + * @type {HistogramBounds} + * @memberof HistogramParameters + */ + bounds: HistogramBounds; + /** + * The number of buckets. The value can be specified or calculated. + * @type {HistogramBuckets} + * @memberof HistogramParameters + */ + buckets: HistogramBuckets; + /** + * Flag, if the histogram should have user interactions for a range selection. It is `false` by default. + * @type {boolean} + * @memberof HistogramParameters + */ + interactive?: boolean; +} + +/** + * Check if a given object implements the HistogramParameters interface. + */ +export function instanceOfHistogramParameters(value: object): value is HistogramParameters { + if (!('attributeName' in value) || value['attributeName'] === undefined) return false; + if (!('bounds' in value) || value['bounds'] === undefined) return false; + if (!('buckets' in value) || value['buckets'] === undefined) return false; + return true; +} + +export function HistogramParametersFromJSON(json: any): HistogramParameters { + return HistogramParametersFromJSONTyped(json, false); +} + +export function HistogramParametersFromJSONTyped(json: any, ignoreDiscriminator: boolean): HistogramParameters { + if (json == null) { + return json; + } + return { + + 'attributeName': json['attributeName'], + 'bounds': HistogramBoundsFromJSON(json['bounds']), + 'buckets': HistogramBucketsFromJSON(json['buckets']), + 'interactive': json['interactive'] == null ? undefined : json['interactive'], + }; +} + +export function HistogramParametersToJSON(json: any): HistogramParameters { + return HistogramParametersToJSONTyped(json, false); +} + +export function HistogramParametersToJSONTyped(value?: HistogramParameters | null, ignoreDiscriminator: boolean = false): any { + if (value == null) { + return value; + } + + return { + + 'attributeName': value['attributeName'], + 'bounds': HistogramBoundsToJSON(value['bounds']), + 'buckets': HistogramBucketsToJSON(value['buckets']), + 'interactive': value['interactive'], + }; +} + diff --git a/typescript/src/models/LegacyTypedOperator.ts b/typescript/src/models/LegacyTypedOperator.ts new file mode 100644 index 00000000..7c3f5e85 --- /dev/null +++ b/typescript/src/models/LegacyTypedOperator.ts @@ -0,0 +1,95 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Geo Engine API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { mapValues } from '../runtime'; +import type { LegacyTypedOperatorOperator } from './LegacyTypedOperatorOperator'; +import { + LegacyTypedOperatorOperatorFromJSON, + LegacyTypedOperatorOperatorFromJSONTyped, + LegacyTypedOperatorOperatorToJSON, + LegacyTypedOperatorOperatorToJSONTyped, +} from './LegacyTypedOperatorOperator'; + +/** + * An enum to differentiate between `Operator` variants + * @export + * @interface LegacyTypedOperator + */ +export interface LegacyTypedOperator { + /** + * + * @type {LegacyTypedOperatorOperator} + * @memberof LegacyTypedOperator + */ + operator: LegacyTypedOperatorOperator; + /** + * + * @type {LegacyTypedOperatorTypeEnum} + * @memberof LegacyTypedOperator + */ + type: LegacyTypedOperatorTypeEnum; +} + + +/** + * @export + */ +export const LegacyTypedOperatorTypeEnum = { + Vector: 'Vector', + Raster: 'Raster', + Plot: 'Plot' +} as const; +export type LegacyTypedOperatorTypeEnum = typeof LegacyTypedOperatorTypeEnum[keyof typeof LegacyTypedOperatorTypeEnum]; + + +/** + * Check if a given object implements the LegacyTypedOperator interface. + */ +export function instanceOfLegacyTypedOperator(value: object): value is LegacyTypedOperator { + if (!('operator' in value) || value['operator'] === undefined) return false; + if (!('type' in value) || value['type'] === undefined) return false; + return true; +} + +export function LegacyTypedOperatorFromJSON(json: any): LegacyTypedOperator { + return LegacyTypedOperatorFromJSONTyped(json, false); +} + +export function LegacyTypedOperatorFromJSONTyped(json: any, ignoreDiscriminator: boolean): LegacyTypedOperator { + if (json == null) { + return json; + } + return { + + 'operator': LegacyTypedOperatorOperatorFromJSON(json['operator']), + 'type': json['type'], + }; +} + +export function LegacyTypedOperatorToJSON(json: any): LegacyTypedOperator { + return LegacyTypedOperatorToJSONTyped(json, false); +} + +export function LegacyTypedOperatorToJSONTyped(value?: LegacyTypedOperator | null, ignoreDiscriminator: boolean = false): any { + if (value == null) { + return value; + } + + return { + + 'operator': LegacyTypedOperatorOperatorToJSON(value['operator']), + 'type': value['type'], + }; +} + diff --git a/typescript/src/models/TypedOperatorOperator.ts b/typescript/src/models/LegacyTypedOperatorOperator.ts similarity index 55% rename from typescript/src/models/TypedOperatorOperator.ts rename to typescript/src/models/LegacyTypedOperatorOperator.ts index 966af0e9..02f1224c 100644 --- a/typescript/src/models/TypedOperatorOperator.ts +++ b/typescript/src/models/LegacyTypedOperatorOperator.ts @@ -16,42 +16,42 @@ import { mapValues } from '../runtime'; /** * * @export - * @interface TypedOperatorOperator + * @interface LegacyTypedOperatorOperator */ -export interface TypedOperatorOperator { +export interface LegacyTypedOperatorOperator { /** * * @type {object} - * @memberof TypedOperatorOperator + * @memberof LegacyTypedOperatorOperator */ params?: object; /** * * @type {object} - * @memberof TypedOperatorOperator + * @memberof LegacyTypedOperatorOperator */ sources?: object; /** * * @type {string} - * @memberof TypedOperatorOperator + * @memberof LegacyTypedOperatorOperator */ type: string; } /** - * Check if a given object implements the TypedOperatorOperator interface. + * Check if a given object implements the LegacyTypedOperatorOperator interface. */ -export function instanceOfTypedOperatorOperator(value: object): value is TypedOperatorOperator { +export function instanceOfLegacyTypedOperatorOperator(value: object): value is LegacyTypedOperatorOperator { if (!('type' in value) || value['type'] === undefined) return false; return true; } -export function TypedOperatorOperatorFromJSON(json: any): TypedOperatorOperator { - return TypedOperatorOperatorFromJSONTyped(json, false); +export function LegacyTypedOperatorOperatorFromJSON(json: any): LegacyTypedOperatorOperator { + return LegacyTypedOperatorOperatorFromJSONTyped(json, false); } -export function TypedOperatorOperatorFromJSONTyped(json: any, ignoreDiscriminator: boolean): TypedOperatorOperator { +export function LegacyTypedOperatorOperatorFromJSONTyped(json: any, ignoreDiscriminator: boolean): LegacyTypedOperatorOperator { if (json == null) { return json; } @@ -63,11 +63,11 @@ export function TypedOperatorOperatorFromJSONTyped(json: any, ignoreDiscriminato }; } -export function TypedOperatorOperatorToJSON(json: any): TypedOperatorOperator { - return TypedOperatorOperatorToJSONTyped(json, false); +export function LegacyTypedOperatorOperatorToJSON(json: any): LegacyTypedOperatorOperator { + return LegacyTypedOperatorOperatorToJSONTyped(json, false); } -export function TypedOperatorOperatorToJSONTyped(value?: TypedOperatorOperator | null, ignoreDiscriminator: boolean = false): any { +export function LegacyTypedOperatorOperatorToJSONTyped(value?: LegacyTypedOperatorOperator | null, ignoreDiscriminator: boolean = false): any { if (value == null) { return value; } diff --git a/typescript/src/models/MockPointSource.ts b/typescript/src/models/MockPointSource.ts new file mode 100644 index 00000000..dc7777af --- /dev/null +++ b/typescript/src/models/MockPointSource.ts @@ -0,0 +1,94 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Geo Engine API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { mapValues } from '../runtime'; +import type { MockPointSourceParameters } from './MockPointSourceParameters'; +import { + MockPointSourceParametersFromJSON, + MockPointSourceParametersFromJSONTyped, + MockPointSourceParametersToJSON, + MockPointSourceParametersToJSONTyped, +} from './MockPointSourceParameters'; + +/** + * The [`MockPointSource`] is a source operator that provides mock vector point data for testing and development purposes. + * + * @export + * @interface MockPointSource + */ +export interface MockPointSource { + /** + * + * @type {MockPointSourceParameters} + * @memberof MockPointSource + */ + params: MockPointSourceParameters; + /** + * + * @type {MockPointSourceTypeEnum} + * @memberof MockPointSource + */ + type: MockPointSourceTypeEnum; +} + + +/** + * @export + */ +export const MockPointSourceTypeEnum = { + MockPointSource: 'MockPointSource' +} as const; +export type MockPointSourceTypeEnum = typeof MockPointSourceTypeEnum[keyof typeof MockPointSourceTypeEnum]; + + +/** + * Check if a given object implements the MockPointSource interface. + */ +export function instanceOfMockPointSource(value: object): value is MockPointSource { + if (!('params' in value) || value['params'] === undefined) return false; + if (!('type' in value) || value['type'] === undefined) return false; + return true; +} + +export function MockPointSourceFromJSON(json: any): MockPointSource { + return MockPointSourceFromJSONTyped(json, false); +} + +export function MockPointSourceFromJSONTyped(json: any, ignoreDiscriminator: boolean): MockPointSource { + if (json == null) { + return json; + } + return { + + 'params': MockPointSourceParametersFromJSON(json['params']), + 'type': json['type'], + }; +} + +export function MockPointSourceToJSON(json: any): MockPointSource { + return MockPointSourceToJSONTyped(json, false); +} + +export function MockPointSourceToJSONTyped(value?: MockPointSource | null, ignoreDiscriminator: boolean = false): any { + if (value == null) { + return value; + } + + return { + + 'params': MockPointSourceParametersToJSON(value['params']), + 'type': value['type'], + }; +} + diff --git a/typescript/src/models/MockPointSourceParameters.ts b/typescript/src/models/MockPointSourceParameters.ts new file mode 100644 index 00000000..554220a4 --- /dev/null +++ b/typescript/src/models/MockPointSourceParameters.ts @@ -0,0 +1,93 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Geo Engine API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { mapValues } from '../runtime'; +import type { SpatialBoundsDerive } from './SpatialBoundsDerive'; +import { + SpatialBoundsDeriveFromJSON, + SpatialBoundsDeriveFromJSONTyped, + SpatialBoundsDeriveToJSON, + SpatialBoundsDeriveToJSONTyped, +} from './SpatialBoundsDerive'; +import type { Coordinate2D } from './Coordinate2D'; +import { + Coordinate2DFromJSON, + Coordinate2DFromJSONTyped, + Coordinate2DToJSON, + Coordinate2DToJSONTyped, +} from './Coordinate2D'; + +/** + * Parameters for the [`MockPointSource`] operator. + * @export + * @interface MockPointSourceParameters + */ +export interface MockPointSourceParameters { + /** + * Points to be output by the mock point source. + * + * @type {Array} + * @memberof MockPointSourceParameters + */ + points: Array; + /** + * Defines how the spatial bounds of the source are derived. + * + * Defaults to `None`. + * @type {SpatialBoundsDerive} + * @memberof MockPointSourceParameters + */ + spatialBounds: SpatialBoundsDerive; +} + +/** + * Check if a given object implements the MockPointSourceParameters interface. + */ +export function instanceOfMockPointSourceParameters(value: object): value is MockPointSourceParameters { + if (!('points' in value) || value['points'] === undefined) return false; + if (!('spatialBounds' in value) || value['spatialBounds'] === undefined) return false; + return true; +} + +export function MockPointSourceParametersFromJSON(json: any): MockPointSourceParameters { + return MockPointSourceParametersFromJSONTyped(json, false); +} + +export function MockPointSourceParametersFromJSONTyped(json: any, ignoreDiscriminator: boolean): MockPointSourceParameters { + if (json == null) { + return json; + } + return { + + 'points': ((json['points'] as Array).map(Coordinate2DFromJSON)), + 'spatialBounds': SpatialBoundsDeriveFromJSON(json['spatialBounds']), + }; +} + +export function MockPointSourceParametersToJSON(json: any): MockPointSourceParameters { + return MockPointSourceParametersToJSONTyped(json, false); +} + +export function MockPointSourceParametersToJSONTyped(value?: MockPointSourceParameters | null, ignoreDiscriminator: boolean = false): any { + if (value == null) { + return value; + } + + return { + + 'points': ((value['points'] as Array).map(Coordinate2DToJSON)), + 'spatialBounds': SpatialBoundsDeriveToJSON(value['spatialBounds']), + }; +} + diff --git a/typescript/src/models/MultipleRasterOrSingleVectorOperator.ts b/typescript/src/models/MultipleRasterOrSingleVectorOperator.ts new file mode 100644 index 00000000..e596c537 --- /dev/null +++ b/typescript/src/models/MultipleRasterOrSingleVectorOperator.ts @@ -0,0 +1,86 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Geo Engine API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import type { RasterOperator } from './RasterOperator'; +import { + instanceOfRasterOperator, + RasterOperatorFromJSON, + RasterOperatorFromJSONTyped, + RasterOperatorToJSON, +} from './RasterOperator'; +import type { VectorOperator } from './VectorOperator'; +import { + instanceOfVectorOperator, + VectorOperatorFromJSON, + VectorOperatorFromJSONTyped, + VectorOperatorToJSON, +} from './VectorOperator'; + +/** + * @type MultipleRasterOrSingleVectorOperator + * It is either a set of `RasterOperator` or a single `VectorOperator` + * @export + */ +export type MultipleRasterOrSingleVectorOperator = Array | VectorOperator; + +export function MultipleRasterOrSingleVectorOperatorFromJSON(json: any): MultipleRasterOrSingleVectorOperator { + return MultipleRasterOrSingleVectorOperatorFromJSONTyped(json, false); +} + +export function MultipleRasterOrSingleVectorOperatorFromJSONTyped(json: any, ignoreDiscriminator: boolean): MultipleRasterOrSingleVectorOperator { + if (json == null) { + return json; + } + if (typeof json !== 'object') { + return json; + } + if (instanceOfVectorOperator(json)) { + return VectorOperatorFromJSONTyped(json, true); + } + if (Array.isArray(json)) { + if (json.every(item => typeof item === 'object')) { + if (json.every(item => instanceOfRasterOperator(item))) { + return json.map(value => RasterOperatorFromJSONTyped(value, true)); + } + } + return json; + } + return {} as any; +} + +export function MultipleRasterOrSingleVectorOperatorToJSON(json: any): any { + return MultipleRasterOrSingleVectorOperatorToJSONTyped(json, false); +} + +export function MultipleRasterOrSingleVectorOperatorToJSONTyped(value?: MultipleRasterOrSingleVectorOperator | null, ignoreDiscriminator: boolean = false): any { + if (value == null) { + return value; + } + if (typeof value !== 'object') { + return value; + } + if (instanceOfVectorOperator(value)) { + return VectorOperatorToJSON(value as VectorOperator); + } + if (Array.isArray(value)) { + if (value.every(item => typeof item === 'object')) { + if (value.every(item => instanceOfRasterOperator(item))) { + return value.map(value => RasterOperatorToJSON(value as RasterOperator)); + } + } + return value; + } + return {}; +} + diff --git a/typescript/src/models/MultipleRasterOrSingleVectorSource.ts b/typescript/src/models/MultipleRasterOrSingleVectorSource.ts new file mode 100644 index 00000000..c9f4c3f2 --- /dev/null +++ b/typescript/src/models/MultipleRasterOrSingleVectorSource.ts @@ -0,0 +1,74 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Geo Engine API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { mapValues } from '../runtime'; +import type { MultipleRasterOrSingleVectorOperator } from './MultipleRasterOrSingleVectorOperator'; +import { + MultipleRasterOrSingleVectorOperatorFromJSON, + MultipleRasterOrSingleVectorOperatorFromJSONTyped, + MultipleRasterOrSingleVectorOperatorToJSON, + MultipleRasterOrSingleVectorOperatorToJSONTyped, +} from './MultipleRasterOrSingleVectorOperator'; + +/** + * Either one or more raster operators or a single vector operator as source for this operator. + * @export + * @interface MultipleRasterOrSingleVectorSource + */ +export interface MultipleRasterOrSingleVectorSource { + /** + * + * @type {MultipleRasterOrSingleVectorOperator} + * @memberof MultipleRasterOrSingleVectorSource + */ + source: MultipleRasterOrSingleVectorOperator; +} + +/** + * Check if a given object implements the MultipleRasterOrSingleVectorSource interface. + */ +export function instanceOfMultipleRasterOrSingleVectorSource(value: object): value is MultipleRasterOrSingleVectorSource { + if (!('source' in value) || value['source'] === undefined) return false; + return true; +} + +export function MultipleRasterOrSingleVectorSourceFromJSON(json: any): MultipleRasterOrSingleVectorSource { + return MultipleRasterOrSingleVectorSourceFromJSONTyped(json, false); +} + +export function MultipleRasterOrSingleVectorSourceFromJSONTyped(json: any, ignoreDiscriminator: boolean): MultipleRasterOrSingleVectorSource { + if (json == null) { + return json; + } + return { + + 'source': MultipleRasterOrSingleVectorOperatorFromJSON(json['source']), + }; +} + +export function MultipleRasterOrSingleVectorSourceToJSON(json: any): MultipleRasterOrSingleVectorSource { + return MultipleRasterOrSingleVectorSourceToJSONTyped(json, false); +} + +export function MultipleRasterOrSingleVectorSourceToJSONTyped(value?: MultipleRasterOrSingleVectorSource | null, ignoreDiscriminator: boolean = false): any { + if (value == null) { + return value; + } + + return { + + 'source': MultipleRasterOrSingleVectorOperatorToJSON(value['source']), + }; +} + diff --git a/typescript/src/models/Names.ts b/typescript/src/models/Names.ts new file mode 100644 index 00000000..44a942ec --- /dev/null +++ b/typescript/src/models/Names.ts @@ -0,0 +1,85 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Geo Engine API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { mapValues } from '../runtime'; +/** + * + * @export + * @interface Names + */ +export interface Names { + /** + * + * @type {NamesTypeEnum} + * @memberof Names + */ + type: NamesTypeEnum; + /** + * + * @type {Array} + * @memberof Names + */ + values: Array; +} + + +/** + * @export + */ +export const NamesTypeEnum = { + Names: 'names' +} as const; +export type NamesTypeEnum = typeof NamesTypeEnum[keyof typeof NamesTypeEnum]; + + +/** + * Check if a given object implements the Names interface. + */ +export function instanceOfNames(value: object): value is Names { + if (!('type' in value) || value['type'] === undefined) return false; + if (!('values' in value) || value['values'] === undefined) return false; + return true; +} + +export function NamesFromJSON(json: any): Names { + return NamesFromJSONTyped(json, false); +} + +export function NamesFromJSONTyped(json: any, ignoreDiscriminator: boolean): Names { + if (json == null) { + return json; + } + return { + + 'type': json['type'], + 'values': json['values'], + }; +} + +export function NamesToJSON(json: any): Names { + return NamesToJSONTyped(json, false); +} + +export function NamesToJSONTyped(value?: Names | null, ignoreDiscriminator: boolean = false): any { + if (value == null) { + return value; + } + + return { + + 'type': value['type'], + 'values': value['values'], + }; +} + diff --git a/typescript/src/models/PermissionListOptions.ts b/typescript/src/models/PermissionListOptions.ts deleted file mode 100644 index 261a9b7f..00000000 --- a/typescript/src/models/PermissionListOptions.ts +++ /dev/null @@ -1,75 +0,0 @@ -/* tslint:disable */ -/* eslint-disable */ -/** - * Geo Engine API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 0.9.0 - * Contact: dev@geoengine.de - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - -import { mapValues } from '../runtime'; -/** - * - * @export - * @interface PermissionListOptions - */ -export interface PermissionListOptions { - /** - * - * @type {number} - * @memberof PermissionListOptions - */ - limit: number; - /** - * - * @type {number} - * @memberof PermissionListOptions - */ - offset: number; -} - -/** - * Check if a given object implements the PermissionListOptions interface. - */ -export function instanceOfPermissionListOptions(value: object): value is PermissionListOptions { - if (!('limit' in value) || value['limit'] === undefined) return false; - if (!('offset' in value) || value['offset'] === undefined) return false; - return true; -} - -export function PermissionListOptionsFromJSON(json: any): PermissionListOptions { - return PermissionListOptionsFromJSONTyped(json, false); -} - -export function PermissionListOptionsFromJSONTyped(json: any, ignoreDiscriminator: boolean): PermissionListOptions { - if (json == null) { - return json; - } - return { - - 'limit': json['limit'], - 'offset': json['offset'], - }; -} - -export function PermissionListOptionsToJSON(json: any): PermissionListOptions { - return PermissionListOptionsToJSONTyped(json, false); -} - -export function PermissionListOptionsToJSONTyped(value?: PermissionListOptions | null, ignoreDiscriminator: boolean = false): any { - if (value == null) { - return value; - } - - return { - - 'limit': value['limit'], - 'offset': value['offset'], - }; -} - diff --git a/typescript/src/models/PlotOperator.ts b/typescript/src/models/PlotOperator.ts new file mode 100644 index 00000000..bb79e0a0 --- /dev/null +++ b/typescript/src/models/PlotOperator.ts @@ -0,0 +1,72 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Geo Engine API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import type { Histogram } from './Histogram'; +import { + instanceOfHistogram, + HistogramFromJSON, + HistogramFromJSONTyped, + HistogramToJSON, +} from './Histogram'; +import type { Statistics } from './Statistics'; +import { + instanceOfStatistics, + StatisticsFromJSON, + StatisticsFromJSONTyped, + StatisticsToJSON, +} from './Statistics'; + +/** + * @type PlotOperator + * An operator that produces plot data. + * @export + */ +export type PlotOperator = { type: 'Histogram' } & Histogram | { type: 'Statistics' } & Statistics; + +export function PlotOperatorFromJSON(json: any): PlotOperator { + return PlotOperatorFromJSONTyped(json, false); +} + +export function PlotOperatorFromJSONTyped(json: any, ignoreDiscriminator: boolean): PlotOperator { + if (json == null) { + return json; + } + switch (json['type']) { + case 'Histogram': + return Object.assign({}, HistogramFromJSONTyped(json, true), { type: 'Histogram' } as const); + case 'Statistics': + return Object.assign({}, StatisticsFromJSONTyped(json, true), { type: 'Statistics' } as const); + default: + return json; + } +} + +export function PlotOperatorToJSON(json: any): any { + return PlotOperatorToJSONTyped(json, false); +} + +export function PlotOperatorToJSONTyped(value?: PlotOperator | null, ignoreDiscriminator: boolean = false): any { + if (value == null) { + return value; + } + switch (value['type']) { + case 'Histogram': + return Object.assign({}, HistogramToJSON(value), { type: 'Histogram' } as const); + case 'Statistics': + return Object.assign({}, StatisticsToJSON(value), { type: 'Statistics' } as const); + default: + return value; + } +} + diff --git a/typescript/src/models/ProvenanceOutput.ts b/typescript/src/models/ProvenanceOutput.ts deleted file mode 100644 index 0c8b5b33..00000000 --- a/typescript/src/models/ProvenanceOutput.ts +++ /dev/null @@ -1,89 +0,0 @@ -/* tslint:disable */ -/* eslint-disable */ -/** - * Geo Engine API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 0.9.0 - * Contact: dev@geoengine.de - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - -import { mapValues } from '../runtime'; -import type { Provenance } from './Provenance'; -import { - ProvenanceFromJSON, - ProvenanceFromJSONTyped, - ProvenanceToJSON, - ProvenanceToJSONTyped, -} from './Provenance'; -import type { DataId } from './DataId'; -import { - DataIdFromJSON, - DataIdFromJSONTyped, - DataIdToJSON, - DataIdToJSONTyped, -} from './DataId'; - -/** - * - * @export - * @interface ProvenanceOutput - */ -export interface ProvenanceOutput { - /** - * - * @type {DataId} - * @memberof ProvenanceOutput - */ - data: DataId; - /** - * - * @type {Array} - * @memberof ProvenanceOutput - */ - provenance?: Array | null; -} - -/** - * Check if a given object implements the ProvenanceOutput interface. - */ -export function instanceOfProvenanceOutput(value: object): value is ProvenanceOutput { - if (!('data' in value) || value['data'] === undefined) return false; - return true; -} - -export function ProvenanceOutputFromJSON(json: any): ProvenanceOutput { - return ProvenanceOutputFromJSONTyped(json, false); -} - -export function ProvenanceOutputFromJSONTyped(json: any, ignoreDiscriminator: boolean): ProvenanceOutput { - if (json == null) { - return json; - } - return { - - 'data': DataIdFromJSON(json['data']), - 'provenance': json['provenance'] == null ? undefined : ((json['provenance'] as Array).map(ProvenanceFromJSON)), - }; -} - -export function ProvenanceOutputToJSON(json: any): ProvenanceOutput { - return ProvenanceOutputToJSONTyped(json, false); -} - -export function ProvenanceOutputToJSONTyped(value?: ProvenanceOutput | null, ignoreDiscriminator: boolean = false): any { - if (value == null) { - return value; - } - - return { - - 'data': DataIdToJSON(value['data']), - 'provenance': value['provenance'] == null ? undefined : ((value['provenance'] as Array).map(ProvenanceToJSON)), - }; -} - diff --git a/typescript/src/models/RasterDatasetFromWorkflowResult.ts b/typescript/src/models/RasterDatasetFromWorkflowResult.ts deleted file mode 100644 index aef2f359..00000000 --- a/typescript/src/models/RasterDatasetFromWorkflowResult.ts +++ /dev/null @@ -1,75 +0,0 @@ -/* tslint:disable */ -/* eslint-disable */ -/** - * Geo Engine API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 0.9.0 - * Contact: dev@geoengine.de - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - -import { mapValues } from '../runtime'; -/** - * response of the dataset from workflow handler - * @export - * @interface RasterDatasetFromWorkflowResult - */ -export interface RasterDatasetFromWorkflowResult { - /** - * - * @type {string} - * @memberof RasterDatasetFromWorkflowResult - */ - dataset: string; - /** - * - * @type {string} - * @memberof RasterDatasetFromWorkflowResult - */ - upload: string; -} - -/** - * Check if a given object implements the RasterDatasetFromWorkflowResult interface. - */ -export function instanceOfRasterDatasetFromWorkflowResult(value: object): value is RasterDatasetFromWorkflowResult { - if (!('dataset' in value) || value['dataset'] === undefined) return false; - if (!('upload' in value) || value['upload'] === undefined) return false; - return true; -} - -export function RasterDatasetFromWorkflowResultFromJSON(json: any): RasterDatasetFromWorkflowResult { - return RasterDatasetFromWorkflowResultFromJSONTyped(json, false); -} - -export function RasterDatasetFromWorkflowResultFromJSONTyped(json: any, ignoreDiscriminator: boolean): RasterDatasetFromWorkflowResult { - if (json == null) { - return json; - } - return { - - 'dataset': json['dataset'], - 'upload': json['upload'], - }; -} - -export function RasterDatasetFromWorkflowResultToJSON(json: any): RasterDatasetFromWorkflowResult { - return RasterDatasetFromWorkflowResultToJSONTyped(json, false); -} - -export function RasterDatasetFromWorkflowResultToJSONTyped(value?: RasterDatasetFromWorkflowResult | null, ignoreDiscriminator: boolean = false): any { - if (value == null) { - return value; - } - - return { - - 'dataset': value['dataset'], - 'upload': value['upload'], - }; -} - diff --git a/typescript/src/models/RasterOperator.ts b/typescript/src/models/RasterOperator.ts new file mode 100644 index 00000000..9f68050b --- /dev/null +++ b/typescript/src/models/RasterOperator.ts @@ -0,0 +1,80 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Geo Engine API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import type { Expression } from './Expression'; +import { + instanceOfExpression, + ExpressionFromJSON, + ExpressionFromJSONTyped, + ExpressionToJSON, +} from './Expression'; +import type { GdalSource } from './GdalSource'; +import { + instanceOfGdalSource, + GdalSourceFromJSON, + GdalSourceFromJSONTyped, + GdalSourceToJSON, +} from './GdalSource'; + +/** + * @type RasterOperator + * An operator that produces raster data. + * @export + */ +export type RasterOperator = { type: 'Expression' } & Expression | { type: 'GdalSource' } & GdalSource; + +export function RasterOperatorFromJSON(json: any): RasterOperator { + return RasterOperatorFromJSONTyped(json, false); +} + +export function RasterOperatorFromJSONTyped(json: any, ignoreDiscriminator: boolean): RasterOperator { + if (json == null) { + return json; + } + switch (json['type']) { + case 'Expression': + return Object.assign({}, ExpressionFromJSONTyped(json, true), { type: 'Expression' } as const); + case 'GdalSource': + return Object.assign({}, GdalSourceFromJSONTyped(json, true), { type: 'GdalSource' } as const); + default: + return json; + } +} + +export function RasterOperatorToJSON(json: any): any { + return RasterOperatorToJSONTyped(json, false); +} + +export function RasterOperatorToJSONTyped(value?: RasterOperator | null, ignoreDiscriminator: boolean = false): any { + if (value == null) { + return value; + } + switch (value['type']) { + case 'Expression': + return Object.assign({}, ExpressionToJSON(value), { type: 'Expression' } as const); + case 'GdalSource': + return Object.assign({}, GdalSourceToJSON(value), { type: 'GdalSource' } as const); + default: + return value; + } +} + + +/** +* Check if a given object implements the RasterOperator interface. +*/ +export function instanceOfRasterOperator(value: object): value is RasterOperator { + return instanceOfExpression(value) + || instanceOfGdalSource(value); +} diff --git a/typescript/src/models/RasterVectorJoin.ts b/typescript/src/models/RasterVectorJoin.ts new file mode 100644 index 00000000..d4ac42eb --- /dev/null +++ b/typescript/src/models/RasterVectorJoin.ts @@ -0,0 +1,138 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Geo Engine API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { mapValues } from '../runtime'; +import type { SingleVectorMultipleRasterSources } from './SingleVectorMultipleRasterSources'; +import { + SingleVectorMultipleRasterSourcesFromJSON, + SingleVectorMultipleRasterSourcesFromJSONTyped, + SingleVectorMultipleRasterSourcesToJSON, + SingleVectorMultipleRasterSourcesToJSONTyped, +} from './SingleVectorMultipleRasterSources'; +import type { RasterVectorJoinParameters } from './RasterVectorJoinParameters'; +import { + RasterVectorJoinParametersFromJSON, + RasterVectorJoinParametersFromJSONTyped, + RasterVectorJoinParametersToJSON, + RasterVectorJoinParametersToJSONTyped, +} from './RasterVectorJoinParameters'; + +/** + * The `RasterVectorJoin` operator allows combining a single vector input and multiple raster inputs. + * For each raster input, a new column is added to the collection from the vector input. + * The new column contains the value of the raster at the location of the vector feature. + * For features covering multiple pixels like `MultiPoints` or `MultiPolygons`, the value is calculated using an aggregation function selected by the user. + * The same is true if the temporal extent of a vector feature covers multiple raster time steps. + * More details are described below. + * + * **Example**: + * You have a collection of agricultural fields (`Polygons`) and a collection of raster images containing each pixel's monthly NDVI value. + * For your application, you want to know the NDVI value of each field. + * The `RasterVectorJoin` operator allows you to combine the vector and raster data and offers multiple spatial and temporal aggregation strategies. + * For example, you can use the `first` aggregation function to get the NDVI value of the first pixel that intersects with each field. + * This is useful for exploratory analysis since the computation is very fast. + * To calculate the mean NDVI value of all pixels that intersect with the field you should use the `mean` aggregation function. + * Since the NDVI data is a monthly time series, you have to specify the temporal aggregation function as well. + * The default is `none` which will create a new feature for each month. + * Other options are `first` and `mean` which will calculate the first or mean NDVI value for each field over time. + * + * ## Inputs + * + * The `RasterVectorJoin` operator expects one _vector_ input and one or more _raster_ inputs. + * + * | Parameter | Type | + * | --------- | ----------------------------------- | + * | `sources` | `SingleVectorMultipleRasterSources` | + * + * ## Errors + * + * If the length of `names` is not equal to the number of raster inputs, an error is thrown. + * + * @export + * @interface RasterVectorJoin + */ +export interface RasterVectorJoin { + /** + * + * @type {RasterVectorJoinParameters} + * @memberof RasterVectorJoin + */ + params: RasterVectorJoinParameters; + /** + * + * @type {SingleVectorMultipleRasterSources} + * @memberof RasterVectorJoin + */ + sources: SingleVectorMultipleRasterSources; + /** + * + * @type {RasterVectorJoinTypeEnum} + * @memberof RasterVectorJoin + */ + type: RasterVectorJoinTypeEnum; +} + + +/** + * @export + */ +export const RasterVectorJoinTypeEnum = { + RasterVectorJoin: 'RasterVectorJoin' +} as const; +export type RasterVectorJoinTypeEnum = typeof RasterVectorJoinTypeEnum[keyof typeof RasterVectorJoinTypeEnum]; + + +/** + * Check if a given object implements the RasterVectorJoin interface. + */ +export function instanceOfRasterVectorJoin(value: object): value is RasterVectorJoin { + if (!('params' in value) || value['params'] === undefined) return false; + if (!('sources' in value) || value['sources'] === undefined) return false; + if (!('type' in value) || value['type'] === undefined) return false; + return true; +} + +export function RasterVectorJoinFromJSON(json: any): RasterVectorJoin { + return RasterVectorJoinFromJSONTyped(json, false); +} + +export function RasterVectorJoinFromJSONTyped(json: any, ignoreDiscriminator: boolean): RasterVectorJoin { + if (json == null) { + return json; + } + return { + + 'params': RasterVectorJoinParametersFromJSON(json['params']), + 'sources': SingleVectorMultipleRasterSourcesFromJSON(json['sources']), + 'type': json['type'], + }; +} + +export function RasterVectorJoinToJSON(json: any): RasterVectorJoin { + return RasterVectorJoinToJSONTyped(json, false); +} + +export function RasterVectorJoinToJSONTyped(value?: RasterVectorJoin | null, ignoreDiscriminator: boolean = false): any { + if (value == null) { + return value; + } + + return { + + 'params': RasterVectorJoinParametersToJSON(value['params']), + 'sources': SingleVectorMultipleRasterSourcesToJSON(value['sources']), + 'type': value['type'], + }; +} + diff --git a/typescript/src/models/RasterVectorJoinParameters.ts b/typescript/src/models/RasterVectorJoinParameters.ts new file mode 100644 index 00000000..213d8136 --- /dev/null +++ b/typescript/src/models/RasterVectorJoinParameters.ts @@ -0,0 +1,131 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Geo Engine API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { mapValues } from '../runtime'; +import type { ColumnNames } from './ColumnNames'; +import { + ColumnNamesFromJSON, + ColumnNamesFromJSONTyped, + ColumnNamesToJSON, + ColumnNamesToJSONTyped, +} from './ColumnNames'; +import type { TemporalAggregationMethod } from './TemporalAggregationMethod'; +import { + TemporalAggregationMethodFromJSON, + TemporalAggregationMethodFromJSONTyped, + TemporalAggregationMethodToJSON, + TemporalAggregationMethodToJSONTyped, +} from './TemporalAggregationMethod'; +import type { FeatureAggregationMethod } from './FeatureAggregationMethod'; +import { + FeatureAggregationMethodFromJSON, + FeatureAggregationMethodFromJSONTyped, + FeatureAggregationMethodToJSON, + FeatureAggregationMethodToJSONTyped, +} from './FeatureAggregationMethod'; + +/** + * + * @export + * @interface RasterVectorJoinParameters + */ +export interface RasterVectorJoinParameters { + /** + * The aggregation function to use for features covering multiple pixels. + * @type {FeatureAggregationMethod} + * @memberof RasterVectorJoinParameters + */ + featureAggregation: FeatureAggregationMethod; + /** + * Whether to ignore no data values in the aggregation. Defaults to `false`. + * @type {boolean} + * @memberof RasterVectorJoinParameters + */ + featureAggregationIgnoreNoData?: boolean; + /** + * Specify how the new column names are derived from the raster band names. + * + * The `ColumnNames` type is used to specify how the new column names are derived from the raster band names. + * + * - **default**: Appends " (n)" to the band name with the smallest `n` that avoids a conflict. + * - **suffix**: Specifies a suffix for each input, to be appended to the band names. + * - **rename**: A list of names for each new column. + * + * @type {ColumnNames} + * @memberof RasterVectorJoinParameters + */ + names: ColumnNames; + /** + * The aggregation function to use for features covering multiple (raster) time steps. + * @type {TemporalAggregationMethod} + * @memberof RasterVectorJoinParameters + */ + temporalAggregation: TemporalAggregationMethod; + /** + * Whether to ignore no data values in the aggregation. Defaults to `false`. + * @type {boolean} + * @memberof RasterVectorJoinParameters + */ + temporalAggregationIgnoreNoData?: boolean; +} + + + +/** + * Check if a given object implements the RasterVectorJoinParameters interface. + */ +export function instanceOfRasterVectorJoinParameters(value: object): value is RasterVectorJoinParameters { + if (!('featureAggregation' in value) || value['featureAggregation'] === undefined) return false; + if (!('names' in value) || value['names'] === undefined) return false; + if (!('temporalAggregation' in value) || value['temporalAggregation'] === undefined) return false; + return true; +} + +export function RasterVectorJoinParametersFromJSON(json: any): RasterVectorJoinParameters { + return RasterVectorJoinParametersFromJSONTyped(json, false); +} + +export function RasterVectorJoinParametersFromJSONTyped(json: any, ignoreDiscriminator: boolean): RasterVectorJoinParameters { + if (json == null) { + return json; + } + return { + + 'featureAggregation': FeatureAggregationMethodFromJSON(json['featureAggregation']), + 'featureAggregationIgnoreNoData': json['featureAggregationIgnoreNoData'] == null ? undefined : json['featureAggregationIgnoreNoData'], + 'names': ColumnNamesFromJSON(json['names']), + 'temporalAggregation': TemporalAggregationMethodFromJSON(json['temporalAggregation']), + 'temporalAggregationIgnoreNoData': json['temporalAggregationIgnoreNoData'] == null ? undefined : json['temporalAggregationIgnoreNoData'], + }; +} + +export function RasterVectorJoinParametersToJSON(json: any): RasterVectorJoinParameters { + return RasterVectorJoinParametersToJSONTyped(json, false); +} + +export function RasterVectorJoinParametersToJSONTyped(value?: RasterVectorJoinParameters | null, ignoreDiscriminator: boolean = false): any { + if (value == null) { + return value; + } + + return { + + 'featureAggregation': FeatureAggregationMethodToJSON(value['featureAggregation']), + 'featureAggregationIgnoreNoData': value['featureAggregationIgnoreNoData'], + 'names': ColumnNamesToJSON(value['names']), + 'temporalAggregation': TemporalAggregationMethodToJSON(value['temporalAggregation']), + 'temporalAggregationIgnoreNoData': value['temporalAggregationIgnoreNoData'], + }; +} + diff --git a/typescript/src/models/SingleRasterOrVectorOperator.ts b/typescript/src/models/SingleRasterOrVectorOperator.ts new file mode 100644 index 00000000..395a601f --- /dev/null +++ b/typescript/src/models/SingleRasterOrVectorOperator.ts @@ -0,0 +1,76 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Geo Engine API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import type { RasterOperator } from './RasterOperator'; +import { + instanceOfRasterOperator, + RasterOperatorFromJSON, + RasterOperatorFromJSONTyped, + RasterOperatorToJSON, +} from './RasterOperator'; +import type { VectorOperator } from './VectorOperator'; +import { + instanceOfVectorOperator, + VectorOperatorFromJSON, + VectorOperatorFromJSONTyped, + VectorOperatorToJSON, +} from './VectorOperator'; + +/** + * @type SingleRasterOrVectorOperator + * It is either a set of `RasterOperator` or a single `VectorOperator` + * @export + */ +export type SingleRasterOrVectorOperator = RasterOperator | VectorOperator; + +export function SingleRasterOrVectorOperatorFromJSON(json: any): SingleRasterOrVectorOperator { + return SingleRasterOrVectorOperatorFromJSONTyped(json, false); +} + +export function SingleRasterOrVectorOperatorFromJSONTyped(json: any, ignoreDiscriminator: boolean): SingleRasterOrVectorOperator { + if (json == null) { + return json; + } + if (typeof json !== 'object') { + return json; + } + if (instanceOfRasterOperator(json)) { + return RasterOperatorFromJSONTyped(json, true); + } + if (instanceOfVectorOperator(json)) { + return VectorOperatorFromJSONTyped(json, true); + } + return {} as any; +} + +export function SingleRasterOrVectorOperatorToJSON(json: any): any { + return SingleRasterOrVectorOperatorToJSONTyped(json, false); +} + +export function SingleRasterOrVectorOperatorToJSONTyped(value?: SingleRasterOrVectorOperator | null, ignoreDiscriminator: boolean = false): any { + if (value == null) { + return value; + } + if (typeof value !== 'object') { + return value; + } + if (instanceOfRasterOperator(value)) { + return RasterOperatorToJSON(value as RasterOperator); + } + if (instanceOfVectorOperator(value)) { + return VectorOperatorToJSON(value as VectorOperator); + } + return {}; +} + diff --git a/typescript/src/models/SingleRasterOrVectorSource.ts b/typescript/src/models/SingleRasterOrVectorSource.ts new file mode 100644 index 00000000..7747912a --- /dev/null +++ b/typescript/src/models/SingleRasterOrVectorSource.ts @@ -0,0 +1,74 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Geo Engine API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { mapValues } from '../runtime'; +import type { SingleRasterOrVectorOperator } from './SingleRasterOrVectorOperator'; +import { + SingleRasterOrVectorOperatorFromJSON, + SingleRasterOrVectorOperatorFromJSONTyped, + SingleRasterOrVectorOperatorToJSON, + SingleRasterOrVectorOperatorToJSONTyped, +} from './SingleRasterOrVectorOperator'; + +/** + * A single vector operator or a single raster operators as source for this operator. + * @export + * @interface SingleRasterOrVectorSource + */ +export interface SingleRasterOrVectorSource { + /** + * + * @type {SingleRasterOrVectorOperator} + * @memberof SingleRasterOrVectorSource + */ + source: SingleRasterOrVectorOperator; +} + +/** + * Check if a given object implements the SingleRasterOrVectorSource interface. + */ +export function instanceOfSingleRasterOrVectorSource(value: object): value is SingleRasterOrVectorSource { + if (!('source' in value) || value['source'] === undefined) return false; + return true; +} + +export function SingleRasterOrVectorSourceFromJSON(json: any): SingleRasterOrVectorSource { + return SingleRasterOrVectorSourceFromJSONTyped(json, false); +} + +export function SingleRasterOrVectorSourceFromJSONTyped(json: any, ignoreDiscriminator: boolean): SingleRasterOrVectorSource { + if (json == null) { + return json; + } + return { + + 'source': SingleRasterOrVectorOperatorFromJSON(json['source']), + }; +} + +export function SingleRasterOrVectorSourceToJSON(json: any): SingleRasterOrVectorSource { + return SingleRasterOrVectorSourceToJSONTyped(json, false); +} + +export function SingleRasterOrVectorSourceToJSONTyped(value?: SingleRasterOrVectorSource | null, ignoreDiscriminator: boolean = false): any { + if (value == null) { + return value; + } + + return { + + 'source': SingleRasterOrVectorOperatorToJSON(value['source']), + }; +} + diff --git a/typescript/src/models/SingleRasterSource.ts b/typescript/src/models/SingleRasterSource.ts new file mode 100644 index 00000000..923d7e35 --- /dev/null +++ b/typescript/src/models/SingleRasterSource.ts @@ -0,0 +1,74 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Geo Engine API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { mapValues } from '../runtime'; +import type { RasterOperator } from './RasterOperator'; +import { + RasterOperatorFromJSON, + RasterOperatorFromJSONTyped, + RasterOperatorToJSON, + RasterOperatorToJSONTyped, +} from './RasterOperator'; + +/** + * A single raster operator as a source for this operator. + * @export + * @interface SingleRasterSource + */ +export interface SingleRasterSource { + /** + * + * @type {RasterOperator} + * @memberof SingleRasterSource + */ + raster: RasterOperator; +} + +/** + * Check if a given object implements the SingleRasterSource interface. + */ +export function instanceOfSingleRasterSource(value: object): value is SingleRasterSource { + if (!('raster' in value) || value['raster'] === undefined) return false; + return true; +} + +export function SingleRasterSourceFromJSON(json: any): SingleRasterSource { + return SingleRasterSourceFromJSONTyped(json, false); +} + +export function SingleRasterSourceFromJSONTyped(json: any, ignoreDiscriminator: boolean): SingleRasterSource { + if (json == null) { + return json; + } + return { + + 'raster': RasterOperatorFromJSON(json['raster']), + }; +} + +export function SingleRasterSourceToJSON(json: any): SingleRasterSource { + return SingleRasterSourceToJSONTyped(json, false); +} + +export function SingleRasterSourceToJSONTyped(value?: SingleRasterSource | null, ignoreDiscriminator: boolean = false): any { + if (value == null) { + return value; + } + + return { + + 'raster': RasterOperatorToJSON(value['raster']), + }; +} + diff --git a/typescript/src/models/SingleVectorMultipleRasterSources.ts b/typescript/src/models/SingleVectorMultipleRasterSources.ts new file mode 100644 index 00000000..c02570d2 --- /dev/null +++ b/typescript/src/models/SingleVectorMultipleRasterSources.ts @@ -0,0 +1,90 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Geo Engine API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { mapValues } from '../runtime'; +import type { RasterOperator } from './RasterOperator'; +import { + RasterOperatorFromJSON, + RasterOperatorFromJSONTyped, + RasterOperatorToJSON, + RasterOperatorToJSONTyped, +} from './RasterOperator'; +import type { VectorOperator } from './VectorOperator'; +import { + VectorOperatorFromJSON, + VectorOperatorFromJSONTyped, + VectorOperatorToJSON, + VectorOperatorToJSONTyped, +} from './VectorOperator'; + +/** + * A single vector operator and one or more raster operators as source for this operator. + * @export + * @interface SingleVectorMultipleRasterSources + */ +export interface SingleVectorMultipleRasterSources { + /** + * + * @type {Array} + * @memberof SingleVectorMultipleRasterSources + */ + rasters: Array; + /** + * + * @type {VectorOperator} + * @memberof SingleVectorMultipleRasterSources + */ + vector: VectorOperator; +} + +/** + * Check if a given object implements the SingleVectorMultipleRasterSources interface. + */ +export function instanceOfSingleVectorMultipleRasterSources(value: object): value is SingleVectorMultipleRasterSources { + if (!('rasters' in value) || value['rasters'] === undefined) return false; + if (!('vector' in value) || value['vector'] === undefined) return false; + return true; +} + +export function SingleVectorMultipleRasterSourcesFromJSON(json: any): SingleVectorMultipleRasterSources { + return SingleVectorMultipleRasterSourcesFromJSONTyped(json, false); +} + +export function SingleVectorMultipleRasterSourcesFromJSONTyped(json: any, ignoreDiscriminator: boolean): SingleVectorMultipleRasterSources { + if (json == null) { + return json; + } + return { + + 'rasters': ((json['rasters'] as Array).map(RasterOperatorFromJSON)), + 'vector': VectorOperatorFromJSON(json['vector']), + }; +} + +export function SingleVectorMultipleRasterSourcesToJSON(json: any): SingleVectorMultipleRasterSources { + return SingleVectorMultipleRasterSourcesToJSONTyped(json, false); +} + +export function SingleVectorMultipleRasterSourcesToJSONTyped(value?: SingleVectorMultipleRasterSources | null, ignoreDiscriminator: boolean = false): any { + if (value == null) { + return value; + } + + return { + + 'rasters': ((value['rasters'] as Array).map(RasterOperatorToJSON)), + 'vector': VectorOperatorToJSON(value['vector']), + }; +} + diff --git a/typescript/src/models/SpatialBoundsDerive.ts b/typescript/src/models/SpatialBoundsDerive.ts new file mode 100644 index 00000000..7575b92a --- /dev/null +++ b/typescript/src/models/SpatialBoundsDerive.ts @@ -0,0 +1,83 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Geo Engine API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import type { SpatialBoundsDeriveBounds } from './SpatialBoundsDeriveBounds'; +import { + instanceOfSpatialBoundsDeriveBounds, + SpatialBoundsDeriveBoundsFromJSON, + SpatialBoundsDeriveBoundsFromJSONTyped, + SpatialBoundsDeriveBoundsToJSON, +} from './SpatialBoundsDeriveBounds'; +import type { SpatialBoundsDeriveDerive } from './SpatialBoundsDeriveDerive'; +import { + instanceOfSpatialBoundsDeriveDerive, + SpatialBoundsDeriveDeriveFromJSON, + SpatialBoundsDeriveDeriveFromJSONTyped, + SpatialBoundsDeriveDeriveToJSON, +} from './SpatialBoundsDeriveDerive'; +import type { SpatialBoundsDeriveNone } from './SpatialBoundsDeriveNone'; +import { + instanceOfSpatialBoundsDeriveNone, + SpatialBoundsDeriveNoneFromJSON, + SpatialBoundsDeriveNoneFromJSONTyped, + SpatialBoundsDeriveNoneToJSON, +} from './SpatialBoundsDeriveNone'; + +/** + * @type SpatialBoundsDerive + * Spatial bounds derivation options for the [`MockPointSource`]. + * @export + */ +export type SpatialBoundsDerive = { type: 'bounds' } & SpatialBoundsDeriveBounds | { type: 'derive' } & SpatialBoundsDeriveDerive | { type: 'none' } & SpatialBoundsDeriveNone; + +export function SpatialBoundsDeriveFromJSON(json: any): SpatialBoundsDerive { + return SpatialBoundsDeriveFromJSONTyped(json, false); +} + +export function SpatialBoundsDeriveFromJSONTyped(json: any, ignoreDiscriminator: boolean): SpatialBoundsDerive { + if (json == null) { + return json; + } + switch (json['type']) { + case 'bounds': + return Object.assign({}, SpatialBoundsDeriveBoundsFromJSONTyped(json, true), { type: 'bounds' } as const); + case 'derive': + return Object.assign({}, SpatialBoundsDeriveDeriveFromJSONTyped(json, true), { type: 'derive' } as const); + case 'none': + return Object.assign({}, SpatialBoundsDeriveNoneFromJSONTyped(json, true), { type: 'none' } as const); + default: + return json; + } +} + +export function SpatialBoundsDeriveToJSON(json: any): any { + return SpatialBoundsDeriveToJSONTyped(json, false); +} + +export function SpatialBoundsDeriveToJSONTyped(value?: SpatialBoundsDerive | null, ignoreDiscriminator: boolean = false): any { + if (value == null) { + return value; + } + switch (value['type']) { + case 'bounds': + return Object.assign({}, SpatialBoundsDeriveBoundsToJSON(value), { type: 'bounds' } as const); + case 'derive': + return Object.assign({}, SpatialBoundsDeriveDeriveToJSON(value), { type: 'derive' } as const); + case 'none': + return Object.assign({}, SpatialBoundsDeriveNoneToJSON(value), { type: 'none' } as const); + default: + return value; + } +} + diff --git a/typescript/src/models/SpatialBoundsDeriveBounds.ts b/typescript/src/models/SpatialBoundsDeriveBounds.ts new file mode 100644 index 00000000..941220a0 --- /dev/null +++ b/typescript/src/models/SpatialBoundsDeriveBounds.ts @@ -0,0 +1,91 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Geo Engine API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { mapValues } from '../runtime'; +import type { Coordinate2D } from './Coordinate2D'; +import { + Coordinate2DFromJSON, + Coordinate2DFromJSONTyped, + Coordinate2DToJSON, + Coordinate2DToJSONTyped, +} from './Coordinate2D'; +import type { BoundingBox2D } from './BoundingBox2D'; +import { + BoundingBox2DFromJSON, + BoundingBox2DFromJSONTyped, + BoundingBox2DToJSON, + BoundingBox2DToJSONTyped, +} from './BoundingBox2D'; + +/** + * + * @export + * @interface SpatialBoundsDeriveBounds + */ +export interface SpatialBoundsDeriveBounds extends BoundingBox2D { + /** + * + * @type {SpatialBoundsDeriveBoundsTypeEnum} + * @memberof SpatialBoundsDeriveBounds + */ + type: SpatialBoundsDeriveBoundsTypeEnum; +} + + +/** + * @export + */ +export const SpatialBoundsDeriveBoundsTypeEnum = { + Bounds: 'bounds' +} as const; +export type SpatialBoundsDeriveBoundsTypeEnum = typeof SpatialBoundsDeriveBoundsTypeEnum[keyof typeof SpatialBoundsDeriveBoundsTypeEnum]; + + +/** + * Check if a given object implements the SpatialBoundsDeriveBounds interface. + */ +export function instanceOfSpatialBoundsDeriveBounds(value: object): value is SpatialBoundsDeriveBounds { + if (!('type' in value) || value['type'] === undefined) return false; + return true; +} + +export function SpatialBoundsDeriveBoundsFromJSON(json: any): SpatialBoundsDeriveBounds { + return SpatialBoundsDeriveBoundsFromJSONTyped(json, false); +} + +export function SpatialBoundsDeriveBoundsFromJSONTyped(json: any, ignoreDiscriminator: boolean): SpatialBoundsDeriveBounds { + if (json == null) { + return json; + } + return { + ...BoundingBox2DFromJSONTyped(json, true), + 'type': json['type'], + }; +} + +export function SpatialBoundsDeriveBoundsToJSON(json: any): SpatialBoundsDeriveBounds { + return SpatialBoundsDeriveBoundsToJSONTyped(json, false); +} + +export function SpatialBoundsDeriveBoundsToJSONTyped(value?: SpatialBoundsDeriveBounds | null, ignoreDiscriminator: boolean = false): any { + if (value == null) { + return value; + } + + return { + ...BoundingBox2DToJSONTyped(value, true), + 'type': value['type'], + }; +} + diff --git a/typescript/src/models/SpatialBoundsDeriveDerive.ts b/typescript/src/models/SpatialBoundsDeriveDerive.ts new file mode 100644 index 00000000..9b1d86f5 --- /dev/null +++ b/typescript/src/models/SpatialBoundsDeriveDerive.ts @@ -0,0 +1,76 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Geo Engine API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { mapValues } from '../runtime'; +/** + * + * @export + * @interface SpatialBoundsDeriveDerive + */ +export interface SpatialBoundsDeriveDerive { + /** + * + * @type {SpatialBoundsDeriveDeriveTypeEnum} + * @memberof SpatialBoundsDeriveDerive + */ + type: SpatialBoundsDeriveDeriveTypeEnum; +} + + +/** + * @export + */ +export const SpatialBoundsDeriveDeriveTypeEnum = { + Derive: 'derive' +} as const; +export type SpatialBoundsDeriveDeriveTypeEnum = typeof SpatialBoundsDeriveDeriveTypeEnum[keyof typeof SpatialBoundsDeriveDeriveTypeEnum]; + + +/** + * Check if a given object implements the SpatialBoundsDeriveDerive interface. + */ +export function instanceOfSpatialBoundsDeriveDerive(value: object): value is SpatialBoundsDeriveDerive { + if (!('type' in value) || value['type'] === undefined) return false; + return true; +} + +export function SpatialBoundsDeriveDeriveFromJSON(json: any): SpatialBoundsDeriveDerive { + return SpatialBoundsDeriveDeriveFromJSONTyped(json, false); +} + +export function SpatialBoundsDeriveDeriveFromJSONTyped(json: any, ignoreDiscriminator: boolean): SpatialBoundsDeriveDerive { + if (json == null) { + return json; + } + return { + + 'type': json['type'], + }; +} + +export function SpatialBoundsDeriveDeriveToJSON(json: any): SpatialBoundsDeriveDerive { + return SpatialBoundsDeriveDeriveToJSONTyped(json, false); +} + +export function SpatialBoundsDeriveDeriveToJSONTyped(value?: SpatialBoundsDeriveDerive | null, ignoreDiscriminator: boolean = false): any { + if (value == null) { + return value; + } + + return { + + 'type': value['type'], + }; +} + diff --git a/typescript/src/models/SpatialBoundsDeriveNone.ts b/typescript/src/models/SpatialBoundsDeriveNone.ts new file mode 100644 index 00000000..623bf1cf --- /dev/null +++ b/typescript/src/models/SpatialBoundsDeriveNone.ts @@ -0,0 +1,76 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Geo Engine API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { mapValues } from '../runtime'; +/** + * + * @export + * @interface SpatialBoundsDeriveNone + */ +export interface SpatialBoundsDeriveNone { + /** + * + * @type {SpatialBoundsDeriveNoneTypeEnum} + * @memberof SpatialBoundsDeriveNone + */ + type: SpatialBoundsDeriveNoneTypeEnum; +} + + +/** + * @export + */ +export const SpatialBoundsDeriveNoneTypeEnum = { + None: 'none' +} as const; +export type SpatialBoundsDeriveNoneTypeEnum = typeof SpatialBoundsDeriveNoneTypeEnum[keyof typeof SpatialBoundsDeriveNoneTypeEnum]; + + +/** + * Check if a given object implements the SpatialBoundsDeriveNone interface. + */ +export function instanceOfSpatialBoundsDeriveNone(value: object): value is SpatialBoundsDeriveNone { + if (!('type' in value) || value['type'] === undefined) return false; + return true; +} + +export function SpatialBoundsDeriveNoneFromJSON(json: any): SpatialBoundsDeriveNone { + return SpatialBoundsDeriveNoneFromJSONTyped(json, false); +} + +export function SpatialBoundsDeriveNoneFromJSONTyped(json: any, ignoreDiscriminator: boolean): SpatialBoundsDeriveNone { + if (json == null) { + return json; + } + return { + + 'type': json['type'], + }; +} + +export function SpatialBoundsDeriveNoneToJSON(json: any): SpatialBoundsDeriveNone { + return SpatialBoundsDeriveNoneToJSONTyped(json, false); +} + +export function SpatialBoundsDeriveNoneToJSONTyped(value?: SpatialBoundsDeriveNone | null, ignoreDiscriminator: boolean = false): any { + if (value == null) { + return value; + } + + return { + + 'type': value['type'], + }; +} + diff --git a/typescript/src/models/SpatialReferenceAuthority.ts b/typescript/src/models/SpatialReferenceAuthority.ts deleted file mode 100644 index 805feb1f..00000000 --- a/typescript/src/models/SpatialReferenceAuthority.ts +++ /dev/null @@ -1,55 +0,0 @@ -/* tslint:disable */ -/* eslint-disable */ -/** - * Geo Engine API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 0.9.0 - * Contact: dev@geoengine.de - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - - -/** - * A spatial reference authority that is part of a spatial reference definition - * @export - */ -export const SpatialReferenceAuthority = { - Epsg: 'EPSG', - SrOrg: 'SR-ORG', - Iau2000: 'IAU2000', - Esri: 'ESRI' -} as const; -export type SpatialReferenceAuthority = typeof SpatialReferenceAuthority[keyof typeof SpatialReferenceAuthority]; - - -export function instanceOfSpatialReferenceAuthority(value: any): boolean { - for (const key in SpatialReferenceAuthority) { - if (Object.prototype.hasOwnProperty.call(SpatialReferenceAuthority, key)) { - if (SpatialReferenceAuthority[key as keyof typeof SpatialReferenceAuthority] === value) { - return true; - } - } - } - return false; -} - -export function SpatialReferenceAuthorityFromJSON(json: any): SpatialReferenceAuthority { - return SpatialReferenceAuthorityFromJSONTyped(json, false); -} - -export function SpatialReferenceAuthorityFromJSONTyped(json: any, ignoreDiscriminator: boolean): SpatialReferenceAuthority { - return json as SpatialReferenceAuthority; -} - -export function SpatialReferenceAuthorityToJSON(value?: SpatialReferenceAuthority | null): any { - return value as any; -} - -export function SpatialReferenceAuthorityToJSONTyped(value: any, ignoreDiscriminator: boolean): SpatialReferenceAuthority { - return value as SpatialReferenceAuthority; -} - diff --git a/typescript/src/models/SpatialResolution.ts b/typescript/src/models/SpatialResolution.ts deleted file mode 100644 index d0edcebe..00000000 --- a/typescript/src/models/SpatialResolution.ts +++ /dev/null @@ -1,75 +0,0 @@ -/* tslint:disable */ -/* eslint-disable */ -/** - * Geo Engine API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 0.9.0 - * Contact: dev@geoengine.de - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - -import { mapValues } from '../runtime'; -/** - * The spatial resolution in SRS units - * @export - * @interface SpatialResolution - */ -export interface SpatialResolution { - /** - * - * @type {number} - * @memberof SpatialResolution - */ - x: number; - /** - * - * @type {number} - * @memberof SpatialResolution - */ - y: number; -} - -/** - * Check if a given object implements the SpatialResolution interface. - */ -export function instanceOfSpatialResolution(value: object): value is SpatialResolution { - if (!('x' in value) || value['x'] === undefined) return false; - if (!('y' in value) || value['y'] === undefined) return false; - return true; -} - -export function SpatialResolutionFromJSON(json: any): SpatialResolution { - return SpatialResolutionFromJSONTyped(json, false); -} - -export function SpatialResolutionFromJSONTyped(json: any, ignoreDiscriminator: boolean): SpatialResolution { - if (json == null) { - return json; - } - return { - - 'x': json['x'], - 'y': json['y'], - }; -} - -export function SpatialResolutionToJSON(json: any): SpatialResolution { - return SpatialResolutionToJSONTyped(json, false); -} - -export function SpatialResolutionToJSONTyped(value?: SpatialResolution | null, ignoreDiscriminator: boolean = false): any { - if (value == null) { - return value; - } - - return { - - 'x': value['x'], - 'y': value['y'], - }; -} - diff --git a/typescript/src/models/Statistics.ts b/typescript/src/models/Statistics.ts new file mode 100644 index 00000000..60e17699 --- /dev/null +++ b/typescript/src/models/Statistics.ts @@ -0,0 +1,172 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Geo Engine API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { mapValues } from '../runtime'; +import type { MultipleRasterOrSingleVectorSource } from './MultipleRasterOrSingleVectorSource'; +import { + MultipleRasterOrSingleVectorSourceFromJSON, + MultipleRasterOrSingleVectorSourceFromJSONTyped, + MultipleRasterOrSingleVectorSourceToJSON, + MultipleRasterOrSingleVectorSourceToJSONTyped, +} from './MultipleRasterOrSingleVectorSource'; +import type { StatisticsParameters } from './StatisticsParameters'; +import { + StatisticsParametersFromJSON, + StatisticsParametersFromJSONTyped, + StatisticsParametersToJSON, + StatisticsParametersToJSONTyped, +} from './StatisticsParameters'; + +/** + * The `Statistics` operator is a _plot operator_ that computes count statistics over + * + * - a selection of numerical columns of a single vector dataset, or + * - multiple raster datasets. + * + * The output is a JSON description. + * + * For instance, you want to get an overview of a raster data source. + * Then, you can use this operator to get basic count statistics. + * + * ## Vector Data + * + * In the case of vector data, the operator generates one statistic for each of the selected numerical attributes. + * The operator returns an error if one of the selected attributes is not numeric. + * + * ## Raster Data + * + * For raster data, the operator generates one statistic for each input raster. + * + * ## Inputs + * + * The operator consumes exactly one _vector_ or multiple _raster_ operators. + * + * | Parameter | Type | + * | --------- | ------------------------------------ | + * | `source` | `MultipleRasterOrSingleVectorSource` | + * + * ## Errors + * + * The operator returns an error in the following cases. + * + * - Vector data: The `attribute` for one of the given `columnNames` is not numeric. + * - Vector data: The `attribute` for one of the given `columnNames` does not exist. + * - Raster data: The length of the `columnNames` parameter does not match the number of input rasters. + * + * ### Example Output + * + * ```json + * { + * "A": { + * "valueCount": 6, + * "validCount": 6, + * "min": 1.0, + * "max": 6.0, + * "mean": 3.5, + * "stddev": 1.707, + * "percentiles": [ + * { + * "percentile": 0.25, + * "value": 2.0 + * }, + * { + * "percentile": 0.5, + * "value": 3.5 + * }, + * { + * "percentile": 0.75, + * "value": 5.0 + * } + * ] + * } + * } + * ``` + * + * @export + * @interface Statistics + */ +export interface Statistics { + /** + * + * @type {StatisticsParameters} + * @memberof Statistics + */ + params: StatisticsParameters; + /** + * + * @type {MultipleRasterOrSingleVectorSource} + * @memberof Statistics + */ + sources: MultipleRasterOrSingleVectorSource; + /** + * + * @type {StatisticsTypeEnum} + * @memberof Statistics + */ + type: StatisticsTypeEnum; +} + + +/** + * @export + */ +export const StatisticsTypeEnum = { + Statistics: 'Statistics' +} as const; +export type StatisticsTypeEnum = typeof StatisticsTypeEnum[keyof typeof StatisticsTypeEnum]; + + +/** + * Check if a given object implements the Statistics interface. + */ +export function instanceOfStatistics(value: object): value is Statistics { + if (!('params' in value) || value['params'] === undefined) return false; + if (!('sources' in value) || value['sources'] === undefined) return false; + if (!('type' in value) || value['type'] === undefined) return false; + return true; +} + +export function StatisticsFromJSON(json: any): Statistics { + return StatisticsFromJSONTyped(json, false); +} + +export function StatisticsFromJSONTyped(json: any, ignoreDiscriminator: boolean): Statistics { + if (json == null) { + return json; + } + return { + + 'params': StatisticsParametersFromJSON(json['params']), + 'sources': MultipleRasterOrSingleVectorSourceFromJSON(json['sources']), + 'type': json['type'], + }; +} + +export function StatisticsToJSON(json: any): Statistics { + return StatisticsToJSONTyped(json, false); +} + +export function StatisticsToJSONTyped(value?: Statistics | null, ignoreDiscriminator: boolean = false): any { + if (value == null) { + return value; + } + + return { + + 'params': StatisticsParametersToJSON(value['params']), + 'sources': MultipleRasterOrSingleVectorSourceToJSON(value['sources']), + 'type': value['type'], + }; +} + diff --git a/typescript/src/models/StatisticsParameters.ts b/typescript/src/models/StatisticsParameters.ts new file mode 100644 index 00000000..cf27aa70 --- /dev/null +++ b/typescript/src/models/StatisticsParameters.ts @@ -0,0 +1,80 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Geo Engine API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { mapValues } from '../runtime'; +/** + * The parameter spec for `Statistics` + * @export + * @interface StatisticsParameters + */ +export interface StatisticsParameters { + /** + * # Vector data + * The names of the attributes to generate statistics for. + * + * # Raster data + * _Optional_: An alias for each input source. + * The operator will automatically name the rasters `Raster-1`, `Raster-2`, … if this parameter is empty. + * If aliases are given, the number of aliases must match the number of input rasters. + * Otherwise an error is returned. + * @type {Array} + * @memberof StatisticsParameters + */ + columnNames?: Array; + /** + * The percentiles to compute for each attribute. + * @type {Array} + * @memberof StatisticsParameters + */ + percentiles?: Array; +} + +/** + * Check if a given object implements the StatisticsParameters interface. + */ +export function instanceOfStatisticsParameters(value: object): value is StatisticsParameters { + return true; +} + +export function StatisticsParametersFromJSON(json: any): StatisticsParameters { + return StatisticsParametersFromJSONTyped(json, false); +} + +export function StatisticsParametersFromJSONTyped(json: any, ignoreDiscriminator: boolean): StatisticsParameters { + if (json == null) { + return json; + } + return { + + 'columnNames': json['columnNames'] == null ? undefined : json['columnNames'], + 'percentiles': json['percentiles'] == null ? undefined : json['percentiles'], + }; +} + +export function StatisticsParametersToJSON(json: any): StatisticsParameters { + return StatisticsParametersToJSONTyped(json, false); +} + +export function StatisticsParametersToJSONTyped(value?: StatisticsParameters | null, ignoreDiscriminator: boolean = false): any { + if (value == null) { + return value; + } + + return { + + 'columnNames': value['columnNames'], + 'percentiles': value['percentiles'], + }; +} + diff --git a/typescript/src/models/Suffix.ts b/typescript/src/models/Suffix.ts new file mode 100644 index 00000000..12672bff --- /dev/null +++ b/typescript/src/models/Suffix.ts @@ -0,0 +1,85 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Geo Engine API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { mapValues } from '../runtime'; +/** + * + * @export + * @interface Suffix + */ +export interface Suffix { + /** + * + * @type {SuffixTypeEnum} + * @memberof Suffix + */ + type: SuffixTypeEnum; + /** + * + * @type {Array} + * @memberof Suffix + */ + values: Array; +} + + +/** + * @export + */ +export const SuffixTypeEnum = { + Suffix: 'suffix' +} as const; +export type SuffixTypeEnum = typeof SuffixTypeEnum[keyof typeof SuffixTypeEnum]; + + +/** + * Check if a given object implements the Suffix interface. + */ +export function instanceOfSuffix(value: object): value is Suffix { + if (!('type' in value) || value['type'] === undefined) return false; + if (!('values' in value) || value['values'] === undefined) return false; + return true; +} + +export function SuffixFromJSON(json: any): Suffix { + return SuffixFromJSONTyped(json, false); +} + +export function SuffixFromJSONTyped(json: any, ignoreDiscriminator: boolean): Suffix { + if (json == null) { + return json; + } + return { + + 'type': json['type'], + 'values': json['values'], + }; +} + +export function SuffixToJSON(json: any): Suffix { + return SuffixToJSONTyped(json, false); +} + +export function SuffixToJSONTyped(value?: Suffix | null, ignoreDiscriminator: boolean = false): any { + if (value == null) { + return value; + } + + return { + + 'type': value['type'], + 'values': value['values'], + }; +} + diff --git a/typescript/src/models/TaskAbortOptions.ts b/typescript/src/models/TaskAbortOptions.ts deleted file mode 100644 index 5830b10a..00000000 --- a/typescript/src/models/TaskAbortOptions.ts +++ /dev/null @@ -1,65 +0,0 @@ -/* tslint:disable */ -/* eslint-disable */ -/** - * Geo Engine API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 0.9.0 - * Contact: dev@geoengine.de - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - -import { mapValues } from '../runtime'; -/** - * - * @export - * @interface TaskAbortOptions - */ -export interface TaskAbortOptions { - /** - * - * @type {boolean} - * @memberof TaskAbortOptions - */ - force?: boolean; -} - -/** - * Check if a given object implements the TaskAbortOptions interface. - */ -export function instanceOfTaskAbortOptions(value: object): value is TaskAbortOptions { - return true; -} - -export function TaskAbortOptionsFromJSON(json: any): TaskAbortOptions { - return TaskAbortOptionsFromJSONTyped(json, false); -} - -export function TaskAbortOptionsFromJSONTyped(json: any, ignoreDiscriminator: boolean): TaskAbortOptions { - if (json == null) { - return json; - } - return { - - 'force': json['force'] == null ? undefined : json['force'], - }; -} - -export function TaskAbortOptionsToJSON(json: any): TaskAbortOptions { - return TaskAbortOptionsToJSONTyped(json, false); -} - -export function TaskAbortOptionsToJSONTyped(value?: TaskAbortOptions | null, ignoreDiscriminator: boolean = false): any { - if (value == null) { - return value; - } - - return { - - 'force': value['force'], - }; -} - diff --git a/typescript/src/models/TaskListOptions.ts b/typescript/src/models/TaskListOptions.ts deleted file mode 100644 index bce73184..00000000 --- a/typescript/src/models/TaskListOptions.ts +++ /dev/null @@ -1,91 +0,0 @@ -/* tslint:disable */ -/* eslint-disable */ -/** - * Geo Engine API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 0.9.0 - * Contact: dev@geoengine.de - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - -import { mapValues } from '../runtime'; -import type { TaskFilter } from './TaskFilter'; -import { - TaskFilterFromJSON, - TaskFilterFromJSONTyped, - TaskFilterToJSON, - TaskFilterToJSONTyped, -} from './TaskFilter'; - -/** - * - * @export - * @interface TaskListOptions - */ -export interface TaskListOptions { - /** - * - * @type {TaskFilter} - * @memberof TaskListOptions - */ - filter?: TaskFilter | null; - /** - * - * @type {number} - * @memberof TaskListOptions - */ - limit?: number; - /** - * - * @type {number} - * @memberof TaskListOptions - */ - offset?: number; -} - - - -/** - * Check if a given object implements the TaskListOptions interface. - */ -export function instanceOfTaskListOptions(value: object): value is TaskListOptions { - return true; -} - -export function TaskListOptionsFromJSON(json: any): TaskListOptions { - return TaskListOptionsFromJSONTyped(json, false); -} - -export function TaskListOptionsFromJSONTyped(json: any, ignoreDiscriminator: boolean): TaskListOptions { - if (json == null) { - return json; - } - return { - - 'filter': json['filter'] == null ? undefined : TaskFilterFromJSON(json['filter']), - 'limit': json['limit'] == null ? undefined : json['limit'], - 'offset': json['offset'] == null ? undefined : json['offset'], - }; -} - -export function TaskListOptionsToJSON(json: any): TaskListOptions { - return TaskListOptionsToJSONTyped(json, false); -} - -export function TaskListOptionsToJSONTyped(value?: TaskListOptions | null, ignoreDiscriminator: boolean = false): any { - if (value == null) { - return value; - } - - return { - - 'filter': TaskFilterToJSON(value['filter']), - 'limit': value['limit'], - 'offset': value['offset'], - }; -} - diff --git a/typescript/src/models/TemporalAggregationMethod.ts b/typescript/src/models/TemporalAggregationMethod.ts new file mode 100644 index 00000000..d0ba5aa0 --- /dev/null +++ b/typescript/src/models/TemporalAggregationMethod.ts @@ -0,0 +1,54 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Geo Engine API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +/** + * + * @export + */ +export const TemporalAggregationMethod = { + None: 'none', + First: 'first', + Mean: 'mean' +} as const; +export type TemporalAggregationMethod = typeof TemporalAggregationMethod[keyof typeof TemporalAggregationMethod]; + + +export function instanceOfTemporalAggregationMethod(value: any): boolean { + for (const key in TemporalAggregationMethod) { + if (Object.prototype.hasOwnProperty.call(TemporalAggregationMethod, key)) { + if (TemporalAggregationMethod[key as keyof typeof TemporalAggregationMethod] === value) { + return true; + } + } + } + return false; +} + +export function TemporalAggregationMethodFromJSON(json: any): TemporalAggregationMethod { + return TemporalAggregationMethodFromJSONTyped(json, false); +} + +export function TemporalAggregationMethodFromJSONTyped(json: any, ignoreDiscriminator: boolean): TemporalAggregationMethod { + return json as TemporalAggregationMethod; +} + +export function TemporalAggregationMethodToJSON(value?: TemporalAggregationMethod | null): any { + return value as any; +} + +export function TemporalAggregationMethodToJSONTyped(value: any, ignoreDiscriminator: boolean): TemporalAggregationMethod { + return value as TemporalAggregationMethod; +} + diff --git a/typescript/src/models/TypedOperator.ts b/typescript/src/models/TypedOperator.ts index 18f04a2e..d7cb55ab 100644 --- a/typescript/src/models/TypedOperator.ts +++ b/typescript/src/models/TypedOperator.ts @@ -12,55 +12,35 @@ * Do not edit the class manually. */ -import { mapValues } from '../runtime'; -import type { TypedOperatorOperator } from './TypedOperatorOperator'; +import type { TypedPlotOperator } from './TypedPlotOperator'; import { - TypedOperatorOperatorFromJSON, - TypedOperatorOperatorFromJSONTyped, - TypedOperatorOperatorToJSON, - TypedOperatorOperatorToJSONTyped, -} from './TypedOperatorOperator'; - -/** - * An enum to differentiate between `Operator` variants - * @export - * @interface TypedOperator - */ -export interface TypedOperator { - /** - * - * @type {TypedOperatorOperator} - * @memberof TypedOperator - */ - operator: TypedOperatorOperator; - /** - * - * @type {TypedOperatorTypeEnum} - * @memberof TypedOperator - */ - type: TypedOperatorTypeEnum; -} - + instanceOfTypedPlotOperator, + TypedPlotOperatorFromJSON, + TypedPlotOperatorFromJSONTyped, + TypedPlotOperatorToJSON, +} from './TypedPlotOperator'; +import type { TypedRasterOperator } from './TypedRasterOperator'; +import { + instanceOfTypedRasterOperator, + TypedRasterOperatorFromJSON, + TypedRasterOperatorFromJSONTyped, + TypedRasterOperatorToJSON, +} from './TypedRasterOperator'; +import type { TypedVectorOperator } from './TypedVectorOperator'; +import { + instanceOfTypedVectorOperator, + TypedVectorOperatorFromJSON, + TypedVectorOperatorFromJSONTyped, + TypedVectorOperatorToJSON, +} from './TypedVectorOperator'; /** + * @type TypedOperator + * Operator outputs are distinguished by their data type. + * There are `raster`, `vector` and `plot` operators. * @export */ -export const TypedOperatorTypeEnum = { - Vector: 'Vector', - Raster: 'Raster', - Plot: 'Plot' -} as const; -export type TypedOperatorTypeEnum = typeof TypedOperatorTypeEnum[keyof typeof TypedOperatorTypeEnum]; - - -/** - * Check if a given object implements the TypedOperator interface. - */ -export function instanceOfTypedOperator(value: object): value is TypedOperator { - if (!('operator' in value) || value['operator'] === undefined) return false; - if (!('type' in value) || value['type'] === undefined) return false; - return true; -} +export type TypedOperator = TypedPlotOperator | TypedRasterOperator | TypedVectorOperator; export function TypedOperatorFromJSON(json: any): TypedOperator { return TypedOperatorFromJSONTyped(json, false); @@ -70,14 +50,22 @@ export function TypedOperatorFromJSONTyped(json: any, ignoreDiscriminator: boole if (json == null) { return json; } - return { - - 'operator': TypedOperatorOperatorFromJSON(json['operator']), - 'type': json['type'], - }; + if (typeof json !== 'object') { + return json; + } + if (instanceOfTypedPlotOperator(json)) { + return TypedPlotOperatorFromJSONTyped(json, true); + } + if (instanceOfTypedRasterOperator(json)) { + return TypedRasterOperatorFromJSONTyped(json, true); + } + if (instanceOfTypedVectorOperator(json)) { + return TypedVectorOperatorFromJSONTyped(json, true); + } + return {} as any; } -export function TypedOperatorToJSON(json: any): TypedOperator { +export function TypedOperatorToJSON(json: any): any { return TypedOperatorToJSONTyped(json, false); } @@ -85,11 +73,27 @@ export function TypedOperatorToJSONTyped(value?: TypedOperator | null, ignoreDis if (value == null) { return value; } - - return { - - 'operator': TypedOperatorOperatorToJSON(value['operator']), - 'type': value['type'], - }; + if (typeof value !== 'object') { + return value; + } + if (instanceOfTypedPlotOperator(value)) { + return TypedPlotOperatorToJSON(value as TypedPlotOperator); + } + if (instanceOfTypedRasterOperator(value)) { + return TypedRasterOperatorToJSON(value as TypedRasterOperator); + } + if (instanceOfTypedVectorOperator(value)) { + return TypedVectorOperatorToJSON(value as TypedVectorOperator); + } + return {}; } + +/** +* Check if a given object implements the TypedOperator interface. +*/ +export function instanceOfTypedOperator(value: object): value is TypedOperator { + return instanceOfTypedPlotOperator(value) + || instanceOfTypedRasterOperator(value) + || instanceOfTypedVectorOperator(value); +} diff --git a/typescript/src/models/TypedPlotOperator.ts b/typescript/src/models/TypedPlotOperator.ts new file mode 100644 index 00000000..bef7d056 --- /dev/null +++ b/typescript/src/models/TypedPlotOperator.ts @@ -0,0 +1,93 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Geo Engine API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { mapValues } from '../runtime'; +import type { PlotOperator } from './PlotOperator'; +import { + PlotOperatorFromJSON, + PlotOperatorFromJSONTyped, + PlotOperatorToJSON, + PlotOperatorToJSONTyped, +} from './PlotOperator'; + +/** + * + * @export + * @interface TypedPlotOperator + */ +export interface TypedPlotOperator { + /** + * + * @type {PlotOperator} + * @memberof TypedPlotOperator + */ + operator: PlotOperator; + /** + * + * @type {TypedPlotOperatorTypeEnum} + * @memberof TypedPlotOperator + */ + type: TypedPlotOperatorTypeEnum; +} + + +/** + * @export + */ +export const TypedPlotOperatorTypeEnum = { + Plot: 'Plot' +} as const; +export type TypedPlotOperatorTypeEnum = typeof TypedPlotOperatorTypeEnum[keyof typeof TypedPlotOperatorTypeEnum]; + + +/** + * Check if a given object implements the TypedPlotOperator interface. + */ +export function instanceOfTypedPlotOperator(value: object): value is TypedPlotOperator { + if (!('operator' in value) || value['operator'] === undefined) return false; + if (!('type' in value) || value['type'] === undefined) return false; + return true; +} + +export function TypedPlotOperatorFromJSON(json: any): TypedPlotOperator { + return TypedPlotOperatorFromJSONTyped(json, false); +} + +export function TypedPlotOperatorFromJSONTyped(json: any, ignoreDiscriminator: boolean): TypedPlotOperator { + if (json == null) { + return json; + } + return { + + 'operator': PlotOperatorFromJSON(json['operator']), + 'type': json['type'], + }; +} + +export function TypedPlotOperatorToJSON(json: any): TypedPlotOperator { + return TypedPlotOperatorToJSONTyped(json, false); +} + +export function TypedPlotOperatorToJSONTyped(value?: TypedPlotOperator | null, ignoreDiscriminator: boolean = false): any { + if (value == null) { + return value; + } + + return { + + 'operator': PlotOperatorToJSON(value['operator']), + 'type': value['type'], + }; +} + diff --git a/typescript/src/models/TypedRasterOperator.ts b/typescript/src/models/TypedRasterOperator.ts new file mode 100644 index 00000000..66449ae9 --- /dev/null +++ b/typescript/src/models/TypedRasterOperator.ts @@ -0,0 +1,93 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Geo Engine API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { mapValues } from '../runtime'; +import type { RasterOperator } from './RasterOperator'; +import { + RasterOperatorFromJSON, + RasterOperatorFromJSONTyped, + RasterOperatorToJSON, + RasterOperatorToJSONTyped, +} from './RasterOperator'; + +/** + * + * @export + * @interface TypedRasterOperator + */ +export interface TypedRasterOperator { + /** + * + * @type {RasterOperator} + * @memberof TypedRasterOperator + */ + operator: RasterOperator; + /** + * + * @type {TypedRasterOperatorTypeEnum} + * @memberof TypedRasterOperator + */ + type: TypedRasterOperatorTypeEnum; +} + + +/** + * @export + */ +export const TypedRasterOperatorTypeEnum = { + Raster: 'Raster' +} as const; +export type TypedRasterOperatorTypeEnum = typeof TypedRasterOperatorTypeEnum[keyof typeof TypedRasterOperatorTypeEnum]; + + +/** + * Check if a given object implements the TypedRasterOperator interface. + */ +export function instanceOfTypedRasterOperator(value: object): value is TypedRasterOperator { + if (!('operator' in value) || value['operator'] === undefined) return false; + if (!('type' in value) || value['type'] === undefined) return false; + return true; +} + +export function TypedRasterOperatorFromJSON(json: any): TypedRasterOperator { + return TypedRasterOperatorFromJSONTyped(json, false); +} + +export function TypedRasterOperatorFromJSONTyped(json: any, ignoreDiscriminator: boolean): TypedRasterOperator { + if (json == null) { + return json; + } + return { + + 'operator': RasterOperatorFromJSON(json['operator']), + 'type': json['type'], + }; +} + +export function TypedRasterOperatorToJSON(json: any): TypedRasterOperator { + return TypedRasterOperatorToJSONTyped(json, false); +} + +export function TypedRasterOperatorToJSONTyped(value?: TypedRasterOperator | null, ignoreDiscriminator: boolean = false): any { + if (value == null) { + return value; + } + + return { + + 'operator': RasterOperatorToJSON(value['operator']), + 'type': value['type'], + }; +} + diff --git a/typescript/src/models/TypedVectorOperator.ts b/typescript/src/models/TypedVectorOperator.ts new file mode 100644 index 00000000..98a0b33a --- /dev/null +++ b/typescript/src/models/TypedVectorOperator.ts @@ -0,0 +1,93 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Geo Engine API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { mapValues } from '../runtime'; +import type { VectorOperator } from './VectorOperator'; +import { + VectorOperatorFromJSON, + VectorOperatorFromJSONTyped, + VectorOperatorToJSON, + VectorOperatorToJSONTyped, +} from './VectorOperator'; + +/** + * + * @export + * @interface TypedVectorOperator + */ +export interface TypedVectorOperator { + /** + * + * @type {VectorOperator} + * @memberof TypedVectorOperator + */ + operator: VectorOperator; + /** + * + * @type {TypedVectorOperatorTypeEnum} + * @memberof TypedVectorOperator + */ + type: TypedVectorOperatorTypeEnum; +} + + +/** + * @export + */ +export const TypedVectorOperatorTypeEnum = { + Vector: 'Vector' +} as const; +export type TypedVectorOperatorTypeEnum = typeof TypedVectorOperatorTypeEnum[keyof typeof TypedVectorOperatorTypeEnum]; + + +/** + * Check if a given object implements the TypedVectorOperator interface. + */ +export function instanceOfTypedVectorOperator(value: object): value is TypedVectorOperator { + if (!('operator' in value) || value['operator'] === undefined) return false; + if (!('type' in value) || value['type'] === undefined) return false; + return true; +} + +export function TypedVectorOperatorFromJSON(json: any): TypedVectorOperator { + return TypedVectorOperatorFromJSONTyped(json, false); +} + +export function TypedVectorOperatorFromJSONTyped(json: any, ignoreDiscriminator: boolean): TypedVectorOperator { + if (json == null) { + return json; + } + return { + + 'operator': VectorOperatorFromJSON(json['operator']), + 'type': json['type'], + }; +} + +export function TypedVectorOperatorToJSON(json: any): TypedVectorOperator { + return TypedVectorOperatorToJSONTyped(json, false); +} + +export function TypedVectorOperatorToJSONTyped(value?: TypedVectorOperator | null, ignoreDiscriminator: boolean = false): any { + if (value == null) { + return value; + } + + return { + + 'operator': VectorOperatorToJSON(value['operator']), + 'type': value['type'], + }; +} + diff --git a/typescript/src/models/VectorOperator.ts b/typescript/src/models/VectorOperator.ts new file mode 100644 index 00000000..531e1404 --- /dev/null +++ b/typescript/src/models/VectorOperator.ts @@ -0,0 +1,80 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Geo Engine API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import type { MockPointSource } from './MockPointSource'; +import { + instanceOfMockPointSource, + MockPointSourceFromJSON, + MockPointSourceFromJSONTyped, + MockPointSourceToJSON, +} from './MockPointSource'; +import type { RasterVectorJoin } from './RasterVectorJoin'; +import { + instanceOfRasterVectorJoin, + RasterVectorJoinFromJSON, + RasterVectorJoinFromJSONTyped, + RasterVectorJoinToJSON, +} from './RasterVectorJoin'; + +/** + * @type VectorOperator + * An operator that produces vector data. + * @export + */ +export type VectorOperator = { type: 'MockPointSource' } & MockPointSource | { type: 'RasterVectorJoin' } & RasterVectorJoin; + +export function VectorOperatorFromJSON(json: any): VectorOperator { + return VectorOperatorFromJSONTyped(json, false); +} + +export function VectorOperatorFromJSONTyped(json: any, ignoreDiscriminator: boolean): VectorOperator { + if (json == null) { + return json; + } + switch (json['type']) { + case 'MockPointSource': + return Object.assign({}, MockPointSourceFromJSONTyped(json, true), { type: 'MockPointSource' } as const); + case 'RasterVectorJoin': + return Object.assign({}, RasterVectorJoinFromJSONTyped(json, true), { type: 'RasterVectorJoin' } as const); + default: + return json; + } +} + +export function VectorOperatorToJSON(json: any): any { + return VectorOperatorToJSONTyped(json, false); +} + +export function VectorOperatorToJSONTyped(value?: VectorOperator | null, ignoreDiscriminator: boolean = false): any { + if (value == null) { + return value; + } + switch (value['type']) { + case 'MockPointSource': + return Object.assign({}, MockPointSourceToJSON(value), { type: 'MockPointSource' } as const); + case 'RasterVectorJoin': + return Object.assign({}, RasterVectorJoinToJSON(value), { type: 'RasterVectorJoin' } as const); + default: + return value; + } +} + + +/** +* Check if a given object implements the VectorOperator interface. +*/ +export function instanceOfVectorOperator(value: object): value is VectorOperator { + return instanceOfMockPointSource(value) + || instanceOfRasterVectorJoin(value); +} diff --git a/typescript/src/models/WcsBoundingbox.ts b/typescript/src/models/WcsBoundingbox.ts deleted file mode 100644 index 8d5f6471..00000000 --- a/typescript/src/models/WcsBoundingbox.ts +++ /dev/null @@ -1,74 +0,0 @@ -/* tslint:disable */ -/* eslint-disable */ -/** - * Geo Engine API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 0.9.0 - * Contact: dev@geoengine.de - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - -import { mapValues } from '../runtime'; -/** - * - * @export - * @interface WcsBoundingbox - */ -export interface WcsBoundingbox { - /** - * - * @type {Array} - * @memberof WcsBoundingbox - */ - bbox: Array; - /** - * - * @type {string} - * @memberof WcsBoundingbox - */ - spatialReference?: string | null; -} - -/** - * Check if a given object implements the WcsBoundingbox interface. - */ -export function instanceOfWcsBoundingbox(value: object): value is WcsBoundingbox { - if (!('bbox' in value) || value['bbox'] === undefined) return false; - return true; -} - -export function WcsBoundingboxFromJSON(json: any): WcsBoundingbox { - return WcsBoundingboxFromJSONTyped(json, false); -} - -export function WcsBoundingboxFromJSONTyped(json: any, ignoreDiscriminator: boolean): WcsBoundingbox { - if (json == null) { - return json; - } - return { - - 'bbox': json['bbox'], - 'spatialReference': json['spatial_reference'] == null ? undefined : json['spatial_reference'], - }; -} - -export function WcsBoundingboxToJSON(json: any): WcsBoundingbox { - return WcsBoundingboxToJSONTyped(json, false); -} - -export function WcsBoundingboxToJSONTyped(value?: WcsBoundingbox | null, ignoreDiscriminator: boolean = false): any { - if (value == null) { - return value; - } - - return { - - 'bbox': value['bbox'], - 'spatial_reference': value['spatialReference'], - }; -} - diff --git a/typescript/src/models/Workflow.ts b/typescript/src/models/Workflow.ts index 5724c4f8..14302033 100644 --- a/typescript/src/models/Workflow.ts +++ b/typescript/src/models/Workflow.ts @@ -12,55 +12,27 @@ * Do not edit the class manually. */ -import { mapValues } from '../runtime'; -import type { TypedOperatorOperator } from './TypedOperatorOperator'; +import type { LegacyTypedOperator } from './LegacyTypedOperator'; import { - TypedOperatorOperatorFromJSON, - TypedOperatorOperatorFromJSONTyped, - TypedOperatorOperatorToJSON, - TypedOperatorOperatorToJSONTyped, -} from './TypedOperatorOperator'; + instanceOfLegacyTypedOperator, + LegacyTypedOperatorFromJSON, + LegacyTypedOperatorFromJSONTyped, + LegacyTypedOperatorToJSON, +} from './LegacyTypedOperator'; +import type { TypedOperator } from './TypedOperator'; +import { + instanceOfTypedOperator, + TypedOperatorFromJSON, + TypedOperatorFromJSONTyped, + TypedOperatorToJSON, +} from './TypedOperator'; /** + * @type Workflow * * @export - * @interface Workflow */ -export interface Workflow { - /** - * - * @type {TypedOperatorOperator} - * @memberof Workflow - */ - operator: TypedOperatorOperator; - /** - * - * @type {WorkflowTypeEnum} - * @memberof Workflow - */ - type: WorkflowTypeEnum; -} - - -/** - * @export - */ -export const WorkflowTypeEnum = { - Vector: 'Vector', - Raster: 'Raster', - Plot: 'Plot' -} as const; -export type WorkflowTypeEnum = typeof WorkflowTypeEnum[keyof typeof WorkflowTypeEnum]; - - -/** - * Check if a given object implements the Workflow interface. - */ -export function instanceOfWorkflow(value: object): value is Workflow { - if (!('operator' in value) || value['operator'] === undefined) return false; - if (!('type' in value) || value['type'] === undefined) return false; - return true; -} +export type Workflow = LegacyTypedOperator | TypedOperator; export function WorkflowFromJSON(json: any): Workflow { return WorkflowFromJSONTyped(json, false); @@ -70,14 +42,19 @@ export function WorkflowFromJSONTyped(json: any, ignoreDiscriminator: boolean): if (json == null) { return json; } - return { - - 'operator': TypedOperatorOperatorFromJSON(json['operator']), - 'type': json['type'], - }; + if (typeof json !== 'object') { + return json; + } + if (instanceOfLegacyTypedOperator(json)) { + return LegacyTypedOperatorFromJSONTyped(json, true); + } + if (instanceOfTypedOperator(json)) { + return TypedOperatorFromJSONTyped(json, true); + } + return {} as any; } -export function WorkflowToJSON(json: any): Workflow { +export function WorkflowToJSON(json: any): any { return WorkflowToJSONTyped(json, false); } @@ -85,11 +62,15 @@ export function WorkflowToJSONTyped(value?: Workflow | null, ignoreDiscriminator if (value == null) { return value; } - - return { - - 'operator': TypedOperatorOperatorToJSON(value['operator']), - 'type': value['type'], - }; + if (typeof value !== 'object') { + return value; + } + if (instanceOfLegacyTypedOperator(value)) { + return LegacyTypedOperatorToJSON(value as LegacyTypedOperator); + } + if (instanceOfTypedOperator(value)) { + return TypedOperatorToJSON(value as TypedOperator); + } + return {}; } diff --git a/typescript/src/models/index.ts b/typescript/src/models/index.ts index cc760b5e..1acc6f78 100644 --- a/typescript/src/models/index.ts +++ b/typescript/src/models/index.ts @@ -1,7 +1,6 @@ /* tslint:disable */ /* eslint-disable */ export * from './AddDataset'; -export * from './AddDatasetTile'; export * from './AddLayer'; export * from './AddLayerCollection'; export * from './AddRole'; @@ -17,6 +16,7 @@ export * from './CollectionItem'; export * from './CollectionType'; export * from './ColorParam'; export * from './Colorizer'; +export * from './ColumnNames'; export * from './ComputationQuota'; export * from './ContinuousMeasurement'; export * from './Coordinate2D'; @@ -39,13 +39,17 @@ export * from './DatasetLayerListingProviderDefinition'; export * from './DatasetListing'; export * from './DatasetNameResponse'; export * from './DatasetResource'; +export * from './Default'; export * from './DerivedColor'; export * from './DerivedNumber'; export * from './EbvPortalDataProviderDefinition'; export * from './EdrDataProviderDefinition'; export * from './EdrVectorSpec'; export * from './ErrorResponse'; +export * from './Expression'; +export * from './ExpressionParameters'; export * from './ExternalDataId'; +export * from './FeatureAggregationMethod'; export * from './FeatureDataType'; export * from './FileNotFoundHandling'; export * from './FormatSpecifics'; @@ -59,6 +63,8 @@ export * from './GdalMetaDataStatic'; export * from './GdalMetadataMapping'; export * from './GdalMetadataNetCdfCf'; export * from './GdalMultiBand'; +export * from './GdalSource'; +export * from './GdalSourceParameters'; export * from './GdalSourceTimePlaceholder'; export * from './GeoJson'; export * from './GeoTransform'; @@ -68,6 +74,15 @@ export * from './GfbioAbcdDataProviderDefinition'; export * from './GfbioCollectionsDataProviderDefinition'; export * from './GridBoundingBox2D'; export * from './GridIdx2D'; +export * from './Histogram'; +export * from './HistogramBounds'; +export * from './HistogramBoundsOneOf'; +export * from './HistogramBoundsOneOf1'; +export * from './HistogramBoundsOneOf1Values'; +export * from './HistogramBuckets'; +export * from './HistogramBucketsOneOf'; +export * from './HistogramBucketsOneOf1'; +export * from './HistogramParameters'; export * from './IdResponse'; export * from './InternalDataId'; export * from './Layer'; @@ -78,6 +93,8 @@ export * from './LayerListing'; export * from './LayerProviderListing'; export * from './LayerResource'; export * from './LayerVisibility'; +export * from './LegacyTypedOperator'; +export * from './LegacyTypedOperatorOperator'; export * from './LineSymbology'; export * from './LinearGradient'; export * from './LogarithmicGradient'; @@ -95,10 +112,15 @@ export * from './MlModelResource'; export * from './MlTensorShape3D'; export * from './MockDatasetDataSourceLoadingInfo'; export * from './MockMetaData'; +export * from './MockPointSource'; +export * from './MockPointSourceParameters'; export * from './MultiBandRasterColorizer'; export * from './MultiLineString'; export * from './MultiPoint'; export * from './MultiPolygon'; +export * from './MultipleRasterOrSingleVectorOperator'; +export * from './MultipleRasterOrSingleVectorSource'; +export * from './Names'; export * from './NetCdfCfDataProviderDefinition'; export * from './NumberParam'; export * from './OgrMetaData'; @@ -123,10 +145,10 @@ export * from './OrderBy'; export * from './PaletteColorizer'; export * from './PangaeaDataProviderDefinition'; export * from './Permission'; -export * from './PermissionListOptions'; export * from './PermissionListing'; export * from './PermissionRequest'; export * from './Plot'; +export * from './PlotOperator'; export * from './PlotOutputFormat'; export * from './PlotResultDescriptor'; export * from './PointSymbology'; @@ -139,7 +161,6 @@ export * from './ProjectUpdateToken'; export * from './ProjectVersion'; export * from './Provenance'; export * from './ProvenanceEntry'; -export * from './ProvenanceOutput'; export * from './Provenances'; export * from './ProviderCapabilities'; export * from './ProviderLayerCollectionId'; @@ -149,13 +170,15 @@ export * from './RasterBandDescriptor'; export * from './RasterColorizer'; export * from './RasterDataType'; export * from './RasterDatasetFromWorkflow'; -export * from './RasterDatasetFromWorkflowResult'; +export * from './RasterOperator'; export * from './RasterPropertiesEntryType'; export * from './RasterPropertiesKey'; export * from './RasterResultDescriptor'; export * from './RasterStreamWebsocketResultType'; export * from './RasterSymbology'; export * from './RasterToDatasetQueryRectangle'; +export * from './RasterVectorJoin'; +export * from './RasterVectorJoinParameters'; export * from './RegularTimeDimension'; export * from './Resource'; export * from './Role'; @@ -167,23 +190,30 @@ export * from './SearchTypes'; export * from './SentinelS2L2ACogsProviderDefinition'; export * from './ServerInfo'; export * from './SingleBandRasterColorizer'; +export * from './SingleRasterOrVectorOperator'; +export * from './SingleRasterOrVectorSource'; +export * from './SingleRasterSource'; +export * from './SingleVectorMultipleRasterSources'; +export * from './SpatialBoundsDerive'; +export * from './SpatialBoundsDeriveBounds'; +export * from './SpatialBoundsDeriveDerive'; +export * from './SpatialBoundsDeriveNone'; export * from './SpatialGridDefinition'; export * from './SpatialGridDescriptor'; export * from './SpatialGridDescriptorState'; export * from './SpatialPartition2D'; -export * from './SpatialReferenceAuthority'; export * from './SpatialReferenceSpecification'; -export * from './SpatialResolution'; export * from './StacApiRetries'; export * from './StacQueryBuffer'; export * from './StaticColor'; export * from './StaticNumber'; +export * from './Statistics'; +export * from './StatisticsParameters'; export * from './StrokeParam'; +export * from './Suffix'; export * from './SuggestMetaData'; export * from './Symbology'; -export * from './TaskAbortOptions'; export * from './TaskFilter'; -export * from './TaskListOptions'; export * from './TaskResponse'; export * from './TaskStatus'; export * from './TaskStatusAborted'; @@ -191,6 +221,7 @@ export * from './TaskStatusCompleted'; export * from './TaskStatusFailed'; export * from './TaskStatusRunning'; export * from './TaskStatusWithId'; +export * from './TemporalAggregationMethod'; export * from './TextSymbology'; export * from './TimeDescriptor'; export * from './TimeDimension'; @@ -207,10 +238,12 @@ export * from './TypedGeometryOneOf1'; export * from './TypedGeometryOneOf2'; export * from './TypedGeometryOneOf3'; export * from './TypedOperator'; -export * from './TypedOperatorOperator'; +export * from './TypedPlotOperator'; export * from './TypedPlotResultDescriptor'; +export * from './TypedRasterOperator'; export * from './TypedRasterResultDescriptor'; export * from './TypedResultDescriptor'; +export * from './TypedVectorOperator'; export * from './TypedVectorResultDescriptor'; export * from './UnitlessMeasurement'; export * from './UnixTimeStampType'; @@ -229,10 +262,10 @@ export * from './UserSession'; export * from './VecUpdate'; export * from './VectorColumnInfo'; export * from './VectorDataType'; +export * from './VectorOperator'; export * from './VectorResultDescriptor'; export * from './Volume'; export * from './VolumeFileLayersResponse'; -export * from './WcsBoundingbox'; export * from './WcsRequest'; export * from './WcsService'; export * from './WcsVersion'; diff --git a/typescript/src/runtime.ts b/typescript/src/runtime.ts index a442f1fd..a7e5151f 100644 --- a/typescript/src/runtime.ts +++ b/typescript/src/runtime.ts @@ -86,7 +86,7 @@ export class Configuration { export const DefaultConfig = new Configuration({ headers: { - 'User-Agent': 'geoengine/openapi-client/typescript/0.0.32' + 'User-Agent': 'geoengine/openapi-client/typescript/0.0.33' } });