From 3fc0f39a10d4a5895e04bb540d1b47e38f9bab07 Mon Sep 17 00:00:00 2001 From: Christian Beilschmidt Date: Mon, 10 Nov 2025 11:55:08 +0100 Subject: [PATCH 01/19] feat: rust code generation --- .generation/generate.py | 102 +- rust/.gitignore | 3 + rust/.openapi-generator-ignore | 23 + rust/.openapi-generator/FILES | 526 +++++++++ rust/.openapi-generator/VERSION | 1 + rust/.travis.yml | 1 + rust/Cargo.toml | 21 + rust/README.md | 382 +++++++ rust/docs/AddDataset.md | 17 + rust/docs/AddLayer.md | 16 + rust/docs/AddLayerCollection.md | 13 + rust/docs/AddRole.md | 11 + rust/docs/ArunaDataProviderDefinition.md | 20 + rust/docs/AuthCodeRequestUrl.md | 11 + rust/docs/AuthCodeResponse.md | 13 + rust/docs/AutoCreateDataset.md | 16 + rust/docs/AxisOrder.md | 13 + rust/docs/BoundingBox2D.md | 12 + rust/docs/Breakpoint.md | 12 + rust/docs/ClassificationMeasurement.md | 13 + rust/docs/CollectionItem.md | 10 + rust/docs/CollectionType.md | 12 + rust/docs/ColorParam.md | 10 + rust/docs/Colorizer.md | 10 + rust/docs/ComputationQuota.md | 14 + rust/docs/ContinuousMeasurement.md | 13 + rust/docs/Coordinate2D.md | 12 + ...pernicusDataspaceDataProviderDefinition.md | 20 + rust/docs/CreateDataset.md | 12 + rust/docs/CreateProject.md | 14 + rust/docs/CsvHeader.md | 14 + rust/docs/DataId.md | 10 + rust/docs/DataPath.md | 12 + rust/docs/DataPathOneOf.md | 11 + rust/docs/DataPathOneOf1.md | 11 + rust/docs/DataProviderResource.md | 12 + rust/docs/DataUsage.md | 15 + rust/docs/DataUsageSummary.md | 13 + rust/docs/DatabaseConnectionConfig.md | 16 + rust/docs/Dataset.md | 19 + rust/docs/DatasetDefinition.md | 12 + rust/docs/DatasetLayerListingCollection.md | 13 + .../DatasetLayerListingProviderDefinition.md | 16 + rust/docs/DatasetListing.md | 18 + rust/docs/DatasetNameResponse.md | 11 + rust/docs/DatasetResource.md | 12 + rust/docs/DatasetsApi.md | 391 +++++++ rust/docs/DerivedColor.md | 13 + rust/docs/DerivedNumber.md | 14 + rust/docs/DescribeCoverageRequest.md | 12 + rust/docs/EbvPortalDataProviderDefinition.md | 18 + rust/docs/EdrDataProviderDefinition.md | 20 + rust/docs/EdrVectorSpec.md | 13 + rust/docs/ErrorResponse.md | 12 + rust/docs/ExternalDataId.md | 13 + rust/docs/FeatureDataType.md | 17 + rust/docs/FileNotFoundHandling.md | 13 + rust/docs/FormatSpecifics.md | 11 + rust/docs/FormatSpecificsCsv.md | 11 + rust/docs/GbifDataProviderDefinition.md | 18 + rust/docs/GdalDatasetGeoTransform.md | 13 + rust/docs/GdalDatasetParameters.md | 21 + rust/docs/GdalLoadingInfoTemporalSlice.md | 13 + rust/docs/GdalMetaDataList.md | 13 + rust/docs/GdalMetaDataRegular.md | 17 + rust/docs/GdalMetaDataStatic.md | 15 + rust/docs/GdalMetadataMapping.md | 13 + rust/docs/GdalMetadataNetCdfCf.md | 18 + rust/docs/GdalSourceTimePlaceholder.md | 12 + rust/docs/GeneralApi.md | 60 + rust/docs/GeoJson.md | 12 + rust/docs/GetCapabilitiesFormat.md | 12 + rust/docs/GetCapabilitiesRequest.md | 12 + rust/docs/GetCoverageFormat.md | 12 + rust/docs/GetCoverageRequest.md | 12 + rust/docs/GetFeatureRequest.md | 12 + rust/docs/GetLegendGraphicRequest.md | 12 + rust/docs/GetMapExceptionFormat.md | 13 + rust/docs/GetMapFormat.md | 12 + rust/docs/GetMapRequest.md | 12 + rust/docs/GfbioAbcdDataProviderDefinition.md | 16 + .../GfbioCollectionsDataProviderDefinition.md | 19 + rust/docs/IdResponse.md | 11 + rust/docs/InternalDataId.md | 12 + rust/docs/Layer.md | 17 + rust/docs/LayerCollection.md | 16 + rust/docs/LayerCollectionListing.md | 15 + rust/docs/LayerCollectionResource.md | 12 + rust/docs/LayerListing.md | 15 + rust/docs/LayerProviderListing.md | 13 + rust/docs/LayerResource.md | 12 + rust/docs/LayerVisibility.md | 12 + rust/docs/LayersApi.md | 702 ++++++++++++ rust/docs/LineSymbology.md | 14 + rust/docs/LinearGradient.md | 15 + rust/docs/LogarithmicGradient.md | 15 + rust/docs/Measurement.md | 10 + rust/docs/MetaDataDefinition.md | 10 + rust/docs/MetaDataSuggestion.md | 13 + rust/docs/MlApi.md | 92 ++ rust/docs/MlModel.md | 16 + rust/docs/MlModelInputNoDataHandling.md | 12 + .../docs/MlModelInputNoDataHandlingVariant.md | 13 + rust/docs/MlModelMetadata.md | 16 + rust/docs/MlModelNameResponse.md | 11 + rust/docs/MlModelOutputNoDataHandling.md | 12 + .../MlModelOutputNoDataHandlingVariant.md | 13 + rust/docs/MlModelResource.md | 12 + rust/docs/MlTensorShape3D.md | 13 + rust/docs/MockDatasetDataSourceLoadingInfo.md | 11 + rust/docs/MockMetaData.md | 13 + rust/docs/MultiBandRasterColorizer.md | 24 + rust/docs/MultiLineString.md | 11 + rust/docs/MultiPoint.md | 11 + rust/docs/MultiPolygon.md | 11 + rust/docs/NetCdfCfDataProviderDefinition.md | 17 + rust/docs/NumberParam.md | 10 + rust/docs/OgcwcsApi.md | 115 ++ rust/docs/OgcwfsApi.md | 83 ++ rust/docs/OgcwmsApi.md | 120 ++ rust/docs/OgrMetaData.md | 13 + rust/docs/OgrSourceColumnSpec.md | 19 + rust/docs/OgrSourceDataset.md | 22 + rust/docs/OgrSourceDatasetTimeType.md | 10 + rust/docs/OgrSourceDatasetTimeTypeNone.md | 11 + rust/docs/OgrSourceDatasetTimeTypeStart.md | 14 + .../OgrSourceDatasetTimeTypeStartDuration.md | 14 + rust/docs/OgrSourceDatasetTimeTypeStartEnd.md | 15 + rust/docs/OgrSourceDurationSpec.md | 10 + rust/docs/OgrSourceDurationSpecInfinite.md | 11 + rust/docs/OgrSourceDurationSpecValue.md | 13 + rust/docs/OgrSourceDurationSpecZero.md | 11 + rust/docs/OgrSourceErrorSpec.md | 13 + rust/docs/OgrSourceTimeFormat.md | 10 + rust/docs/OgrSourceTimeFormatAuto.md | 11 + rust/docs/OgrSourceTimeFormatCustom.md | 12 + rust/docs/OgrSourceTimeFormatUnixTimeStamp.md | 12 + rust/docs/OperatorQuota.md | 13 + rust/docs/OrderBy.md | 13 + rust/docs/PaletteColorizer.md | 14 + rust/docs/PangaeaDataProviderDefinition.md | 16 + rust/docs/Permission.md | 13 + rust/docs/PermissionListOptions.md | 12 + rust/docs/PermissionListing.md | 13 + rust/docs/PermissionRequest.md | 13 + rust/docs/PermissionsApi.md | 98 ++ rust/docs/Plot.md | 12 + rust/docs/PlotOutputFormat.md | 14 + rust/docs/PlotQueryRectangle.md | 13 + rust/docs/PlotResultDescriptor.md | 13 + rust/docs/PlotsApi.md | 43 + rust/docs/PointSymbology.md | 15 + rust/docs/PolygonSymbology.md | 15 + rust/docs/Project.md | 18 + rust/docs/ProjectLayer.md | 14 + rust/docs/ProjectListing.md | 16 + rust/docs/ProjectResource.md | 12 + rust/docs/ProjectUpdateToken.md | 13 + rust/docs/ProjectVersion.md | 12 + rust/docs/ProjectsApi.md | 215 ++++ rust/docs/Provenance.md | 13 + rust/docs/ProvenanceEntry.md | 12 + rust/docs/ProvenanceOutput.md | 12 + rust/docs/Provenances.md | 11 + rust/docs/ProviderCapabilities.md | 12 + rust/docs/ProviderLayerCollectionId.md | 12 + rust/docs/ProviderLayerId.md | 12 + rust/docs/Quota.md | 12 + rust/docs/RasterBandDescriptor.md | 12 + rust/docs/RasterColorizer.md | 10 + rust/docs/RasterDataType.md | 21 + rust/docs/RasterDatasetFromWorkflow.md | 15 + rust/docs/RasterDatasetFromWorkflowResult.md | 12 + rust/docs/RasterPropertiesEntryType.md | 13 + rust/docs/RasterPropertiesKey.md | 12 + rust/docs/RasterQueryRectangle.md | 13 + rust/docs/RasterResultDescriptor.md | 16 + rust/docs/RasterStreamWebsocketResultType.md | 12 + rust/docs/RasterSymbology.md | 13 + rust/docs/Resource.md | 10 + rust/docs/Role.md | 12 + rust/docs/RoleDescription.md | 12 + rust/docs/SearchCapabilities.md | 13 + rust/docs/SearchType.md | 13 + rust/docs/SearchTypes.md | 12 + .../SentinelS2L2ACogsProviderDefinition.md | 22 + rust/docs/ServerInfo.md | 14 + rust/docs/SessionApi.md | 265 +++++ rust/docs/SingleBandRasterColorizer.md | 13 + rust/docs/SpatialPartition2D.md | 12 + rust/docs/SpatialReferenceAuthority.md | 15 + rust/docs/SpatialReferenceSpecification.md | 16 + rust/docs/SpatialReferencesApi.md | 37 + rust/docs/SpatialResolution.md | 12 + rust/docs/StRectangle.md | 13 + rust/docs/StacApiRetries.md | 13 + rust/docs/StacBand.md | 13 + rust/docs/StacQueryBuffer.md | 12 + rust/docs/StacZone.md | 12 + rust/docs/StaticColor.md | 12 + rust/docs/StaticNumber.md | 12 + rust/docs/StrokeParam.md | 12 + rust/docs/SuggestMetaData.md | 13 + rust/docs/Symbology.md | 10 + rust/docs/TaskAbortOptions.md | 11 + rust/docs/TaskFilter.md | 15 + rust/docs/TaskListOptions.md | 13 + rust/docs/TaskResponse.md | 11 + rust/docs/TaskStatus.md | 10 + rust/docs/TaskStatusAborted.md | 12 + rust/docs/TaskStatusCompleted.md | 16 + rust/docs/TaskStatusFailed.md | 13 + rust/docs/TaskStatusRunning.md | 17 + rust/docs/TaskStatusWithId.md | 21 + rust/docs/TasksApi.md | 100 ++ rust/docs/TextSymbology.md | 13 + rust/docs/TimeGranularity.md | 18 + rust/docs/TimeInterval.md | 12 + rust/docs/TimeReference.md | 13 + rust/docs/TimeStep.md | 12 + rust/docs/TypedDataProviderDefinition.md | 10 + rust/docs/TypedGeometry.md | 14 + rust/docs/TypedGeometryOneOf.md | 11 + rust/docs/TypedGeometryOneOf1.md | 11 + rust/docs/TypedGeometryOneOf2.md | 11 + rust/docs/TypedGeometryOneOf3.md | 11 + rust/docs/TypedOperator.md | 12 + rust/docs/TypedOperatorOperator.md | 13 + rust/docs/TypedPlotResultDescriptor.md | 14 + rust/docs/TypedRasterResultDescriptor.md | 17 + rust/docs/TypedResultDescriptor.md | 10 + rust/docs/TypedVectorResultDescriptor.md | 16 + rust/docs/UnitlessMeasurement.md | 11 + rust/docs/UnixTimeStampType.md | 13 + rust/docs/UpdateDataset.md | 14 + rust/docs/UpdateLayer.md | 16 + rust/docs/UpdateLayerCollection.md | 13 + rust/docs/UpdateProject.md | 17 + rust/docs/UpdateQuota.md | 11 + rust/docs/UploadFileLayersResponse.md | 11 + rust/docs/UploadFilesResponse.md | 11 + rust/docs/UploadsApi.md | 96 ++ rust/docs/UsageSummaryGranularity.md | 16 + rust/docs/UserApi.md | 387 +++++++ rust/docs/UserCredentials.md | 12 + rust/docs/UserInfo.md | 13 + rust/docs/UserRegistration.md | 13 + rust/docs/UserSession.md | 17 + rust/docs/VecUpdate.md | 12 + rust/docs/VectorColumnInfo.md | 12 + rust/docs/VectorDataType.md | 15 + rust/docs/VectorQueryRectangle.md | 13 + rust/docs/VectorResultDescriptor.md | 15 + rust/docs/Volume.md | 12 + rust/docs/VolumeFileLayersResponse.md | 11 + rust/docs/WcsBoundingbox.md | 12 + rust/docs/WcsService.md | 12 + rust/docs/WcsVersion.md | 13 + rust/docs/WfsService.md | 12 + rust/docs/WfsVersion.md | 12 + rust/docs/WildliveDataConnectorDefinition.md | 16 + rust/docs/WmsService.md | 12 + rust/docs/WmsVersion.md | 12 + rust/docs/Workflow.md | 12 + rust/docs/WorkflowsApi.md | 217 ++++ rust/docs/WrappedPlotOutput.md | 13 + rust/git_push.sh | 57 + rust/src/apis/configuration.rs | 51 + rust/src/apis/datasets_api.rs | 608 ++++++++++ rust/src/apis/general_api.rs | 89 ++ rust/src/apis/layers_api.rs | 1013 +++++++++++++++++ rust/src/apis/ml_api.rs | 155 +++ rust/src/apis/mod.rs | 131 +++ rust/src/apis/ogcwcs_api.rs | 199 ++++ rust/src/apis/ogcwfs_api.rs | 161 +++ rust/src/apis/ogcwms_api.rs | 193 ++++ rust/src/apis/permissions_api.rs | 141 +++ rust/src/apis/plots_api.rs | 75 ++ rust/src/apis/projects_api.rs | 324 ++++++ rust/src/apis/session_api.rs | 387 +++++++ rust/src/apis/spatial_references_api.rs | 64 ++ rust/src/apis/tasks_api.rs | 152 +++ rust/src/apis/uploads_api.rs | 160 +++ rust/src/apis/user_api.rs | 588 ++++++++++ rust/src/apis/workflows_api.rs | 331 ++++++ rust/src/lib.rs | 11 + rust/src/models/add_dataset.rs | 45 + rust/src/models/add_layer.rs | 44 + rust/src/models/add_layer_collection.rs | 33 + rust/src/models/add_role.rs | 27 + .../models/aruna_data_provider_definition.rs | 66 ++ rust/src/models/auth_code_request_url.rs | 27 + rust/src/models/auth_code_response.rs | 33 + rust/src/models/auto_create_dataset.rs | 42 + rust/src/models/axis_order.rs | 38 + rust/src/models/bounding_box2_d.rs | 32 + rust/src/models/breakpoint.rs | 30 + rust/src/models/classification_measurement.rs | 45 + rust/src/models/collection_item.rs | 29 + rust/src/models/collection_type.rs | 35 + rust/src/models/color_param.rs | 29 + rust/src/models/colorizer.rs | 32 + rust/src/models/computation_quota.rs | 36 + rust/src/models/continuous_measurement.rs | 45 + rust/src/models/coordinate2_d.rs | 30 + ...icus_dataspace_data_provider_definition.rs | 66 ++ rust/src/models/create_dataset.rs | 30 + rust/src/models/create_project.rs | 36 + rust/src/models/csv_header.rs | 41 + rust/src/models/data_id.rs | 30 + rust/src/models/data_path.rs | 26 + rust/src/models/data_path_one_of.rs | 27 + rust/src/models/data_path_one_of_1.rs | 27 + rust/src/models/data_provider_resource.rs | 42 + rust/src/models/data_usage.rs | 39 + rust/src/models/data_usage_summary.rs | 33 + rust/src/models/database_connection_config.rs | 42 + rust/src/models/dataset.rs | 51 + rust/src/models/dataset_definition.rs | 30 + .../dataset_layer_listing_collection.rs | 33 + ...taset_layer_listing_provider_definition.rs | 54 + rust/src/models/dataset_listing.rs | 48 + rust/src/models/dataset_name_response.rs | 27 + rust/src/models/dataset_resource.rs | 42 + rust/src/models/derived_color.rs | 45 + rust/src/models/derived_number.rs | 48 + rust/src/models/describe_coverage_request.rs | 35 + .../ebv_portal_data_provider_definition.rs | 62 + .../models/edr_data_provider_definition.rs | 67 ++ rust/src/models/edr_vector_spec.rs | 33 + rust/src/models/error_response.rs | 30 + rust/src/models/external_data_id.rs | 45 + rust/src/models/feature_data_type.rs | 50 + rust/src/models/file_not_found_handling.rs | 38 + rust/src/models/format_specifics.rs | 27 + rust/src/models/format_specifics_csv.rs | 27 + .../models/gbif_data_provider_definition.rs | 60 + rust/src/models/gdal_dataset_geo_transform.rs | 33 + rust/src/models/gdal_dataset_parameters.rs | 59 + .../gdal_loading_info_temporal_slice.rs | 35 + rust/src/models/gdal_meta_data_list.rs | 45 + rust/src/models/gdal_meta_data_regular.rs | 57 + rust/src/models/gdal_meta_data_static.rs | 51 + rust/src/models/gdal_metadata_mapping.rs | 33 + rust/src/models/gdal_metadata_net_cdf_cf.rs | 63 + .../models/gdal_source_time_placeholder.rs | 30 + rust/src/models/geo_json.rs | 30 + rust/src/models/get_capabilities_format.rs | 35 + rust/src/models/get_capabilities_request.rs | 35 + rust/src/models/get_coverage_format.rs | 35 + rust/src/models/get_coverage_request.rs | 35 + rust/src/models/get_feature_request.rs | 35 + rust/src/models/get_legend_graphic_request.rs | 35 + rust/src/models/get_map_exception_format.rs | 38 + rust/src/models/get_map_format.rs | 35 + rust/src/models/get_map_request.rs | 35 + .../gfbio_abcd_data_provider_definition.rs | 54 + ...io_collections_data_provider_definition.rs | 63 + rust/src/models/id_response.rs | 27 + rust/src/models/internal_data_id.rs | 42 + rust/src/models/layer.rs | 47 + rust/src/models/layer_collection.rs | 43 + rust/src/models/layer_collection_listing.rs | 51 + rust/src/models/layer_collection_resource.rs | 42 + rust/src/models/layer_listing.rs | 52 + rust/src/models/layer_provider_listing.rs | 33 + rust/src/models/layer_resource.rs | 42 + rust/src/models/layer_visibility.rs | 30 + rust/src/models/line_symbology.rs | 48 + rust/src/models/linear_gradient.rs | 51 + rust/src/models/logarithmic_gradient.rs | 51 + rust/src/models/measurement.rs | 31 + rust/src/models/meta_data_definition.rs | 37 + rust/src/models/meta_data_suggestion.rs | 33 + rust/src/models/ml_model.rs | 42 + .../models/ml_model_input_no_data_handling.rs | 30 + ...ml_model_input_no_data_handling_variant.rs | 38 + rust/src/models/ml_model_metadata.rs | 42 + rust/src/models/ml_model_name_response.rs | 27 + .../ml_model_output_no_data_handling.rs | 30 + ...l_model_output_no_data_handling_variant.rs | 38 + rust/src/models/ml_model_resource.rs | 42 + rust/src/models/ml_tensor_shape3_d.rs | 35 + .../mock_dataset_data_source_loading_info.rs | 27 + rust/src/models/mock_meta_data.rs | 45 + rust/src/models/mod.rs | 484 ++++++++ .../src/models/multi_band_raster_colorizer.rs | 90 ++ rust/src/models/multi_line_string.rs | 27 + rust/src/models/multi_point.rs | 27 + rust/src/models/multi_polygon.rs | 27 + .../net_cdf_cf_data_provider_definition.rs | 59 + rust/src/models/number_param.rs | 29 + rust/src/models/ogr_meta_data.rs | 45 + rust/src/models/ogr_source_column_spec.rs | 51 + rust/src/models/ogr_source_dataset.rs | 60 + .../models/ogr_source_dataset_time_type.rs | 33 + .../ogr_source_dataset_time_type_none.rs | 39 + .../ogr_source_dataset_time_type_start.rs | 48 + ...source_dataset_time_type_start_duration.rs | 48 + .../ogr_source_dataset_time_type_start_end.rs | 51 + rust/src/models/ogr_source_duration_spec.rs | 31 + .../ogr_source_duration_spec_infinite.rs | 39 + .../models/ogr_source_duration_spec_value.rs | 45 + .../models/ogr_source_duration_spec_zero.rs | 39 + rust/src/models/ogr_source_error_spec.rs | 38 + rust/src/models/ogr_source_time_format.rs | 31 + .../src/models/ogr_source_time_format_auto.rs | 39 + .../models/ogr_source_time_format_custom.rs | 42 + .../ogr_source_time_format_unix_time_stamp.rs | 42 + rust/src/models/operator_quota.rs | 33 + rust/src/models/order_by.rs | 38 + rust/src/models/palette_colorizer.rs | 49 + .../pangaea_data_provider_definition.rs | 54 + rust/src/models/permission.rs | 38 + rust/src/models/permission_list_options.rs | 30 + rust/src/models/permission_listing.rs | 33 + rust/src/models/permission_request.rs | 35 + rust/src/models/plot.rs | 30 + rust/src/models/plot_output_format.rs | 41 + rust/src/models/plot_query_rectangle.rs | 35 + rust/src/models/plot_result_descriptor.rs | 35 + rust/src/models/point_symbology.rs | 51 + rust/src/models/polygon_symbology.rs | 51 + rust/src/models/project.rs | 48 + rust/src/models/project_layer.rs | 36 + rust/src/models/project_listing.rs | 42 + rust/src/models/project_resource.rs | 42 + rust/src/models/project_update_token.rs | 38 + rust/src/models/project_version.rs | 30 + rust/src/models/provenance.rs | 33 + rust/src/models/provenance_entry.rs | 30 + rust/src/models/provenance_output.rs | 30 + rust/src/models/provenances.rs | 27 + rust/src/models/provider_capabilities.rs | 30 + .../models/provider_layer_collection_id.rs | 30 + rust/src/models/provider_layer_id.rs | 30 + rust/src/models/quota.rs | 30 + rust/src/models/raster_band_descriptor.rs | 30 + rust/src/models/raster_colorizer.rs | 29 + rust/src/models/raster_data_type.rs | 62 + .../models/raster_dataset_from_workflow.rs | 41 + .../raster_dataset_from_workflow_result.rs | 32 + .../models/raster_properties_entry_type.rs | 38 + rust/src/models/raster_properties_key.rs | 30 + rust/src/models/raster_query_rectangle.rs | 35 + rust/src/models/raster_result_descriptor.rs | 44 + .../raster_stream_websocket_result_type.rs | 36 + rust/src/models/raster_symbology.rs | 45 + rust/src/models/resource.rs | 38 + rust/src/models/role.rs | 30 + rust/src/models/role_description.rs | 30 + rust/src/models/search_capabilities.rs | 33 + rust/src/models/search_type.rs | 38 + rust/src/models/search_types.rs | 30 + ...ntinel_s2_l2_a_cogs_provider_definition.rs | 72 ++ rust/src/models/server_info.rs | 36 + .../models/single_band_raster_colorizer.rs | 45 + rust/src/models/spatial_partition2_d.rs | 32 + .../src/models/spatial_reference_authority.rs | 45 + .../models/spatial_reference_specification.rs | 44 + rust/src/models/spatial_resolution.rs | 32 + rust/src/models/st_rectangle.rs | 33 + rust/src/models/stac_api_retries.rs | 33 + rust/src/models/stac_band.rs | 33 + rust/src/models/stac_query_buffer.rs | 32 + rust/src/models/stac_zone.rs | 30 + rust/src/models/static_color.rs | 42 + rust/src/models/static_number.rs | 42 + rust/src/models/stroke_param.rs | 30 + rust/src/models/suggest_meta_data.rs | 33 + rust/src/models/symbology.rs | 33 + rust/src/models/task_abort_options.rs | 27 + rust/src/models/task_filter.rs | 44 + rust/src/models/task_list_options.rs | 33 + rust/src/models/task_response.rs | 29 + rust/src/models/task_status.rs | 33 + rust/src/models/task_status_aborted.rs | 42 + rust/src/models/task_status_completed.rs | 54 + rust/src/models/task_status_failed.rs | 45 + rust/src/models/task_status_running.rs | 57 + rust/src/models/task_status_with_id.rs | 69 ++ rust/src/models/text_symbology.rs | 33 + rust/src/models/time_granularity.rs | 54 + rust/src/models/time_interval.rs | 32 + rust/src/models/time_reference.rs | 38 + rust/src/models/time_step.rs | 30 + .../models/typed_data_provider_definition.rs | 49 + rust/src/models/typed_geometry.rs | 28 + rust/src/models/typed_geometry_one_of.rs | 27 + rust/src/models/typed_geometry_one_of_1.rs | 27 + rust/src/models/typed_geometry_one_of_2.rs | 27 + rust/src/models/typed_geometry_one_of_3.rs | 27 + rust/src/models/typed_operator.rs | 48 + rust/src/models/typed_operator_operator.rs | 33 + .../models/typed_plot_result_descriptor.rs | 48 + .../models/typed_raster_result_descriptor.rs | 57 + rust/src/models/typed_result_descriptor.rs | 31 + .../models/typed_vector_result_descriptor.rs | 54 + rust/src/models/unitless_measurement.rs | 39 + rust/src/models/unix_time_stamp_type.rs | 38 + rust/src/models/update_dataset.rs | 36 + rust/src/models/update_layer.rs | 44 + rust/src/models/update_layer_collection.rs | 33 + rust/src/models/update_project.rs | 45 + rust/src/models/update_quota.rs | 27 + .../src/models/upload_file_layers_response.rs | 27 + rust/src/models/upload_files_response.rs | 27 + rust/src/models/usage_summary_granularity.rs | 47 + rust/src/models/user_credentials.rs | 30 + rust/src/models/user_info.rs | 33 + rust/src/models/user_registration.rs | 33 + rust/src/models/user_session.rs | 45 + rust/src/models/vec_update.rs | 26 + rust/src/models/vector_column_info.rs | 30 + rust/src/models/vector_data_type.rs | 45 + rust/src/models/vector_query_rectangle.rs | 35 + rust/src/models/vector_result_descriptor.rs | 39 + rust/src/models/volume.rs | 30 + .../src/models/volume_file_layers_response.rs | 27 + rust/src/models/wcs_boundingbox.rs | 30 + rust/src/models/wcs_service.rs | 35 + rust/src/models/wcs_version.rs | 38 + rust/src/models/wfs_service.rs | 35 + rust/src/models/wfs_version.rs | 35 + .../wildlive_data_connector_definition.rs | 54 + rust/src/models/wms_service.rs | 35 + rust/src/models/wms_version.rs | 35 + rust/src/models/workflow.rs | 46 + rust/src/models/wrapped_plot_output.rs | 33 + 529 files changed, 22033 insertions(+), 24 deletions(-) create mode 100644 rust/.gitignore create mode 100644 rust/.openapi-generator-ignore create mode 100644 rust/.openapi-generator/FILES create mode 100644 rust/.openapi-generator/VERSION create mode 100644 rust/.travis.yml create mode 100644 rust/Cargo.toml create mode 100644 rust/README.md create mode 100644 rust/docs/AddDataset.md create mode 100644 rust/docs/AddLayer.md create mode 100644 rust/docs/AddLayerCollection.md create mode 100644 rust/docs/AddRole.md create mode 100644 rust/docs/ArunaDataProviderDefinition.md create mode 100644 rust/docs/AuthCodeRequestUrl.md create mode 100644 rust/docs/AuthCodeResponse.md create mode 100644 rust/docs/AutoCreateDataset.md create mode 100644 rust/docs/AxisOrder.md create mode 100644 rust/docs/BoundingBox2D.md create mode 100644 rust/docs/Breakpoint.md create mode 100644 rust/docs/ClassificationMeasurement.md create mode 100644 rust/docs/CollectionItem.md create mode 100644 rust/docs/CollectionType.md create mode 100644 rust/docs/ColorParam.md create mode 100644 rust/docs/Colorizer.md create mode 100644 rust/docs/ComputationQuota.md create mode 100644 rust/docs/ContinuousMeasurement.md create mode 100644 rust/docs/Coordinate2D.md create mode 100644 rust/docs/CopernicusDataspaceDataProviderDefinition.md create mode 100644 rust/docs/CreateDataset.md create mode 100644 rust/docs/CreateProject.md create mode 100644 rust/docs/CsvHeader.md create mode 100644 rust/docs/DataId.md create mode 100644 rust/docs/DataPath.md create mode 100644 rust/docs/DataPathOneOf.md create mode 100644 rust/docs/DataPathOneOf1.md create mode 100644 rust/docs/DataProviderResource.md create mode 100644 rust/docs/DataUsage.md create mode 100644 rust/docs/DataUsageSummary.md create mode 100644 rust/docs/DatabaseConnectionConfig.md create mode 100644 rust/docs/Dataset.md create mode 100644 rust/docs/DatasetDefinition.md create mode 100644 rust/docs/DatasetLayerListingCollection.md create mode 100644 rust/docs/DatasetLayerListingProviderDefinition.md create mode 100644 rust/docs/DatasetListing.md create mode 100644 rust/docs/DatasetNameResponse.md create mode 100644 rust/docs/DatasetResource.md create mode 100644 rust/docs/DatasetsApi.md create mode 100644 rust/docs/DerivedColor.md create mode 100644 rust/docs/DerivedNumber.md create mode 100644 rust/docs/DescribeCoverageRequest.md create mode 100644 rust/docs/EbvPortalDataProviderDefinition.md create mode 100644 rust/docs/EdrDataProviderDefinition.md create mode 100644 rust/docs/EdrVectorSpec.md create mode 100644 rust/docs/ErrorResponse.md create mode 100644 rust/docs/ExternalDataId.md create mode 100644 rust/docs/FeatureDataType.md create mode 100644 rust/docs/FileNotFoundHandling.md create mode 100644 rust/docs/FormatSpecifics.md create mode 100644 rust/docs/FormatSpecificsCsv.md create mode 100644 rust/docs/GbifDataProviderDefinition.md create mode 100644 rust/docs/GdalDatasetGeoTransform.md create mode 100644 rust/docs/GdalDatasetParameters.md create mode 100644 rust/docs/GdalLoadingInfoTemporalSlice.md create mode 100644 rust/docs/GdalMetaDataList.md create mode 100644 rust/docs/GdalMetaDataRegular.md create mode 100644 rust/docs/GdalMetaDataStatic.md create mode 100644 rust/docs/GdalMetadataMapping.md create mode 100644 rust/docs/GdalMetadataNetCdfCf.md create mode 100644 rust/docs/GdalSourceTimePlaceholder.md create mode 100644 rust/docs/GeneralApi.md create mode 100644 rust/docs/GeoJson.md create mode 100644 rust/docs/GetCapabilitiesFormat.md create mode 100644 rust/docs/GetCapabilitiesRequest.md create mode 100644 rust/docs/GetCoverageFormat.md create mode 100644 rust/docs/GetCoverageRequest.md create mode 100644 rust/docs/GetFeatureRequest.md create mode 100644 rust/docs/GetLegendGraphicRequest.md create mode 100644 rust/docs/GetMapExceptionFormat.md create mode 100644 rust/docs/GetMapFormat.md create mode 100644 rust/docs/GetMapRequest.md create mode 100644 rust/docs/GfbioAbcdDataProviderDefinition.md create mode 100644 rust/docs/GfbioCollectionsDataProviderDefinition.md create mode 100644 rust/docs/IdResponse.md create mode 100644 rust/docs/InternalDataId.md create mode 100644 rust/docs/Layer.md create mode 100644 rust/docs/LayerCollection.md create mode 100644 rust/docs/LayerCollectionListing.md create mode 100644 rust/docs/LayerCollectionResource.md create mode 100644 rust/docs/LayerListing.md create mode 100644 rust/docs/LayerProviderListing.md create mode 100644 rust/docs/LayerResource.md create mode 100644 rust/docs/LayerVisibility.md create mode 100644 rust/docs/LayersApi.md create mode 100644 rust/docs/LineSymbology.md create mode 100644 rust/docs/LinearGradient.md create mode 100644 rust/docs/LogarithmicGradient.md create mode 100644 rust/docs/Measurement.md create mode 100644 rust/docs/MetaDataDefinition.md create mode 100644 rust/docs/MetaDataSuggestion.md create mode 100644 rust/docs/MlApi.md create mode 100644 rust/docs/MlModel.md create mode 100644 rust/docs/MlModelInputNoDataHandling.md create mode 100644 rust/docs/MlModelInputNoDataHandlingVariant.md create mode 100644 rust/docs/MlModelMetadata.md create mode 100644 rust/docs/MlModelNameResponse.md create mode 100644 rust/docs/MlModelOutputNoDataHandling.md create mode 100644 rust/docs/MlModelOutputNoDataHandlingVariant.md create mode 100644 rust/docs/MlModelResource.md create mode 100644 rust/docs/MlTensorShape3D.md create mode 100644 rust/docs/MockDatasetDataSourceLoadingInfo.md create mode 100644 rust/docs/MockMetaData.md create mode 100644 rust/docs/MultiBandRasterColorizer.md create mode 100644 rust/docs/MultiLineString.md create mode 100644 rust/docs/MultiPoint.md create mode 100644 rust/docs/MultiPolygon.md create mode 100644 rust/docs/NetCdfCfDataProviderDefinition.md create mode 100644 rust/docs/NumberParam.md create mode 100644 rust/docs/OgcwcsApi.md create mode 100644 rust/docs/OgcwfsApi.md create mode 100644 rust/docs/OgcwmsApi.md create mode 100644 rust/docs/OgrMetaData.md create mode 100644 rust/docs/OgrSourceColumnSpec.md create mode 100644 rust/docs/OgrSourceDataset.md create mode 100644 rust/docs/OgrSourceDatasetTimeType.md create mode 100644 rust/docs/OgrSourceDatasetTimeTypeNone.md create mode 100644 rust/docs/OgrSourceDatasetTimeTypeStart.md create mode 100644 rust/docs/OgrSourceDatasetTimeTypeStartDuration.md create mode 100644 rust/docs/OgrSourceDatasetTimeTypeStartEnd.md create mode 100644 rust/docs/OgrSourceDurationSpec.md create mode 100644 rust/docs/OgrSourceDurationSpecInfinite.md create mode 100644 rust/docs/OgrSourceDurationSpecValue.md create mode 100644 rust/docs/OgrSourceDurationSpecZero.md create mode 100644 rust/docs/OgrSourceErrorSpec.md create mode 100644 rust/docs/OgrSourceTimeFormat.md create mode 100644 rust/docs/OgrSourceTimeFormatAuto.md create mode 100644 rust/docs/OgrSourceTimeFormatCustom.md create mode 100644 rust/docs/OgrSourceTimeFormatUnixTimeStamp.md create mode 100644 rust/docs/OperatorQuota.md create mode 100644 rust/docs/OrderBy.md create mode 100644 rust/docs/PaletteColorizer.md create mode 100644 rust/docs/PangaeaDataProviderDefinition.md create mode 100644 rust/docs/Permission.md create mode 100644 rust/docs/PermissionListOptions.md create mode 100644 rust/docs/PermissionListing.md create mode 100644 rust/docs/PermissionRequest.md create mode 100644 rust/docs/PermissionsApi.md create mode 100644 rust/docs/Plot.md create mode 100644 rust/docs/PlotOutputFormat.md create mode 100644 rust/docs/PlotQueryRectangle.md create mode 100644 rust/docs/PlotResultDescriptor.md create mode 100644 rust/docs/PlotsApi.md create mode 100644 rust/docs/PointSymbology.md create mode 100644 rust/docs/PolygonSymbology.md create mode 100644 rust/docs/Project.md create mode 100644 rust/docs/ProjectLayer.md create mode 100644 rust/docs/ProjectListing.md create mode 100644 rust/docs/ProjectResource.md create mode 100644 rust/docs/ProjectUpdateToken.md create mode 100644 rust/docs/ProjectVersion.md create mode 100644 rust/docs/ProjectsApi.md create mode 100644 rust/docs/Provenance.md create mode 100644 rust/docs/ProvenanceEntry.md create mode 100644 rust/docs/ProvenanceOutput.md create mode 100644 rust/docs/Provenances.md create mode 100644 rust/docs/ProviderCapabilities.md create mode 100644 rust/docs/ProviderLayerCollectionId.md create mode 100644 rust/docs/ProviderLayerId.md create mode 100644 rust/docs/Quota.md create mode 100644 rust/docs/RasterBandDescriptor.md create mode 100644 rust/docs/RasterColorizer.md create mode 100644 rust/docs/RasterDataType.md create mode 100644 rust/docs/RasterDatasetFromWorkflow.md create mode 100644 rust/docs/RasterDatasetFromWorkflowResult.md create mode 100644 rust/docs/RasterPropertiesEntryType.md create mode 100644 rust/docs/RasterPropertiesKey.md create mode 100644 rust/docs/RasterQueryRectangle.md create mode 100644 rust/docs/RasterResultDescriptor.md create mode 100644 rust/docs/RasterStreamWebsocketResultType.md create mode 100644 rust/docs/RasterSymbology.md create mode 100644 rust/docs/Resource.md create mode 100644 rust/docs/Role.md create mode 100644 rust/docs/RoleDescription.md create mode 100644 rust/docs/SearchCapabilities.md create mode 100644 rust/docs/SearchType.md create mode 100644 rust/docs/SearchTypes.md create mode 100644 rust/docs/SentinelS2L2ACogsProviderDefinition.md create mode 100644 rust/docs/ServerInfo.md create mode 100644 rust/docs/SessionApi.md create mode 100644 rust/docs/SingleBandRasterColorizer.md create mode 100644 rust/docs/SpatialPartition2D.md create mode 100644 rust/docs/SpatialReferenceAuthority.md create mode 100644 rust/docs/SpatialReferenceSpecification.md create mode 100644 rust/docs/SpatialReferencesApi.md create mode 100644 rust/docs/SpatialResolution.md create mode 100644 rust/docs/StRectangle.md create mode 100644 rust/docs/StacApiRetries.md create mode 100644 rust/docs/StacBand.md create mode 100644 rust/docs/StacQueryBuffer.md create mode 100644 rust/docs/StacZone.md create mode 100644 rust/docs/StaticColor.md create mode 100644 rust/docs/StaticNumber.md create mode 100644 rust/docs/StrokeParam.md create mode 100644 rust/docs/SuggestMetaData.md create mode 100644 rust/docs/Symbology.md create mode 100644 rust/docs/TaskAbortOptions.md create mode 100644 rust/docs/TaskFilter.md create mode 100644 rust/docs/TaskListOptions.md create mode 100644 rust/docs/TaskResponse.md create mode 100644 rust/docs/TaskStatus.md create mode 100644 rust/docs/TaskStatusAborted.md create mode 100644 rust/docs/TaskStatusCompleted.md create mode 100644 rust/docs/TaskStatusFailed.md create mode 100644 rust/docs/TaskStatusRunning.md create mode 100644 rust/docs/TaskStatusWithId.md create mode 100644 rust/docs/TasksApi.md create mode 100644 rust/docs/TextSymbology.md create mode 100644 rust/docs/TimeGranularity.md create mode 100644 rust/docs/TimeInterval.md create mode 100644 rust/docs/TimeReference.md create mode 100644 rust/docs/TimeStep.md create mode 100644 rust/docs/TypedDataProviderDefinition.md create mode 100644 rust/docs/TypedGeometry.md create mode 100644 rust/docs/TypedGeometryOneOf.md create mode 100644 rust/docs/TypedGeometryOneOf1.md create mode 100644 rust/docs/TypedGeometryOneOf2.md create mode 100644 rust/docs/TypedGeometryOneOf3.md create mode 100644 rust/docs/TypedOperator.md create mode 100644 rust/docs/TypedOperatorOperator.md create mode 100644 rust/docs/TypedPlotResultDescriptor.md create mode 100644 rust/docs/TypedRasterResultDescriptor.md create mode 100644 rust/docs/TypedResultDescriptor.md create mode 100644 rust/docs/TypedVectorResultDescriptor.md create mode 100644 rust/docs/UnitlessMeasurement.md create mode 100644 rust/docs/UnixTimeStampType.md create mode 100644 rust/docs/UpdateDataset.md create mode 100644 rust/docs/UpdateLayer.md create mode 100644 rust/docs/UpdateLayerCollection.md create mode 100644 rust/docs/UpdateProject.md create mode 100644 rust/docs/UpdateQuota.md create mode 100644 rust/docs/UploadFileLayersResponse.md create mode 100644 rust/docs/UploadFilesResponse.md create mode 100644 rust/docs/UploadsApi.md create mode 100644 rust/docs/UsageSummaryGranularity.md create mode 100644 rust/docs/UserApi.md create mode 100644 rust/docs/UserCredentials.md create mode 100644 rust/docs/UserInfo.md create mode 100644 rust/docs/UserRegistration.md create mode 100644 rust/docs/UserSession.md create mode 100644 rust/docs/VecUpdate.md create mode 100644 rust/docs/VectorColumnInfo.md create mode 100644 rust/docs/VectorDataType.md create mode 100644 rust/docs/VectorQueryRectangle.md create mode 100644 rust/docs/VectorResultDescriptor.md create mode 100644 rust/docs/Volume.md create mode 100644 rust/docs/VolumeFileLayersResponse.md create mode 100644 rust/docs/WcsBoundingbox.md create mode 100644 rust/docs/WcsService.md create mode 100644 rust/docs/WcsVersion.md create mode 100644 rust/docs/WfsService.md create mode 100644 rust/docs/WfsVersion.md create mode 100644 rust/docs/WildliveDataConnectorDefinition.md create mode 100644 rust/docs/WmsService.md create mode 100644 rust/docs/WmsVersion.md create mode 100644 rust/docs/Workflow.md create mode 100644 rust/docs/WorkflowsApi.md create mode 100644 rust/docs/WrappedPlotOutput.md create mode 100644 rust/git_push.sh create mode 100644 rust/src/apis/configuration.rs create mode 100644 rust/src/apis/datasets_api.rs create mode 100644 rust/src/apis/general_api.rs create mode 100644 rust/src/apis/layers_api.rs create mode 100644 rust/src/apis/ml_api.rs create mode 100644 rust/src/apis/mod.rs create mode 100644 rust/src/apis/ogcwcs_api.rs create mode 100644 rust/src/apis/ogcwfs_api.rs create mode 100644 rust/src/apis/ogcwms_api.rs create mode 100644 rust/src/apis/permissions_api.rs create mode 100644 rust/src/apis/plots_api.rs create mode 100644 rust/src/apis/projects_api.rs create mode 100644 rust/src/apis/session_api.rs create mode 100644 rust/src/apis/spatial_references_api.rs create mode 100644 rust/src/apis/tasks_api.rs create mode 100644 rust/src/apis/uploads_api.rs create mode 100644 rust/src/apis/user_api.rs create mode 100644 rust/src/apis/workflows_api.rs create mode 100644 rust/src/lib.rs create mode 100644 rust/src/models/add_dataset.rs create mode 100644 rust/src/models/add_layer.rs create mode 100644 rust/src/models/add_layer_collection.rs create mode 100644 rust/src/models/add_role.rs create mode 100644 rust/src/models/aruna_data_provider_definition.rs create mode 100644 rust/src/models/auth_code_request_url.rs create mode 100644 rust/src/models/auth_code_response.rs create mode 100644 rust/src/models/auto_create_dataset.rs create mode 100644 rust/src/models/axis_order.rs create mode 100644 rust/src/models/bounding_box2_d.rs create mode 100644 rust/src/models/breakpoint.rs create mode 100644 rust/src/models/classification_measurement.rs create mode 100644 rust/src/models/collection_item.rs create mode 100644 rust/src/models/collection_type.rs create mode 100644 rust/src/models/color_param.rs create mode 100644 rust/src/models/colorizer.rs create mode 100644 rust/src/models/computation_quota.rs create mode 100644 rust/src/models/continuous_measurement.rs create mode 100644 rust/src/models/coordinate2_d.rs create mode 100644 rust/src/models/copernicus_dataspace_data_provider_definition.rs create mode 100644 rust/src/models/create_dataset.rs create mode 100644 rust/src/models/create_project.rs create mode 100644 rust/src/models/csv_header.rs create mode 100644 rust/src/models/data_id.rs create mode 100644 rust/src/models/data_path.rs create mode 100644 rust/src/models/data_path_one_of.rs create mode 100644 rust/src/models/data_path_one_of_1.rs create mode 100644 rust/src/models/data_provider_resource.rs create mode 100644 rust/src/models/data_usage.rs create mode 100644 rust/src/models/data_usage_summary.rs create mode 100644 rust/src/models/database_connection_config.rs create mode 100644 rust/src/models/dataset.rs create mode 100644 rust/src/models/dataset_definition.rs create mode 100644 rust/src/models/dataset_layer_listing_collection.rs create mode 100644 rust/src/models/dataset_layer_listing_provider_definition.rs create mode 100644 rust/src/models/dataset_listing.rs create mode 100644 rust/src/models/dataset_name_response.rs create mode 100644 rust/src/models/dataset_resource.rs create mode 100644 rust/src/models/derived_color.rs create mode 100644 rust/src/models/derived_number.rs create mode 100644 rust/src/models/describe_coverage_request.rs create mode 100644 rust/src/models/ebv_portal_data_provider_definition.rs create mode 100644 rust/src/models/edr_data_provider_definition.rs create mode 100644 rust/src/models/edr_vector_spec.rs create mode 100644 rust/src/models/error_response.rs create mode 100644 rust/src/models/external_data_id.rs create mode 100644 rust/src/models/feature_data_type.rs create mode 100644 rust/src/models/file_not_found_handling.rs create mode 100644 rust/src/models/format_specifics.rs create mode 100644 rust/src/models/format_specifics_csv.rs create mode 100644 rust/src/models/gbif_data_provider_definition.rs create mode 100644 rust/src/models/gdal_dataset_geo_transform.rs create mode 100644 rust/src/models/gdal_dataset_parameters.rs create mode 100644 rust/src/models/gdal_loading_info_temporal_slice.rs create mode 100644 rust/src/models/gdal_meta_data_list.rs create mode 100644 rust/src/models/gdal_meta_data_regular.rs create mode 100644 rust/src/models/gdal_meta_data_static.rs create mode 100644 rust/src/models/gdal_metadata_mapping.rs create mode 100644 rust/src/models/gdal_metadata_net_cdf_cf.rs create mode 100644 rust/src/models/gdal_source_time_placeholder.rs create mode 100644 rust/src/models/geo_json.rs create mode 100644 rust/src/models/get_capabilities_format.rs create mode 100644 rust/src/models/get_capabilities_request.rs create mode 100644 rust/src/models/get_coverage_format.rs create mode 100644 rust/src/models/get_coverage_request.rs create mode 100644 rust/src/models/get_feature_request.rs create mode 100644 rust/src/models/get_legend_graphic_request.rs create mode 100644 rust/src/models/get_map_exception_format.rs create mode 100644 rust/src/models/get_map_format.rs create mode 100644 rust/src/models/get_map_request.rs create mode 100644 rust/src/models/gfbio_abcd_data_provider_definition.rs create mode 100644 rust/src/models/gfbio_collections_data_provider_definition.rs create mode 100644 rust/src/models/id_response.rs create mode 100644 rust/src/models/internal_data_id.rs create mode 100644 rust/src/models/layer.rs create mode 100644 rust/src/models/layer_collection.rs create mode 100644 rust/src/models/layer_collection_listing.rs create mode 100644 rust/src/models/layer_collection_resource.rs create mode 100644 rust/src/models/layer_listing.rs create mode 100644 rust/src/models/layer_provider_listing.rs create mode 100644 rust/src/models/layer_resource.rs create mode 100644 rust/src/models/layer_visibility.rs create mode 100644 rust/src/models/line_symbology.rs create mode 100644 rust/src/models/linear_gradient.rs create mode 100644 rust/src/models/logarithmic_gradient.rs create mode 100644 rust/src/models/measurement.rs create mode 100644 rust/src/models/meta_data_definition.rs create mode 100644 rust/src/models/meta_data_suggestion.rs create mode 100644 rust/src/models/ml_model.rs create mode 100644 rust/src/models/ml_model_input_no_data_handling.rs create mode 100644 rust/src/models/ml_model_input_no_data_handling_variant.rs create mode 100644 rust/src/models/ml_model_metadata.rs create mode 100644 rust/src/models/ml_model_name_response.rs create mode 100644 rust/src/models/ml_model_output_no_data_handling.rs create mode 100644 rust/src/models/ml_model_output_no_data_handling_variant.rs create mode 100644 rust/src/models/ml_model_resource.rs create mode 100644 rust/src/models/ml_tensor_shape3_d.rs create mode 100644 rust/src/models/mock_dataset_data_source_loading_info.rs create mode 100644 rust/src/models/mock_meta_data.rs create mode 100644 rust/src/models/mod.rs create mode 100644 rust/src/models/multi_band_raster_colorizer.rs create mode 100644 rust/src/models/multi_line_string.rs create mode 100644 rust/src/models/multi_point.rs create mode 100644 rust/src/models/multi_polygon.rs create mode 100644 rust/src/models/net_cdf_cf_data_provider_definition.rs create mode 100644 rust/src/models/number_param.rs create mode 100644 rust/src/models/ogr_meta_data.rs create mode 100644 rust/src/models/ogr_source_column_spec.rs create mode 100644 rust/src/models/ogr_source_dataset.rs create mode 100644 rust/src/models/ogr_source_dataset_time_type.rs create mode 100644 rust/src/models/ogr_source_dataset_time_type_none.rs create mode 100644 rust/src/models/ogr_source_dataset_time_type_start.rs create mode 100644 rust/src/models/ogr_source_dataset_time_type_start_duration.rs create mode 100644 rust/src/models/ogr_source_dataset_time_type_start_end.rs create mode 100644 rust/src/models/ogr_source_duration_spec.rs create mode 100644 rust/src/models/ogr_source_duration_spec_infinite.rs create mode 100644 rust/src/models/ogr_source_duration_spec_value.rs create mode 100644 rust/src/models/ogr_source_duration_spec_zero.rs create mode 100644 rust/src/models/ogr_source_error_spec.rs create mode 100644 rust/src/models/ogr_source_time_format.rs create mode 100644 rust/src/models/ogr_source_time_format_auto.rs create mode 100644 rust/src/models/ogr_source_time_format_custom.rs create mode 100644 rust/src/models/ogr_source_time_format_unix_time_stamp.rs create mode 100644 rust/src/models/operator_quota.rs create mode 100644 rust/src/models/order_by.rs create mode 100644 rust/src/models/palette_colorizer.rs create mode 100644 rust/src/models/pangaea_data_provider_definition.rs create mode 100644 rust/src/models/permission.rs create mode 100644 rust/src/models/permission_list_options.rs create mode 100644 rust/src/models/permission_listing.rs create mode 100644 rust/src/models/permission_request.rs create mode 100644 rust/src/models/plot.rs create mode 100644 rust/src/models/plot_output_format.rs create mode 100644 rust/src/models/plot_query_rectangle.rs create mode 100644 rust/src/models/plot_result_descriptor.rs create mode 100644 rust/src/models/point_symbology.rs create mode 100644 rust/src/models/polygon_symbology.rs create mode 100644 rust/src/models/project.rs create mode 100644 rust/src/models/project_layer.rs create mode 100644 rust/src/models/project_listing.rs create mode 100644 rust/src/models/project_resource.rs create mode 100644 rust/src/models/project_update_token.rs create mode 100644 rust/src/models/project_version.rs create mode 100644 rust/src/models/provenance.rs create mode 100644 rust/src/models/provenance_entry.rs create mode 100644 rust/src/models/provenance_output.rs create mode 100644 rust/src/models/provenances.rs create mode 100644 rust/src/models/provider_capabilities.rs create mode 100644 rust/src/models/provider_layer_collection_id.rs create mode 100644 rust/src/models/provider_layer_id.rs create mode 100644 rust/src/models/quota.rs create mode 100644 rust/src/models/raster_band_descriptor.rs create mode 100644 rust/src/models/raster_colorizer.rs create mode 100644 rust/src/models/raster_data_type.rs create mode 100644 rust/src/models/raster_dataset_from_workflow.rs create mode 100644 rust/src/models/raster_dataset_from_workflow_result.rs create mode 100644 rust/src/models/raster_properties_entry_type.rs create mode 100644 rust/src/models/raster_properties_key.rs create mode 100644 rust/src/models/raster_query_rectangle.rs create mode 100644 rust/src/models/raster_result_descriptor.rs create mode 100644 rust/src/models/raster_stream_websocket_result_type.rs create mode 100644 rust/src/models/raster_symbology.rs create mode 100644 rust/src/models/resource.rs create mode 100644 rust/src/models/role.rs create mode 100644 rust/src/models/role_description.rs create mode 100644 rust/src/models/search_capabilities.rs create mode 100644 rust/src/models/search_type.rs create mode 100644 rust/src/models/search_types.rs create mode 100644 rust/src/models/sentinel_s2_l2_a_cogs_provider_definition.rs create mode 100644 rust/src/models/server_info.rs create mode 100644 rust/src/models/single_band_raster_colorizer.rs create mode 100644 rust/src/models/spatial_partition2_d.rs create mode 100644 rust/src/models/spatial_reference_authority.rs create mode 100644 rust/src/models/spatial_reference_specification.rs create mode 100644 rust/src/models/spatial_resolution.rs create mode 100644 rust/src/models/st_rectangle.rs create mode 100644 rust/src/models/stac_api_retries.rs create mode 100644 rust/src/models/stac_band.rs create mode 100644 rust/src/models/stac_query_buffer.rs create mode 100644 rust/src/models/stac_zone.rs create mode 100644 rust/src/models/static_color.rs create mode 100644 rust/src/models/static_number.rs create mode 100644 rust/src/models/stroke_param.rs create mode 100644 rust/src/models/suggest_meta_data.rs create mode 100644 rust/src/models/symbology.rs create mode 100644 rust/src/models/task_abort_options.rs create mode 100644 rust/src/models/task_filter.rs create mode 100644 rust/src/models/task_list_options.rs create mode 100644 rust/src/models/task_response.rs create mode 100644 rust/src/models/task_status.rs create mode 100644 rust/src/models/task_status_aborted.rs create mode 100644 rust/src/models/task_status_completed.rs create mode 100644 rust/src/models/task_status_failed.rs create mode 100644 rust/src/models/task_status_running.rs create mode 100644 rust/src/models/task_status_with_id.rs create mode 100644 rust/src/models/text_symbology.rs create mode 100644 rust/src/models/time_granularity.rs create mode 100644 rust/src/models/time_interval.rs create mode 100644 rust/src/models/time_reference.rs create mode 100644 rust/src/models/time_step.rs create mode 100644 rust/src/models/typed_data_provider_definition.rs create mode 100644 rust/src/models/typed_geometry.rs create mode 100644 rust/src/models/typed_geometry_one_of.rs create mode 100644 rust/src/models/typed_geometry_one_of_1.rs create mode 100644 rust/src/models/typed_geometry_one_of_2.rs create mode 100644 rust/src/models/typed_geometry_one_of_3.rs create mode 100644 rust/src/models/typed_operator.rs create mode 100644 rust/src/models/typed_operator_operator.rs create mode 100644 rust/src/models/typed_plot_result_descriptor.rs create mode 100644 rust/src/models/typed_raster_result_descriptor.rs create mode 100644 rust/src/models/typed_result_descriptor.rs create mode 100644 rust/src/models/typed_vector_result_descriptor.rs create mode 100644 rust/src/models/unitless_measurement.rs create mode 100644 rust/src/models/unix_time_stamp_type.rs create mode 100644 rust/src/models/update_dataset.rs create mode 100644 rust/src/models/update_layer.rs create mode 100644 rust/src/models/update_layer_collection.rs create mode 100644 rust/src/models/update_project.rs create mode 100644 rust/src/models/update_quota.rs create mode 100644 rust/src/models/upload_file_layers_response.rs create mode 100644 rust/src/models/upload_files_response.rs create mode 100644 rust/src/models/usage_summary_granularity.rs create mode 100644 rust/src/models/user_credentials.rs create mode 100644 rust/src/models/user_info.rs create mode 100644 rust/src/models/user_registration.rs create mode 100644 rust/src/models/user_session.rs create mode 100644 rust/src/models/vec_update.rs create mode 100644 rust/src/models/vector_column_info.rs create mode 100644 rust/src/models/vector_data_type.rs create mode 100644 rust/src/models/vector_query_rectangle.rs create mode 100644 rust/src/models/vector_result_descriptor.rs create mode 100644 rust/src/models/volume.rs create mode 100644 rust/src/models/volume_file_layers_response.rs create mode 100644 rust/src/models/wcs_boundingbox.rs create mode 100644 rust/src/models/wcs_service.rs create mode 100644 rust/src/models/wcs_version.rs create mode 100644 rust/src/models/wfs_service.rs create mode 100644 rust/src/models/wfs_version.rs create mode 100644 rust/src/models/wildlive_data_connector_definition.rs create mode 100644 rust/src/models/wms_service.rs create mode 100644 rust/src/models/wms_version.rs create mode 100644 rust/src/models/workflow.rs create mode 100644 rust/src/models/wrapped_plot_output.rs diff --git a/.generation/generate.py b/.generation/generate.py index 38b96688..c4c0bdcd 100755 --- a/.generation/generate.py +++ b/.generation/generate.py @@ -14,7 +14,6 @@ import os import shutil import subprocess -import sys from typing import Literal import logging @@ -24,7 +23,7 @@ class ProgramArgs(argparse.Namespace): '''Typed command line arguments.''' - language: Literal['python', 'typescript'] + language: Literal['python', 'rust', 'typescript'] fetch_spec: bool build_container: bool @@ -37,10 +36,10 @@ def parse_arguments() -> ProgramArgs: required=False, default=True) parser.add_argument('--no-container-build', dest='build_container', action='store_false', required=False, default=True) - parser.add_argument('language', choices=['python', 'typescript'], + parser.add_argument('language', choices=['python', 'rust', 'typescript'], type=str) - parsed_args: ProgramArgs = parser.parse_args() + parsed_args: ProgramArgs = parser.parse_args() # type: ignore[assignment] return parsed_args @@ -51,7 +50,7 @@ class ConfigArgs(): ge_backend_commit: str # General - github_url: str + github_repository: GitHubRepository package_version: str # Python package name @@ -64,12 +63,13 @@ class ConfigArgs(): def parse_config() -> ConfigArgs: '''Parse config.ini arguments.''' parsed = configparser.ConfigParser() - parsed.optionxform = str # do not convert keys to lowercase + # do not convert keys to lowercase + parsed.optionxform = lambda optionstr: optionstr # type: ignore[method-assign] parsed.read(CWD / 'config.ini') return ConfigArgs( ge_backend_commit=parsed['input']['backendCommit'], - github_url=parsed['general']['githubUrl'], + github_repository=GitHubRepository(parsed['general']['githubUrl']), package_version=parsed['general']['version'], python_package_name=parsed['python']['name'], typescript_package_name=parsed['typescript']['name'], @@ -83,7 +83,7 @@ def fetch_spec(*, ge_backend_commit: str) -> None: request_url = f"https://raw.githubusercontent.com/geo-engine/geoengine/{ge_backend_commit}/openapi.json" - logging.info(f"Requesting `openapi.json` at `{request_url}`….") + logging.info("Requesting `openapi.json` at `%s`….", request_url) with request.urlopen(request_url, timeout=10) as w, \ open(CWD / "input/openapi.json", "w", encoding='utf-8') as f: f.write(w.read().decode('utf-8')) @@ -108,9 +108,9 @@ def build_container(): def clean_dirs(*, language: Literal['python', 'typescript']): '''Remove some directories because they are not be overwritten by the generator.''' - dirs_to_remove = [ - 'node_modules', - '.mypy_cache', + dirs_to_remove: list[Path] = [ + Path('node_modules'), + Path('.mypy_cache'), Path(language) / 'test' ] @@ -126,12 +126,12 @@ def clean_dirs(*, language: Literal['python', 'typescript']): Path(language) / 'geoengine_openapi_client', ]) - logging.info(f"Removing directories:") + logging.info("Removing directories:") for the_dir in dirs_to_remove: if not os.path.isdir(the_dir): continue - logging.info(f" - {the_dir}") + logging.info(" - %s", the_dir) shutil.rmtree(the_dir) @@ -165,14 +165,12 @@ def generate_python_code(*, package_name: str, package_version: str, package_url shutil.rmtree(Path("python") / "docs") -def generate_typescript_code(*, npm_name: str, npm_version: str, repository_url: str): +def generate_typescript_code(*, + npm_name: str, + npm_version: str, + github_repository: GitHubRepository): '''Run the generator.''' - parsed_url = urlsplit(repository_url) - (url_path, _url_ext) = os.path.splitext(parsed_url.path) - (url_path, git_repo_id) = os.path.split(url_path) - (url_path, git_user_id) = os.path.split(url_path) - subprocess.run( [ "podman", "run", @@ -189,9 +187,9 @@ def generate_typescript_code(*, npm_name: str, npm_version: str, repository_url: f"npmName={npm_name}", f"npmVersion={npm_version}", ]), - "--git-host", parsed_url.netloc, - "--git-user-id", git_user_id, - "--git-repo-id", git_repo_id, + "--git-host", github_repository.host, + "--git-user-id", github_repository.user, + "--git-repo-id", github_repository.repo, "--enable-post-process-file", "-o", "/local/typescript/", "--openapi-normalizer", "REF_AS_PARENT_IN_ALLOF=true", @@ -205,6 +203,55 @@ def generate_typescript_code(*, npm_name: str, npm_version: str, repository_url: ''') shutil.rmtree(Path("typescript") / ".openapi-generator") +def generate_rust_code(*, package_name: str, package_version: str, git_repo: GitHubRepository): + '''Run the generator.''' + + subprocess.run( + [ + "podman", "run", + "--rm", # remove the container after running + "-v", f"{os.getcwd()}:/local", + f"--env-file={CWD / 'override.env'}", + # "docker.io/openapitools/openapi-generator-cli:v7.0.1", + "openapi-generator-cli:patched", + "generate", + "-i", f"{'/local' / CWD / 'input/openapi.json'}", + "-g", "rust", + "--additional-properties=" + ",".join([ + f"packageName={package_name}", + f"packageVersion={package_version}", + ]), + "--git-host", git_repo.host, + "--git-user-id", git_repo.user, + "--git-repo-id", git_repo.repo, + "--enable-post-process-file", + "-o", "/local/rust/", + "--openapi-normalizer", "REF_AS_PARENT_IN_ALLOF=true", + ], + check=True, + ) + +@dataclass +class GitHubRepository: + '''Git repository triplet.''' + host: str + user: str + repo: str + + def __init__(self, url: str) -> None: + '''Create a GitHubRepository from a URL.''' + parsed_url = urlsplit(url) + (url_path, _url_ext) = os.path.splitext(parsed_url.path) + (url_path, git_repo_id) = os.path.split(url_path) + (url_path, git_user_id) = os.path.split(url_path) + + self.host = parsed_url.netloc + self.user=git_user_id + self.repo=git_repo_id + + def url(self) -> str: + '''Get the URL of the repository.''' + return f"https://{self.host}/{self.user}/{self.repo}" def main(): '''The entry point of the program''' @@ -231,14 +278,14 @@ def main(): generate_python_code( package_name=config.python_package_name, package_version=config.package_version, - package_url=config.github_url, + package_url=config.github_repository.url(), ) elif args.language == 'typescript': logging.info("Generating TypeScript client…") generate_typescript_code( npm_name=config.typescript_package_name, npm_version=config.package_version, - repository_url=config.github_url, + github_repository=config.github_repository, ) # Create dist files. @@ -255,6 +302,13 @@ def main(): ], check=True, ) + elif args.language == 'rust': + logging.info("Generating Rust client…") + generate_rust_code( + package_name=config.python_package_name, + package_version=config.package_version, + git_repo=config.github_repository, + ) else: raise RuntimeError(f'Unknown language {args.language}.') 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..73ee71ae --- /dev/null +++ b/rust/.openapi-generator/FILES @@ -0,0 +1,526 @@ +.gitignore +.openapi-generator-ignore +.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/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/DerivedColor.md +docs/DerivedNumber.md +docs/DescribeCoverageRequest.md +docs/EbvPortalDataProviderDefinition.md +docs/EdrDataProviderDefinition.md +docs/EdrVectorSpec.md +docs/ErrorResponse.md +docs/ExternalDataId.md +docs/FeatureDataType.md +docs/FileNotFoundHandling.md +docs/FormatSpecifics.md +docs/FormatSpecificsCsv.md +docs/GbifDataProviderDefinition.md +docs/GdalDatasetGeoTransform.md +docs/GdalDatasetParameters.md +docs/GdalLoadingInfoTemporalSlice.md +docs/GdalMetaDataList.md +docs/GdalMetaDataRegular.md +docs/GdalMetaDataStatic.md +docs/GdalMetadataMapping.md +docs/GdalMetadataNetCdfCf.md +docs/GdalSourceTimePlaceholder.md +docs/GeneralApi.md +docs/GeoJson.md +docs/GetCapabilitiesFormat.md +docs/GetCapabilitiesRequest.md +docs/GetCoverageFormat.md +docs/GetCoverageRequest.md +docs/GetFeatureRequest.md +docs/GetLegendGraphicRequest.md +docs/GetMapExceptionFormat.md +docs/GetMapFormat.md +docs/GetMapRequest.md +docs/GfbioAbcdDataProviderDefinition.md +docs/GfbioCollectionsDataProviderDefinition.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/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/MultiBandRasterColorizer.md +docs/MultiLineString.md +docs/MultiPoint.md +docs/MultiPolygon.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/PermissionListOptions.md +docs/PermissionListing.md +docs/PermissionRequest.md +docs/PermissionsApi.md +docs/Plot.md +docs/PlotOutputFormat.md +docs/PlotQueryRectangle.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/ProvenanceOutput.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/RasterDatasetFromWorkflowResult.md +docs/RasterPropertiesEntryType.md +docs/RasterPropertiesKey.md +docs/RasterQueryRectangle.md +docs/RasterResultDescriptor.md +docs/RasterStreamWebsocketResultType.md +docs/RasterSymbology.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/SpatialPartition2D.md +docs/SpatialReferenceAuthority.md +docs/SpatialReferenceSpecification.md +docs/SpatialReferencesApi.md +docs/SpatialResolution.md +docs/StRectangle.md +docs/StacApiRetries.md +docs/StacBand.md +docs/StacQueryBuffer.md +docs/StacZone.md +docs/StaticColor.md +docs/StaticNumber.md +docs/StrokeParam.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 +docs/TaskStatusCompleted.md +docs/TaskStatusFailed.md +docs/TaskStatusRunning.md +docs/TaskStatusWithId.md +docs/TasksApi.md +docs/TextSymbology.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/TypedOperatorOperator.md +docs/TypedPlotResultDescriptor.md +docs/TypedRasterResultDescriptor.md +docs/TypedResultDescriptor.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/VectorQueryRectangle.md +docs/VectorResultDescriptor.md +docs/Volume.md +docs/VolumeFileLayersResponse.md +docs/WcsBoundingbox.md +docs/WcsService.md +docs/WcsVersion.md +docs/WfsService.md +docs/WfsVersion.md +docs/WildliveDataConnectorDefinition.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/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/derived_color.rs +src/models/derived_number.rs +src/models/describe_coverage_request.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/external_data_id.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_geo_transform.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_source_time_placeholder.rs +src/models/geo_json.rs +src/models/get_capabilities_format.rs +src/models/get_capabilities_request.rs +src/models/get_coverage_format.rs +src/models/get_coverage_request.rs +src/models/get_feature_request.rs +src/models/get_legend_graphic_request.rs +src/models/get_map_exception_format.rs +src/models/get_map_format.rs +src/models/get_map_request.rs +src/models/gfbio_abcd_data_provider_definition.rs +src/models/gfbio_collections_data_provider_definition.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/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/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/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_list_options.rs +src/models/permission_listing.rs +src/models/permission_request.rs +src/models/plot.rs +src/models/plot_output_format.rs +src/models/plot_query_rectangle.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/provenance_output.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_dataset_from_workflow_result.rs +src/models/raster_properties_entry_type.rs +src/models/raster_properties_key.rs +src/models/raster_query_rectangle.rs +src/models/raster_result_descriptor.rs +src/models/raster_stream_websocket_result_type.rs +src/models/raster_symbology.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/spatial_partition2_d.rs +src/models/spatial_reference_authority.rs +src/models/spatial_reference_specification.rs +src/models/spatial_resolution.rs +src/models/st_rectangle.rs +src/models/stac_api_retries.rs +src/models/stac_band.rs +src/models/stac_query_buffer.rs +src/models/stac_zone.rs +src/models/static_color.rs +src/models/static_number.rs +src/models/stroke_param.rs +src/models/suggest_meta_data.rs +src/models/symbology.rs +src/models/task_abort_options.rs +src/models/task_filter.rs +src/models/task_list_options.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/text_symbology.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_operator_operator.rs +src/models/typed_plot_result_descriptor.rs +src/models/typed_raster_result_descriptor.rs +src/models/typed_result_descriptor.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_query_rectangle.rs +src/models/vector_result_descriptor.rs +src/models/volume.rs +src/models/volume_file_layers_response.rs +src/models/wcs_boundingbox.rs +src/models/wcs_service.rs +src/models/wcs_version.rs +src/models/wfs_service.rs +src/models/wfs_version.rs +src/models/wildlive_data_connector_definition.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..6328c542 --- /dev/null +++ b/rust/.openapi-generator/VERSION @@ -0,0 +1 @@ +7.17.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..8ae41735 --- /dev/null +++ b/rust/Cargo.toml @@ -0,0 +1,21 @@ +[package] +name = "geoengine_openapi_client" +version = "0.0.28" +authors = ["dev@geoengine.de"] +description = "No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)" +license = "Apache-2.0" +edition = "2021" + +[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"] } +reqwest = { version = "^0.12", default-features = false, features = ["json", "multipart"] } + +[features] +default = ["native-tls"] +native-tls = ["reqwest/native-tls"] +rustls-tls = ["reqwest/rustls-tls"] diff --git a/rust/README.md b/rust/README.md new file mode 100644 index 00000000..de3524fd --- /dev/null +++ b/rust/README.md @@ -0,0 +1,382 @@ +# Rust API client for geoengine_openapi_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.8.0 +- Package version: 0.0.28 +- Generator version: 7.17.0 +- Build package: `org.openapitools.codegen.languages.RustClientCodegen` + +## Installation + +Put the package under your project folder in a directory named `geoengine_openapi_client` and add the following to `Cargo.toml` under `[dependencies]`: + +``` +geoengine_openapi_client = { path = "./geoengine_openapi_client" } +``` + +## Documentation for API Endpoints + +All URIs are relative to *https://geoengine.io/api* + +Class | Method | HTTP request | Description +------------ | ------------- | ------------- | ------------- +*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_capabilities_handler**](docs/OgcwcsApi.md#wcs_capabilities_handler) | **GET** /wcs/{workflow}?request=GetCapabilities | Get WCS Capabilities +*OgcwcsApi* | [**wcs_describe_coverage_handler**](docs/OgcwcsApi.md#wcs_describe_coverage_handler) | **GET** /wcs/{workflow}?request=DescribeCoverage | Get WCS Coverage Description +*OgcwcsApi* | [**wcs_get_coverage_handler**](docs/OgcwcsApi.md#wcs_get_coverage_handler) | **GET** /wcs/{workflow}?request=GetCoverage | Get WCS Coverage +*OgcwfsApi* | [**wfs_capabilities_handler**](docs/OgcwfsApi.md#wfs_capabilities_handler) | **GET** /wfs/{workflow}?request=GetCapabilities | Get WFS Capabilities +*OgcwfsApi* | [**wfs_feature_handler**](docs/OgcwfsApi.md#wfs_feature_handler) | **GET** /wfs/{workflow}?request=GetFeature | Get WCS Features +*OgcwmsApi* | [**wms_capabilities_handler**](docs/OgcwmsApi.md#wms_capabilities_handler) | **GET** /wms/{workflow}?request=GetCapabilities | Get WMS Capabilities +*OgcwmsApi* | [**wms_legend_graphic_handler**](docs/OgcwmsApi.md#wms_legend_graphic_handler) | **GET** /wms/{workflow}?request=GetLegendGraphic | Get WMS Legend Graphic +*OgcwmsApi* | [**wms_map_handler**](docs/OgcwmsApi.md#wms_map_handler) | **GET** /wms/{workflow}?request=GetMap | Get WMS Map +*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) + - [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) + - [DerivedColor](docs/DerivedColor.md) + - [DerivedNumber](docs/DerivedNumber.md) + - [DescribeCoverageRequest](docs/DescribeCoverageRequest.md) + - [EbvPortalDataProviderDefinition](docs/EbvPortalDataProviderDefinition.md) + - [EdrDataProviderDefinition](docs/EdrDataProviderDefinition.md) + - [EdrVectorSpec](docs/EdrVectorSpec.md) + - [ErrorResponse](docs/ErrorResponse.md) + - [ExternalDataId](docs/ExternalDataId.md) + - [FeatureDataType](docs/FeatureDataType.md) + - [FileNotFoundHandling](docs/FileNotFoundHandling.md) + - [FormatSpecifics](docs/FormatSpecifics.md) + - [FormatSpecificsCsv](docs/FormatSpecificsCsv.md) + - [GbifDataProviderDefinition](docs/GbifDataProviderDefinition.md) + - [GdalDatasetGeoTransform](docs/GdalDatasetGeoTransform.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) + - [GdalSourceTimePlaceholder](docs/GdalSourceTimePlaceholder.md) + - [GeoJson](docs/GeoJson.md) + - [GetCapabilitiesFormat](docs/GetCapabilitiesFormat.md) + - [GetCapabilitiesRequest](docs/GetCapabilitiesRequest.md) + - [GetCoverageFormat](docs/GetCoverageFormat.md) + - [GetCoverageRequest](docs/GetCoverageRequest.md) + - [GetFeatureRequest](docs/GetFeatureRequest.md) + - [GetLegendGraphicRequest](docs/GetLegendGraphicRequest.md) + - [GetMapExceptionFormat](docs/GetMapExceptionFormat.md) + - [GetMapFormat](docs/GetMapFormat.md) + - [GetMapRequest](docs/GetMapRequest.md) + - [GfbioAbcdDataProviderDefinition](docs/GfbioAbcdDataProviderDefinition.md) + - [GfbioCollectionsDataProviderDefinition](docs/GfbioCollectionsDataProviderDefinition.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) + - [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) + - [MultiBandRasterColorizer](docs/MultiBandRasterColorizer.md) + - [MultiLineString](docs/MultiLineString.md) + - [MultiPoint](docs/MultiPoint.md) + - [MultiPolygon](docs/MultiPolygon.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) + - [PermissionListOptions](docs/PermissionListOptions.md) + - [PermissionListing](docs/PermissionListing.md) + - [PermissionRequest](docs/PermissionRequest.md) + - [Plot](docs/Plot.md) + - [PlotOutputFormat](docs/PlotOutputFormat.md) + - [PlotQueryRectangle](docs/PlotQueryRectangle.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) + - [ProvenanceOutput](docs/ProvenanceOutput.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) + - [RasterDatasetFromWorkflowResult](docs/RasterDatasetFromWorkflowResult.md) + - [RasterPropertiesEntryType](docs/RasterPropertiesEntryType.md) + - [RasterPropertiesKey](docs/RasterPropertiesKey.md) + - [RasterQueryRectangle](docs/RasterQueryRectangle.md) + - [RasterResultDescriptor](docs/RasterResultDescriptor.md) + - [RasterStreamWebsocketResultType](docs/RasterStreamWebsocketResultType.md) + - [RasterSymbology](docs/RasterSymbology.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) + - [SpatialPartition2D](docs/SpatialPartition2D.md) + - [SpatialReferenceAuthority](docs/SpatialReferenceAuthority.md) + - [SpatialReferenceSpecification](docs/SpatialReferenceSpecification.md) + - [SpatialResolution](docs/SpatialResolution.md) + - [StRectangle](docs/StRectangle.md) + - [StacApiRetries](docs/StacApiRetries.md) + - [StacBand](docs/StacBand.md) + - [StacQueryBuffer](docs/StacQueryBuffer.md) + - [StacZone](docs/StacZone.md) + - [StaticColor](docs/StaticColor.md) + - [StaticNumber](docs/StaticNumber.md) + - [StrokeParam](docs/StrokeParam.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) + - [TaskStatusCompleted](docs/TaskStatusCompleted.md) + - [TaskStatusFailed](docs/TaskStatusFailed.md) + - [TaskStatusRunning](docs/TaskStatusRunning.md) + - [TaskStatusWithId](docs/TaskStatusWithId.md) + - [TextSymbology](docs/TextSymbology.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) + - [TypedOperatorOperator](docs/TypedOperatorOperator.md) + - [TypedPlotResultDescriptor](docs/TypedPlotResultDescriptor.md) + - [TypedRasterResultDescriptor](docs/TypedRasterResultDescriptor.md) + - [TypedResultDescriptor](docs/TypedResultDescriptor.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) + - [VectorQueryRectangle](docs/VectorQueryRectangle.md) + - [VectorResultDescriptor](docs/VectorResultDescriptor.md) + - [Volume](docs/Volume.md) + - [VolumeFileLayersResponse](docs/VolumeFileLayersResponse.md) + - [WcsBoundingbox](docs/WcsBoundingbox.md) + - [WcsService](docs/WcsService.md) + - [WcsVersion](docs/WcsVersion.md) + - [WfsService](docs/WfsService.md) + - [WfsVersion](docs/WfsVersion.md) + - [WildliveDataConnectorDefinition](docs/WildliveDataConnectorDefinition.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/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..7bf739c2 --- /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**](uuid::Uuid.md) | | +**name** | **String** | | +**priority** | Option<**i32**> | | [optional] +**project_id** | **String** | | +**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/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..503f7323 --- /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**](uuid::Uuid.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/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..631e30a6 --- /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** | **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/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/ComputationQuota.md b/rust/docs/ComputationQuota.md new file mode 100644 index 00000000..f90849f6 --- /dev/null +++ b/rust/docs/ComputationQuota.md @@ -0,0 +1,14 @@ +# ComputationQuota + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**computation_id** | [**uuid::Uuid**](uuid::Uuid.md) | | +**count** | **i64** | | +**timestamp** | **String** | | +**workflow_id** | [**uuid::Uuid**](uuid::Uuid.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/ContinuousMeasurement.md b/rust/docs/ContinuousMeasurement.md new file mode 100644 index 00000000..7af6677d --- /dev/null +++ b/rust/docs/ContinuousMeasurement.md @@ -0,0 +1,13 @@ +# ContinuousMeasurement + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**measurement** | **String** | | +**r#type** | **String** | | +**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..450fa57e --- /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**](uuid::Uuid.md) | | +**name** | **String** | | +**priority** | Option<**i32**> | | [optional] +**s3_access_key** | **String** | | +**s3_secret_key** | **String** | | +**s3_url** | **String** | | +**stac_url** | **String** | | +**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/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..f0e66ce7 --- /dev/null +++ b/rust/docs/DataPathOneOf1.md @@ -0,0 +1,11 @@ +# DataPathOneOf1 + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**upload** | [**uuid::Uuid**](uuid::Uuid.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/DataProviderResource.md b/rust/docs/DataProviderResource.md new file mode 100644 index 00000000..a34a1687 --- /dev/null +++ b/rust/docs/DataProviderResource.md @@ -0,0 +1,12 @@ +# DataProviderResource + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**id** | [**uuid::Uuid**](uuid::Uuid.md) | | +**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/DataUsage.md b/rust/docs/DataUsage.md new file mode 100644 index 00000000..1c1a0648 --- /dev/null +++ b/rust/docs/DataUsage.md @@ -0,0 +1,15 @@ +# DataUsage + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**computation_id** | [**uuid::Uuid**](uuid::Uuid.md) | | +**count** | **i64** | | +**data** | **String** | | +**timestamp** | **String** | | +**user_id** | [**uuid::Uuid**](uuid::Uuid.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/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..2907649b --- /dev/null +++ b/rust/docs/Dataset.md @@ -0,0 +1,19 @@ +# Dataset + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**description** | **String** | | +**display_name** | **String** | | +**id** | [**uuid::Uuid**](uuid::Uuid.md) | | +**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..61ffeaa5 --- /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**](uuid::Uuid.md) | | +**name** | **String** | | +**priority** | Option<**i32**> | | [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/DatasetListing.md b/rust/docs/DatasetListing.md new file mode 100644 index 00000000..773f6080 --- /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**](uuid::Uuid.md) | | +**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..eb550192 --- /dev/null +++ b/rust/docs/DatasetResource.md @@ -0,0 +1,12 @@ +# DatasetResource + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**id** | **String** | | +**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/DatasetsApi.md b/rust/docs/DatasetsApi.md new file mode 100644 index 00000000..4cea2c09 --- /dev/null +++ b/rust/docs/DatasetsApi.md @@ -0,0 +1,391 @@ +# \DatasetsApi + +All URIs are relative to *https://geoengine.io/api* + +Method | HTTP request | Description +------------- | ------------- | ------------- +[**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 + + + +## 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**](.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/DerivedColor.md b/rust/docs/DerivedColor.md new file mode 100644 index 00000000..3a52ee99 --- /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** | **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/DerivedNumber.md b/rust/docs/DerivedNumber.md new file mode 100644 index 00000000..ad62f6fb --- /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** | **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/DescribeCoverageRequest.md b/rust/docs/DescribeCoverageRequest.md new file mode 100644 index 00000000..92b05f3c --- /dev/null +++ b/rust/docs/DescribeCoverageRequest.md @@ -0,0 +1,12 @@ +# DescribeCoverageRequest + +## Enum Variants + +| Name | Value | +|---- | -----| +| DescribeCoverage | DescribeCoverage | + + +[[Back to Model list]](../README.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..48ae4576 --- /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** | **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/EdrDataProviderDefinition.md b/rust/docs/EdrDataProviderDefinition.md new file mode 100644 index 00000000..3a67e591 --- /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**](uuid::Uuid.md) | | +**name** | **String** | | +**priority** | Option<**i32**> | | [optional] +**provenance** | Option<[**Vec**](Provenance.md)> | | [optional] +**r#type** | **String** | | +**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/ExternalDataId.md b/rust/docs/ExternalDataId.md new file mode 100644 index 00000000..9ef146b4 --- /dev/null +++ b/rust/docs/ExternalDataId.md @@ -0,0 +1,13 @@ +# ExternalDataId + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**layer_id** | **String** | | +**provider_id** | [**uuid::Uuid**](uuid::Uuid.md) | | +**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/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..f7096e2c --- /dev/null +++ b/rust/docs/FormatSpecifics.md @@ -0,0 +1,11 @@ +# FormatSpecifics + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**csv** | [**models::FormatSpecificsCsv**](FormatSpecifics_csv.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..bf8f226c --- /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** | **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/GdalDatasetGeoTransform.md b/rust/docs/GdalDatasetGeoTransform.md new file mode 100644 index 00000000..6e89c429 --- /dev/null +++ b/rust/docs/GdalDatasetGeoTransform.md @@ -0,0 +1,13 @@ +# GdalDatasetGeoTransform + +## 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/GdalDatasetParameters.md b/rust/docs/GdalDatasetParameters.md new file mode 100644 index 00000000..4b572722 --- /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::GdalDatasetGeoTransform**](GdalDatasetGeoTransform.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..07b9bce9 --- /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** | **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/GdalMetaDataRegular.md b/rust/docs/GdalMetaDataRegular.md new file mode 100644 index 00000000..a156d5ad --- /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** | **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/GdalMetaDataStatic.md b/rust/docs/GdalMetaDataStatic.md new file mode 100644 index 00000000..00cbf691 --- /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** | **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/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..a6fe4e0c --- /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** | | +**params** | [**models::GdalDatasetParameters**](GdalDatasetParameters.md) | | +**result_descriptor** | [**models::RasterResultDescriptor**](RasterResultDescriptor.md) | | +**start** | **i64** | | +**step** | [**models::TimeStep**](TimeStep.md) | | +**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/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..4be19dd5 --- /dev/null +++ b/rust/docs/GeoJson.md @@ -0,0 +1,12 @@ +# GeoJson + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**features** | [**Vec**](serde_json::Value.md) | | +**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/GetCapabilitiesFormat.md b/rust/docs/GetCapabilitiesFormat.md new file mode 100644 index 00000000..273e8fac --- /dev/null +++ b/rust/docs/GetCapabilitiesFormat.md @@ -0,0 +1,12 @@ +# GetCapabilitiesFormat + +## Enum Variants + +| Name | Value | +|---- | -----| +| TextSlashXml | text/xml | + + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/rust/docs/GetCapabilitiesRequest.md b/rust/docs/GetCapabilitiesRequest.md new file mode 100644 index 00000000..54ea5876 --- /dev/null +++ b/rust/docs/GetCapabilitiesRequest.md @@ -0,0 +1,12 @@ +# GetCapabilitiesRequest + +## Enum Variants + +| Name | Value | +|---- | -----| +| GetCapabilities | GetCapabilities | + + +[[Back to Model list]](../README.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/GetCoverageRequest.md b/rust/docs/GetCoverageRequest.md new file mode 100644 index 00000000..246ce41e --- /dev/null +++ b/rust/docs/GetCoverageRequest.md @@ -0,0 +1,12 @@ +# GetCoverageRequest + +## Enum Variants + +| Name | Value | +|---- | -----| +| 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/GetFeatureRequest.md b/rust/docs/GetFeatureRequest.md new file mode 100644 index 00000000..e8f24864 --- /dev/null +++ b/rust/docs/GetFeatureRequest.md @@ -0,0 +1,12 @@ +# GetFeatureRequest + +## Enum Variants + +| Name | Value | +|---- | -----| +| 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/GetLegendGraphicRequest.md b/rust/docs/GetLegendGraphicRequest.md new file mode 100644 index 00000000..a0aa5ccb --- /dev/null +++ b/rust/docs/GetLegendGraphicRequest.md @@ -0,0 +1,12 @@ +# GetLegendGraphicRequest + +## Enum Variants + +| Name | Value | +|---- | -----| +| 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/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/GetMapFormat.md b/rust/docs/GetMapFormat.md new file mode 100644 index 00000000..96e11530 --- /dev/null +++ b/rust/docs/GetMapFormat.md @@ -0,0 +1,12 @@ +# GetMapFormat + +## Enum Variants + +| Name | Value | +|---- | -----| +| 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/GetMapRequest.md b/rust/docs/GetMapRequest.md new file mode 100644 index 00000000..d9036c33 --- /dev/null +++ b/rust/docs/GetMapRequest.md @@ -0,0 +1,12 @@ +# GetMapRequest + +## Enum Variants + +| Name | Value | +|---- | -----| +| GetMap | GetMap | + + +[[Back to Model list]](../README.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..5ac4bee7 --- /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** | **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/GfbioCollectionsDataProviderDefinition.md b/rust/docs/GfbioCollectionsDataProviderDefinition.md new file mode 100644 index 00000000..f66667fb --- /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** | **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/IdResponse.md b/rust/docs/IdResponse.md new file mode 100644 index 00000000..b8be2cbc --- /dev/null +++ b/rust/docs/IdResponse.md @@ -0,0 +1,11 @@ +# IdResponse + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**id** | [**uuid::Uuid**](uuid::Uuid.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/InternalDataId.md b/rust/docs/InternalDataId.md new file mode 100644 index 00000000..b2dff0c3 --- /dev/null +++ b/rust/docs/InternalDataId.md @@ -0,0 +1,12 @@ +# InternalDataId + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**dataset_id** | [**uuid::Uuid**](uuid::Uuid.md) | | +**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/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..86a04dda --- /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** | **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/LayerCollectionResource.md b/rust/docs/LayerCollectionResource.md new file mode 100644 index 00000000..c8871ed4 --- /dev/null +++ b/rust/docs/LayerCollectionResource.md @@ -0,0 +1,12 @@ +# LayerCollectionResource + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**id** | **String** | | +**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/LayerListing.md b/rust/docs/LayerListing.md new file mode 100644 index 00000000..850ed15e --- /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** | **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/LayerProviderListing.md b/rust/docs/LayerProviderListing.md new file mode 100644 index 00000000..3155bf03 --- /dev/null +++ b/rust/docs/LayerProviderListing.md @@ -0,0 +1,13 @@ +# LayerProviderListing + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**id** | [**uuid::Uuid**](uuid::Uuid.md) | | +**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..62960f7c --- /dev/null +++ b/rust/docs/LayerResource.md @@ -0,0 +1,12 @@ +# LayerResource + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**id** | **String** | | +**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/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..bbd670cb --- /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**](.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**](.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/LineSymbology.md b/rust/docs/LineSymbology.md new file mode 100644 index 00000000..3097ef5d --- /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** | **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/LinearGradient.md b/rust/docs/LinearGradient.md new file mode 100644 index 00000000..d7bb39fa --- /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** | **String** | | +**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..10f12743 --- /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** | **String** | | +**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..dbf2e491 --- /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**](uuid::Uuid.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/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..7fd3cd6e --- /dev/null +++ b/rust/docs/MlModelResource.md @@ -0,0 +1,12 @@ +# MlModelResource + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**id** | **String** | | +**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/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..fd5be903 --- /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** | **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/MultiBandRasterColorizer.md b/rust/docs/MultiBandRasterColorizer.md new file mode 100644 index 00000000..bffda966 --- /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**> | | [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** | **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/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/NetCdfCfDataProviderDefinition.md b/rust/docs/NetCdfCfDataProviderDefinition.md new file mode 100644 index 00000000..7027a349 --- /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** | **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/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..665b4e45 --- /dev/null +++ b/rust/docs/OgcwcsApi.md @@ -0,0 +1,115 @@ +# \OgcwcsApi + +All URIs are relative to *https://geoengine.io/api* + +Method | HTTP request | Description +------------- | ------------- | ------------- +[**wcs_capabilities_handler**](OgcwcsApi.md#wcs_capabilities_handler) | **GET** /wcs/{workflow}?request=GetCapabilities | Get WCS Capabilities +[**wcs_describe_coverage_handler**](OgcwcsApi.md#wcs_describe_coverage_handler) | **GET** /wcs/{workflow}?request=DescribeCoverage | Get WCS Coverage Description +[**wcs_get_coverage_handler**](OgcwcsApi.md#wcs_get_coverage_handler) | **GET** /wcs/{workflow}?request=GetCoverage | Get WCS Coverage + + + +## wcs_capabilities_handler + +> String wcs_capabilities_handler(workflow, service, request, version) +Get WCS Capabilities + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**workflow** | **uuid::Uuid** | Workflow id | [required] | +**service** | [**WcsService**](.md) | | [required] | +**request** | [**GetCapabilitiesRequest**](.md) | | [required] | +**version** | Option<[**WcsVersion**](.md)> | | | + +### 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) + + +## wcs_describe_coverage_handler + +> String wcs_describe_coverage_handler(workflow, version, service, request, identifiers) +Get WCS Coverage Description + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**workflow** | **uuid::Uuid** | Workflow id | [required] | +**version** | [**WcsVersion**](.md) | | [required] | +**service** | [**WcsService**](.md) | | [required] | +**request** | [**DescribeCoverageRequest**](.md) | | [required] | +**identifiers** | **String** | | [required] | + +### 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) + + +## wcs_get_coverage_handler + +> std::path::PathBuf wcs_get_coverage_handler(workflow, version, service, request, format, identifier, boundingbox, gridbasecrs, gridorigin, gridoffsets, time, resx, resy, nodatavalue) +Get WCS Coverage + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**workflow** | **uuid::Uuid** | Workflow id | [required] | +**version** | [**WcsVersion**](.md) | | [required] | +**service** | [**WcsService**](.md) | | [required] | +**request** | [**GetCoverageRequest**](.md) | | [required] | +**format** | [**GetCoverageFormat**](.md) | | [required] | +**identifier** | **String** | | [required] | +**boundingbox** | **String** | | [required] | +**gridbasecrs** | **String** | | [required] | +**gridorigin** | Option<**String**> | | | +**gridoffsets** | Option<**String**> | | | +**time** | Option<**String**> | | | +**resx** | Option<**f64**> | | | +**resy** | Option<**f64**> | | | +**nodatavalue** | Option<**f64**> | | | + +### 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/OgcwfsApi.md b/rust/docs/OgcwfsApi.md new file mode 100644 index 00000000..e67554c3 --- /dev/null +++ b/rust/docs/OgcwfsApi.md @@ -0,0 +1,83 @@ +# \OgcwfsApi + +All URIs are relative to *https://geoengine.io/api* + +Method | HTTP request | Description +------------- | ------------- | ------------- +[**wfs_capabilities_handler**](OgcwfsApi.md#wfs_capabilities_handler) | **GET** /wfs/{workflow}?request=GetCapabilities | Get WFS Capabilities +[**wfs_feature_handler**](OgcwfsApi.md#wfs_feature_handler) | **GET** /wfs/{workflow}?request=GetFeature | Get WCS Features + + + +## wfs_capabilities_handler + +> String wfs_capabilities_handler(workflow, version, service, request) +Get WFS Capabilities + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**workflow** | **uuid::Uuid** | Workflow id | [required] | +**version** | Option<[**WfsVersion**](.md)> | | [required] | +**service** | [**WfsService**](.md) | | [required] | +**request** | [**GetCapabilitiesRequest**](.md) | | [required] | + +### 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) + + +## wfs_feature_handler + +> models::GeoJson wfs_feature_handler(workflow, service, request, type_names, bbox, version, time, srs_name, namespaces, count, sort_by, result_type, filter, property_name, query_resolution) +Get WCS Features + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**workflow** | **uuid::Uuid** | Workflow id | [required] | +**service** | [**WfsService**](.md) | | [required] | +**request** | [**GetFeatureRequest**](.md) | | [required] | +**type_names** | **String** | | [required] | +**bbox** | **String** | | [required] | +**version** | Option<[**WfsVersion**](.md)> | | | +**time** | Option<**String**> | | | +**srs_name** | Option<**String**> | | | +**namespaces** | Option<**String**> | | | +**count** | Option<**i64**> | | | +**sort_by** | Option<**String**> | | | +**result_type** | Option<**String**> | | | +**filter** | Option<**String**> | | | +**property_name** | Option<**String**> | | | +**query_resolution** | Option<**String**> | Vendor parameter for specifying a spatial query resolution | | + +### 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..5b3921c3 --- /dev/null +++ b/rust/docs/OgcwmsApi.md @@ -0,0 +1,120 @@ +# \OgcwmsApi + +All URIs are relative to *https://geoengine.io/api* + +Method | HTTP request | Description +------------- | ------------- | ------------- +[**wms_capabilities_handler**](OgcwmsApi.md#wms_capabilities_handler) | **GET** /wms/{workflow}?request=GetCapabilities | Get WMS Capabilities +[**wms_legend_graphic_handler**](OgcwmsApi.md#wms_legend_graphic_handler) | **GET** /wms/{workflow}?request=GetLegendGraphic | Get WMS Legend Graphic +[**wms_map_handler**](OgcwmsApi.md#wms_map_handler) | **GET** /wms/{workflow}?request=GetMap | Get WMS Map + + + +## wms_capabilities_handler + +> String wms_capabilities_handler(workflow, version, service, request, format) +Get WMS Capabilities + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**workflow** | **uuid::Uuid** | Workflow id | [required] | +**version** | Option<[**WmsVersion**](.md)> | | [required] | +**service** | [**WmsService**](.md) | | [required] | +**request** | [**GetCapabilitiesRequest**](.md) | | [required] | +**format** | Option<[**GetCapabilitiesFormat**](.md)> | | [required] | + +### 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) + + +## wms_legend_graphic_handler + +> wms_legend_graphic_handler(workflow, version, service, request, layer) +Get WMS Legend Graphic + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**workflow** | **uuid::Uuid** | Workflow id | [required] | +**version** | [**WmsVersion**](.md) | | [required] | +**service** | [**WmsService**](.md) | | [required] | +**request** | [**GetLegendGraphicRequest**](.md) | | [required] | +**layer** | **String** | | [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) + + +## wms_map_handler + +> std::path::PathBuf wms_map_handler(workflow, version, service, request, width, height, bbox, format, layers, styles, crs, time, transparent, bgcolor, sld, sld_body, elevation, exceptions) +Get WMS Map + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**workflow** | **uuid::Uuid** | Workflow id | [required] | +**version** | [**WmsVersion**](.md) | | [required] | +**service** | [**WmsService**](.md) | | [required] | +**request** | [**GetMapRequest**](.md) | | [required] | +**width** | **i32** | | [required] | +**height** | **i32** | | [required] | +**bbox** | **String** | | [required] | +**format** | [**GetMapFormat**](.md) | | [required] | +**layers** | **String** | | [required] | +**styles** | **String** | | [required] | +**crs** | Option<**String**> | | | +**time** | Option<**String**> | | | +**transparent** | Option<**bool**> | | | +**bgcolor** | Option<**String**> | | | +**sld** | Option<**String**> | | | +**sld_body** | Option<**String**> | | | +**elevation** | Option<**String**> | | | +**exceptions** | Option<[**GetMapExceptionFormat**](.md)> | | | + +### 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..bff42288 --- /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** | **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/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..ed49e298 --- /dev/null +++ b/rust/docs/OgrSourceDatasetTimeTypeNone.md @@ -0,0 +1,11 @@ +# OgrSourceDatasetTimeTypeNone + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**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/OgrSourceDatasetTimeTypeStart.md b/rust/docs/OgrSourceDatasetTimeTypeStart.md new file mode 100644 index 00000000..a0333a6f --- /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** | **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/OgrSourceDatasetTimeTypeStartDuration.md b/rust/docs/OgrSourceDatasetTimeTypeStartDuration.md new file mode 100644 index 00000000..339e7743 --- /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** | **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/OgrSourceDatasetTimeTypeStartEnd.md b/rust/docs/OgrSourceDatasetTimeTypeStartEnd.md new file mode 100644 index 00000000..a444ed0d --- /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** | **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/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..8e2a0e95 --- /dev/null +++ b/rust/docs/OgrSourceDurationSpecInfinite.md @@ -0,0 +1,11 @@ +# OgrSourceDurationSpecInfinite + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**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/OgrSourceDurationSpecValue.md b/rust/docs/OgrSourceDurationSpecValue.md new file mode 100644 index 00000000..99d5b135 --- /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** | **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/OgrSourceDurationSpecZero.md b/rust/docs/OgrSourceDurationSpecZero.md new file mode 100644 index 00000000..928210f4 --- /dev/null +++ b/rust/docs/OgrSourceDurationSpecZero.md @@ -0,0 +1,11 @@ +# OgrSourceDurationSpecZero + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**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/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..71080e0c --- /dev/null +++ b/rust/docs/OgrSourceTimeFormatAuto.md @@ -0,0 +1,11 @@ +# OgrSourceTimeFormatAuto + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**format** | **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/OgrSourceTimeFormatCustom.md b/rust/docs/OgrSourceTimeFormatCustom.md new file mode 100644 index 00000000..03b2b5d5 --- /dev/null +++ b/rust/docs/OgrSourceTimeFormatCustom.md @@ -0,0 +1,12 @@ +# OgrSourceTimeFormatCustom + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**custom_format** | **String** | | +**format** | **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/OgrSourceTimeFormatUnixTimeStamp.md b/rust/docs/OgrSourceTimeFormatUnixTimeStamp.md new file mode 100644 index 00000000..862a139c --- /dev/null +++ b/rust/docs/OgrSourceTimeFormatUnixTimeStamp.md @@ -0,0 +1,12 @@ +# OgrSourceTimeFormatUnixTimeStamp + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**format** | **String** | | +**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..07eaac89 --- /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** | **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/PangaeaDataProviderDefinition.md b/rust/docs/PangaeaDataProviderDefinition.md new file mode 100644 index 00000000..d8469970 --- /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** | **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/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/PermissionListOptions.md b/rust/docs/PermissionListOptions.md new file mode 100644 index 00000000..e02f0038 --- /dev/null +++ b/rust/docs/PermissionListOptions.md @@ -0,0 +1,12 @@ +# PermissionListOptions + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**limit** | **i32** | | +**offset** | **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/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..e10660e8 --- /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**](uuid::Uuid.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/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..8c4817f3 --- /dev/null +++ b/rust/docs/Plot.md @@ -0,0 +1,12 @@ +# Plot + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**name** | **String** | | +**workflow** | [**uuid::Uuid**](uuid::Uuid.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/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/PlotQueryRectangle.md b/rust/docs/PlotQueryRectangle.md new file mode 100644 index 00000000..47e63776 --- /dev/null +++ b/rust/docs/PlotQueryRectangle.md @@ -0,0 +1,13 @@ +# PlotQueryRectangle + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**spatial_bounds** | [**models::BoundingBox2D**](BoundingBox2D.md) | | +**spatial_resolution** | [**models::SpatialResolution**](SpatialResolution.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/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..b6ed46f0 --- /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** | **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/PolygonSymbology.md b/rust/docs/PolygonSymbology.md new file mode 100644 index 00000000..76b2bd23 --- /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** | **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/Project.md b/rust/docs/Project.md new file mode 100644 index 00000000..1cb1f418 --- /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**](uuid::Uuid.md) | | +**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..b6536cbf --- /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**](uuid::Uuid.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/ProjectListing.md b/rust/docs/ProjectListing.md new file mode 100644 index 00000000..9f67a215 --- /dev/null +++ b/rust/docs/ProjectListing.md @@ -0,0 +1,16 @@ +# ProjectListing + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**changed** | **String** | | +**description** | **String** | | +**id** | [**uuid::Uuid**](uuid::Uuid.md) | | +**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..fd0707eb --- /dev/null +++ b/rust/docs/ProjectResource.md @@ -0,0 +1,12 @@ +# ProjectResource + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**id** | [**uuid::Uuid**](uuid::Uuid.md) | | +**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/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..e40a3d53 --- /dev/null +++ b/rust/docs/ProjectVersion.md @@ -0,0 +1,12 @@ +# ProjectVersion + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**changed** | **String** | | +**id** | [**uuid::Uuid**](uuid::Uuid.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/ProjectsApi.md b/rust/docs/ProjectsApi.md new file mode 100644 index 00000000..c9b4db27 --- /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**](.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/ProvenanceOutput.md b/rust/docs/ProvenanceOutput.md new file mode 100644 index 00000000..8db015b7 --- /dev/null +++ b/rust/docs/ProvenanceOutput.md @@ -0,0 +1,12 @@ +# ProvenanceOutput + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**data** | [**models::DataId**](DataId.md) | | +**provenance** | Option<[**Vec**](Provenance.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/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..162867bd --- /dev/null +++ b/rust/docs/ProviderLayerCollectionId.md @@ -0,0 +1,12 @@ +# ProviderLayerCollectionId + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**collection_id** | **String** | | +**provider_id** | [**uuid::Uuid**](uuid::Uuid.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/ProviderLayerId.md b/rust/docs/ProviderLayerId.md new file mode 100644 index 00000000..a8aafe43 --- /dev/null +++ b/rust/docs/ProviderLayerId.md @@ -0,0 +1,12 @@ +# ProviderLayerId + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**layer_id** | **String** | | +**provider_id** | [**uuid::Uuid**](uuid::Uuid.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/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..712b7b08 --- /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::RasterQueryRectangle**](RasterQueryRectangle.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/RasterDatasetFromWorkflowResult.md b/rust/docs/RasterDatasetFromWorkflowResult.md new file mode 100644 index 00000000..84b5363c --- /dev/null +++ b/rust/docs/RasterDatasetFromWorkflowResult.md @@ -0,0 +1,12 @@ +# RasterDatasetFromWorkflowResult + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**dataset** | **String** | | +**upload** | [**uuid::Uuid**](uuid::Uuid.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/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/RasterQueryRectangle.md b/rust/docs/RasterQueryRectangle.md new file mode 100644 index 00000000..b40a5ab2 --- /dev/null +++ b/rust/docs/RasterQueryRectangle.md @@ -0,0 +1,13 @@ +# RasterQueryRectangle + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**spatial_bounds** | [**models::SpatialPartition2D**](SpatialPartition2D.md) | | +**spatial_resolution** | [**models::SpatialResolution**](SpatialResolution.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/RasterResultDescriptor.md b/rust/docs/RasterResultDescriptor.md new file mode 100644 index 00000000..c21b715c --- /dev/null +++ b/rust/docs/RasterResultDescriptor.md @@ -0,0 +1,16 @@ +# RasterResultDescriptor + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**bands** | [**Vec**](RasterBandDescriptor.md) | | +**bbox** | Option<[**models::SpatialPartition2D**](SpatialPartition2D.md)> | | [optional] +**data_type** | [**models::RasterDataType**](RasterDataType.md) | | +**resolution** | Option<[**models::SpatialResolution**](SpatialResolution.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/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..a61af822 --- /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** | **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/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..e8db33b9 --- /dev/null +++ b/rust/docs/Role.md @@ -0,0 +1,12 @@ +# Role + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**id** | [**uuid::Uuid**](uuid::Uuid.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/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..d94ec1ed --- /dev/null +++ b/rust/docs/SentinelS2L2ACogsProviderDefinition.md @@ -0,0 +1,22 @@ +# SentinelS2L2ACogsProviderDefinition + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**api_url** | **String** | | +**bands** | [**Vec**](StacBand.md) | | +**cache_ttl** | Option<**i32**> | | [optional] +**description** | **String** | | +**gdal_retries** | Option<**i32**> | | [optional] +**id** | [**uuid::Uuid**](uuid::Uuid.md) | | +**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** | **String** | | +**zones** | [**Vec**](StacZone.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/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..4ef57ed3 --- /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** | **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/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/SpatialReferenceAuthority.md b/rust/docs/SpatialReferenceAuthority.md new file mode 100644 index 00000000..7e7bb8e3 --- /dev/null +++ b/rust/docs/SpatialReferenceAuthority.md @@ -0,0 +1,15 @@ +# SpatialReferenceAuthority + +## Enum Variants + +| Name | Value | +|---- | -----| +| Epsg | EPSG | +| SrOrg | SR-ORG | +| Iau2000 | IAU2000 | +| Esri | ESRI | + + +[[Back to Model list]](../README.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/SpatialResolution.md b/rust/docs/SpatialResolution.md new file mode 100644 index 00000000..a1d301b2 --- /dev/null +++ b/rust/docs/SpatialResolution.md @@ -0,0 +1,12 @@ +# SpatialResolution + +## 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/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/StacBand.md b/rust/docs/StacBand.md new file mode 100644 index 00000000..f3c8f8a7 --- /dev/null +++ b/rust/docs/StacBand.md @@ -0,0 +1,13 @@ +# StacBand + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**data_type** | [**models::RasterDataType**](RasterDataType.md) | | +**name** | **String** | | +**no_data_value** | Option<**f64**> | | [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/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/StacZone.md b/rust/docs/StacZone.md new file mode 100644 index 00000000..10b1948d --- /dev/null +++ b/rust/docs/StacZone.md @@ -0,0 +1,12 @@ +# StacZone + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**epsg** | **i32** | | +**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/StaticColor.md b/rust/docs/StaticColor.md new file mode 100644 index 00000000..b39c9f0b --- /dev/null +++ b/rust/docs/StaticColor.md @@ -0,0 +1,12 @@ +# StaticColor + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**color** | **Vec** | | +**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/StaticNumber.md b/rust/docs/StaticNumber.md new file mode 100644 index 00000000..2f01e372 --- /dev/null +++ b/rust/docs/StaticNumber.md @@ -0,0 +1,12 @@ +# StaticNumber + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**r#type** | **String** | | +**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/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/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/TaskAbortOptions.md b/rust/docs/TaskAbortOptions.md new file mode 100644 index 00000000..1f6f5565 --- /dev/null +++ b/rust/docs/TaskAbortOptions.md @@ -0,0 +1,11 @@ +# TaskAbortOptions + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**force** | Option<**bool**> | | [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/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/TaskListOptions.md b/rust/docs/TaskListOptions.md new file mode 100644 index 00000000..cae9fe44 --- /dev/null +++ b/rust/docs/TaskListOptions.md @@ -0,0 +1,13 @@ +# TaskListOptions + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**filter** | Option<[**models::TaskFilter**](TaskFilter.md)> | | [optional] +**limit** | Option<**i32**> | | [optional] +**offset** | Option<**i32**> | | [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/TaskResponse.md b/rust/docs/TaskResponse.md new file mode 100644 index 00000000..776f9513 --- /dev/null +++ b/rust/docs/TaskResponse.md @@ -0,0 +1,11 @@ +# TaskResponse + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**task_id** | [**uuid::Uuid**](uuid::Uuid.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/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..33b60b9e --- /dev/null +++ b/rust/docs/TaskStatusAborted.md @@ -0,0 +1,12 @@ +# TaskStatusAborted + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**clean_up** | Option<[**serde_json::Value**](.md)> | | +**status** | **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/TaskStatusCompleted.md b/rust/docs/TaskStatusCompleted.md new file mode 100644 index 00000000..f6a8988c --- /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**](.md)> | | [optional] +**status** | **String** | | +**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..e9ba13d2 --- /dev/null +++ b/rust/docs/TaskStatusFailed.md @@ -0,0 +1,13 @@ +# TaskStatusFailed + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**clean_up** | Option<[**serde_json::Value**](.md)> | | +**error** | Option<[**serde_json::Value**](.md)> | | +**status** | **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/TaskStatusRunning.md b/rust/docs/TaskStatusRunning.md new file mode 100644 index 00000000..6c7a6769 --- /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**](.md)> | | [optional] +**pct_complete** | **String** | | +**status** | **String** | | +**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..f5a895f4 --- /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**](.md)> | | [optional] +**pct_complete** | **String** | | +**status** | **String** | | +**task_type** | **String** | | +**time_started** | **String** | | +**time_total** | **String** | | +**clean_up** | Option<[**serde_json::Value**](.md)> | | +**error** | Option<[**serde_json::Value**](.md)> | | +**task_id** | [**uuid::Uuid**](uuid::Uuid.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/TasksApi.md b/rust/docs/TasksApi.md new file mode 100644 index 00000000..dc1b3086 --- /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<[**TaskFilter**](.md)> | | [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/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/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..a9e4e170 --- /dev/null +++ b/rust/docs/TypedGeometryOneOf.md @@ -0,0 +1,11 @@ +# TypedGeometryOneOf + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**data** | Option<[**serde_json::Value**](.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/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..7d7f7792 --- /dev/null +++ b/rust/docs/TypedOperator.md @@ -0,0 +1,12 @@ +# TypedOperator + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**operator** | [**models::TypedOperatorOperator**](TypedOperator_operator.md) | | +**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/TypedOperatorOperator.md b/rust/docs/TypedOperatorOperator.md new file mode 100644 index 00000000..c61d8bee --- /dev/null +++ b/rust/docs/TypedOperatorOperator.md @@ -0,0 +1,13 @@ +# TypedOperatorOperator + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**params** | Option<[**serde_json::Value**](.md)> | | [optional] +**sources** | Option<[**serde_json::Value**](.md)> | | [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/TypedPlotResultDescriptor.md b/rust/docs/TypedPlotResultDescriptor.md new file mode 100644 index 00000000..f2826339 --- /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** | **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/TypedRasterResultDescriptor.md b/rust/docs/TypedRasterResultDescriptor.md new file mode 100644 index 00000000..c18044e4 --- /dev/null +++ b/rust/docs/TypedRasterResultDescriptor.md @@ -0,0 +1,17 @@ +# TypedRasterResultDescriptor + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**bands** | [**Vec**](RasterBandDescriptor.md) | | +**bbox** | Option<[**models::SpatialPartition2D**](SpatialPartition2D.md)> | | [optional] +**data_type** | [**models::RasterDataType**](RasterDataType.md) | | +**resolution** | Option<[**models::SpatialResolution**](SpatialResolution.md)> | | [optional] +**spatial_reference** | **String** | | +**time** | Option<[**models::TimeInterval**](TimeInterval.md)> | | [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/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/TypedVectorResultDescriptor.md b/rust/docs/TypedVectorResultDescriptor.md new file mode 100644 index 00000000..201b2601 --- /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** | **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/UnitlessMeasurement.md b/rust/docs/UnitlessMeasurement.md new file mode 100644 index 00000000..155762e6 --- /dev/null +++ b/rust/docs/UnitlessMeasurement.md @@ -0,0 +1,11 @@ +# UnitlessMeasurement + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**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/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..16cf41fe --- /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**](uuid::Uuid.md) | | +**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..afd617f8 --- /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..0ab7952c --- /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 + +> uuid::Uuid 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 + +[**uuid::Uuid**](uuid::Uuid.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**](.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..5a21eb68 --- /dev/null +++ b/rust/docs/UserInfo.md @@ -0,0 +1,13 @@ +# UserInfo + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**email** | Option<**String**> | | [optional] +**id** | [**uuid::Uuid**](uuid::Uuid.md) | | +**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..0152581f --- /dev/null +++ b/rust/docs/UserSession.md @@ -0,0 +1,17 @@ +# UserSession + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**created** | **String** | | +**id** | [**uuid::Uuid**](uuid::Uuid.md) | | +**project** | Option<[**uuid::Uuid**](uuid::Uuid.md)> | | [optional] +**roles** | [**Vec**](uuid::Uuid.md) | | +**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/VectorQueryRectangle.md b/rust/docs/VectorQueryRectangle.md new file mode 100644 index 00000000..de5a1264 --- /dev/null +++ b/rust/docs/VectorQueryRectangle.md @@ -0,0 +1,13 @@ +# VectorQueryRectangle + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**spatial_bounds** | [**models::BoundingBox2D**](BoundingBox2D.md) | | +**spatial_resolution** | [**models::SpatialResolution**](SpatialResolution.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/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/WcsBoundingbox.md b/rust/docs/WcsBoundingbox.md new file mode 100644 index 00000000..352ac119 --- /dev/null +++ b/rust/docs/WcsBoundingbox.md @@ -0,0 +1,12 @@ +# WcsBoundingbox + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**bbox** | **Vec** | | +**spatial_reference** | 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/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/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..1dd60e41 --- /dev/null +++ b/rust/docs/WildliveDataConnectorDefinition.md @@ -0,0 +1,16 @@ +# WildliveDataConnectorDefinition + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**api_key** | Option<**String**> | | [optional] +**description** | **String** | | +**id** | [**uuid::Uuid**](uuid::Uuid.md) | | +**name** | **String** | | +**priority** | Option<**i32**> | | [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/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..7aa256af --- /dev/null +++ b/rust/docs/Workflow.md @@ -0,0 +1,12 @@ +# Workflow + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**operator** | [**models::TypedOperatorOperator**](TypedOperator_operator.md) | | +**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/WorkflowsApi.md b/rust/docs/WorkflowsApi.md new file mode 100644 index 00000000..e272bb1a --- /dev/null +++ b/rust/docs/WorkflowsApi.md @@ -0,0 +1,217 @@ +# \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, spatial_resolution, 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**](.md) | | [required] | +**time_interval** | **String** | | [required] | +**spatial_resolution** | [**SpatialResolution**](.md) | | [required] | +**attributes** | **String** | | [required] | +**result_type** | [**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..bcee07da --- /dev/null +++ b/rust/docs/WrappedPlotOutput.md @@ -0,0 +1,13 @@ +# WrappedPlotOutput + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**data** | [**serde_json::Value**](.md) | | +**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..09b45d41 --- /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.8.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.8.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..7395fd02 --- /dev/null +++ b/rust/src/apis/datasets_api.rs @@ -0,0 +1,608 @@ +/* + * Geo Engine API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.8.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 [`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 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..238006f4 --- /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.8.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..91261c85 --- /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.8.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..0d8a0f39 --- /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.8.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..9ac81bed --- /dev/null +++ b/rust/src/apis/ogcwcs_api.rs @@ -0,0 +1,199 @@ +/* + * Geo Engine API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.8.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_capabilities_handler`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum WcsCapabilitiesHandlerError { + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`wcs_describe_coverage_handler`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum WcsDescribeCoverageHandlerError { + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`wcs_get_coverage_handler`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum WcsGetCoverageHandlerError { + UnknownValue(serde_json::Value), +} + + +pub async fn wcs_capabilities_handler(configuration: &configuration::Configuration, workflow: &str, service: models::WcsService, request: models::GetCapabilitiesRequest, version: Option) -> Result> { + // add a prefix to parameters to efficiently prevent name collisions + let p_path_workflow = workflow; + let p_query_service = service; + let p_query_request = request; + let p_query_version = version; + + let uri_str = format!("{}/wcs/{workflow}?request=GetCapabilities", 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_version { + req_builder = req_builder.query(&[("version", ¶m_value.to_string())]); + } + req_builder = req_builder.query(&[("service", &p_query_service.to_string())]); + req_builder = req_builder.query(&[("request", &p_query_request.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 })) + } +} + +pub async fn wcs_describe_coverage_handler(configuration: &configuration::Configuration, workflow: &str, version: models::WcsVersion, service: models::WcsService, request: models::DescribeCoverageRequest, identifiers: &str) -> Result> { + // add a prefix to parameters to efficiently prevent name collisions + let p_path_workflow = workflow; + let p_query_version = version; + let p_query_service = service; + let p_query_request = request; + let p_query_identifiers = identifiers; + + let uri_str = format!("{}/wcs/{workflow}?request=DescribeCoverage", configuration.base_path, workflow=crate::apis::urlencode(p_path_workflow)); + let mut req_builder = configuration.client.request(reqwest::Method::GET, &uri_str); + + req_builder = req_builder.query(&[("version", &p_query_version.to_string())]); + req_builder = req_builder.query(&[("service", &p_query_service.to_string())]); + req_builder = req_builder.query(&[("request", &p_query_request.to_string())]); + req_builder = req_builder.query(&[("identifiers", &p_query_identifiers.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 })) + } +} + +pub async fn wcs_get_coverage_handler(configuration: &configuration::Configuration, workflow: &str, version: models::WcsVersion, service: models::WcsService, request: models::GetCoverageRequest, format: models::GetCoverageFormat, identifier: &str, boundingbox: &str, gridbasecrs: &str, gridorigin: Option<&str>, gridoffsets: Option<&str>, time: Option<&str>, resx: Option, resy: Option, nodatavalue: Option) -> Result> { + // add a prefix to parameters to efficiently prevent name collisions + let p_path_workflow = workflow; + let p_query_version = version; + let p_query_service = service; + let p_query_request = request; + let p_query_format = format; + let p_query_identifier = identifier; + let p_query_boundingbox = boundingbox; + let p_query_gridbasecrs = gridbasecrs; + let p_query_gridorigin = gridorigin; + let p_query_gridoffsets = gridoffsets; + let p_query_time = time; + let p_query_resx = resx; + let p_query_resy = resy; + let p_query_nodatavalue = nodatavalue; + + let uri_str = format!("{}/wcs/{workflow}?request=GetCoverage", configuration.base_path, workflow=crate::apis::urlencode(p_path_workflow)); + let mut req_builder = configuration.client.request(reqwest::Method::GET, &uri_str); + + req_builder = req_builder.query(&[("version", &p_query_version.to_string())]); + req_builder = req_builder.query(&[("service", &p_query_service.to_string())]); + req_builder = req_builder.query(&[("request", &p_query_request.to_string())]); + req_builder = req_builder.query(&[("format", &p_query_format.to_string())]); + req_builder = req_builder.query(&[("identifier", &p_query_identifier.to_string())]); + req_builder = req_builder.query(&[("boundingbox", &p_query_boundingbox.to_string())]); + req_builder = req_builder.query(&[("gridbasecrs", &p_query_gridbasecrs.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_gridoffsets { + req_builder = req_builder.query(&[("gridoffsets", ¶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_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_nodatavalue { + req_builder = req_builder.query(&[("nodatavalue", ¶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/ogcwfs_api.rs b/rust/src/apis/ogcwfs_api.rs new file mode 100644 index 00000000..d31fde9b --- /dev/null +++ b/rust/src/apis/ogcwfs_api.rs @@ -0,0 +1,161 @@ +/* + * Geo Engine API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.8.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_capabilities_handler`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum WfsCapabilitiesHandlerError { + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`wfs_feature_handler`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum WfsFeatureHandlerError { + UnknownValue(serde_json::Value), +} + + +pub async fn wfs_capabilities_handler(configuration: &configuration::Configuration, workflow: &str, version: Option, service: models::WfsService, request: models::GetCapabilitiesRequest) -> Result> { + // add a prefix to parameters to efficiently prevent name collisions + let p_path_workflow = workflow; + let p_path_version = version; + let p_path_service = service; + let p_path_request = request; + + let uri_str = format!("{}/wfs/{workflow}?request=GetCapabilities", 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()); + 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 `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 })) + } +} + +pub async fn wfs_feature_handler(configuration: &configuration::Configuration, workflow: &str, service: models::WfsService, request: models::GetFeatureRequest, type_names: &str, bbox: &str, version: Option, time: Option<&str>, srs_name: Option<&str>, namespaces: Option<&str>, count: Option, sort_by: Option<&str>, result_type: Option<&str>, filter: Option<&str>, property_name: Option<&str>, query_resolution: Option<&str>) -> Result> { + // add a prefix to parameters to efficiently prevent name collisions + let p_path_workflow = workflow; + let p_query_service = service; + let p_query_request = request; + let p_query_type_names = type_names; + let p_query_bbox = bbox; + let p_query_version = version; + let p_query_time = time; + let p_query_srs_name = srs_name; + let p_query_namespaces = namespaces; + let p_query_count = count; + let p_query_sort_by = sort_by; + let p_query_result_type = result_type; + let p_query_filter = filter; + let p_query_property_name = property_name; + let p_query_query_resolution = query_resolution; + + let uri_str = format!("{}/wfs/{workflow}?request=GetFeature", 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_version { + req_builder = req_builder.query(&[("version", ¶m_value.to_string())]); + } + req_builder = req_builder.query(&[("service", &p_query_service.to_string())]); + req_builder = req_builder.query(&[("request", &p_query_request.to_string())]); + req_builder = req_builder.query(&[("typeNames", &p_query_type_names.to_string())]); + req_builder = req_builder.query(&[("bbox", &p_query_bbox.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_srs_name { + req_builder = req_builder.query(&[("srsName", ¶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_count { + req_builder = req_builder.query(&[("count", ¶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_result_type { + req_builder = req_builder.query(&[("resultType", ¶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_property_name { + req_builder = req_builder.query(&[("propertyName", ¶m_value.to_string())]); + } + if let Some(ref param_value) = p_query_query_resolution { + req_builder = req_builder.query(&[("queryResolution", ¶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..bc792173 --- /dev/null +++ b/rust/src/apis/ogcwms_api.rs @@ -0,0 +1,193 @@ +/* + * Geo Engine API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.8.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_capabilities_handler`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum WmsCapabilitiesHandlerError { + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`wms_legend_graphic_handler`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum WmsLegendGraphicHandlerError { + Status501(), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`wms_map_handler`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum WmsMapHandlerError { + UnknownValue(serde_json::Value), +} + + +pub async fn wms_capabilities_handler(configuration: &configuration::Configuration, workflow: &str, version: Option, service: models::WmsService, request: models::GetCapabilitiesRequest, format: Option) -> Result> { + // add a prefix to parameters to efficiently prevent name collisions + let p_path_workflow = workflow; + let p_path_version = version; + let p_path_service = service; + let p_path_request = request; + let p_path_format = format; + + let uri_str = format!("{}/wms/{workflow}?request=GetCapabilities", 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()); + 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 `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 })) + } +} + +pub async fn wms_legend_graphic_handler(configuration: &configuration::Configuration, workflow: &str, version: models::WmsVersion, service: models::WmsService, request: models::GetLegendGraphicRequest, layer: &str) -> Result<(), Error> { + // add a prefix to parameters to efficiently prevent name collisions + let p_path_workflow = workflow; + let p_path_version = version; + let p_path_service = service; + let p_path_request = request; + let p_path_layer = layer; + + let uri_str = format!("{}/wms/{workflow}?request=GetLegendGraphic", 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)); + 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(()) + } 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 wms_map_handler(configuration: &configuration::Configuration, workflow: &str, version: models::WmsVersion, service: models::WmsService, request: models::GetMapRequest, width: i32, height: i32, bbox: &str, format: models::GetMapFormat, layers: &str, styles: &str, crs: Option<&str>, time: Option<&str>, transparent: Option, bgcolor: Option<&str>, sld: Option<&str>, sld_body: Option<&str>, elevation: Option<&str>, exceptions: Option) -> Result> { + // add a prefix to parameters to efficiently prevent name collisions + let p_path_workflow = workflow; + let p_query_version = version; + let p_query_service = service; + let p_query_request = request; + let p_query_width = width; + let p_query_height = height; + let p_query_bbox = bbox; + let p_query_format = format; + let p_query_layers = layers; + let p_query_styles = styles; + let p_query_crs = crs; + let p_query_time = time; + let p_query_transparent = transparent; + let p_query_bgcolor = bgcolor; + let p_query_sld = sld; + let p_query_sld_body = sld_body; + let p_query_elevation = elevation; + let p_query_exceptions = exceptions; + + let uri_str = format!("{}/wms/{workflow}?request=GetMap", configuration.base_path, workflow=crate::apis::urlencode(p_path_workflow)); + let mut req_builder = configuration.client.request(reqwest::Method::GET, &uri_str); + + req_builder = req_builder.query(&[("version", &p_query_version.to_string())]); + req_builder = req_builder.query(&[("service", &p_query_service.to_string())]); + req_builder = req_builder.query(&[("request", &p_query_request.to_string())]); + req_builder = req_builder.query(&[("width", &p_query_width.to_string())]); + req_builder = req_builder.query(&[("height", &p_query_height.to_string())]); + req_builder = req_builder.query(&[("bbox", &p_query_bbox.to_string())]); + req_builder = req_builder.query(&[("format", &p_query_format.to_string())]); + req_builder = req_builder.query(&[("layers", &p_query_layers.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(&[("styles", &p_query_styles.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_bgcolor { + req_builder = req_builder.query(&[("bgcolor", ¶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_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 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..307b17b3 --- /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.8.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..34cd682e --- /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.8.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..504325b8 --- /dev/null +++ b/rust/src/apis/projects_api.rs @@ -0,0 +1,324 @@ +/* + * Geo Engine API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.8.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", configuration.base_path, order=p_path_order.to_string(), offset=p_path_offset, limit=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..430d06a8 --- /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.8.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..87707990 --- /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.8.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..ed36b3c1 --- /dev/null +++ b/rust/src/apis/tasks_api.rs @@ -0,0 +1,152 @@ +/* + * Geo Engine API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.8.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, 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", configuration.base_path, filter=p_path_filter.unwrap().to_string(), offset=p_path_offset, limit=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..0039beeb --- /dev/null +++ b/rust/src/apis/uploads_api.rs @@ -0,0 +1,160 @@ +/* + * Geo Engine API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.8.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 [`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(); + // TODO: support file upload for 'files[]' parameter + 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..3c073d41 --- /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.8.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 `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 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..873865cb --- /dev/null +++ b/rust/src/apis/workflows_api.rs @@ -0,0 +1,331 @@ +/* + * Geo Engine API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.8.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, spatial_resolution: models::SpatialResolution, 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_spatial_resolution = spatial_resolution; + 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(&[("spatialResolution", &p_query_spatial_resolution.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..1f8f21d1 --- /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.8.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", 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..73568625 --- /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.8.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..c17cc98e --- /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.8.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..e5e35373 --- /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.8.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..a64dbc68 --- /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.8.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..66edbae4 --- /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.8.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..8d2e9cf4 --- /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.8.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..1d31dcca --- /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.8.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..3adea312 --- /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.8.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..a86f7225 --- /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.8.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..4bd732df --- /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.8.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..6505c499 --- /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.8.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..8eda1206 --- /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.8.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..929f4043 --- /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.8.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..9b5ec649 --- /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.8.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..8b0ef208 --- /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.8.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/computation_quota.rs b/rust/src/models/computation_quota.rs new file mode 100644 index 00000000..376763c6 --- /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.8.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..31f6f8cb --- /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.8.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..84fd83cc --- /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.8.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..1a5687ab --- /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.8.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..4e77b8f8 --- /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.8.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..b7319fd3 --- /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.8.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..7f1e7d9e --- /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.8.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..6bada31b --- /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.8.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..00403934 --- /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.8.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..19c34dc2 --- /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.8.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..9c214dad --- /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.8.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..3b46f293 --- /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.8.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..49cd971b --- /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.8.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..3bf95a7a --- /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.8.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..da35a74e --- /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.8.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..650532e2 --- /dev/null +++ b/rust/src/models/dataset.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.8.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 = "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 { + 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..3bb3f6c0 --- /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.8.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..215aea1e --- /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.8.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..918abcc4 --- /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.8.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..24448f67 --- /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.8.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..aa0c4b6d --- /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.8.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..30390c44 --- /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.8.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/derived_color.rs b/rust/src/models/derived_color.rs new file mode 100644 index 00000000..fc60d817 --- /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.8.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..a9c4b502 --- /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.8.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/describe_coverage_request.rs b/rust/src/models/describe_coverage_request.rs new file mode 100644 index 00000000..dd03e2ce --- /dev/null +++ b/rust/src/models/describe_coverage_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.8.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 DescribeCoverageRequest { + #[serde(rename = "DescribeCoverage")] + DescribeCoverage, + +} + +impl std::fmt::Display for DescribeCoverageRequest { + fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result { + match self { + Self::DescribeCoverage => write!(f, "DescribeCoverage"), + } + } +} + +impl Default for DescribeCoverageRequest { + fn default() -> DescribeCoverageRequest { + Self::DescribeCoverage + } +} + 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..76573b35 --- /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.8.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..4e2e6ea3 --- /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.8.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..2817e31e --- /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.8.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..d3d8e292 --- /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.8.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/external_data_id.rs b/rust/src/models/external_data_id.rs new file mode 100644 index 00000000..64e2ff27 --- /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.8.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_data_type.rs b/rust/src/models/feature_data_type.rs new file mode 100644 index 00000000..2c557bdc --- /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.8.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..147bf4a6 --- /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.8.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..b87cd7c5 --- /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.8.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..c3e00e63 --- /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.8.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..2042c4ef --- /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.8.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_geo_transform.rs b/rust/src/models/gdal_dataset_geo_transform.rs new file mode 100644 index 00000000..adeba40f --- /dev/null +++ b/rust/src/models/gdal_dataset_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.8.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 GdalDatasetGeoTransform { + #[serde(rename = "originCoordinate")] + pub origin_coordinate: Box, + #[serde(rename = "xPixelSize")] + pub x_pixel_size: f64, + #[serde(rename = "yPixelSize")] + pub y_pixel_size: f64, +} + +impl GdalDatasetGeoTransform { + pub fn new(origin_coordinate: models::Coordinate2D, x_pixel_size: f64, y_pixel_size: f64) -> GdalDatasetGeoTransform { + GdalDatasetGeoTransform { + origin_coordinate: Box::new(origin_coordinate), + x_pixel_size, + y_pixel_size, + } + } +} + diff --git a/rust/src/models/gdal_dataset_parameters.rs b/rust/src/models/gdal_dataset_parameters.rs new file mode 100644 index 00000000..b0f1a3ed --- /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.8.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::GdalDatasetGeoTransform, 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..d980565a --- /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.8.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..d312ab0b --- /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.8.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..f146667d --- /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.8.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..0c594c22 --- /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.8.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..c05d2012 --- /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.8.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..8ceece2f --- /dev/null +++ b/rust/src/models/gdal_metadata_net_cdf_cf.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.8.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, + #[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_source_time_placeholder.rs b/rust/src/models/gdal_source_time_placeholder.rs new file mode 100644 index 00000000..29a8a920 --- /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.8.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..53755abc --- /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.8.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/get_capabilities_format.rs b/rust/src/models/get_capabilities_format.rs new file mode 100644 index 00000000..63bf4ce0 --- /dev/null +++ b/rust/src/models/get_capabilities_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.8.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 GetCapabilitiesFormat { + #[serde(rename = "text/xml")] + TextSlashXml, + +} + +impl std::fmt::Display for GetCapabilitiesFormat { + fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result { + match self { + Self::TextSlashXml => write!(f, "text/xml"), + } + } +} + +impl Default for GetCapabilitiesFormat { + fn default() -> GetCapabilitiesFormat { + Self::TextSlashXml + } +} + diff --git a/rust/src/models/get_capabilities_request.rs b/rust/src/models/get_capabilities_request.rs new file mode 100644 index 00000000..a77a8fc1 --- /dev/null +++ b/rust/src/models/get_capabilities_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.8.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 GetCapabilitiesRequest { + #[serde(rename = "GetCapabilities")] + GetCapabilities, + +} + +impl std::fmt::Display for GetCapabilitiesRequest { + fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result { + match self { + Self::GetCapabilities => write!(f, "GetCapabilities"), + } + } +} + +impl Default for GetCapabilitiesRequest { + fn default() -> GetCapabilitiesRequest { + Self::GetCapabilities + } +} + diff --git a/rust/src/models/get_coverage_format.rs b/rust/src/models/get_coverage_format.rs new file mode 100644 index 00000000..73f62959 --- /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.8.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_coverage_request.rs b/rust/src/models/get_coverage_request.rs new file mode 100644 index 00000000..6b566a19 --- /dev/null +++ b/rust/src/models/get_coverage_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.8.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 GetCoverageRequest { + #[serde(rename = "GetCoverage")] + GetCoverage, + +} + +impl std::fmt::Display for GetCoverageRequest { + fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result { + match self { + Self::GetCoverage => write!(f, "GetCoverage"), + } + } +} + +impl Default for GetCoverageRequest { + fn default() -> GetCoverageRequest { + Self::GetCoverage + } +} + diff --git a/rust/src/models/get_feature_request.rs b/rust/src/models/get_feature_request.rs new file mode 100644 index 00000000..3f613e4d --- /dev/null +++ b/rust/src/models/get_feature_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.8.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 GetFeatureRequest { + #[serde(rename = "GetFeature")] + GetFeature, + +} + +impl std::fmt::Display for GetFeatureRequest { + fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result { + match self { + Self::GetFeature => write!(f, "GetFeature"), + } + } +} + +impl Default for GetFeatureRequest { + fn default() -> GetFeatureRequest { + Self::GetFeature + } +} + diff --git a/rust/src/models/get_legend_graphic_request.rs b/rust/src/models/get_legend_graphic_request.rs new file mode 100644 index 00000000..5d049445 --- /dev/null +++ b/rust/src/models/get_legend_graphic_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.8.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 GetLegendGraphicRequest { + #[serde(rename = "GetLegendGraphic")] + GetLegendGraphic, + +} + +impl std::fmt::Display for GetLegendGraphicRequest { + fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result { + match self { + Self::GetLegendGraphic => write!(f, "GetLegendGraphic"), + } + } +} + +impl Default for GetLegendGraphicRequest { + fn default() -> GetLegendGraphicRequest { + Self::GetLegendGraphic + } +} + 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..d0030378 --- /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.8.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/get_map_format.rs b/rust/src/models/get_map_format.rs new file mode 100644 index 00000000..00efa502 --- /dev/null +++ b/rust/src/models/get_map_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.8.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 GetMapFormat { + #[serde(rename = "image/png")] + ImageSlashPng, + +} + +impl std::fmt::Display for GetMapFormat { + fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result { + match self { + Self::ImageSlashPng => write!(f, "image/png"), + } + } +} + +impl Default for GetMapFormat { + fn default() -> GetMapFormat { + Self::ImageSlashPng + } +} + diff --git a/rust/src/models/get_map_request.rs b/rust/src/models/get_map_request.rs new file mode 100644 index 00000000..9b530967 --- /dev/null +++ b/rust/src/models/get_map_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.8.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 GetMapRequest { + #[serde(rename = "GetMap")] + GetMap, + +} + +impl std::fmt::Display for GetMapRequest { + fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result { + match self { + Self::GetMap => write!(f, "GetMap"), + } + } +} + +impl Default for GetMapRequest { + fn default() -> GetMapRequest { + Self::GetMap + } +} + 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..12fb97ec --- /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.8.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..6136f1a9 --- /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.8.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/id_response.rs b/rust/src/models/id_response.rs new file mode 100644 index 00000000..062402d2 --- /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.8.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..c16f2533 --- /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.8.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..2bedb417 --- /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.8.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..e198aa7d --- /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.8.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..238e04e6 --- /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.8.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..2644b6b1 --- /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.8.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..4ab4e2e1 --- /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.8.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..71b3c767 --- /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.8.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..ca9da267 --- /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.8.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..d5f8a71a --- /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.8.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/line_symbology.rs b/rust/src/models/line_symbology.rs new file mode 100644 index 00000000..6f4bdf7b --- /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.8.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..41ece55f --- /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.8.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..52339dc5 --- /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.8.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..48bbd9c1 --- /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.8.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 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..c9c97e80 --- /dev/null +++ b/rust/src/models/meta_data_definition.rs @@ -0,0 +1,37 @@ +/* + * Geo Engine API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.8.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), +} + +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..a6d35b87 --- /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.8.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..599506b6 --- /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.8.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..f9efd7d9 --- /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.8.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..d683819e --- /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.8.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..4155d878 --- /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.8.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..e89afd4d --- /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.8.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..948a0f93 --- /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.8.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..71fe8d22 --- /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.8.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..ea220043 --- /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.8.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..488bf08f --- /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.8.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..9e8153c2 --- /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.8.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..b834e094 --- /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.8.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/mod.rs b/rust/src/models/mod.rs new file mode 100644 index 00000000..3d93afe7 --- /dev/null +++ b/rust/src/models/mod.rs @@ -0,0 +1,484 @@ +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 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 derived_color; +pub use self::derived_color::DerivedColor; +pub mod derived_number; +pub use self::derived_number::DerivedNumber; +pub mod describe_coverage_request; +pub use self::describe_coverage_request::DescribeCoverageRequest; +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 external_data_id; +pub use self::external_data_id::ExternalDataId; +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_geo_transform; +pub use self::gdal_dataset_geo_transform::GdalDatasetGeoTransform; +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_source_time_placeholder; +pub use self::gdal_source_time_placeholder::GdalSourceTimePlaceholder; +pub mod geo_json; +pub use self::geo_json::GeoJson; +pub mod get_capabilities_format; +pub use self::get_capabilities_format::GetCapabilitiesFormat; +pub mod get_capabilities_request; +pub use self::get_capabilities_request::GetCapabilitiesRequest; +pub mod get_coverage_format; +pub use self::get_coverage_format::GetCoverageFormat; +pub mod get_coverage_request; +pub use self::get_coverage_request::GetCoverageRequest; +pub mod get_feature_request; +pub use self::get_feature_request::GetFeatureRequest; +pub mod get_legend_graphic_request; +pub use self::get_legend_graphic_request::GetLegendGraphicRequest; +pub mod get_map_exception_format; +pub use self::get_map_exception_format::GetMapExceptionFormat; +pub mod get_map_format; +pub use self::get_map_format::GetMapFormat; +pub mod get_map_request; +pub use self::get_map_request::GetMapRequest; +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 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 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 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 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_list_options; +pub use self::permission_list_options::PermissionListOptions; +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_output_format; +pub use self::plot_output_format::PlotOutputFormat; +pub mod plot_query_rectangle; +pub use self::plot_query_rectangle::PlotQueryRectangle; +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 provenance_output; +pub use self::provenance_output::ProvenanceOutput; +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_dataset_from_workflow_result; +pub use self::raster_dataset_from_workflow_result::RasterDatasetFromWorkflowResult; +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_query_rectangle; +pub use self::raster_query_rectangle::RasterQueryRectangle; +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 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 spatial_partition2_d; +pub use self::spatial_partition2_d::SpatialPartition2D; +pub mod spatial_reference_authority; +pub use self::spatial_reference_authority::SpatialReferenceAuthority; +pub mod spatial_reference_specification; +pub use self::spatial_reference_specification::SpatialReferenceSpecification; +pub mod spatial_resolution; +pub use self::spatial_resolution::SpatialResolution; +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_band; +pub use self::stac_band::StacBand; +pub mod stac_query_buffer; +pub use self::stac_query_buffer::StacQueryBuffer; +pub mod stac_zone; +pub use self::stac_zone::StacZone; +pub mod static_color; +pub use self::static_color::StaticColor; +pub mod static_number; +pub use self::static_number::StaticNumber; +pub mod stroke_param; +pub use self::stroke_param::StrokeParam; +pub mod suggest_meta_data; +pub use self::suggest_meta_data::SuggestMetaData; +pub mod symbology; +pub use self::symbology::Symbology; +pub mod task_abort_options; +pub use self::task_abort_options::TaskAbortOptions; +pub mod task_filter; +pub use self::task_filter::TaskFilter; +pub mod task_list_options; +pub use self::task_list_options::TaskListOptions; +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 text_symbology; +pub use self::text_symbology::TextSymbology; +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_operator_operator; +pub use self::typed_operator_operator::TypedOperatorOperator; +pub mod typed_plot_result_descriptor; +pub use self::typed_plot_result_descriptor::TypedPlotResultDescriptor; +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_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_query_rectangle; +pub use self::vector_query_rectangle::VectorQueryRectangle; +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_boundingbox; +pub use self::wcs_boundingbox::WcsBoundingbox; +pub mod wcs_service; +pub use self::wcs_service::WcsService; +pub mod wcs_version; +pub use self::wcs_version::WcsVersion; +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_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..bb65d84a --- /dev/null +++ b/rust/src/models/multi_band_raster_colorizer.rs @@ -0,0 +1,90 @@ +/* + * Geo Engine API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.8.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, + #[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..e611e499 --- /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.8.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..1434463c --- /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.8.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..15691a82 --- /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.8.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/net_cdf_cf_data_provider_definition.rs b/rust/src/models/net_cdf_cf_data_provider_definition.rs new file mode 100644 index 00000000..6b8e33b9 --- /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.8.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..3c3d2c69 --- /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.8.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..2ec62d1d --- /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.8.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..b2a5dfc8 --- /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.8.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..56e10bb2 --- /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.8.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..eb21e4c6 --- /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.8.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..ef41d60e --- /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.8.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..2a031184 --- /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.8.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..485cdd2e --- /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.8.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..b7d667c7 --- /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.8.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..f468e90e --- /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.8.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..01864e60 --- /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.8.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..ba594ecb --- /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.8.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..27ba3950 --- /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.8.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..5e9f2954 --- /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.8.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..5fbb434e --- /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.8.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..c036eb87 --- /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.8.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..dd9c7e2c --- /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.8.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..e31a1402 --- /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.8.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..b70071cc --- /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.8.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..d0a40e89 --- /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.8.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..a3afd055 --- /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.8.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..1bbec815 --- /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.8.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..520caded --- /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.8.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_list_options.rs b/rust/src/models/permission_list_options.rs new file mode 100644 index 00000000..1f5fd50d --- /dev/null +++ b/rust/src/models/permission_list_options.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.8.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 PermissionListOptions { + #[serde(rename = "limit")] + pub limit: i32, + #[serde(rename = "offset")] + pub offset: i32, +} + +impl PermissionListOptions { + pub fn new(limit: i32, offset: i32) -> PermissionListOptions { + PermissionListOptions { + limit, + offset, + } + } +} + diff --git a/rust/src/models/permission_listing.rs b/rust/src/models/permission_listing.rs new file mode 100644 index 00000000..be04680c --- /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.8.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..c1009396 --- /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.8.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..0c2df816 --- /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.8.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_output_format.rs b/rust/src/models/plot_output_format.rs new file mode 100644 index 00000000..821091df --- /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.8.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_query_rectangle.rs b/rust/src/models/plot_query_rectangle.rs new file mode 100644 index 00000000..31636953 --- /dev/null +++ b/rust/src/models/plot_query_rectangle.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.8.0 + * Contact: dev@geoengine.de + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// PlotQueryRectangle : A spatio-temporal rectangle with a specified resolution +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct PlotQueryRectangle { + #[serde(rename = "spatialBounds")] + pub spatial_bounds: Box, + #[serde(rename = "spatialResolution")] + pub spatial_resolution: Box, + #[serde(rename = "timeInterval")] + pub time_interval: Box, +} + +impl PlotQueryRectangle { + /// A spatio-temporal rectangle with a specified resolution + pub fn new(spatial_bounds: models::BoundingBox2D, spatial_resolution: models::SpatialResolution, time_interval: models::TimeInterval) -> PlotQueryRectangle { + PlotQueryRectangle { + spatial_bounds: Box::new(spatial_bounds), + spatial_resolution: Box::new(spatial_resolution), + time_interval: Box::new(time_interval), + } + } +} + diff --git a/rust/src/models/plot_result_descriptor.rs b/rust/src/models/plot_result_descriptor.rs new file mode 100644 index 00000000..a04fae18 --- /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.8.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..c0946444 --- /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.8.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..d809e8b1 --- /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.8.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..3c16c1e1 --- /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.8.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..f66c0de7 --- /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.8.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..9d0743b5 --- /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.8.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..a2d563ec --- /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.8.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..6e1d686c --- /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.8.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..f03c1ccb --- /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.8.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..865bbecd --- /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.8.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..0fe2f36d --- /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.8.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/provenance_output.rs b/rust/src/models/provenance_output.rs new file mode 100644 index 00000000..8c293a1d --- /dev/null +++ b/rust/src/models/provenance_output.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.8.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 ProvenanceOutput { + #[serde(rename = "data")] + pub data: Box, + #[serde(rename = "provenance", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")] + pub provenance: Option>>, +} + +impl ProvenanceOutput { + pub fn new(data: models::DataId) -> ProvenanceOutput { + ProvenanceOutput { + data: Box::new(data), + provenance: None, + } + } +} + diff --git a/rust/src/models/provenances.rs b/rust/src/models/provenances.rs new file mode 100644 index 00000000..539c8eb0 --- /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.8.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..9105d863 --- /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.8.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..7a4a8eae --- /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.8.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..701cdf21 --- /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.8.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..071e072f --- /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.8.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..d0c267a9 --- /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.8.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..3c645b2a --- /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.8.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..5233feb5 --- /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.8.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..4b19dca7 --- /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.8.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", 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::RasterQueryRectangle) -> RasterDatasetFromWorkflow { + RasterDatasetFromWorkflow { + as_cog: None, + description: None, + display_name, + name: None, + query: Box::new(query), + } + } +} + diff --git a/rust/src/models/raster_dataset_from_workflow_result.rs b/rust/src/models/raster_dataset_from_workflow_result.rs new file mode 100644 index 00000000..9f133522 --- /dev/null +++ b/rust/src/models/raster_dataset_from_workflow_result.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.8.0 + * Contact: dev@geoengine.de + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// RasterDatasetFromWorkflowResult : response of the dataset from workflow handler +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct RasterDatasetFromWorkflowResult { + #[serde(rename = "dataset")] + pub dataset: String, + #[serde(rename = "upload")] + pub upload: uuid::Uuid, +} + +impl RasterDatasetFromWorkflowResult { + /// response of the dataset from workflow handler + pub fn new(dataset: String, upload: uuid::Uuid) -> RasterDatasetFromWorkflowResult { + RasterDatasetFromWorkflowResult { + dataset, + upload, + } + } +} + 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..188f8fdb --- /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.8.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..9312c1a5 --- /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.8.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_query_rectangle.rs b/rust/src/models/raster_query_rectangle.rs new file mode 100644 index 00000000..41fc8fec --- /dev/null +++ b/rust/src/models/raster_query_rectangle.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.8.0 + * Contact: dev@geoengine.de + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// RasterQueryRectangle : A spatio-temporal rectangle with a specified resolution +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct RasterQueryRectangle { + #[serde(rename = "spatialBounds")] + pub spatial_bounds: Box, + #[serde(rename = "spatialResolution")] + pub spatial_resolution: Box, + #[serde(rename = "timeInterval")] + pub time_interval: Box, +} + +impl RasterQueryRectangle { + /// A spatio-temporal rectangle with a specified resolution + pub fn new(spatial_bounds: models::SpatialPartition2D, spatial_resolution: models::SpatialResolution, time_interval: models::TimeInterval) -> RasterQueryRectangle { + RasterQueryRectangle { + spatial_bounds: Box::new(spatial_bounds), + spatial_resolution: Box::new(spatial_resolution), + time_interval: Box::new(time_interval), + } + } +} + diff --git a/rust/src/models/raster_result_descriptor.rs b/rust/src/models/raster_result_descriptor.rs new file mode 100644 index 00000000..eb7853b3 --- /dev/null +++ b/rust/src/models/raster_result_descriptor.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.8.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 = "bbox", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")] + pub bbox: Option>>, + #[serde(rename = "dataType")] + pub data_type: models::RasterDataType, + #[serde(rename = "resolution", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")] + pub resolution: 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 RasterResultDescriptor { + /// A `ResultDescriptor` for raster queries + pub fn new(bands: Vec, data_type: models::RasterDataType, spatial_reference: String) -> RasterResultDescriptor { + RasterResultDescriptor { + bands, + bbox: None, + data_type, + resolution: None, + spatial_reference, + time: None, + } + } +} + 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..f7dfd3e6 --- /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.8.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..347677c9 --- /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.8.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/resource.rs b/rust/src/models/resource.rs new file mode 100644 index 00000000..3550df42 --- /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.8.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..97350193 --- /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.8.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..0336d834 --- /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.8.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..22d0be5a --- /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.8.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..b2b2d2eb --- /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.8.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..93623503 --- /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.8.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..fbf8e047 --- /dev/null +++ b/rust/src/models/sentinel_s2_l2_a_cogs_provider_definition.rs @@ -0,0 +1,72 @@ +/* + * Geo Engine API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.8.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 = "bands")] + pub bands: Vec, + #[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, + #[serde(rename = "zones")] + pub zones: Vec, +} + +impl SentinelS2L2ACogsProviderDefinition { + pub fn new(api_url: String, bands: Vec, description: String, id: uuid::Uuid, name: String, r#type: Type, zones: Vec) -> SentinelS2L2ACogsProviderDefinition { + SentinelS2L2ACogsProviderDefinition { + api_url, + bands, + cache_ttl: None, + description, + gdal_retries: None, + id, + name, + priority: None, + query_buffer: None, + stac_api_retries: None, + r#type, + zones, + } + } +} +/// +#[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..0455db48 --- /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.8.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..f2b19859 --- /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.8.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/spatial_partition2_d.rs b/rust/src/models/spatial_partition2_d.rs new file mode 100644 index 00000000..1b0b3142 --- /dev/null +++ b/rust/src/models/spatial_partition2_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.8.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), + } + } +} + diff --git a/rust/src/models/spatial_reference_authority.rs b/rust/src/models/spatial_reference_authority.rs new file mode 100644 index 00000000..bab17473 --- /dev/null +++ b/rust/src/models/spatial_reference_authority.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.8.0 + * Contact: dev@geoengine.de + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// SpatialReferenceAuthority : A spatial reference authority that is part of a spatial reference definition +/// A spatial reference authority that is part of a spatial reference definition +#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)] +pub enum SpatialReferenceAuthority { + #[serde(rename = "EPSG")] + Epsg, + #[serde(rename = "SR-ORG")] + SrOrg, + #[serde(rename = "IAU2000")] + Iau2000, + #[serde(rename = "ESRI")] + Esri, + +} + +impl std::fmt::Display for SpatialReferenceAuthority { + fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result { + match self { + Self::Epsg => write!(f, "EPSG"), + Self::SrOrg => write!(f, "SR-ORG"), + Self::Iau2000 => write!(f, "IAU2000"), + Self::Esri => write!(f, "ESRI"), + } + } +} + +impl Default for SpatialReferenceAuthority { + fn default() -> SpatialReferenceAuthority { + Self::Epsg + } +} + diff --git a/rust/src/models/spatial_reference_specification.rs b/rust/src/models/spatial_reference_specification.rs new file mode 100644 index 00000000..9f129bf4 --- /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.8.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", 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/spatial_resolution.rs b/rust/src/models/spatial_resolution.rs new file mode 100644 index 00000000..6c816965 --- /dev/null +++ b/rust/src/models/spatial_resolution.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.8.0 + * Contact: dev@geoengine.de + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// SpatialResolution : The spatial resolution in SRS units +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct SpatialResolution { + #[serde(rename = "x")] + pub x: f64, + #[serde(rename = "y")] + pub y: f64, +} + +impl SpatialResolution { + /// The spatial resolution in SRS units + pub fn new(x: f64, y: f64) -> SpatialResolution { + SpatialResolution { + x, + y, + } + } +} + diff --git a/rust/src/models/st_rectangle.rs b/rust/src/models/st_rectangle.rs new file mode 100644 index 00000000..210081c4 --- /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.8.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..79037048 --- /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.8.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_band.rs b/rust/src/models/stac_band.rs new file mode 100644 index 00000000..72975e43 --- /dev/null +++ b/rust/src/models/stac_band.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.8.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 StacBand { + #[serde(rename = "dataType")] + pub data_type: models::RasterDataType, + #[serde(rename = "name")] + pub name: String, + #[serde(rename = "noDataValue", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")] + pub no_data_value: Option>, +} + +impl StacBand { + pub fn new(data_type: models::RasterDataType, name: String) -> StacBand { + StacBand { + data_type, + name, + no_data_value: None, + } + } +} + diff --git a/rust/src/models/stac_query_buffer.rs b/rust/src/models/stac_query_buffer.rs new file mode 100644 index 00000000..c5104c7b --- /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.8.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/stac_zone.rs b/rust/src/models/stac_zone.rs new file mode 100644 index 00000000..27943b0a --- /dev/null +++ b/rust/src/models/stac_zone.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.8.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 StacZone { + #[serde(rename = "epsg")] + pub epsg: i32, + #[serde(rename = "name")] + pub name: String, +} + +impl StacZone { + pub fn new(epsg: i32, name: String) -> StacZone { + StacZone { + epsg, + name, + } + } +} + diff --git a/rust/src/models/static_color.rs b/rust/src/models/static_color.rs new file mode 100644 index 00000000..170e0bb2 --- /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.8.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..9764cd3d --- /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.8.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/stroke_param.rs b/rust/src/models/stroke_param.rs new file mode 100644 index 00000000..5a58fae5 --- /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.8.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/suggest_meta_data.rs b/rust/src/models/suggest_meta_data.rs new file mode 100644 index 00000000..da13f76d --- /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.8.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..3349a27c --- /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.8.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_abort_options.rs b/rust/src/models/task_abort_options.rs new file mode 100644 index 00000000..fb4e42a3 --- /dev/null +++ b/rust/src/models/task_abort_options.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.8.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 TaskAbortOptions { + #[serde(rename = "force", skip_serializing_if = "Option::is_none")] + pub force: Option, +} + +impl TaskAbortOptions { + pub fn new() -> TaskAbortOptions { + TaskAbortOptions { + force: None, + } + } +} + diff --git a/rust/src/models/task_filter.rs b/rust/src/models/task_filter.rs new file mode 100644 index 00000000..d6725b4d --- /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.8.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_list_options.rs b/rust/src/models/task_list_options.rs new file mode 100644 index 00000000..338a1133 --- /dev/null +++ b/rust/src/models/task_list_options.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.8.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 TaskListOptions { + #[serde(rename = "filter", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")] + pub filter: Option>, + #[serde(rename = "limit", skip_serializing_if = "Option::is_none")] + pub limit: Option, + #[serde(rename = "offset", skip_serializing_if = "Option::is_none")] + pub offset: Option, +} + +impl TaskListOptions { + pub fn new() -> TaskListOptions { + TaskListOptions { + filter: None, + limit: None, + offset: None, + } + } +} + diff --git a/rust/src/models/task_response.rs b/rust/src/models/task_response.rs new file mode 100644 index 00000000..091a0140 --- /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.8.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..6b81e739 --- /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.8.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..123a3210 --- /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.8.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..1575e2f6 --- /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.8.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..8a7a7c99 --- /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.8.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..d89b3a12 --- /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.8.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..f4d4566f --- /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.8.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/text_symbology.rs b/rust/src/models/text_symbology.rs new file mode 100644 index 00000000..9528e24e --- /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.8.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_granularity.rs b/rust/src/models/time_granularity.rs new file mode 100644 index 00000000..0dada284 --- /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.8.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..6086d2cd --- /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.8.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..7a25493d --- /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.8.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..74b1e2fd --- /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.8.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..606f0f75 --- /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.8.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..b949e23c --- /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.8.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..73446365 --- /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.8.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..006c6001 --- /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.8.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..46a15c20 --- /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.8.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..ce1e2c80 --- /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.8.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..c01c791f --- /dev/null +++ b/rust/src/models/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.8.0 + * Contact: dev@geoengine.de + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// TypedOperator : An enum to differentiate between `Operator` variants +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct TypedOperator { + #[serde(rename = "operator")] + pub operator: Box, + #[serde(rename = "type")] + pub r#type: Type, +} + +impl TypedOperator { + /// An enum to differentiate between `Operator` variants + pub fn new(operator: models::TypedOperatorOperator, r#type: Type) -> TypedOperator { + TypedOperator { + 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/typed_operator_operator.rs b/rust/src/models/typed_operator_operator.rs new file mode 100644 index 00000000..2f666a28 --- /dev/null +++ b/rust/src/models/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.8.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 TypedOperatorOperator { + #[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 TypedOperatorOperator { + pub fn new(r#type: String) -> TypedOperatorOperator { + TypedOperatorOperator { + params: None, + sources: None, + r#type, + } + } +} + 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..ab3acf64 --- /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.8.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_result_descriptor.rs b/rust/src/models/typed_raster_result_descriptor.rs new file mode 100644 index 00000000..bb5e5c85 --- /dev/null +++ b/rust/src/models/typed_raster_result_descriptor.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.8.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 = "bbox", skip_serializing_if = "Option::is_none")] + pub bbox: Option>, + #[serde(rename = "dataType")] + pub data_type: models::RasterDataType, + #[serde(rename = "resolution", skip_serializing_if = "Option::is_none")] + pub resolution: 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 TypedRasterResultDescriptor { + pub fn new(bands: Vec, data_type: models::RasterDataType, spatial_reference: String, r#type: Type) -> TypedRasterResultDescriptor { + TypedRasterResultDescriptor { + bands, + bbox: None, + data_type, + resolution: None, + spatial_reference, + time: None, + 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..394a0c69 --- /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.8.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_result_descriptor.rs b/rust/src/models/typed_vector_result_descriptor.rs new file mode 100644 index 00000000..69efb4b2 --- /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.8.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..16c843eb --- /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.8.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..708d5e18 --- /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.8.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..ff7b9952 --- /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.8.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..591ef0fe --- /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.8.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..ba73ecc1 --- /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.8.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..e1440908 --- /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.8.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..93be9947 --- /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.8.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..dfd482cb --- /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.8.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..42b5dcfa --- /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.8.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..fd41e579 --- /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.8.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..1f657608 --- /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.8.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..2b48efcb --- /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.8.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..ae51fbe6 --- /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.8.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..b9bc2af0 --- /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.8.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", 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..a9970c88 --- /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.8.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..3b89ca99 --- /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.8.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..bd70de9e --- /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.8.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_query_rectangle.rs b/rust/src/models/vector_query_rectangle.rs new file mode 100644 index 00000000..10fa276f --- /dev/null +++ b/rust/src/models/vector_query_rectangle.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.8.0 + * Contact: dev@geoengine.de + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// VectorQueryRectangle : A spatio-temporal rectangle with a specified resolution +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct VectorQueryRectangle { + #[serde(rename = "spatialBounds")] + pub spatial_bounds: Box, + #[serde(rename = "spatialResolution")] + pub spatial_resolution: Box, + #[serde(rename = "timeInterval")] + pub time_interval: Box, +} + +impl VectorQueryRectangle { + /// A spatio-temporal rectangle with a specified resolution + pub fn new(spatial_bounds: models::BoundingBox2D, spatial_resolution: models::SpatialResolution, time_interval: models::TimeInterval) -> VectorQueryRectangle { + VectorQueryRectangle { + spatial_bounds: Box::new(spatial_bounds), + spatial_resolution: Box::new(spatial_resolution), + time_interval: Box::new(time_interval), + } + } +} + diff --git a/rust/src/models/vector_result_descriptor.rs b/rust/src/models/vector_result_descriptor.rs new file mode 100644 index 00000000..23a188e4 --- /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.8.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..4ba6dfcc --- /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.8.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..c05979a7 --- /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.8.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_boundingbox.rs b/rust/src/models/wcs_boundingbox.rs new file mode 100644 index 00000000..83affe00 --- /dev/null +++ b/rust/src/models/wcs_boundingbox.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.8.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 WcsBoundingbox { + #[serde(rename = "bbox")] + pub bbox: Vec, + #[serde(rename = "spatial_reference", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")] + pub spatial_reference: Option>, +} + +impl WcsBoundingbox { + pub fn new(bbox: Vec) -> WcsBoundingbox { + WcsBoundingbox { + bbox, + spatial_reference: None, + } + } +} + diff --git a/rust/src/models/wcs_service.rs b/rust/src/models/wcs_service.rs new file mode 100644 index 00000000..125640e3 --- /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.8.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..c5cdb317 --- /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.8.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_service.rs b/rust/src/models/wfs_service.rs new file mode 100644 index 00000000..68bf1150 --- /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.8.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..3478c0b8 --- /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.8.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..5fcbaa77 --- /dev/null +++ b/rust/src/models/wildlive_data_connector_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.8.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 = "apiKey", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")] + pub api_key: Option>, + #[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 WildliveDataConnectorDefinition { + pub fn new(description: String, id: uuid::Uuid, name: String, r#type: Type) -> WildliveDataConnectorDefinition { + WildliveDataConnectorDefinition { + api_key: None, + description, + id, + name, + priority: None, + r#type, + } + } +} +/// +#[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_service.rs b/rust/src/models/wms_service.rs new file mode 100644 index 00000000..a4d3527b --- /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.8.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..88ee25dc --- /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.8.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..3bf3ed70 --- /dev/null +++ b/rust/src/models/workflow.rs @@ -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.8.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 Workflow { + #[serde(rename = "operator")] + pub operator: Box, + #[serde(rename = "type")] + pub r#type: Type, +} + +impl Workflow { + pub fn new(operator: models::TypedOperatorOperator, r#type: Type) -> Workflow { + Workflow { + 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/wrapped_plot_output.rs b/rust/src/models/wrapped_plot_output.rs new file mode 100644 index 00000000..208389b9 --- /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.8.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, + } + } +} + From 555dc341d25511cba36d8c4b7936198f73ff4e9c Mon Sep 17 00:00:00 2001 From: Christian Beilschmidt Date: Mon, 10 Nov 2025 12:00:04 +0100 Subject: [PATCH 02/19] build rust on CI --- .github/workflows/create-pr.yml | 1 + .github/workflows/test.yml | 19 +++++++++++++++++-- 2 files changed, 18 insertions(+), 2 deletions(-) diff --git a/.github/workflows/create-pr.yml b/.github/workflows/create-pr.yml index 63d2b1b8..4197b13c 100644 --- a/.github/workflows/create-pr.yml +++ b/.github/workflows/create-pr.yml @@ -26,6 +26,7 @@ jobs: - name: Generate Code run: | .generation/generate.py python + .generation/generate.py rust .generation/generate.py typescript - name: Create Pull Request diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 5bb9a0d3..c4a76f58 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -24,7 +24,7 @@ jobs: working-directory: python steps: - - uses: actions/checkout@v4 + - uses: actions/checkout@v5 - name: Set up Python ${{ matrix.python-version }} uses: actions/setup-python@v4 with: @@ -49,7 +49,7 @@ jobs: working-directory: typescript steps: - - uses: actions/checkout@v4 + - uses: actions/checkout@v5 - name: Use Node.js ${{ matrix.node-version }} uses: actions/setup-node@v4 with: @@ -58,3 +58,18 @@ jobs: run: npm install - name: Build run: npm run build + + rust: + runs-on: ubuntu-latest + + defaults: + run: + working-directory: rust + + steps: + - uses: actions/checkout@v5 + - uses: actions-rust-lang/setup-rust-toolchain@v1 + with: + toolchain: stable + - name: Install dependencies and build + run: cargo build From 3af5c45d99203e823e949f85c2525a6108ef0887 Mon Sep 17 00:00:00 2001 From: Christian Beilschmidt Date: Mon, 10 Nov 2025 17:05:00 +0100 Subject: [PATCH 03/19] fix Rust build by using overrides --- .generation/generate.py | 25 ++++ .generation/override.env | 1 + .generation/post-process/python.py | 3 +- .generation/post-process/rust.py | 169 ++++++++++++++++++++++++ rust/.openapi-generator/FILES | 1 - rust/src/apis/ogcwfs_api.rs | 11 +- rust/src/apis/ogcwms_api.rs | 24 +++- rust/src/apis/projects_api.rs | 10 +- rust/src/apis/tasks_api.rs | 10 +- rust/src/apis/uploads_api.rs | 6 +- rust/src/models/spatial_partition2_d.rs | 12 ++ rust/src/models/spatial_resolution.rs | 5 + 12 files changed, 261 insertions(+), 16 deletions(-) create mode 100644 .generation/post-process/rust.py diff --git a/.generation/generate.py b/.generation/generate.py index c4c0bdcd..630eef87 100755 --- a/.generation/generate.py +++ b/.generation/generate.py @@ -231,6 +231,31 @@ def generate_rust_code(*, package_name: str, package_version: str, git_repo: Git check=True, ) + # Temporary solution because `RUST_POST_PROCESS_FILE` is not used by the generator + for rust_file in [ + "apis/ogcwfs_api.rs", + "apis/ogcwms_api.rs", + "apis/projects_api.rs", + "apis/tasks_api.rs", + "apis/uploads_api.rs", + "models/spatial_partition2_d.rs", + "models/spatial_resolution.rs", + ]: + subprocess.run( + [ + "podman", "run", + "--rm", # remove the container after running + "-v", f"{os.getcwd()}:/local", + f"--env-file={CWD / 'override.env'}", + # "docker.io/openapitools/openapi-generator-cli:v7.0.1", + "openapi-generator-cli:patched", + "python3", + "/local/.generation/post-process/rust.py", + "/local/rust/src/" + rust_file, + ], + check=True, + ) + @dataclass class GitHubRepository: '''Git repository triplet.''' diff --git a/.generation/override.env b/.generation/override.env index 77f3ea5e..9465012a 100644 --- a/.generation/override.env +++ b/.generation/override.env @@ -1,2 +1,3 @@ PYTHON_POST_PROCESS_FILE=python3 /local/.generation/post-process/python.py TS_POST_PROCESS_FILE=python3 /local/.generation/post-process/typescript.py +RUST_POST_PROCESS_FILE=python3 /local/.generation/post-process/rust.py diff --git a/.generation/post-process/python.py b/.generation/post-process/python.py index 894d675e..f5c76050 100644 --- a/.generation/post-process/python.py +++ b/.generation/post-process/python.py @@ -122,7 +122,8 @@ 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]]: +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.''' diff --git a/.generation/post-process/rust.py b/.generation/post-process/rust.py new file mode 100644 index 00000000..ce485900 --- /dev/null +++ b/.generation/post-process/rust.py @@ -0,0 +1,169 @@ +#!/bin/python3 + +''' +Post-processing of generated code. +''' + +import sys +from pathlib import Path +from typing import Generator, List +from textwrap import dedent, indent +from util import modify_file + +INDENT = ' ' + +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('let p_form_files_left_square_bracket_right_square_bracket'): + line = indent('let _p_form_files_left_square_bracket_right_square_bracket = \ + files_left_square_bracket_right_square_bracket;', INDENT) + elif dedented_line.startswith('let mut multipart_form'): + line = indent("let multipart_form = reqwest::multipart::Form::new();", 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( + 'let uri_str = format!("{}/wfs/{workflow}?request=GetCapabilities'): + line = indent('''\ + let uri_str = format!( + "{}/wfs/{workflow}?request={request}&service={service}&version={version}", + 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() + ); + ''', INDENT) + + yield line + + +input_file = Path(sys.argv[1]) + +file_modifications = { + 'ogcwfs_api.rs': ogcwfs_api_rs, + 'ogcwms_api.rs': ogcwms_api_rs, + 'projects_api.rs': projects_api_rs, + 'spatial_partition2_d.rs': spatial_partition2_d_rs, + 'spatial_resolution.rs': spatial_resolution_rs, + 'tasks_api.rs': tasks_api_rs, + 'uploads_api.rs': uploads_api_rs, +} +if modifier_function := file_modifications.get(input_file.name): + modify_file(input_file, modifier_function) +else: + pass # leave file untouched + +exit(0) diff --git a/rust/.openapi-generator/FILES b/rust/.openapi-generator/FILES index 73ee71ae..964fb323 100644 --- a/rust/.openapi-generator/FILES +++ b/rust/.openapi-generator/FILES @@ -1,5 +1,4 @@ .gitignore -.openapi-generator-ignore .travis.yml Cargo.toml README.md diff --git a/rust/src/apis/ogcwfs_api.rs b/rust/src/apis/ogcwfs_api.rs index d31fde9b..7eb24251 100644 --- a/rust/src/apis/ogcwfs_api.rs +++ b/rust/src/apis/ogcwfs_api.rs @@ -37,8 +37,15 @@ pub async fn wfs_capabilities_handler(configuration: &configuration::Configurati let p_path_service = service; let p_path_request = request; - let uri_str = format!("{}/wfs/{workflow}?request=GetCapabilities", 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()); - let mut req_builder = configuration.client.request(reqwest::Method::GET, &uri_str); + let uri_str = format!( + "{}/wfs/{workflow}?request={request}&service={service}&version={version}", + 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() + ); + 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()); diff --git a/rust/src/apis/ogcwms_api.rs b/rust/src/apis/ogcwms_api.rs index bc792173..30bfd3d3 100644 --- a/rust/src/apis/ogcwms_api.rs +++ b/rust/src/apis/ogcwms_api.rs @@ -46,8 +46,16 @@ pub async fn wms_capabilities_handler(configuration: &configuration::Configurati let p_path_request = request; let p_path_format = format; - let uri_str = format!("{}/wms/{workflow}?request=GetCapabilities", 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()); - let mut req_builder = configuration.client.request(reqwest::Method::GET, &uri_str); + 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() + ); + 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()); @@ -89,8 +97,16 @@ pub async fn wms_legend_graphic_handler(configuration: &configuration::Configura let p_path_request = request; let p_path_layer = layer; - let uri_str = format!("{}/wms/{workflow}?request=GetLegendGraphic", 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)); - let mut req_builder = configuration.client.request(reqwest::Method::GET, &uri_str); + 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) + ); + 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()); diff --git a/rust/src/apis/projects_api.rs b/rust/src/apis/projects_api.rs index 504325b8..394652eb 100644 --- a/rust/src/apis/projects_api.rs +++ b/rust/src/apis/projects_api.rs @@ -139,8 +139,14 @@ pub async fn list_projects_handler(configuration: &configuration::Configuration, 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 mut req_builder = configuration.client.request(reqwest::Method::GET, &uri_str); + 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()); diff --git a/rust/src/apis/tasks_api.rs b/rust/src/apis/tasks_api.rs index ed36b3c1..b7c9a8cc 100644 --- a/rust/src/apis/tasks_api.rs +++ b/rust/src/apis/tasks_api.rs @@ -76,8 +76,14 @@ pub async fn list_handler(configuration: &configuration::Configuration, filter: 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 mut req_builder = configuration.client.request(reqwest::Method::GET, &uri_str); + 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()); diff --git a/rust/src/apis/uploads_api.rs b/rust/src/apis/uploads_api.rs index 0039beeb..a5e576d8 100644 --- a/rust/src/apis/uploads_api.rs +++ b/rust/src/apis/uploads_api.rs @@ -118,8 +118,7 @@ pub async fn list_upload_files_handler(configuration: &configuration::Configurat 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 _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); @@ -129,8 +128,7 @@ pub async fn upload_handler(configuration: &configuration::Configuration, files_ 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(); - // TODO: support file upload for 'files[]' parameter + let multipart_form = reqwest::multipart::Form::new(); // TODO: support file upload for 'files[]' parameter req_builder = req_builder.multipart(multipart_form); let req = req_builder.build()?; diff --git a/rust/src/models/spatial_partition2_d.rs b/rust/src/models/spatial_partition2_d.rs index 1b0b3142..74483ebb 100644 --- a/rust/src/models/spatial_partition2_d.rs +++ b/rust/src/models/spatial_partition2_d.rs @@ -30,3 +30,15 @@ impl SpatialPartition2D { } } +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_resolution.rs b/rust/src/models/spatial_resolution.rs index 6c816965..7a31697b 100644 --- a/rust/src/models/spatial_resolution.rs +++ b/rust/src/models/spatial_resolution.rs @@ -30,3 +30,8 @@ impl SpatialResolution { } } +impl std::fmt::Display for SpatialResolution { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(f, "{},{}", self.x, self.y) + } +} From 44bd5d2f4e80b09717f2c1858122f9304cd8c31c Mon Sep 17 00:00:00 2001 From: Christian Beilschmidt Date: Wed, 12 Nov 2025 07:44:32 +0100 Subject: [PATCH 04/19] rust crate name with dashes instead of underscores --- .generation/generate.py | 2 +- rust/Cargo.toml | 2 +- rust/README.md | 6 +++--- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/.generation/generate.py b/.generation/generate.py index 630eef87..064fdc4c 100755 --- a/.generation/generate.py +++ b/.generation/generate.py @@ -218,7 +218,7 @@ def generate_rust_code(*, package_name: str, package_version: str, git_repo: Git "-i", f"{'/local' / CWD / 'input/openapi.json'}", "-g", "rust", "--additional-properties=" + ",".join([ - f"packageName={package_name}", + f"packageName={package_name.replace('_', '-')}", f"packageVersion={package_version}", ]), "--git-host", git_repo.host, diff --git a/rust/Cargo.toml b/rust/Cargo.toml index 8ae41735..b7f0898f 100644 --- a/rust/Cargo.toml +++ b/rust/Cargo.toml @@ -1,5 +1,5 @@ [package] -name = "geoengine_openapi_client" +name = "geoengine-openapi-client" version = "0.0.28" authors = ["dev@geoengine.de"] description = "No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)" diff --git a/rust/README.md b/rust/README.md index de3524fd..ea7b52a6 100644 --- a/rust/README.md +++ b/rust/README.md @@ -1,4 +1,4 @@ -# Rust API client for geoengine_openapi_client +# Rust API client for geoengine-openapi-client No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) @@ -14,10 +14,10 @@ This API client was generated by the [OpenAPI Generator](https://openapi-generat ## Installation -Put the package under your project folder in a directory named `geoengine_openapi_client` and add the following to `Cargo.toml` under `[dependencies]`: +Put the package under your project folder in a directory named `geoengine-openapi-client` and add the following to `Cargo.toml` under `[dependencies]`: ``` -geoengine_openapi_client = { path = "./geoengine_openapi_client" } +geoengine-openapi-client = { path = "./geoengine-openapi-client" } ``` ## Documentation for API Endpoints From 036c9d0ca843f3e349230ef8e6c88f136d793105 Mon Sep 17 00:00:00 2001 From: Christian Beilschmidt Date: Wed, 12 Nov 2025 08:13:21 +0100 Subject: [PATCH 05/19] no duplicate request for wfs getfeatures --- .generation/post-process/rust.py | 8 ++++++++ rust/src/apis/ogcwfs_api.rs | 2 +- 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/.generation/post-process/rust.py b/.generation/post-process/rust.py index ce485900..9550317c 100644 --- a/.generation/post-process/rust.py +++ b/.generation/post-process/rust.py @@ -146,6 +146,14 @@ def ogcwfs_api_rs(file_contents: List[str]) -> Generator[str, None, None]: request = p_path_request.to_string() ); ''', INDENT) + elif dedented_line.startswith( + 'let uri_str = format!("{}/wfs/{workflow}?request=GetFeature"'): + line = indent( + 'let uri_str = format!("{}/wfs/{workflow}", ' + 'configuration.base_path, workflow=crate::apis::urlencode(p_path_workflow));' + '\n', + INDENT + ) yield line diff --git a/rust/src/apis/ogcwfs_api.rs b/rust/src/apis/ogcwfs_api.rs index 7eb24251..168d93be 100644 --- a/rust/src/apis/ogcwfs_api.rs +++ b/rust/src/apis/ogcwfs_api.rs @@ -97,7 +97,7 @@ pub async fn wfs_feature_handler(configuration: &configuration::Configuration, w let p_query_property_name = property_name; let p_query_query_resolution = query_resolution; - let uri_str = format!("{}/wfs/{workflow}?request=GetFeature", configuration.base_path, workflow=crate::apis::urlencode(p_path_workflow)); + 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_version { From cae40d5569b309ac6346210f89275b92f925544f Mon Sep 17 00:00:00 2001 From: Christian Beilschmidt Date: Mon, 12 Jan 2026 16:16:44 +0100 Subject: [PATCH 06/19] new generated rust code --- .generation/config.ini | 3 +- .generation/generate.py | 322 +++++++++++------- .generation/post-process/rust.py | 138 +++++--- .github/workflows/create-pr.yml | 2 +- .github/workflows/publish.yml | 43 ++- .github/workflows/test.yml | 21 ++ rust/.openapi-generator/VERSION | 2 +- rust/Cargo.toml | 6 +- rust/README.md | 4 +- rust/docs/GdalMetadataNetCdfCf.md | 2 +- rust/docs/MultiBandRasterColorizer.md | 2 +- rust/docs/OgcwcsApi.md | 2 +- rust/docs/OgcwfsApi.md | 4 +- rust/docs/OgcwmsApi.md | 6 +- rust/docs/TasksApi.md | 2 +- rust/docs/UserApi.md | 4 +- rust/docs/WildliveDataConnectorDefinition.md | 4 +- rust/src/apis/ogcwcs_api.rs | 4 +- rust/src/apis/ogcwfs_api.rs | 8 +- rust/src/apis/ogcwms_api.rs | 6 +- rust/src/apis/tasks_api.rs | 2 +- rust/src/apis/uploads_api.rs | 8 +- rust/src/apis/user_api.rs | 6 +- rust/src/models/add_dataset.rs | 4 +- rust/src/models/gdal_metadata_net_cdf_cf.rs | 1 + .../src/models/multi_band_raster_colorizer.rs | 1 + .../models/raster_dataset_from_workflow.rs | 4 +- .../models/spatial_reference_specification.rs | 4 +- rust/src/models/user_session.rs | 4 +- .../wildlive_data_connector_definition.rs | 13 +- 30 files changed, 406 insertions(+), 226 deletions(-) diff --git a/.generation/config.ini b/.generation/config.ini index 5c55aacd..37ebffce 100644 --- a/.generation/config.ini +++ b/.generation/config.ini @@ -3,7 +3,8 @@ backendCommit = 4a64a6ad6cf4f9301498829529a3f8a855cdcf43 [general] githubUrl = https://github.com/geo-engine/openapi-client -version = 0.0.30 +homepageUrl = https://www.geoengine.io +version = 0.0.31 [python] name = geoengine_openapi_client diff --git a/.generation/generate.py b/.generation/generate.py index 064fdc4c..c3a580df 100755 --- a/.generation/generate.py +++ b/.generation/generate.py @@ -1,8 +1,8 @@ #!/bin/python3 -''' +""" Generator for the OpenAPI client. -''' +""" from __future__ import annotations import argparse @@ -18,39 +18,54 @@ import logging -CWD = Path('.generation/') +CWD = Path(".generation/") class ProgramArgs(argparse.Namespace): - '''Typed command line arguments.''' - language: Literal['python', 'rust', 'typescript'] + """Typed command line arguments.""" + + language: Literal["python", "rust", "typescript"] fetch_spec: bool build_container: bool @staticmethod def parse_arguments() -> ProgramArgs: - '''Parse command line arguments.''' + """Parse command line arguments.""" parser = argparse.ArgumentParser( - description='Create a client for the Geo Engine API.') - parser.add_argument('--no-spec-fetch', dest='fetch_spec', action='store_false', - required=False, default=True) - parser.add_argument('--no-container-build', dest='build_container', action='store_false', - required=False, default=True) - parser.add_argument('language', choices=['python', 'rust', 'typescript'], - type=str) + description="Create a client for the Geo Engine API." + ) + parser.add_argument( + "--no-spec-fetch", + dest="fetch_spec", + action="store_false", + required=False, + default=True, + ) + parser.add_argument( + "--no-container-build", + dest="build_container", + action="store_false", + required=False, + default=True, + ) + parser.add_argument( + "language", choices=["python", "rust", "typescript"], type=str + ) parsed_args: ProgramArgs = parser.parse_args() # type: ignore[assignment] return parsed_args @dataclass -class ConfigArgs(): - '''Typed config.ini arguments.''' +class ConfigArgs: + """Typed config.ini arguments.""" + # Backend version ge_backend_commit: str # General github_repository: GitHubRepository + homepage_url: str package_version: str # Python package name @@ -61,43 +76,48 @@ class ConfigArgs(): @staticmethod def parse_config() -> ConfigArgs: - '''Parse config.ini arguments.''' + """Parse config.ini arguments.""" parsed = configparser.ConfigParser() # do not convert keys to lowercase parsed.optionxform = lambda optionstr: optionstr # type: ignore[method-assign] - parsed.read(CWD / 'config.ini') + parsed.read(CWD / "config.ini") return ConfigArgs( - ge_backend_commit=parsed['input']['backendCommit'], - github_repository=GitHubRepository(parsed['general']['githubUrl']), - package_version=parsed['general']['version'], - python_package_name=parsed['python']['name'], - typescript_package_name=parsed['typescript']['name'], + ge_backend_commit=parsed["input"]["backendCommit"], + github_repository=GitHubRepository(parsed["general"]["githubUrl"]), + homepage_url=parsed["general"]["homepageUrl"], + package_version=parsed["general"]["version"], + python_package_name=parsed["python"]["name"], + typescript_package_name=parsed["typescript"]["name"], ) def fetch_spec(*, ge_backend_commit: str) -> None: - ''' + """ Copy the openapi.json file from the backend repo. - ''' + """ request_url = f"https://raw.githubusercontent.com/geo-engine/geoengine/{ge_backend_commit}/openapi.json" logging.info("Requesting `openapi.json` at `%s`….", request_url) - with request.urlopen(request_url, timeout=10) as w, \ - open(CWD / "input/openapi.json", "w", encoding='utf-8') as f: - f.write(w.read().decode('utf-8')) + with ( + request.urlopen(request_url, timeout=10) as w, + open(CWD / "input/openapi.json", "w", encoding="utf-8") as f, + ): + f.write(w.read().decode("utf-8")) logging.info("Stored `openapi.json`.") def build_container(): - '''Build the patched generator image''' + """Build the patched generator image""" logging.info("Building patched generator image…") subprocess.run( [ - "podman", "build", - "-t", "openapi-generator-cli:patched", + "podman", + "build", + "-t", + "openapi-generator-cli:patched", CWD, ], check=True, @@ -105,26 +125,30 @@ def build_container(): logging.info("Patched generator image built.") -def clean_dirs(*, language: Literal['python', 'typescript']): - '''Remove some directories because they are not be overwritten by the generator.''' +def clean_dirs(*, language: Literal["python", "typescript"]): + """Remove some directories because they are not be overwritten by the generator.""" dirs_to_remove: list[Path] = [ - Path('node_modules'), - Path('.mypy_cache'), - Path(language) / 'test' + Path("node_modules"), + Path(".mypy_cache"), + Path(language) / "test", ] match language: - case 'typescript': - dirs_to_remove.extend([ - Path(language) / 'src', - Path(language) / 'dist', - Path(language) / 'node_modules', - ]) - case 'python': - dirs_to_remove.extend([ - Path(language) / 'geoengine_openapi_client', - ]) + case "typescript": + dirs_to_remove.extend( + [ + Path(language) / "src", + Path(language) / "dist", + Path(language) / "node_modules", + ] + ) + case "python": + dirs_to_remove.extend( + [ + Path(language) / "geoengine_openapi_client", + ] + ) logging.info("Removing directories:") @@ -136,156 +160,200 @@ def clean_dirs(*, language: Literal['python', 'typescript']): def generate_python_code(*, package_name: str, package_version: str, package_url: str): - '''Run the generator.''' + """Run the generator.""" subprocess.run( [ - "podman", "run", + "podman", + "run", "--rm", # remove the container after running - "-v", f"{os.getcwd()}:/local", + "-v", + f"{os.getcwd()}:/local", f"--env-file={CWD / 'override.env'}", # "docker.io/openapitools/openapi-generator-cli:v7.0.1", "openapi-generator-cli:patched", "generate", - "-i", f"{'/local' / CWD / 'input/openapi.json'}", - "-g", "python", - "--additional-properties=" + ",".join([ - "useOneOfDiscriminatorLookup=true", - # "generateSourceCodeOnly=true", - f"packageName={package_name}", - f"packageVersion={package_version}", - f"packageUrl={package_url}", - ]), + "-i", + f"{'/local' / CWD / 'input/openapi.json'}", + "-g", + "python", + "--additional-properties=" + + ",".join( + [ + "useOneOfDiscriminatorLookup=true", + # "generateSourceCodeOnly=true", + f"packageName={package_name}", + f"packageVersion={package_version}", + f"packageUrl={package_url}", + ] + ), "--enable-post-process-file", - "-o", "/local/python/", - "--openapi-normalizer", "REF_AS_PARENT_IN_ALLOF=true", + "-o", + "/local/python/", + "--openapi-normalizer", + "REF_AS_PARENT_IN_ALLOF=true", ], check=True, ) shutil.rmtree(Path("python") / "docs") -def generate_typescript_code(*, - npm_name: str, - npm_version: str, - github_repository: GitHubRepository): - '''Run the generator.''' +def generate_typescript_code( + *, npm_name: str, npm_version: str, github_repository: GitHubRepository +): + """Run the generator.""" subprocess.run( [ - "podman", "run", + "podman", + "run", "--rm", # remove the container after running - "-v", f"{os.getcwd()}:/local", + "-v", + f"{os.getcwd()}:/local", f"--env-file={CWD / 'override.env'}", # "docker.io/openapitools/openapi-generator-cli:v7.0.1", "openapi-generator-cli:patched", "generate", - "-i", f"{'/local' / CWD / 'input/openapi.json'}", - "-g", "typescript-fetch", - "--additional-properties=" + ",".join([ - "supportsES6=true", - f"npmName={npm_name}", - f"npmVersion={npm_version}", - ]), - "--git-host", github_repository.host, - "--git-user-id", github_repository.user, - "--git-repo-id", github_repository.repo, + "-i", + f"{'/local' / CWD / 'input/openapi.json'}", + "-g", + "typescript-fetch", + "--additional-properties=" + + ",".join( + [ + "supportsES6=true", + f"npmName={npm_name}", + f"npmVersion={npm_version}", + ] + ), + "--git-host", + github_repository.host, + "--git-user-id", + github_repository.user, + "--git-repo-id", + github_repository.repo, "--enable-post-process-file", - "-o", "/local/typescript/", - "--openapi-normalizer", "REF_AS_PARENT_IN_ALLOF=true", + "-o", + "/local/typescript/", + "--openapi-normalizer", + "REF_AS_PARENT_IN_ALLOF=true", ], check=True, ) - with open(Path("typescript") / ".gitignore", 'w', encoding='utf-8') as f: - f.write('''wwwroot/*.js + with open(Path("typescript") / ".gitignore", "w", encoding="utf-8") as f: + f.write("""wwwroot/*.js node_modules typings -''') +""") shutil.rmtree(Path("typescript") / ".openapi-generator") -def generate_rust_code(*, package_name: str, package_version: str, git_repo: GitHubRepository): - '''Run the generator.''' + +def generate_rust_code( + *, + package_name: str, + package_version: str, + git_repo: GitHubRepository, + homepage_url: str, +): + """Run the generator.""" subprocess.run( [ - "podman", "run", + "podman", + "run", "--rm", # remove the container after running - "-v", f"{os.getcwd()}:/local", + "-v", + f"{os.getcwd()}:/local", f"--env-file={CWD / 'override.env'}", # "docker.io/openapitools/openapi-generator-cli:v7.0.1", "openapi-generator-cli:patched", "generate", - "-i", f"{'/local' / CWD / 'input/openapi.json'}", - "-g", "rust", - "--additional-properties=" + ",".join([ - f"packageName={package_name.replace('_', '-')}", - f"packageVersion={package_version}", - ]), - "--git-host", git_repo.host, - "--git-user-id", git_repo.user, - "--git-repo-id", git_repo.repo, + "-i", + f"{'/local' / CWD / 'input/openapi.json'}", + "-g", + "rust", + "--additional-properties=" + + ",".join( + [ + f"packageName={package_name.replace('_', '-')}", + f"packageVersion={package_version}", + f"homePageUrl={homepage_url}", + f"repositoryUrl={git_repo.url()}", + ] + ), + "--git-host", + git_repo.host, + "--git-user-id", + git_repo.user, + "--git-repo-id", + git_repo.repo, "--enable-post-process-file", - "-o", "/local/rust/", - "--openapi-normalizer", "REF_AS_PARENT_IN_ALLOF=true", + "-o", + "/local/rust/", + "--openapi-normalizer", + "REF_AS_PARENT_IN_ALLOF=true", ], check=True, ) # Temporary solution because `RUST_POST_PROCESS_FILE` is not used by the generator for rust_file in [ - "apis/ogcwfs_api.rs", - "apis/ogcwms_api.rs", - "apis/projects_api.rs", - "apis/tasks_api.rs", - "apis/uploads_api.rs", - "models/spatial_partition2_d.rs", - "models/spatial_resolution.rs", + "Cargo.toml", + "src/apis/ogcwfs_api.rs", + "src/apis/ogcwms_api.rs", + "src/apis/projects_api.rs", + "src/apis/tasks_api.rs", + "src/apis/uploads_api.rs", + "src/models/spatial_partition2_d.rs", + "src/models/spatial_resolution.rs", ]: subprocess.run( [ - "podman", "run", + "podman", + "run", "--rm", # remove the container after running - "-v", f"{os.getcwd()}:/local", + "-v", + f"{os.getcwd()}:/local", f"--env-file={CWD / 'override.env'}", # "docker.io/openapitools/openapi-generator-cli:v7.0.1", "openapi-generator-cli:patched", "python3", "/local/.generation/post-process/rust.py", - "/local/rust/src/" + rust_file, + "/local/rust/" + rust_file, ], check=True, ) + @dataclass class GitHubRepository: - '''Git repository triplet.''' + """Git repository triplet.""" + host: str user: str repo: str def __init__(self, url: str) -> None: - '''Create a GitHubRepository from a URL.''' + """Create a GitHubRepository from a URL.""" parsed_url = urlsplit(url) (url_path, _url_ext) = os.path.splitext(parsed_url.path) (url_path, git_repo_id) = os.path.split(url_path) (url_path, git_user_id) = os.path.split(url_path) self.host = parsed_url.netloc - self.user=git_user_id - self.repo=git_repo_id + self.user = git_user_id + self.repo = git_repo_id def url(self) -> str: - '''Get the URL of the repository.''' + """Get the URL of the repository.""" return f"https://{self.host}/{self.user}/{self.repo}" + def main(): - '''The entry point of the program''' + """The entry point of the program""" # Set up logging - logging.basicConfig( - level=logging.INFO, - format='[%(levelname)s] %(message)s' - ) + logging.basicConfig(level=logging.INFO, format="[%(levelname)s] %(message)s") args = ProgramArgs.parse_arguments() config = ConfigArgs.parse_config() @@ -298,14 +366,14 @@ def main(): clean_dirs(language=args.language) - if args.language == 'python': + if args.language == "python": logging.info("Generating Python client…") generate_python_code( package_name=config.python_package_name, package_version=config.package_version, package_url=config.github_repository.url(), ) - elif args.language == 'typescript': + elif args.language == "typescript": logging.info("Generating TypeScript client…") generate_typescript_code( npm_name=config.typescript_package_name, @@ -318,27 +386,31 @@ def main(): logging.info("Creating dist files…") subprocess.run( [ - "podman", "run", + "podman", + "run", "--rm", # remove the container after running - "-v", f"{os.getcwd()}/typescript:/local/typescript", + "-v", + f"{os.getcwd()}/typescript:/local/typescript", "--workdir=/local/typescript", # set working directory "docker.io/node:lts-alpine3.20", - "npm", "install", + "npm", + "install", ], check=True, ) - elif args.language == 'rust': + elif args.language == "rust": logging.info("Generating Rust client…") generate_rust_code( package_name=config.python_package_name, package_version=config.package_version, git_repo=config.github_repository, + homepage_url=config.homepage_url, ) else: - raise RuntimeError(f'Unknown language {args.language}.') + raise RuntimeError(f"Unknown language {args.language}.") -if __name__ != '__main__': - raise RuntimeError('This module should not be imported.') +if __name__ != "__main__": + raise RuntimeError("This module should not be imported.") main() diff --git a/.generation/post-process/rust.py b/.generation/post-process/rust.py index 9550317c..b4dd86fd 100644 --- a/.generation/post-process/rust.py +++ b/.generation/post-process/rust.py @@ -1,8 +1,8 @@ #!/bin/python3 -''' +""" Post-processing of generated code. -''' +""" import sys from pathlib import Path @@ -10,27 +10,29 @@ from textwrap import dedent, indent from util import modify_file -INDENT = ' ' +INDENT = " " + def spatial_resolution_rs(file_contents: List[str]) -> Generator[str, None, None]: - '''Modify the spatial_resolution.rs file.''' + """Modify the spatial_resolution.rs file.""" for line in file_contents: yield line - yield dedent('''\ + 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.''' + """Modify the SpatialPartition2D.rs file.""" for line in file_contents: yield line - yield dedent('''\ + yield dedent("""\ impl std::fmt::Display for SpatialPartition2D { fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { write!( @@ -43,28 +45,39 @@ def spatial_partition2_d_rs(file_contents: List[str]) -> Generator[str, None, No ) } } - ''') + """) + def uploads_api_rs(file_contents: List[str]) -> Generator[str, None, None]: - '''Modify the uploads_api.rs file.''' + """Modify the uploads_api.rs file.""" for line in file_contents: dedented_line = dedent(line) - if dedented_line.startswith('let p_form_files_left_square_bracket_right_square_bracket'): - line = indent('let _p_form_files_left_square_bracket_right_square_bracket = \ - files_left_square_bracket_right_square_bracket;', INDENT) - elif dedented_line.startswith('let mut multipart_form'): - line = indent("let multipart_form = reqwest::multipart::Form::new();", INDENT) + 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.''' + """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('''\ + line = indent( + """\ let uri_str = format!( "{}/tasks/list?filter={}&offset={}&limit={}", configuration.base_path, @@ -72,18 +85,21 @@ def tasks_api_rs(file_contents: List[str]) -> Generator[str, None, None]: p_path_offset, p_path_limit ); - ''', INDENT) + """, + INDENT, + ) yield line def projects_api_rs(file_contents: List[str]) -> Generator[str, None, None]: - '''Modify the projects_api.rs file.''' + """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('''\ + line = indent( + """\ let uri_str = format!( "{}/projects?order={}&offset={}&limit={}", configuration.base_path, @@ -91,18 +107,23 @@ def projects_api_rs(file_contents: List[str]) -> Generator[str, None, None]: p_path_offset, p_path_limit ); - ''', INDENT) + """, + INDENT, + ) yield line + def ogcwms_api_rs(file_contents: List[str]) -> Generator[str, None, None]: - '''Modify the ogcwms_api.rs file.''' + """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=GetLegendGraphic"' + ): + line = indent( + """\ let uri_str = format!( "{}/wms/{workflow}?request={request}&version={version}&service={service}&layer={layer}", configuration.base_path, @@ -112,10 +133,14 @@ def ogcwms_api_rs(file_contents: List[str]) -> Generator[str, None, None]: request = p_path_request.to_string(), layer = crate::apis::urlencode(p_path_layer) ); - ''', INDENT) + """, + INDENT, + ) elif dedented_line.startswith( - 'let uri_str = format!("{}/wms/{workflow}?request=GetCapabilities"'): - line = indent('''\ + '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, @@ -125,18 +150,23 @@ def ogcwms_api_rs(file_contents: List[str]) -> Generator[str, None, None]: request = p_path_request.to_string(), format = p_path_format.unwrap().to_string() ); - ''', INDENT) + """, + INDENT, + ) yield line + def ogcwfs_api_rs(file_contents: List[str]) -> Generator[str, None, None]: - '''Modify the ogcwfs_api.rs file.''' + """Modify the ogcwfs_api.rs file.""" for line in file_contents: dedented_line = dedent(line) if dedented_line.startswith( - 'let uri_str = format!("{}/wfs/{workflow}?request=GetCapabilities'): - line = indent('''\ + 'let uri_str = format!("{}/wfs/{workflow}?request=GetCapabilities' + ): + line = indent( + """\ let uri_str = format!( "{}/wfs/{workflow}?request={request}&service={service}&version={version}", configuration.base_path, @@ -145,14 +175,33 @@ def ogcwfs_api_rs(file_contents: List[str]) -> Generator[str, None, None]: service = p_path_service.to_string(), request = p_path_request.to_string() ); - ''', INDENT) + """, + INDENT, + ) elif dedented_line.startswith( - 'let uri_str = format!("{}/wfs/{workflow}?request=GetFeature"'): + 'let uri_str = format!("{}/wfs/{workflow}?request=GetFeature"' + ): line = indent( 'let uri_str = format!("{}/wfs/{workflow}", ' - 'configuration.base_path, workflow=crate::apis::urlencode(p_path_workflow));' - '\n', - INDENT + "configuration.base_path, workflow=crate::apis::urlencode(p_path_workflow));" + "\n", + INDENT, + ) + + yield line + + +def cargo_toml(file_contents: List[str]) -> Generator[str, None, None]: + """Modify the Cargo.toml file.""" + for line in file_contents: + if line.startswith( + 'reqwest = { version = "^0.12", default-features = false, ' + 'features = ["json", "multipart"] }' + ): + line = ( + 'reqwest = { version = "^0.12", default-features = false, ' + 'features = ["json", "multipart", "stream"] }' + "\n" ) yield line @@ -161,17 +210,18 @@ def ogcwfs_api_rs(file_contents: List[str]) -> Generator[str, None, None]: input_file = Path(sys.argv[1]) file_modifications = { - 'ogcwfs_api.rs': ogcwfs_api_rs, - 'ogcwms_api.rs': ogcwms_api_rs, - 'projects_api.rs': projects_api_rs, - 'spatial_partition2_d.rs': spatial_partition2_d_rs, - 'spatial_resolution.rs': spatial_resolution_rs, - 'tasks_api.rs': tasks_api_rs, - 'uploads_api.rs': uploads_api_rs, + "Cargo.toml": cargo_toml, + "ogcwfs_api.rs": ogcwfs_api_rs, + "ogcwms_api.rs": ogcwms_api_rs, + "projects_api.rs": projects_api_rs, + "spatial_partition2_d.rs": spatial_partition2_d_rs, + "spatial_resolution.rs": spatial_resolution_rs, + "tasks_api.rs": tasks_api_rs, + "uploads_api.rs": uploads_api_rs, } if modifier_function := file_modifications.get(input_file.name): modify_file(input_file, modifier_function) else: - pass # leave file untouched + pass # leave file untouched exit(0) diff --git a/.github/workflows/create-pr.yml b/.github/workflows/create-pr.yml index 4197b13c..ee9f7571 100644 --- a/.github/workflows/create-pr.yml +++ b/.github/workflows/create-pr.yml @@ -18,7 +18,7 @@ jobs: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v4 + - uses: actions/checkout@v5 - name: Update config.ini run: .generation/update_config.py --backendCommit ${{ github.event.inputs.backend_commit }} diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index a1c48bc5..175e1165 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -14,9 +14,8 @@ jobs: runs-on: ubuntu-latest - strategy: - matrix: - python-version: ["3.10"] # use lowest supported Python version + env: + python-version: "3.10" # use lowest supported Python version defaults: run: @@ -30,11 +29,11 @@ jobs: id-token: write # IMPORTANT: this permission is mandatory for trusted publishing steps: - - uses: actions/checkout@v4 - - name: Set up Python ${{ matrix.python-version }} + - uses: actions/checkout@v5 + - name: Set up Python ${{ env.python-version }} uses: actions/setup-python@v4 with: - python-version: ${{ matrix.python-version }} + python-version: ${{ env.python-version }} - name: Install dependencies run: | python -m pip install --upgrade pip @@ -54,20 +53,19 @@ jobs: runs-on: ubuntu-latest - strategy: - matrix: - node-version: [20.19.x] # use lowest supported Node version + env: + node-version: "20.19.x" # use lowest supported Node version defaults: run: working-directory: typescript steps: - - uses: actions/checkout@v4 - - name: Use Node.js ${{ matrix.node-version }} + - uses: actions/checkout@v5 + - name: Use Node.js ${{ env.node-version }} uses: actions/setup-node@v4 with: - node-version: ${{ matrix.node-version }} + node-version: ${{ env.node-version }} registry-url: "https://registry.npmjs.org" - name: Install dependencies run: npm install @@ -77,3 +75,24 @@ jobs: run: npm publish --access public env: NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }} + + + rust: + name: Publish Rust Package + + runs-on: ubuntu-latest + + defaults: + run: + working-directory: rust + + steps: + - uses: actions/checkout@v5 + - uses: actions-rust-lang/setup-rust-toolchain@v1 + with: + toolchain: stable + + - name: Publish to crates.io + run: cargo publish + env: + CARGO_REGISTRY_TOKEN: ${{ secrets.CARGO_REGISTRY_TOKEN }} \ No newline at end of file diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index c4a76f58..fb10e814 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -73,3 +73,24 @@ jobs: toolchain: stable - name: Install dependencies and build run: cargo build + + idempotency: + runs-on: ubuntu-latest + + steps: + - uses: actions/checkout@v5 + + - name: Generate Code + run: | + .generation/generate.py python + .generation/generate.py rust + .generation/generate.py typescript + + - name: Check for uncommitted changes + run: | + if [ -n "$(git status --porcelain)" ]; then + echo "Error: Uncommitted changes found after code generation." + echo "The following files have uncommitted changes:" + git status --porcelain + exit 1 + fi diff --git a/rust/.openapi-generator/VERSION b/rust/.openapi-generator/VERSION index 6328c542..1b2d969d 100644 --- a/rust/.openapi-generator/VERSION +++ b/rust/.openapi-generator/VERSION @@ -1 +1 @@ -7.17.0 +7.18.0 diff --git a/rust/Cargo.toml b/rust/Cargo.toml index b7f0898f..ba418727 100644 --- a/rust/Cargo.toml +++ b/rust/Cargo.toml @@ -1,10 +1,12 @@ [package] name = "geoengine-openapi-client" -version = "0.0.28" +version = "0.0.31" 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"] } @@ -13,7 +15,7 @@ serde_json = "^1.0" serde_repr = "^0.1" url = "^2.5" uuid = { version = "^1.8", features = ["serde", "v4"] } -reqwest = { version = "^0.12", default-features = false, features = ["json", "multipart"] } +reqwest = { version = "^0.12", default-features = false, features = ["json", "multipart", "stream"] } [features] default = ["native-tls"] diff --git a/rust/README.md b/rust/README.md index ea7b52a6..352079f0 100644 --- a/rust/README.md +++ b/rust/README.md @@ -8,8 +8,8 @@ No description provided (generated by Openapi Generator https://github.com/opena 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.8.0 -- Package version: 0.0.28 -- Generator version: 7.17.0 +- Package version: 0.0.31 +- Generator version: 7.18.0 - Build package: `org.openapitools.codegen.languages.RustClientCodegen` ## Installation diff --git a/rust/docs/GdalMetadataNetCdfCf.md b/rust/docs/GdalMetadataNetCdfCf.md index a6fe4e0c..4567f604 100644 --- a/rust/docs/GdalMetadataNetCdfCf.md +++ b/rust/docs/GdalMetadataNetCdfCf.md @@ -6,7 +6,7 @@ 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** | | +**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** | | diff --git a/rust/docs/MultiBandRasterColorizer.md b/rust/docs/MultiBandRasterColorizer.md index bffda966..fd4b96e9 100644 --- a/rust/docs/MultiBandRasterColorizer.md +++ b/rust/docs/MultiBandRasterColorizer.md @@ -12,7 +12,7 @@ Name | Type | Description | Notes **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**> | | [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. | diff --git a/rust/docs/OgcwcsApi.md b/rust/docs/OgcwcsApi.md index 665b4e45..00bac5b8 100644 --- a/rust/docs/OgcwcsApi.md +++ b/rust/docs/OgcwcsApi.md @@ -23,7 +23,7 @@ Name | Type | Description | Required | Notes **workflow** | **uuid::Uuid** | Workflow id | [required] | **service** | [**WcsService**](.md) | | [required] | **request** | [**GetCapabilitiesRequest**](.md) | | [required] | -**version** | Option<[**WcsVersion**](.md)> | | | +**version** | Option<**String**> | | | ### Return type diff --git a/rust/docs/OgcwfsApi.md b/rust/docs/OgcwfsApi.md index e67554c3..4df4e769 100644 --- a/rust/docs/OgcwfsApi.md +++ b/rust/docs/OgcwfsApi.md @@ -20,7 +20,7 @@ Get WFS Capabilities Name | Type | Description | Required | Notes ------------- | ------------- | ------------- | ------------- | ------------- **workflow** | **uuid::Uuid** | Workflow id | [required] | -**version** | Option<[**WfsVersion**](.md)> | | [required] | +**version** | Option<**String**> | | [required] | **service** | [**WfsService**](.md) | | [required] | **request** | [**GetCapabilitiesRequest**](.md) | | [required] | @@ -55,7 +55,7 @@ Name | Type | Description | Required | Notes **request** | [**GetFeatureRequest**](.md) | | [required] | **type_names** | **String** | | [required] | **bbox** | **String** | | [required] | -**version** | Option<[**WfsVersion**](.md)> | | | +**version** | Option<**String**> | | | **time** | Option<**String**> | | | **srs_name** | Option<**String**> | | | **namespaces** | Option<**String**> | | | diff --git a/rust/docs/OgcwmsApi.md b/rust/docs/OgcwmsApi.md index 5b3921c3..d515e60b 100644 --- a/rust/docs/OgcwmsApi.md +++ b/rust/docs/OgcwmsApi.md @@ -21,10 +21,10 @@ Get WMS Capabilities Name | Type | Description | Required | Notes ------------- | ------------- | ------------- | ------------- | ------------- **workflow** | **uuid::Uuid** | Workflow id | [required] | -**version** | Option<[**WmsVersion**](.md)> | | [required] | +**version** | Option<**String**> | | [required] | **service** | [**WmsService**](.md) | | [required] | **request** | [**GetCapabilitiesRequest**](.md) | | [required] | -**format** | Option<[**GetCapabilitiesFormat**](.md)> | | [required] | +**format** | Option<**String**> | | [required] | ### Return type @@ -101,7 +101,7 @@ Name | Type | Description | Required | Notes **sld** | Option<**String**> | | | **sld_body** | Option<**String**> | | | **elevation** | Option<**String**> | | | -**exceptions** | Option<[**GetMapExceptionFormat**](.md)> | | | +**exceptions** | Option<**String**> | | | ### Return type diff --git a/rust/docs/TasksApi.md b/rust/docs/TasksApi.md index dc1b3086..65658924 100644 --- a/rust/docs/TasksApi.md +++ b/rust/docs/TasksApi.md @@ -51,7 +51,7 @@ Retrieve the status of all tasks. Name | Type | Description | Required | Notes ------------- | ------------- | ------------- | ------------- | ------------- -**filter** | Option<[**TaskFilter**](.md)> | | [required] | +**filter** | Option<**String**> | | [required] | **offset** | **i32** | | [required] | **limit** | **i32** | | [required] | diff --git a/rust/docs/UserApi.md b/rust/docs/UserApi.md index 0ab7952c..1db80926 100644 --- a/rust/docs/UserApi.md +++ b/rust/docs/UserApi.md @@ -22,7 +22,7 @@ Method | HTTP request | Description ## add_role_handler -> uuid::Uuid add_role_handler(add_role) +> models::IdResponse add_role_handler(add_role) Add a new role. Requires admin privilige. ### Parameters @@ -34,7 +34,7 @@ Name | Type | Description | Required | Notes ### Return type -[**uuid::Uuid**](uuid::Uuid.md) +[**models::IdResponse**](IdResponse.md) ### Authorization diff --git a/rust/docs/WildliveDataConnectorDefinition.md b/rust/docs/WildliveDataConnectorDefinition.md index 1dd60e41..6797a808 100644 --- a/rust/docs/WildliveDataConnectorDefinition.md +++ b/rust/docs/WildliveDataConnectorDefinition.md @@ -4,12 +4,14 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- -**api_key** | Option<**String**> | | [optional] **description** | **String** | | +**expiry_date** | Option<**String**> | | [optional] **id** | [**uuid::Uuid**](uuid::Uuid.md) | | **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** | **String** | | +**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/src/apis/ogcwcs_api.rs b/rust/src/apis/ogcwcs_api.rs index 9ac81bed..3d0b5db7 100644 --- a/rust/src/apis/ogcwcs_api.rs +++ b/rust/src/apis/ogcwcs_api.rs @@ -37,7 +37,7 @@ pub enum WcsGetCoverageHandlerError { } -pub async fn wcs_capabilities_handler(configuration: &configuration::Configuration, workflow: &str, service: models::WcsService, request: models::GetCapabilitiesRequest, version: Option) -> Result> { +pub async fn wcs_capabilities_handler(configuration: &configuration::Configuration, workflow: &str, service: models::WcsService, request: models::GetCapabilitiesRequest, version: Option<&str>) -> Result> { // add a prefix to parameters to efficiently prevent name collisions let p_path_workflow = workflow; let p_query_service = service; @@ -48,7 +48,7 @@ pub async fn wcs_capabilities_handler(configuration: &configuration::Configurati let mut req_builder = configuration.client.request(reqwest::Method::GET, &uri_str); if let Some(ref param_value) = p_query_version { - req_builder = req_builder.query(&[("version", ¶m_value.to_string())]); + req_builder = req_builder.query(&[("version", &serde_json::to_string(param_value)?)]); } req_builder = req_builder.query(&[("service", &p_query_service.to_string())]); req_builder = req_builder.query(&[("request", &p_query_request.to_string())]); diff --git a/rust/src/apis/ogcwfs_api.rs b/rust/src/apis/ogcwfs_api.rs index 168d93be..3baa3d7f 100644 --- a/rust/src/apis/ogcwfs_api.rs +++ b/rust/src/apis/ogcwfs_api.rs @@ -30,7 +30,7 @@ pub enum WfsFeatureHandlerError { } -pub async fn wfs_capabilities_handler(configuration: &configuration::Configuration, workflow: &str, version: Option, service: models::WfsService, request: models::GetCapabilitiesRequest) -> Result> { +pub async fn wfs_capabilities_handler(configuration: &configuration::Configuration, workflow: &str, version: Option<&str>, service: models::WfsService, request: models::GetCapabilitiesRequest) -> Result> { // add a prefix to parameters to efficiently prevent name collisions let p_path_workflow = workflow; let p_path_version = version; @@ -79,7 +79,7 @@ pub async fn wfs_capabilities_handler(configuration: &configuration::Configurati } } -pub async fn wfs_feature_handler(configuration: &configuration::Configuration, workflow: &str, service: models::WfsService, request: models::GetFeatureRequest, type_names: &str, bbox: &str, version: Option, time: Option<&str>, srs_name: Option<&str>, namespaces: Option<&str>, count: Option, sort_by: Option<&str>, result_type: Option<&str>, filter: Option<&str>, property_name: Option<&str>, query_resolution: Option<&str>) -> Result> { +pub async fn wfs_feature_handler(configuration: &configuration::Configuration, workflow: &str, service: models::WfsService, request: models::GetFeatureRequest, type_names: &str, bbox: &str, version: Option<&str>, time: Option<&str>, srs_name: Option<&str>, namespaces: Option<&str>, count: Option, sort_by: Option<&str>, result_type: Option<&str>, filter: Option<&str>, property_name: Option<&str>, query_resolution: Option<&str>) -> Result> { // add a prefix to parameters to efficiently prevent name collisions let p_path_workflow = workflow; let p_query_service = service; @@ -101,7 +101,7 @@ pub async fn wfs_feature_handler(configuration: &configuration::Configuration, w let mut req_builder = configuration.client.request(reqwest::Method::GET, &uri_str); if let Some(ref param_value) = p_query_version { - req_builder = req_builder.query(&[("version", ¶m_value.to_string())]); + req_builder = req_builder.query(&[("version", &serde_json::to_string(param_value)?)]); } req_builder = req_builder.query(&[("service", &p_query_service.to_string())]); req_builder = req_builder.query(&[("request", &p_query_request.to_string())]); @@ -132,7 +132,7 @@ pub async fn wfs_feature_handler(configuration: &configuration::Configuration, w req_builder = req_builder.query(&[("propertyName", ¶m_value.to_string())]); } if let Some(ref param_value) = p_query_query_resolution { - req_builder = req_builder.query(&[("queryResolution", ¶m_value.to_string())]); + req_builder = req_builder.query(&[("queryResolution", &serde_json::to_string(param_value)?)]); } if let Some(ref user_agent) = configuration.user_agent { req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone()); diff --git a/rust/src/apis/ogcwms_api.rs b/rust/src/apis/ogcwms_api.rs index 30bfd3d3..ea0e581f 100644 --- a/rust/src/apis/ogcwms_api.rs +++ b/rust/src/apis/ogcwms_api.rs @@ -38,7 +38,7 @@ pub enum WmsMapHandlerError { } -pub async fn wms_capabilities_handler(configuration: &configuration::Configuration, workflow: &str, version: Option, service: models::WmsService, request: models::GetCapabilitiesRequest, format: Option) -> Result> { +pub async fn wms_capabilities_handler(configuration: &configuration::Configuration, workflow: &str, version: Option<&str>, service: models::WmsService, request: models::GetCapabilitiesRequest, format: Option<&str>) -> Result> { // add a prefix to parameters to efficiently prevent name collisions let p_path_workflow = workflow; let p_path_version = version; @@ -129,7 +129,7 @@ pub async fn wms_legend_graphic_handler(configuration: &configuration::Configura } } -pub async fn wms_map_handler(configuration: &configuration::Configuration, workflow: &str, version: models::WmsVersion, service: models::WmsService, request: models::GetMapRequest, width: i32, height: i32, bbox: &str, format: models::GetMapFormat, layers: &str, styles: &str, crs: Option<&str>, time: Option<&str>, transparent: Option, bgcolor: Option<&str>, sld: Option<&str>, sld_body: Option<&str>, elevation: Option<&str>, exceptions: Option) -> Result> { +pub async fn wms_map_handler(configuration: &configuration::Configuration, workflow: &str, version: models::WmsVersion, service: models::WmsService, request: models::GetMapRequest, width: i32, height: i32, bbox: &str, format: models::GetMapFormat, layers: &str, styles: &str, crs: Option<&str>, time: Option<&str>, transparent: Option, bgcolor: Option<&str>, sld: Option<&str>, sld_body: Option<&str>, elevation: Option<&str>, exceptions: Option<&str>) -> Result> { // add a prefix to parameters to efficiently prevent name collisions let p_path_workflow = workflow; let p_query_version = version; @@ -184,7 +184,7 @@ pub async fn wms_map_handler(configuration: &configuration::Configuration, workf 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())]); + req_builder = req_builder.query(&[("exceptions", &serde_json::to_string(param_value)?)]); } if let Some(ref user_agent) = configuration.user_agent { req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone()); diff --git a/rust/src/apis/tasks_api.rs b/rust/src/apis/tasks_api.rs index b7c9a8cc..ac095afa 100644 --- a/rust/src/apis/tasks_api.rs +++ b/rust/src/apis/tasks_api.rs @@ -70,7 +70,7 @@ pub async fn abort_handler(configuration: &configuration::Configuration, id: &st } } -pub async fn list_handler(configuration: &configuration::Configuration, filter: Option, offset: i32, limit: i32) -> Result, Error> { +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; diff --git a/rust/src/apis/uploads_api.rs b/rust/src/apis/uploads_api.rs index a5e576d8..8c532f6b 100644 --- a/rust/src/apis/uploads_api.rs +++ b/rust/src/apis/uploads_api.rs @@ -118,7 +118,8 @@ pub async fn list_upload_files_handler(configuration: &configuration::Configurat 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 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); @@ -128,7 +129,10 @@ pub async fn upload_handler(configuration: &configuration::Configuration, files_ if let Some(ref token) = configuration.bearer_access_token { req_builder = req_builder.bearer_auth(token.to_owned()); }; - let multipart_form = reqwest::multipart::Form::new(); // TODO: support file upload for 'files[]' parameter + let mut multipart_form = reqwest::multipart::Form::new(); + for form_file in p_form_files_left_square_bracket_right_square_bracket { + multipart_form = multipart_form.file("files[]", form_file).await?; + } req_builder = req_builder.multipart(multipart_form); let req = req_builder.build()?; diff --git a/rust/src/apis/user_api.rs b/rust/src/apis/user_api.rs index 3c073d41..6007959e 100644 --- a/rust/src/apis/user_api.rs +++ b/rust/src/apis/user_api.rs @@ -107,7 +107,7 @@ pub enum UpdateUserQuotaHandlerError { } -pub async fn add_role_handler(configuration: &configuration::Configuration, add_role: models::AddRole) -> Result> { +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; @@ -137,8 +137,8 @@ pub async fn add_role_handler(configuration: &configuration::Configuration, add_ 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`")))), + 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?; diff --git a/rust/src/models/add_dataset.rs b/rust/src/models/add_dataset.rs index 1f8f21d1..2daf0887 100644 --- a/rust/src/models/add_dataset.rs +++ b/rust/src/models/add_dataset.rs @@ -17,8 +17,8 @@ pub struct AddDataset { pub description: String, #[serde(rename = "displayName")] pub display_name: String, - #[serde(rename = "name", skip_serializing_if = "Option::is_none")] - pub name: Option, + #[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")] diff --git a/rust/src/models/gdal_metadata_net_cdf_cf.rs b/rust/src/models/gdal_metadata_net_cdf_cf.rs index 8ceece2f..501e0a7e 100644 --- a/rust/src/models/gdal_metadata_net_cdf_cf.rs +++ b/rust/src/models/gdal_metadata_net_cdf_cf.rs @@ -19,6 +19,7 @@ pub struct GdalMetadataNetCdfCf { 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")] diff --git a/rust/src/models/multi_band_raster_colorizer.rs b/rust/src/models/multi_band_raster_colorizer.rs index bb65d84a..246bb0fb 100644 --- a/rust/src/models/multi_band_raster_colorizer.rs +++ b/rust/src/models/multi_band_raster_colorizer.rs @@ -37,6 +37,7 @@ pub struct MultiBandRasterColorizer { /// 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. diff --git a/rust/src/models/raster_dataset_from_workflow.rs b/rust/src/models/raster_dataset_from_workflow.rs index 4b19dca7..1d7e550d 100644 --- a/rust/src/models/raster_dataset_from_workflow.rs +++ b/rust/src/models/raster_dataset_from_workflow.rs @@ -20,8 +20,8 @@ pub struct RasterDatasetFromWorkflow { pub description: Option>, #[serde(rename = "displayName")] pub display_name: String, - #[serde(rename = "name", skip_serializing_if = "Option::is_none")] - pub name: Option, + #[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, } diff --git a/rust/src/models/spatial_reference_specification.rs b/rust/src/models/spatial_reference_specification.rs index 9f129bf4..441a1b74 100644 --- a/rust/src/models/spatial_reference_specification.rs +++ b/rust/src/models/spatial_reference_specification.rs @@ -14,8 +14,8 @@ 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", skip_serializing_if = "Option::is_none")] - pub axis_labels: Option>, + #[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")] diff --git a/rust/src/models/user_session.rs b/rust/src/models/user_session.rs index b9bc2af0..6c353ef8 100644 --- a/rust/src/models/user_session.rs +++ b/rust/src/models/user_session.rs @@ -17,8 +17,8 @@ pub struct UserSession { pub created: String, #[serde(rename = "id")] pub id: uuid::Uuid, - #[serde(rename = "project", skip_serializing_if = "Option::is_none")] - pub project: Option, + #[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")] diff --git a/rust/src/models/wildlive_data_connector_definition.rs b/rust/src/models/wildlive_data_connector_definition.rs index 5fcbaa77..f63bfd6a 100644 --- a/rust/src/models/wildlive_data_connector_definition.rs +++ b/rust/src/models/wildlive_data_connector_definition.rs @@ -13,29 +13,36 @@ use serde::{Deserialize, Serialize}; #[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] pub struct WildliveDataConnectorDefinition { - #[serde(rename = "apiKey", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")] - pub api_key: Option>, #[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 { - api_key: None, description, + expiry_date: None, id, name, priority: None, + refresh_token: None, r#type, + user: None, } } } From 5dd00be377ab36d9451b6cff7c0ec274cbed4b36 Mon Sep 17 00:00:00 2001 From: Christian Beilschmidt Date: Mon, 12 Jan 2026 16:19:12 +0100 Subject: [PATCH 07/19] back to 0.0.30 --- .generation/config.ini | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.generation/config.ini b/.generation/config.ini index 37ebffce..3a25f8f0 100644 --- a/.generation/config.ini +++ b/.generation/config.ini @@ -4,7 +4,7 @@ backendCommit = 4a64a6ad6cf4f9301498829529a3f8a855cdcf43 [general] githubUrl = https://github.com/geo-engine/openapi-client homepageUrl = https://www.geoengine.io -version = 0.0.31 +version = 0.0.30 [python] name = geoengine_openapi_client From 30a954bb60a24d6145e4379c858699743a8f1b0b Mon Sep 17 00:00:00 2001 From: Christian Beilschmidt Date: Mon, 12 Jan 2026 16:21:47 +0100 Subject: [PATCH 08/19] to 0.0.30 for rust --- rust/Cargo.toml | 2 +- rust/README.md | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/rust/Cargo.toml b/rust/Cargo.toml index ba418727..ff357c84 100644 --- a/rust/Cargo.toml +++ b/rust/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "geoengine-openapi-client" -version = "0.0.31" +version = "0.0.30" authors = ["dev@geoengine.de"] description = "No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)" license = "Apache-2.0" diff --git a/rust/README.md b/rust/README.md index 352079f0..28a8b739 100644 --- a/rust/README.md +++ b/rust/README.md @@ -8,7 +8,7 @@ No description provided (generated by Openapi Generator https://github.com/opena 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.8.0 -- Package version: 0.0.31 +- Package version: 0.0.30 - Generator version: 7.18.0 - Build package: `org.openapitools.codegen.languages.RustClientCodegen` From 41740db2816765a0df23f1646f3ebdf08e32086f Mon Sep 17 00:00:00 2001 From: Christian Beilschmidt Date: Wed, 4 Feb 2026 16:23:25 +0100 Subject: [PATCH 09/19] rust with operators --- .generation/config.ini | 3 +- .generation/input/openapi.json | 349 ++++++++++++++++++ rust/.openapi-generator/FILES | 102 +++-- rust/Cargo.toml | 2 +- rust/README.md | 67 ++-- rust/docs/AddDatasetTile.md | 15 + rust/docs/ColumnNames.md | 13 + rust/docs/ColumnNamesOneOf.md | 11 + rust/docs/ColumnNamesOneOf1.md | 12 + rust/docs/ColumnNamesOneOf2.md | 12 + rust/docs/Dataset.md | 1 + rust/docs/DatasetsApi.md | 30 ++ rust/docs/Expression.md | 12 + rust/docs/ExpressionParameters.md | 14 + rust/docs/FeatureAggregationMethod.md | 13 + rust/docs/GdalDatasetParameters.md | 2 +- rust/docs/GdalMultiBand.md | 12 + rust/docs/GdalSource.md | 12 + rust/docs/GdalSourceParameters.md | 12 + rust/docs/GeoTransform.md | 13 + rust/docs/GridBoundingBox2D.md | 12 + rust/docs/GridIdx2D.md | 12 + rust/docs/MockPointSource.md | 12 + rust/docs/MockPointSourceParameters.md | 12 + rust/docs/OgcwcsApi.md | 98 +---- rust/docs/OgcwfsApi.md | 61 +-- rust/docs/OgcwmsApi.md | 105 ++---- rust/docs/RasterDatasetFromWorkflow.md | 2 +- rust/docs/RasterResultDescriptor.md | 5 +- rust/docs/RasterToDatasetQueryRectangle.md | 12 + rust/docs/RasterVectorJoin.md | 12 + rust/docs/RasterVectorJoinParameters.md | 15 + rust/docs/RegularTimeDimension.md | 12 + .../SentinelS2L2ACogsProviderDefinition.md | 2 - rust/docs/SpatialBoundsDerive.md | 13 + rust/docs/SpatialBoundsDeriveOneOf.md | 11 + rust/docs/SpatialBoundsDeriveOneOf1.md | 13 + rust/docs/SpatialBoundsDeriveOneOf2.md | 11 + rust/docs/SpatialGridDefinition.md | 12 + rust/docs/SpatialGridDescriptor.md | 12 + rust/docs/SpatialGridDescriptorState.md | 13 + rust/docs/TemporalAggregationMethod.md | 14 + rust/docs/TimeDescriptor.md | 12 + rust/docs/TimeDimension.md | 12 + rust/docs/TimeDimensionOneOf.md | 13 + rust/docs/TimeDimensionOneOf1.md | 11 + rust/docs/TypedRasterResultDescriptor.md | 5 +- rust/docs/VectorOperator.md | 10 + rust/docs/WcsRequest.md | 14 + rust/docs/WfsRequest.md | 13 + rust/docs/WmsRequest.md | 16 + rust/docs/WmsResponseFormat.md | 13 + rust/docs/WorkflowsApi.md | 3 +- rust/src/apis/configuration.rs | 4 +- rust/src/apis/datasets_api.rs | 39 +- rust/src/apis/general_api.rs | 2 +- rust/src/apis/layers_api.rs | 2 +- rust/src/apis/ml_api.rs | 2 +- rust/src/apis/ogcwcs_api.rs | 189 +++------- rust/src/apis/ogcwfs_api.rs | 126 ++----- rust/src/apis/ogcwms_api.rs | 204 ++++------ rust/src/apis/permissions_api.rs | 2 +- rust/src/apis/plots_api.rs | 2 +- rust/src/apis/projects_api.rs | 2 +- rust/src/apis/session_api.rs | 2 +- rust/src/apis/spatial_references_api.rs | 2 +- rust/src/apis/tasks_api.rs | 2 +- rust/src/apis/uploads_api.rs | 2 +- rust/src/apis/user_api.rs | 2 +- rust/src/apis/workflows_api.rs | 6 +- rust/src/models/add_dataset.rs | 2 +- rust/src/models/add_dataset_tile.rs | 39 ++ rust/src/models/add_layer.rs | 2 +- rust/src/models/add_layer_collection.rs | 2 +- rust/src/models/add_role.rs | 2 +- .../models/aruna_data_provider_definition.rs | 2 +- rust/src/models/auth_code_request_url.rs | 2 +- rust/src/models/auth_code_response.rs | 2 +- rust/src/models/auto_create_dataset.rs | 2 +- rust/src/models/axis_order.rs | 2 +- rust/src/models/bounding_box2_d.rs | 2 +- rust/src/models/breakpoint.rs | 2 +- rust/src/models/classification_measurement.rs | 2 +- rust/src/models/collection_item.rs | 2 +- rust/src/models/collection_type.rs | 2 +- rust/src/models/color_param.rs | 2 +- rust/src/models/colorizer.rs | 2 +- rust/src/models/column_names.rs | 43 +++ rust/src/models/column_names_one_of.rs | 39 ++ rust/src/models/column_names_one_of_1.rs | 42 +++ rust/src/models/column_names_one_of_2.rs | 42 +++ rust/src/models/computation_quota.rs | 2 +- rust/src/models/continuous_measurement.rs | 2 +- rust/src/models/coordinate2_d.rs | 2 +- ...icus_dataspace_data_provider_definition.rs | 2 +- rust/src/models/create_dataset.rs | 2 +- rust/src/models/create_project.rs | 2 +- rust/src/models/csv_header.rs | 2 +- rust/src/models/data_id.rs | 2 +- rust/src/models/data_path.rs | 2 +- rust/src/models/data_path_one_of.rs | 2 +- rust/src/models/data_path_one_of_1.rs | 2 +- rust/src/models/data_provider_resource.rs | 2 +- rust/src/models/data_usage.rs | 2 +- rust/src/models/data_usage_summary.rs | 2 +- rust/src/models/database_connection_config.rs | 2 +- rust/src/models/dataset.rs | 5 +- rust/src/models/dataset_definition.rs | 2 +- .../dataset_layer_listing_collection.rs | 2 +- ...taset_layer_listing_provider_definition.rs | 2 +- rust/src/models/dataset_listing.rs | 2 +- rust/src/models/dataset_name_response.rs | 2 +- rust/src/models/dataset_resource.rs | 2 +- rust/src/models/derived_color.rs | 2 +- rust/src/models/derived_number.rs | 2 +- .../ebv_portal_data_provider_definition.rs | 2 +- .../models/edr_data_provider_definition.rs | 2 +- rust/src/models/edr_vector_spec.rs | 2 +- rust/src/models/error_response.rs | 2 +- rust/src/models/expression.rs | 44 +++ rust/src/models/expression_parameters.rs | 42 +++ rust/src/models/external_data_id.rs | 2 +- rust/src/models/feature_aggregation_method.rs | 38 ++ rust/src/models/feature_data_type.rs | 2 +- rust/src/models/file_not_found_handling.rs | 2 +- rust/src/models/format_specifics.rs | 2 +- rust/src/models/format_specifics_csv.rs | 2 +- .../models/gbif_data_provider_definition.rs | 2 +- rust/src/models/gdal_dataset_parameters.rs | 6 +- .../gdal_loading_info_temporal_slice.rs | 2 +- rust/src/models/gdal_meta_data_list.rs | 2 +- rust/src/models/gdal_meta_data_regular.rs | 2 +- rust/src/models/gdal_meta_data_static.rs | 2 +- rust/src/models/gdal_metadata_mapping.rs | 2 +- rust/src/models/gdal_metadata_net_cdf_cf.rs | 2 +- rust/src/models/gdal_multi_band.rs | 42 +++ rust/src/models/gdal_source.rs | 44 +++ rust/src/models/gdal_source_parameters.rs | 34 ++ .../models/gdal_source_time_placeholder.rs | 2 +- rust/src/models/geo_json.rs | 2 +- rust/src/models/geo_transform.rs | 33 ++ rust/src/models/get_coverage_format.rs | 2 +- rust/src/models/get_map_exception_format.rs | 2 +- .../gfbio_abcd_data_provider_definition.rs | 2 +- ...io_collections_data_provider_definition.rs | 2 +- rust/src/models/grid_bounding_box2_d.rs | 30 ++ rust/src/models/grid_idx2_d.rs | 30 ++ rust/src/models/id_response.rs | 2 +- rust/src/models/internal_data_id.rs | 2 +- rust/src/models/layer.rs | 2 +- rust/src/models/layer_collection.rs | 2 +- rust/src/models/layer_collection_listing.rs | 2 +- rust/src/models/layer_collection_resource.rs | 2 +- rust/src/models/layer_listing.rs | 2 +- rust/src/models/layer_provider_listing.rs | 2 +- rust/src/models/layer_resource.rs | 2 +- rust/src/models/layer_visibility.rs | 2 +- rust/src/models/line_symbology.rs | 2 +- rust/src/models/linear_gradient.rs | 2 +- rust/src/models/logarithmic_gradient.rs | 2 +- rust/src/models/measurement.rs | 2 +- rust/src/models/meta_data_definition.rs | 4 +- rust/src/models/meta_data_suggestion.rs | 2 +- rust/src/models/ml_model.rs | 2 +- .../models/ml_model_input_no_data_handling.rs | 2 +- ...ml_model_input_no_data_handling_variant.rs | 2 +- rust/src/models/ml_model_metadata.rs | 2 +- rust/src/models/ml_model_name_response.rs | 2 +- .../ml_model_output_no_data_handling.rs | 2 +- ...l_model_output_no_data_handling_variant.rs | 2 +- rust/src/models/ml_model_resource.rs | 2 +- rust/src/models/ml_tensor_shape3_d.rs | 2 +- .../mock_dataset_data_source_loading_info.rs | 2 +- rust/src/models/mock_meta_data.rs | 2 +- rust/src/models/mock_point_source.rs | 44 +++ .../models/mock_point_source_parameters.rs | 34 ++ rust/src/models/mod.rs | 102 +++-- .../src/models/multi_band_raster_colorizer.rs | 2 +- rust/src/models/multi_line_string.rs | 2 +- rust/src/models/multi_point.rs | 2 +- rust/src/models/multi_polygon.rs | 2 +- .../net_cdf_cf_data_provider_definition.rs | 2 +- rust/src/models/number_param.rs | 2 +- rust/src/models/ogr_meta_data.rs | 2 +- rust/src/models/ogr_source_column_spec.rs | 2 +- rust/src/models/ogr_source_dataset.rs | 2 +- .../models/ogr_source_dataset_time_type.rs | 2 +- .../ogr_source_dataset_time_type_none.rs | 2 +- .../ogr_source_dataset_time_type_start.rs | 2 +- ...source_dataset_time_type_start_duration.rs | 2 +- .../ogr_source_dataset_time_type_start_end.rs | 2 +- rust/src/models/ogr_source_duration_spec.rs | 2 +- .../ogr_source_duration_spec_infinite.rs | 2 +- .../models/ogr_source_duration_spec_value.rs | 2 +- .../models/ogr_source_duration_spec_zero.rs | 2 +- rust/src/models/ogr_source_error_spec.rs | 2 +- rust/src/models/ogr_source_time_format.rs | 2 +- .../src/models/ogr_source_time_format_auto.rs | 2 +- .../models/ogr_source_time_format_custom.rs | 2 +- .../ogr_source_time_format_unix_time_stamp.rs | 2 +- rust/src/models/operator_quota.rs | 2 +- rust/src/models/order_by.rs | 2 +- rust/src/models/palette_colorizer.rs | 2 +- .../pangaea_data_provider_definition.rs | 2 +- rust/src/models/permission.rs | 2 +- rust/src/models/permission_list_options.rs | 2 +- rust/src/models/permission_listing.rs | 2 +- rust/src/models/permission_request.rs | 2 +- rust/src/models/plot.rs | 2 +- rust/src/models/plot_output_format.rs | 2 +- rust/src/models/plot_result_descriptor.rs | 2 +- rust/src/models/point_symbology.rs | 2 +- rust/src/models/polygon_symbology.rs | 2 +- rust/src/models/project.rs | 2 +- rust/src/models/project_layer.rs | 2 +- rust/src/models/project_listing.rs | 2 +- rust/src/models/project_resource.rs | 2 +- rust/src/models/project_update_token.rs | 2 +- rust/src/models/project_version.rs | 2 +- rust/src/models/provenance.rs | 2 +- rust/src/models/provenance_entry.rs | 2 +- rust/src/models/provenance_output.rs | 2 +- rust/src/models/provenances.rs | 2 +- rust/src/models/provider_capabilities.rs | 2 +- .../models/provider_layer_collection_id.rs | 2 +- rust/src/models/provider_layer_id.rs | 2 +- rust/src/models/quota.rs | 2 +- rust/src/models/raster_band_descriptor.rs | 2 +- rust/src/models/raster_colorizer.rs | 2 +- rust/src/models/raster_data_type.rs | 2 +- .../models/raster_dataset_from_workflow.rs | 6 +- .../raster_dataset_from_workflow_result.rs | 2 +- .../models/raster_properties_entry_type.rs | 2 +- rust/src/models/raster_properties_key.rs | 2 +- rust/src/models/raster_result_descriptor.rs | 19 +- .../raster_stream_websocket_result_type.rs | 2 +- rust/src/models/raster_symbology.rs | 2 +- .../raster_to_dataset_query_rectangle.rs | 32 ++ rust/src/models/raster_vector_join.rs | 44 +++ .../models/raster_vector_join_parameters.rs | 44 +++ rust/src/models/regular_time_dimension.rs | 30 ++ rust/src/models/resource.rs | 2 +- rust/src/models/role.rs | 2 +- rust/src/models/role_description.rs | 2 +- rust/src/models/search_capabilities.rs | 2 +- rust/src/models/search_type.rs | 2 +- rust/src/models/search_types.rs | 2 +- ...ntinel_s2_l2_a_cogs_provider_definition.rs | 10 +- rust/src/models/server_info.rs | 2 +- .../models/single_band_raster_colorizer.rs | 2 +- rust/src/models/spatial_bounds_derive.rs | 45 +++ .../models/spatial_bounds_derive_one_of.rs | 39 ++ .../models/spatial_bounds_derive_one_of_1.rs | 45 +++ .../models/spatial_bounds_derive_one_of_2.rs | 39 ++ rust/src/models/spatial_grid_definition.rs | 30 ++ rust/src/models/spatial_grid_descriptor.rs | 30 ++ .../models/spatial_grid_descriptor_state.rs | 38 ++ rust/src/models/spatial_partition2_d.rs | 2 +- .../src/models/spatial_reference_authority.rs | 2 +- .../models/spatial_reference_specification.rs | 2 +- rust/src/models/spatial_resolution.rs | 2 +- rust/src/models/st_rectangle.rs | 2 +- rust/src/models/stac_api_retries.rs | 2 +- rust/src/models/stac_query_buffer.rs | 2 +- rust/src/models/static_color.rs | 2 +- rust/src/models/static_number.rs | 2 +- rust/src/models/stroke_param.rs | 2 +- rust/src/models/suggest_meta_data.rs | 2 +- rust/src/models/symbology.rs | 2 +- rust/src/models/task_abort_options.rs | 2 +- rust/src/models/task_filter.rs | 2 +- rust/src/models/task_list_options.rs | 2 +- rust/src/models/task_response.rs | 2 +- rust/src/models/task_status.rs | 2 +- rust/src/models/task_status_aborted.rs | 2 +- rust/src/models/task_status_completed.rs | 2 +- rust/src/models/task_status_failed.rs | 2 +- rust/src/models/task_status_running.rs | 2 +- rust/src/models/task_status_with_id.rs | 2 +- .../src/models/temporal_aggregation_method.rs | 41 ++ rust/src/models/text_symbology.rs | 2 +- rust/src/models/time_descriptor.rs | 30 ++ rust/src/models/time_dimension.rs | 40 ++ rust/src/models/time_dimension_one_of.rs | 45 +++ rust/src/models/time_dimension_one_of_1.rs | 39 ++ rust/src/models/time_granularity.rs | 2 +- rust/src/models/time_interval.rs | 2 +- rust/src/models/time_reference.rs | 2 +- rust/src/models/time_step.rs | 2 +- .../models/typed_data_provider_definition.rs | 2 +- rust/src/models/typed_geometry.rs | 2 +- rust/src/models/typed_geometry_one_of.rs | 2 +- rust/src/models/typed_geometry_one_of_1.rs | 2 +- rust/src/models/typed_geometry_one_of_2.rs | 2 +- rust/src/models/typed_geometry_one_of_3.rs | 2 +- rust/src/models/typed_operator.rs | 2 +- rust/src/models/typed_operator_operator.rs | 2 +- .../models/typed_plot_result_descriptor.rs | 2 +- .../models/typed_raster_result_descriptor.rs | 19 +- rust/src/models/typed_result_descriptor.rs | 2 +- .../models/typed_vector_result_descriptor.rs | 2 +- rust/src/models/unitless_measurement.rs | 2 +- rust/src/models/unix_time_stamp_type.rs | 2 +- rust/src/models/update_dataset.rs | 2 +- rust/src/models/update_layer.rs | 2 +- rust/src/models/update_layer_collection.rs | 2 +- rust/src/models/update_project.rs | 2 +- rust/src/models/update_quota.rs | 2 +- .../src/models/upload_file_layers_response.rs | 2 +- rust/src/models/upload_files_response.rs | 2 +- rust/src/models/usage_summary_granularity.rs | 2 +- rust/src/models/user_credentials.rs | 2 +- rust/src/models/user_info.rs | 2 +- rust/src/models/user_registration.rs | 2 +- rust/src/models/user_session.rs | 2 +- rust/src/models/vec_update.rs | 2 +- rust/src/models/vector_column_info.rs | 2 +- rust/src/models/vector_data_type.rs | 2 +- rust/src/models/vector_operator.rs | 30 ++ rust/src/models/vector_result_descriptor.rs | 2 +- rust/src/models/volume.rs | 2 +- .../src/models/volume_file_layers_response.rs | 2 +- rust/src/models/wcs_boundingbox.rs | 2 +- rust/src/models/wcs_request.rs | 41 ++ rust/src/models/wcs_service.rs | 2 +- rust/src/models/wcs_version.rs | 2 +- rust/src/models/wfs_request.rs | 38 ++ rust/src/models/wfs_service.rs | 2 +- rust/src/models/wfs_version.rs | 2 +- .../wildlive_data_connector_definition.rs | 2 +- rust/src/models/wms_request.rs | 47 +++ rust/src/models/wms_response_format.rs | 38 ++ rust/src/models/wms_service.rs | 2 +- rust/src/models/wms_version.rs | 2 +- rust/src/models/workflow.rs | 2 +- rust/src/models/wrapped_plot_output.rs | 2 +- 336 files changed, 2978 insertions(+), 950 deletions(-) create mode 100644 rust/docs/AddDatasetTile.md create mode 100644 rust/docs/ColumnNames.md create mode 100644 rust/docs/ColumnNamesOneOf.md create mode 100644 rust/docs/ColumnNamesOneOf1.md create mode 100644 rust/docs/ColumnNamesOneOf2.md create mode 100644 rust/docs/Expression.md create mode 100644 rust/docs/ExpressionParameters.md create mode 100644 rust/docs/FeatureAggregationMethod.md create mode 100644 rust/docs/GdalMultiBand.md create mode 100644 rust/docs/GdalSource.md create mode 100644 rust/docs/GdalSourceParameters.md create mode 100644 rust/docs/GeoTransform.md create mode 100644 rust/docs/GridBoundingBox2D.md create mode 100644 rust/docs/GridIdx2D.md create mode 100644 rust/docs/MockPointSource.md create mode 100644 rust/docs/MockPointSourceParameters.md create mode 100644 rust/docs/RasterToDatasetQueryRectangle.md create mode 100644 rust/docs/RasterVectorJoin.md create mode 100644 rust/docs/RasterVectorJoinParameters.md create mode 100644 rust/docs/RegularTimeDimension.md create mode 100644 rust/docs/SpatialBoundsDerive.md create mode 100644 rust/docs/SpatialBoundsDeriveOneOf.md create mode 100644 rust/docs/SpatialBoundsDeriveOneOf1.md create mode 100644 rust/docs/SpatialBoundsDeriveOneOf2.md create mode 100644 rust/docs/SpatialGridDefinition.md create mode 100644 rust/docs/SpatialGridDescriptor.md create mode 100644 rust/docs/SpatialGridDescriptorState.md create mode 100644 rust/docs/TemporalAggregationMethod.md create mode 100644 rust/docs/TimeDescriptor.md create mode 100644 rust/docs/TimeDimension.md create mode 100644 rust/docs/TimeDimensionOneOf.md create mode 100644 rust/docs/TimeDimensionOneOf1.md create mode 100644 rust/docs/VectorOperator.md create mode 100644 rust/docs/WcsRequest.md create mode 100644 rust/docs/WfsRequest.md create mode 100644 rust/docs/WmsRequest.md create mode 100644 rust/docs/WmsResponseFormat.md create mode 100644 rust/src/models/add_dataset_tile.rs create mode 100644 rust/src/models/column_names.rs create mode 100644 rust/src/models/column_names_one_of.rs create mode 100644 rust/src/models/column_names_one_of_1.rs create mode 100644 rust/src/models/column_names_one_of_2.rs create mode 100644 rust/src/models/expression.rs create mode 100644 rust/src/models/expression_parameters.rs create mode 100644 rust/src/models/feature_aggregation_method.rs create mode 100644 rust/src/models/gdal_multi_band.rs create mode 100644 rust/src/models/gdal_source.rs create mode 100644 rust/src/models/gdal_source_parameters.rs create mode 100644 rust/src/models/geo_transform.rs create mode 100644 rust/src/models/grid_bounding_box2_d.rs create mode 100644 rust/src/models/grid_idx2_d.rs create mode 100644 rust/src/models/mock_point_source.rs create mode 100644 rust/src/models/mock_point_source_parameters.rs create mode 100644 rust/src/models/raster_to_dataset_query_rectangle.rs create mode 100644 rust/src/models/raster_vector_join.rs create mode 100644 rust/src/models/raster_vector_join_parameters.rs create mode 100644 rust/src/models/regular_time_dimension.rs create mode 100644 rust/src/models/spatial_bounds_derive.rs create mode 100644 rust/src/models/spatial_bounds_derive_one_of.rs create mode 100644 rust/src/models/spatial_bounds_derive_one_of_1.rs create mode 100644 rust/src/models/spatial_bounds_derive_one_of_2.rs create mode 100644 rust/src/models/spatial_grid_definition.rs create mode 100644 rust/src/models/spatial_grid_descriptor.rs create mode 100644 rust/src/models/spatial_grid_descriptor_state.rs create mode 100644 rust/src/models/temporal_aggregation_method.rs create mode 100644 rust/src/models/time_descriptor.rs create mode 100644 rust/src/models/time_dimension.rs create mode 100644 rust/src/models/time_dimension_one_of.rs create mode 100644 rust/src/models/time_dimension_one_of_1.rs create mode 100644 rust/src/models/vector_operator.rs create mode 100644 rust/src/models/wcs_request.rs create mode 100644 rust/src/models/wfs_request.rs create mode 100644 rust/src/models/wms_request.rs create mode 100644 rust/src/models/wms_response_format.rs diff --git a/.generation/config.ini b/.generation/config.ini index 1a27f54c..b0df7f05 100644 --- a/.generation/config.ini +++ b/.generation/config.ini @@ -1,5 +1,5 @@ [input] -backendCommit = 078c127068af03af5f55aef8859f930574bf7797 +backendCommit = bd3faa34d17f3cc418b10df418e6c9604c29e9e2 [general] githubUrl = https://github.com/geo-engine/openapi-client @@ -11,4 +11,3 @@ name = geoengine_openapi_client [typescript] name = @geoengine/openapi-client - diff --git a/.generation/input/openapi.json b/.generation/input/openapi.json index 110c5281..34af9919 100644 --- a/.generation/input/openapi.json +++ b/.generation/input/openapi.json @@ -5641,6 +5641,66 @@ } } }, + "ColumnNames": { + "oneOf": [ + { + "type": "object", + "required": [ + "type" + ], + "properties": { + "type": { + "type": "string", + "enum": [ + "default" + ] + } + } + }, + { + "type": "object", + "required": [ + "values", + "type" + ], + "properties": { + "type": { + "type": "string", + "enum": [ + "suffix" + ] + }, + "values": { + "type": "array", + "items": { + "type": "string" + } + } + } + }, + { + "type": "object", + "required": [ + "values", + "type" + ], + "properties": { + "type": { + "type": "string", + "enum": [ + "names" + ] + }, + "values": { + "type": "array", + "items": { + "type": "string" + } + } + } + } + ] + }, "ComputationQuota": { "type": "object", "required": [ @@ -6436,6 +6496,59 @@ } } }, + "Expression": { + "type": "object", + "description": "# Raster Expression\n\nThe `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" + ], + "properties": { + "params": { + "$ref": "#/components/schemas/ExpressionParameters" + }, + "type": { + "type": "string", + "enum": [ + "Expression" + ] + } + } + }, + "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)\"`" + }, + "mapNoData": { + "type": "boolean", + "description": "Should NO DATA values be mapped with the `expression`? Otherwise, they are mapped automatically to NO DATA." + }, + "outputBand": { + "oneOf": [ + { + "type": "null" + }, + { + "$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 +6571,13 @@ } } }, + "FeatureAggregationMethod": { + "type": "string", + "enum": [ + "first", + "mean" + ] + }, "FeatureDataType": { "type": "string", "enum": [ @@ -6829,6 +6949,47 @@ } } }, + "GdalSource": { + "type": "object", + "description": "# GdalSource\n\nThe [`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\n## Example JSON\n\n```json\n{\n \"type\": \"GdalSource\",\n \"params\": {\n \"data\": \"ndvi\"\n }\n}\n```", + "required": [ + "type", + "params" + ], + "properties": { + "params": { + "$ref": "#/components/schemas/GdalSourceParameters" + }, + "type": { + "type": "string", + "enum": [ + "GdalSource" + ] + } + } + }, + "GdalSourceParameters": { + "type": "object", + "description": "Parameters for the [`GdalSource`] operator.", + "required": [ + "data" + ], + "properties": { + "data": { + "type": "string", + "description": "Dataset name or identifier to be loaded.\n\n### Example\n`\"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.", + "minimum": 0 + } + } + }, "GdalSourceTimePlaceholder": { "type": "object", "required": [ @@ -7645,6 +7806,46 @@ } } }, + "MockPointSource": { + "type": "object", + "description": "# MockPointSource\n\nThe [`MockPointSource`] is a source operator that provides mock vector point data for testing and development purposes.\n\n## Example JSON\n```json\n{\n \"type\": \"MockPointSource\",\n \"params\": {\n \"points\": [ { \"x\": 1.0, \"y\": 2.0 }, { \"x\": 3.0, \"y\": 4.0 } ]\n }\n}\n```", + "required": [ + "type", + "params" + ], + "properties": { + "params": { + "$ref": "#/components/schemas/MockPointSourceParameters" + }, + "type": { + "type": "string", + "enum": [ + "MockPointSource" + ] + } + } + }, + "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\n### Example\n`[{\"x\": 1.0, \"y\": 2.0}, {\"x\": 3.0, \"y\": 4.0}]`" + }, + "spatialBounds": { + "$ref": "#/components/schemas/SpatialBoundsDerive", + "description": "Defines how the spatial bounds of the source are derived.\n\nDefaults to `None`." + } + } + }, "MultiBandRasterColorizer": { "type": "object", "required": [ @@ -8470,6 +8671,11 @@ } } }, + "PlotOperator": { + "type": "null", + "description": "An operator that produces plot data.", + "default": null + }, "PlotOutputFormat": { "type": "string", "enum": [ @@ -9005,6 +9211,20 @@ } } }, + "RasterOperator": { + "oneOf": [ + { + "$ref": "#/components/schemas/GdalSource" + } + ], + "description": "An operator that produces raster data.", + "discriminator": { + "propertyName": "type", + "mapping": { + "GdalSource": "#/components/schemas/GdalSource" + } + } + }, "RasterPropertiesEntryType": { "type": "string", "enum": [ @@ -9103,6 +9323,55 @@ } } }, + "RasterVectorJoin": { + "type": "object", + "description": "# RasterVectorJoin\n\nThe `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\n## Example JSON\n\n```json\n{\n \"type\": \"RasterVectorJoin\",\n \"params\": {\n \"names\": [\"NDVI\"],\n \"featureAggregation\": \"first\",\n \"temporalAggregation\": \"mean\",\n \"temporalAggregationIgnoreNoData\": true\n },\n \"sources\": {\n \"vector\": {\n \"type\": \"OgrSource\",\n \"params\": {\n \"data\": \"places\"\n }\n },\n \"rasters\": [\n {\n \"type\": \"GdalSource\",\n \"params\": {\n \"data\": \"ndvi\"\n }\n }\n ]\n }\n}\n```", + "required": [ + "type", + "params" + ], + "properties": { + "params": { + "$ref": "#/components/schemas/RasterVectorJoinParameters" + }, + "type": { + "type": "string", + "enum": [ + "RasterVectorJoin" + ] + } + } + }, + "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`." + }, + "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| Value | Description |\n| ---------------------------------------- | ---------------------------------------------------------------------------- |\n| `{\"type\": \"default\"}` | Appends \" (n)\" to the band name with the smallest `n` that avoids a conflict |\n| `{\"type\": \"suffix\", \"values\": [string]}` | Specifies a suffix for each input, to be appended to the band names |\n| `{\"type\": \"rename\", \"values\": [string]}` | 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`." + } + } + }, "RegularTimeDimension": { "type": "object", "required": [ @@ -9364,6 +9633,60 @@ } } }, + "SpatialBoundsDerive": { + "oneOf": [ + { + "type": "object", + "required": [ + "type" + ], + "properties": { + "type": { + "type": "string", + "enum": [ + "derive" + ] + } + } + }, + { + "allOf": [ + { + "$ref": "#/components/schemas/BoundingBox2D" + }, + { + "type": "object", + "required": [ + "type" + ], + "properties": { + "type": { + "type": "string", + "enum": [ + "bounds" + ] + } + } + } + ] + }, + { + "type": "object", + "required": [ + "type" + ], + "properties": { + "type": { + "type": "string", + "enum": [ + "none" + ] + } + } + } + ], + "description": "Spatial bounds derivation options for the [`MockPointSource`]." + }, "SpatialGridDefinition": { "type": "object", "required": [ @@ -9829,6 +10152,14 @@ } ] }, + "TemporalAggregationMethod": { + "type": "string", + "enum": [ + "none", + "first", + "mean" + ] + }, "TextSymbology": { "type": "object", "required": [ @@ -10658,6 +10989,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": [ diff --git a/rust/.openapi-generator/FILES b/rust/.openapi-generator/FILES index 964fb323..230914f7 100644 --- a/rust/.openapi-generator/FILES +++ b/rust/.openapi-generator/FILES @@ -3,6 +3,7 @@ Cargo.toml README.md docs/AddDataset.md +docs/AddDatasetTile.md docs/AddLayer.md docs/AddLayerCollection.md docs/AddRole.md @@ -18,6 +19,10 @@ docs/CollectionItem.md docs/CollectionType.md docs/ColorParam.md docs/Colorizer.md +docs/ColumnNames.md +docs/ColumnNamesOneOf.md +docs/ColumnNamesOneOf1.md +docs/ColumnNamesOneOf2.md docs/ComputationQuota.md docs/ContinuousMeasurement.md docs/Coordinate2D.md @@ -43,18 +48,19 @@ docs/DatasetResource.md docs/DatasetsApi.md docs/DerivedColor.md docs/DerivedNumber.md -docs/DescribeCoverageRequest.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/GdalDatasetGeoTransform.md docs/GdalDatasetParameters.md docs/GdalLoadingInfoTemporalSlice.md docs/GdalMetaDataList.md @@ -62,20 +68,19 @@ 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/GetCapabilitiesFormat.md -docs/GetCapabilitiesRequest.md +docs/GeoTransform.md docs/GetCoverageFormat.md -docs/GetCoverageRequest.md -docs/GetFeatureRequest.md -docs/GetLegendGraphicRequest.md docs/GetMapExceptionFormat.md -docs/GetMapFormat.md -docs/GetMapRequest.md docs/GfbioAbcdDataProviderDefinition.md docs/GfbioCollectionsDataProviderDefinition.md +docs/GridBoundingBox2D.md +docs/GridIdx2D.md docs/IdResponse.md docs/InternalDataId.md docs/Layer.md @@ -105,6 +110,8 @@ 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 @@ -142,7 +149,6 @@ docs/PermissionRequest.md docs/PermissionsApi.md docs/Plot.md docs/PlotOutputFormat.md -docs/PlotQueryRectangle.md docs/PlotResultDescriptor.md docs/PlotsApi.md docs/PointSymbology.md @@ -169,10 +175,13 @@ docs/RasterDatasetFromWorkflow.md docs/RasterDatasetFromWorkflowResult.md docs/RasterPropertiesEntryType.md docs/RasterPropertiesKey.md -docs/RasterQueryRectangle.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 @@ -183,6 +192,13 @@ docs/SentinelS2L2ACogsProviderDefinition.md docs/ServerInfo.md docs/SessionApi.md docs/SingleBandRasterColorizer.md +docs/SpatialBoundsDerive.md +docs/SpatialBoundsDeriveOneOf.md +docs/SpatialBoundsDeriveOneOf1.md +docs/SpatialBoundsDeriveOneOf2.md +docs/SpatialGridDefinition.md +docs/SpatialGridDescriptor.md +docs/SpatialGridDescriptorState.md docs/SpatialPartition2D.md docs/SpatialReferenceAuthority.md docs/SpatialReferenceSpecification.md @@ -190,9 +206,7 @@ docs/SpatialReferencesApi.md docs/SpatialResolution.md docs/StRectangle.md docs/StacApiRetries.md -docs/StacBand.md docs/StacQueryBuffer.md -docs/StacZone.md docs/StaticColor.md docs/StaticNumber.md docs/StrokeParam.md @@ -209,7 +223,12 @@ 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 @@ -245,16 +264,20 @@ docs/UserSession.md docs/VecUpdate.md docs/VectorColumnInfo.md docs/VectorDataType.md -docs/VectorQueryRectangle.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 +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 @@ -281,6 +304,7 @@ src/apis/user_api.rs src/apis/workflows_api.rs src/lib.rs src/models/add_dataset.rs +src/models/add_dataset_tile.rs src/models/add_layer.rs src/models/add_layer_collection.rs src/models/add_role.rs @@ -296,6 +320,10 @@ 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/column_names_one_of.rs +src/models/column_names_one_of_1.rs +src/models/column_names_one_of_2.rs src/models/computation_quota.rs src/models/continuous_measurement.rs src/models/coordinate2_d.rs @@ -320,18 +348,19 @@ src/models/dataset_name_response.rs src/models/dataset_resource.rs src/models/derived_color.rs src/models/derived_number.rs -src/models/describe_coverage_request.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_geo_transform.rs src/models/gdal_dataset_parameters.rs src/models/gdal_loading_info_temporal_slice.rs src/models/gdal_meta_data_list.rs @@ -339,19 +368,18 @@ 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/get_capabilities_format.rs -src/models/get_capabilities_request.rs +src/models/geo_transform.rs src/models/get_coverage_format.rs -src/models/get_coverage_request.rs -src/models/get_feature_request.rs -src/models/get_legend_graphic_request.rs src/models/get_map_exception_format.rs -src/models/get_map_format.rs -src/models/get_map_request.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/id_response.rs src/models/internal_data_id.rs src/models/layer.rs @@ -379,6 +407,8 @@ 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 @@ -413,7 +443,6 @@ src/models/permission_listing.rs src/models/permission_request.rs src/models/plot.rs src/models/plot_output_format.rs -src/models/plot_query_rectangle.rs src/models/plot_result_descriptor.rs src/models/point_symbology.rs src/models/polygon_symbology.rs @@ -438,10 +467,13 @@ src/models/raster_dataset_from_workflow.rs src/models/raster_dataset_from_workflow_result.rs src/models/raster_properties_entry_type.rs src/models/raster_properties_key.rs -src/models/raster_query_rectangle.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 @@ -451,15 +483,20 @@ 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/spatial_bounds_derive.rs +src/models/spatial_bounds_derive_one_of.rs +src/models/spatial_bounds_derive_one_of_1.rs +src/models/spatial_bounds_derive_one_of_2.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_authority.rs src/models/spatial_reference_specification.rs src/models/spatial_resolution.rs src/models/st_rectangle.rs src/models/stac_api_retries.rs -src/models/stac_band.rs src/models/stac_query_buffer.rs -src/models/stac_zone.rs src/models/static_color.rs src/models/static_number.rs src/models/stroke_param.rs @@ -475,7 +512,12 @@ 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 @@ -509,16 +551,20 @@ 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_query_rectangle.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_boundingbox.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 diff --git a/rust/Cargo.toml b/rust/Cargo.toml index ff357c84..ba418727 100644 --- a/rust/Cargo.toml +++ b/rust/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "geoengine-openapi-client" -version = "0.0.30" +version = "0.0.31" authors = ["dev@geoengine.de"] description = "No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)" license = "Apache-2.0" diff --git a/rust/README.md b/rust/README.md index 28a8b739..0579c23c 100644 --- a/rust/README.md +++ b/rust/README.md @@ -7,8 +7,8 @@ No description provided (generated by Openapi Generator https://github.com/opena 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.8.0 -- Package version: 0.0.30 +- API version: 0.9.0 +- Package version: 0.0.31 - Generator version: 7.18.0 - Build package: `org.openapitools.codegen.languages.RustClientCodegen` @@ -26,6 +26,7 @@ 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 @@ -67,14 +68,9 @@ Class | Method | HTTP request | Description *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_capabilities_handler**](docs/OgcwcsApi.md#wcs_capabilities_handler) | **GET** /wcs/{workflow}?request=GetCapabilities | Get WCS Capabilities -*OgcwcsApi* | [**wcs_describe_coverage_handler**](docs/OgcwcsApi.md#wcs_describe_coverage_handler) | **GET** /wcs/{workflow}?request=DescribeCoverage | Get WCS Coverage Description -*OgcwcsApi* | [**wcs_get_coverage_handler**](docs/OgcwcsApi.md#wcs_get_coverage_handler) | **GET** /wcs/{workflow}?request=GetCoverage | Get WCS Coverage -*OgcwfsApi* | [**wfs_capabilities_handler**](docs/OgcwfsApi.md#wfs_capabilities_handler) | **GET** /wfs/{workflow}?request=GetCapabilities | Get WFS Capabilities -*OgcwfsApi* | [**wfs_feature_handler**](docs/OgcwfsApi.md#wfs_feature_handler) | **GET** /wfs/{workflow}?request=GetFeature | Get WCS Features -*OgcwmsApi* | [**wms_capabilities_handler**](docs/OgcwmsApi.md#wms_capabilities_handler) | **GET** /wms/{workflow}?request=GetCapabilities | Get WMS Capabilities -*OgcwmsApi* | [**wms_legend_graphic_handler**](docs/OgcwmsApi.md#wms_legend_graphic_handler) | **GET** /wms/{workflow}?request=GetLegendGraphic | Get WMS Legend Graphic -*OgcwmsApi* | [**wms_map_handler**](docs/OgcwmsApi.md#wms_map_handler) | **GET** /wms/{workflow}?request=GetMap | Get WMS Map +*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. @@ -127,6 +123,7 @@ 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) @@ -142,6 +139,10 @@ Class | Method | HTTP request | Description - [CollectionType](docs/CollectionType.md) - [ColorParam](docs/ColorParam.md) - [Colorizer](docs/Colorizer.md) + - [ColumnNames](docs/ColumnNames.md) + - [ColumnNamesOneOf](docs/ColumnNamesOneOf.md) + - [ColumnNamesOneOf1](docs/ColumnNamesOneOf1.md) + - [ColumnNamesOneOf2](docs/ColumnNamesOneOf2.md) - [ComputationQuota](docs/ComputationQuota.md) - [ContinuousMeasurement](docs/ContinuousMeasurement.md) - [Coordinate2D](docs/Coordinate2D.md) @@ -166,18 +167,19 @@ Class | Method | HTTP request | Description - [DatasetResource](docs/DatasetResource.md) - [DerivedColor](docs/DerivedColor.md) - [DerivedNumber](docs/DerivedNumber.md) - - [DescribeCoverageRequest](docs/DescribeCoverageRequest.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) - - [GdalDatasetGeoTransform](docs/GdalDatasetGeoTransform.md) - [GdalDatasetParameters](docs/GdalDatasetParameters.md) - [GdalLoadingInfoTemporalSlice](docs/GdalLoadingInfoTemporalSlice.md) - [GdalMetaDataList](docs/GdalMetaDataList.md) @@ -185,19 +187,18 @@ Class | Method | HTTP request | Description - [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) - - [GetCapabilitiesFormat](docs/GetCapabilitiesFormat.md) - - [GetCapabilitiesRequest](docs/GetCapabilitiesRequest.md) + - [GeoTransform](docs/GeoTransform.md) - [GetCoverageFormat](docs/GetCoverageFormat.md) - - [GetCoverageRequest](docs/GetCoverageRequest.md) - - [GetFeatureRequest](docs/GetFeatureRequest.md) - - [GetLegendGraphicRequest](docs/GetLegendGraphicRequest.md) - [GetMapExceptionFormat](docs/GetMapExceptionFormat.md) - - [GetMapFormat](docs/GetMapFormat.md) - - [GetMapRequest](docs/GetMapRequest.md) - [GfbioAbcdDataProviderDefinition](docs/GfbioAbcdDataProviderDefinition.md) - [GfbioCollectionsDataProviderDefinition](docs/GfbioCollectionsDataProviderDefinition.md) + - [GridBoundingBox2D](docs/GridBoundingBox2D.md) + - [GridIdx2D](docs/GridIdx2D.md) - [IdResponse](docs/IdResponse.md) - [InternalDataId](docs/InternalDataId.md) - [Layer](docs/Layer.md) @@ -225,6 +226,8 @@ 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) @@ -258,7 +261,6 @@ Class | Method | HTTP request | Description - [PermissionRequest](docs/PermissionRequest.md) - [Plot](docs/Plot.md) - [PlotOutputFormat](docs/PlotOutputFormat.md) - - [PlotQueryRectangle](docs/PlotQueryRectangle.md) - [PlotResultDescriptor](docs/PlotResultDescriptor.md) - [PointSymbology](docs/PointSymbology.md) - [PolygonSymbology](docs/PolygonSymbology.md) @@ -283,10 +285,13 @@ Class | Method | HTTP request | Description - [RasterDatasetFromWorkflowResult](docs/RasterDatasetFromWorkflowResult.md) - [RasterPropertiesEntryType](docs/RasterPropertiesEntryType.md) - [RasterPropertiesKey](docs/RasterPropertiesKey.md) - - [RasterQueryRectangle](docs/RasterQueryRectangle.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) @@ -296,15 +301,20 @@ Class | Method | HTTP request | Description - [SentinelS2L2ACogsProviderDefinition](docs/SentinelS2L2ACogsProviderDefinition.md) - [ServerInfo](docs/ServerInfo.md) - [SingleBandRasterColorizer](docs/SingleBandRasterColorizer.md) + - [SpatialBoundsDerive](docs/SpatialBoundsDerive.md) + - [SpatialBoundsDeriveOneOf](docs/SpatialBoundsDeriveOneOf.md) + - [SpatialBoundsDeriveOneOf1](docs/SpatialBoundsDeriveOneOf1.md) + - [SpatialBoundsDeriveOneOf2](docs/SpatialBoundsDeriveOneOf2.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) - [StRectangle](docs/StRectangle.md) - [StacApiRetries](docs/StacApiRetries.md) - - [StacBand](docs/StacBand.md) - [StacQueryBuffer](docs/StacQueryBuffer.md) - - [StacZone](docs/StacZone.md) - [StaticColor](docs/StaticColor.md) - [StaticNumber](docs/StaticNumber.md) - [StrokeParam](docs/StrokeParam.md) @@ -320,7 +330,12 @@ 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) + - [TimeDimensionOneOf](docs/TimeDimensionOneOf.md) + - [TimeDimensionOneOf1](docs/TimeDimensionOneOf1.md) - [TimeGranularity](docs/TimeGranularity.md) - [TimeInterval](docs/TimeInterval.md) - [TimeReference](docs/TimeReference.md) @@ -354,16 +369,20 @@ Class | Method | HTTP request | Description - [VecUpdate](docs/VecUpdate.md) - [VectorColumnInfo](docs/VectorColumnInfo.md) - [VectorDataType](docs/VectorDataType.md) - - [VectorQueryRectangle](docs/VectorQueryRectangle.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) + - [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) diff --git a/rust/docs/AddDatasetTile.md b/rust/docs/AddDatasetTile.md new file mode 100644 index 00000000..e69efd36 --- /dev/null +++ b/rust/docs/AddDatasetTile.md @@ -0,0 +1,15 @@ +# AddDatasetTile + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**band** | **i32** | | +**params** | [**models::GdalDatasetParameters**](GdalDatasetParameters.md) | | +**spatial_partition** | [**models::SpatialPartition2D**](SpatialPartition2D.md) | | +**time** | [**models::TimeInterval**](TimeInterval.md) | | +**z_index** | **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/ColumnNames.md b/rust/docs/ColumnNames.md new file mode 100644 index 00000000..9cfd665c --- /dev/null +++ b/rust/docs/ColumnNames.md @@ -0,0 +1,13 @@ +# ColumnNames + +## Enum Variants + +| Name | Description | +|---- | -----| +| ColumnNamesOneOf | | +| ColumnNamesOneOf1 | | +| ColumnNamesOneOf2 | | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/rust/docs/ColumnNamesOneOf.md b/rust/docs/ColumnNamesOneOf.md new file mode 100644 index 00000000..4d25c4bb --- /dev/null +++ b/rust/docs/ColumnNamesOneOf.md @@ -0,0 +1,11 @@ +# ColumnNamesOneOf + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**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/ColumnNamesOneOf1.md b/rust/docs/ColumnNamesOneOf1.md new file mode 100644 index 00000000..3dfea43e --- /dev/null +++ b/rust/docs/ColumnNamesOneOf1.md @@ -0,0 +1,12 @@ +# ColumnNamesOneOf1 + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**r#type** | **String** | | +**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/ColumnNamesOneOf2.md b/rust/docs/ColumnNamesOneOf2.md new file mode 100644 index 00000000..0d199e46 --- /dev/null +++ b/rust/docs/ColumnNamesOneOf2.md @@ -0,0 +1,12 @@ +# ColumnNamesOneOf2 + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**r#type** | **String** | | +**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/Dataset.md b/rust/docs/Dataset.md index 2907649b..5d327bf6 100644 --- a/rust/docs/Dataset.md +++ b/rust/docs/Dataset.md @@ -4,6 +4,7 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- +**data_path** | Option<[**models::DataPath**](DataPath.md)> | | [optional] **description** | **String** | | **display_name** | **String** | | **id** | [**uuid::Uuid**](uuid::Uuid.md) | | diff --git a/rust/docs/DatasetsApi.md b/rust/docs/DatasetsApi.md index 4cea2c09..931b0e85 100644 --- a/rust/docs/DatasetsApi.md +++ b/rust/docs/DatasetsApi.md @@ -4,6 +4,7 @@ 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 @@ -20,6 +21,35 @@ Method | HTTP request | Description +## 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) diff --git a/rust/docs/Expression.md b/rust/docs/Expression.md new file mode 100644 index 00000000..b1612dea --- /dev/null +++ b/rust/docs/Expression.md @@ -0,0 +1,12 @@ +# Expression + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**params** | [**models::ExpressionParameters**](ExpressionParameters.md) | | +**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/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/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/GdalDatasetParameters.md b/rust/docs/GdalDatasetParameters.md index 4b572722..d40e741b 100644 --- a/rust/docs/GdalDatasetParameters.md +++ b/rust/docs/GdalDatasetParameters.md @@ -9,7 +9,7 @@ Name | Type | Description | Notes **file_path** | **String** | | **gdal_config_options** | Option<[**Vec>**](Vec.md)> | | [optional] **gdal_open_options** | Option<**Vec**> | | [optional] -**geo_transform** | [**models::GdalDatasetGeoTransform**](GdalDatasetGeoTransform.md) | | +**geo_transform** | [**models::GeoTransform**](GeoTransform.md) | | **height** | **i32** | | **no_data_value** | Option<**f64**> | | [optional] **properties_mapping** | Option<[**Vec**](GdalMetadataMapping.md)> | | [optional] diff --git a/rust/docs/GdalMultiBand.md b/rust/docs/GdalMultiBand.md new file mode 100644 index 00000000..8caad870 --- /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** | **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/GdalSource.md b/rust/docs/GdalSource.md new file mode 100644 index 00000000..fc916b86 --- /dev/null +++ b/rust/docs/GdalSource.md @@ -0,0 +1,12 @@ +# GdalSource + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**params** | [**models::GdalSourceParameters**](GdalSourceParameters.md) | | +**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/GdalSourceParameters.md b/rust/docs/GdalSourceParameters.md new file mode 100644 index 00000000..97241fe2 --- /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. ### Example `\"ndvi\"` | +**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/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/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/MockPointSource.md b/rust/docs/MockPointSource.md new file mode 100644 index 00000000..8ab425b3 --- /dev/null +++ b/rust/docs/MockPointSource.md @@ -0,0 +1,12 @@ +# MockPointSource + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**params** | [**models::MockPointSourceParameters**](MockPointSourceParameters.md) | | +**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/MockPointSourceParameters.md b/rust/docs/MockPointSourceParameters.md new file mode 100644 index 00000000..359b07f6 --- /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. ### Example `[{\"x\": 1.0, \"y\": 2.0}, {\"x\": 3.0, \"y\": 4.0}]` | +**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/OgcwcsApi.md b/rust/docs/OgcwcsApi.md index 00bac5b8..bcd4811c 100644 --- a/rust/docs/OgcwcsApi.md +++ b/rust/docs/OgcwcsApi.md @@ -4,16 +4,14 @@ All URIs are relative to *https://geoengine.io/api* Method | HTTP request | Description ------------- | ------------- | ------------- -[**wcs_capabilities_handler**](OgcwcsApi.md#wcs_capabilities_handler) | **GET** /wcs/{workflow}?request=GetCapabilities | Get WCS Capabilities -[**wcs_describe_coverage_handler**](OgcwcsApi.md#wcs_describe_coverage_handler) | **GET** /wcs/{workflow}?request=DescribeCoverage | Get WCS Coverage Description -[**wcs_get_coverage_handler**](OgcwcsApi.md#wcs_get_coverage_handler) | **GET** /wcs/{workflow}?request=GetCoverage | Get WCS Coverage +[**wcs_handler**](OgcwcsApi.md#wcs_handler) | **GET** /wcs/{workflow} | OGC WCS endpoint -## wcs_capabilities_handler +## wcs_handler -> String wcs_capabilities_handler(workflow, service, request, version) -Get WCS Capabilities +> String wcs_handler(workflow, request, boundingbox, format, gridbasecrs, gridoffsets, gridorigin, identifier, identifiers, nodatavalue, resx, resy, service, time, version) +OGC WCS endpoint ### Parameters @@ -21,86 +19,24 @@ Get WCS Capabilities Name | Type | Description | Required | Notes ------------- | ------------- | ------------- | ------------- | ------------- **workflow** | **uuid::Uuid** | Workflow id | [required] | -**service** | [**WcsService**](.md) | | [required] | -**request** | [**GetCapabilitiesRequest**](.md) | | [required] | -**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) - - -## wcs_describe_coverage_handler - -> String wcs_describe_coverage_handler(workflow, version, service, request, identifiers) -Get WCS Coverage Description - -### Parameters - - -Name | Type | Description | Required | Notes -------------- | ------------- | ------------- | ------------- | ------------- -**workflow** | **uuid::Uuid** | Workflow id | [required] | -**version** | [**WcsVersion**](.md) | | [required] | -**service** | [**WcsService**](.md) | | [required] | -**request** | [**DescribeCoverageRequest**](.md) | | [required] | -**identifiers** | **String** | | [required] | - -### 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) - - -## wcs_get_coverage_handler - -> std::path::PathBuf wcs_get_coverage_handler(workflow, version, service, request, format, identifier, boundingbox, gridbasecrs, gridorigin, gridoffsets, time, resx, resy, nodatavalue) -Get WCS Coverage - -### Parameters - - -Name | Type | Description | Required | Notes -------------- | ------------- | ------------- | ------------- | ------------- -**workflow** | **uuid::Uuid** | Workflow id | [required] | -**version** | [**WcsVersion**](.md) | | [required] | -**service** | [**WcsService**](.md) | | [required] | -**request** | [**GetCoverageRequest**](.md) | | [required] | -**format** | [**GetCoverageFormat**](.md) | | [required] | -**identifier** | **String** | | [required] | -**boundingbox** | **String** | | [required] | -**gridbasecrs** | **String** | | [required] | -**gridorigin** | Option<**String**> | | | +**request** | [**WcsRequest**](.md) | type of WCS request | [required] | +**boundingbox** | Option<**String**> | | | +**format** | Option<[**GetCoverageFormat**](.md)> | | | +**gridbasecrs** | Option<**String**> | | | **gridoffsets** | Option<**String**> | | | -**time** | Option<**String**> | | | +**gridorigin** | Option<**String**> | | | +**identifier** | Option<**String**> | | | +**identifiers** | Option<**String**> | | | +**nodatavalue** | Option<**f64**> | | | **resx** | Option<**f64**> | | | **resy** | Option<**f64**> | | | -**nodatavalue** | Option<**f64**> | | | +**service** | Option<[**WcsService**](.md)> | | | +**time** | Option<**String**> | | | +**version** | Option<**String**> | | | ### Return type -[**std::path::PathBuf**](std::path::PathBuf.md) +**String** ### Authorization @@ -109,7 +45,7 @@ Name | Type | Description | Required | Notes ### HTTP request headers - **Content-Type**: Not defined -- **Accept**: image/png +- **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 index 4df4e769..c7d43d20 100644 --- a/rust/docs/OgcwfsApi.md +++ b/rust/docs/OgcwfsApi.md @@ -4,15 +4,14 @@ All URIs are relative to *https://geoengine.io/api* Method | HTTP request | Description ------------- | ------------- | ------------- -[**wfs_capabilities_handler**](OgcwfsApi.md#wfs_capabilities_handler) | **GET** /wfs/{workflow}?request=GetCapabilities | Get WFS Capabilities -[**wfs_feature_handler**](OgcwfsApi.md#wfs_feature_handler) | **GET** /wfs/{workflow}?request=GetFeature | Get WCS Features +[**wfs_handler**](OgcwfsApi.md#wfs_handler) | **GET** /wfs/{workflow} | OGC WFS endpoint -## wfs_capabilities_handler +## wfs_handler -> String wfs_capabilities_handler(workflow, version, service, request) -Get WFS Capabilities +> 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 @@ -20,51 +19,19 @@ Get WFS Capabilities Name | Type | Description | Required | Notes ------------- | ------------- | ------------- | ------------- | ------------- **workflow** | **uuid::Uuid** | Workflow id | [required] | -**version** | Option<**String**> | | [required] | -**service** | [**WfsService**](.md) | | [required] | -**request** | [**GetCapabilitiesRequest**](.md) | | [required] | - -### 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) - - -## wfs_feature_handler - -> models::GeoJson wfs_feature_handler(workflow, service, request, type_names, bbox, version, time, srs_name, namespaces, count, sort_by, result_type, filter, property_name, query_resolution) -Get WCS Features - -### Parameters - - -Name | Type | Description | Required | Notes -------------- | ------------- | ------------- | ------------- | ------------- -**workflow** | **uuid::Uuid** | Workflow id | [required] | -**service** | [**WfsService**](.md) | | [required] | -**request** | [**GetFeatureRequest**](.md) | | [required] | -**type_names** | **String** | | [required] | -**bbox** | **String** | | [required] | -**version** | Option<**String**> | | | -**time** | Option<**String**> | | | -**srs_name** | Option<**String**> | | | -**namespaces** | Option<**String**> | | | +**request** | [**WfsRequest**](.md) | type of WFS request | [required] | +**bbox** | Option<**String**> | | | **count** | Option<**i64**> | | | -**sort_by** | Option<**String**> | | | -**result_type** | Option<**String**> | | | **filter** | Option<**String**> | | | +**namespaces** | Option<**String**> | | | **property_name** | Option<**String**> | | | -**query_resolution** | Option<**String**> | Vendor parameter for specifying a spatial query resolution | | +**result_type** | Option<**String**> | | | +**service** | Option<[**WfsService**](.md)> | | | +**sort_by** | Option<**String**> | | | +**srs_name** | Option<**String**> | | | +**time** | Option<**String**> | | | +**type_names** | Option<**String**> | | | +**version** | Option<**String**> | | | ### Return type diff --git a/rust/docs/OgcwmsApi.md b/rust/docs/OgcwmsApi.md index d515e60b..286922fd 100644 --- a/rust/docs/OgcwmsApi.md +++ b/rust/docs/OgcwmsApi.md @@ -4,16 +4,14 @@ All URIs are relative to *https://geoengine.io/api* Method | HTTP request | Description ------------- | ------------- | ------------- -[**wms_capabilities_handler**](OgcwmsApi.md#wms_capabilities_handler) | **GET** /wms/{workflow}?request=GetCapabilities | Get WMS Capabilities -[**wms_legend_graphic_handler**](OgcwmsApi.md#wms_legend_graphic_handler) | **GET** /wms/{workflow}?request=GetLegendGraphic | Get WMS Legend Graphic -[**wms_map_handler**](OgcwmsApi.md#wms_map_handler) | **GET** /wms/{workflow}?request=GetMap | Get WMS Map +[**wms_handler**](OgcwmsApi.md#wms_handler) | **GET** /wms/{workflow} | OGC WMS endpoint -## wms_capabilities_handler +## wms_handler -> String wms_capabilities_handler(workflow, version, service, request, format) -Get WMS Capabilities +> 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 @@ -21,87 +19,26 @@ Get WMS Capabilities Name | Type | Description | Required | Notes ------------- | ------------- | ------------- | ------------- | ------------- **workflow** | **uuid::Uuid** | Workflow id | [required] | -**version** | Option<**String**> | | [required] | -**service** | [**WmsService**](.md) | | [required] | -**request** | [**GetCapabilitiesRequest**](.md) | | [required] | -**format** | Option<**String**> | | [required] | - -### 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) - - -## wms_legend_graphic_handler - -> wms_legend_graphic_handler(workflow, version, service, request, layer) -Get WMS Legend Graphic - -### Parameters - - -Name | Type | Description | Required | Notes -------------- | ------------- | ------------- | ------------- | ------------- -**workflow** | **uuid::Uuid** | Workflow id | [required] | -**version** | [**WmsVersion**](.md) | | [required] | -**service** | [**WmsService**](.md) | | [required] | -**request** | [**GetLegendGraphicRequest**](.md) | | [required] | -**layer** | **String** | | [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) - - -## wms_map_handler - -> std::path::PathBuf wms_map_handler(workflow, version, service, request, width, height, bbox, format, layers, styles, crs, time, transparent, bgcolor, sld, sld_body, elevation, exceptions) -Get WMS Map - -### Parameters - - -Name | Type | Description | Required | Notes -------------- | ------------- | ------------- | ------------- | ------------- -**workflow** | **uuid::Uuid** | Workflow id | [required] | -**version** | [**WmsVersion**](.md) | | [required] | -**service** | [**WmsService**](.md) | | [required] | -**request** | [**GetMapRequest**](.md) | | [required] | -**width** | **i32** | | [required] | -**height** | **i32** | | [required] | -**bbox** | **String** | | [required] | -**format** | [**GetMapFormat**](.md) | | [required] | -**layers** | **String** | | [required] | -**styles** | **String** | | [required] | -**crs** | Option<**String**> | | | -**time** | Option<**String**> | | | -**transparent** | Option<**bool**> | | | +**request** | [**WmsRequest**](.md) | type of WMS request | [required] | +**bbox** | Option<**String**> | | | **bgcolor** | Option<**String**> | | | -**sld** | Option<**String**> | | | -**sld_body** | 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**](.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 diff --git a/rust/docs/RasterDatasetFromWorkflow.md b/rust/docs/RasterDatasetFromWorkflow.md index 712b7b08..5178d6bf 100644 --- a/rust/docs/RasterDatasetFromWorkflow.md +++ b/rust/docs/RasterDatasetFromWorkflow.md @@ -8,7 +8,7 @@ Name | Type | Description | Notes **description** | Option<**String**> | | [optional] **display_name** | **String** | | **name** | Option<**String**> | | [optional] -**query** | [**models::RasterQueryRectangle**](RasterQueryRectangle.md) | | +**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/RasterResultDescriptor.md b/rust/docs/RasterResultDescriptor.md index c21b715c..43454ea9 100644 --- a/rust/docs/RasterResultDescriptor.md +++ b/rust/docs/RasterResultDescriptor.md @@ -5,11 +5,10 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- **bands** | [**Vec**](RasterBandDescriptor.md) | | -**bbox** | Option<[**models::SpatialPartition2D**](SpatialPartition2D.md)> | | [optional] **data_type** | [**models::RasterDataType**](RasterDataType.md) | | -**resolution** | Option<[**models::SpatialResolution**](SpatialResolution.md)> | | [optional] +**spatial_grid** | [**models::SpatialGridDescriptor**](SpatialGridDescriptor.md) | | **spatial_reference** | **String** | | -**time** | Option<[**models::TimeInterval**](TimeInterval.md)> | | [optional] +**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/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..15a37c0b --- /dev/null +++ b/rust/docs/RasterVectorJoin.md @@ -0,0 +1,12 @@ +# RasterVectorJoin + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**params** | [**models::RasterVectorJoinParameters**](RasterVectorJoinParameters.md) | | +**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/RasterVectorJoinParameters.md b/rust/docs/RasterVectorJoinParameters.md new file mode 100644 index 00000000..c7ed60f5 --- /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. | Value | Description | | ---------------------------------------- | ---------------------------------------------------------------------------- | | `{\"type\": \"default\"}` | Appends \" (n)\" to the band name with the smallest `n` that avoids a conflict | | `{\"type\": \"suffix\", \"values\": [string]}` | Specifies a suffix for each input, to be appended to the band names | | `{\"type\": \"rename\", \"values\": [string]}` | 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/SentinelS2L2ACogsProviderDefinition.md b/rust/docs/SentinelS2L2ACogsProviderDefinition.md index d94ec1ed..ba530e70 100644 --- a/rust/docs/SentinelS2L2ACogsProviderDefinition.md +++ b/rust/docs/SentinelS2L2ACogsProviderDefinition.md @@ -5,7 +5,6 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- **api_url** | **String** | | -**bands** | [**Vec**](StacBand.md) | | **cache_ttl** | Option<**i32**> | | [optional] **description** | **String** | | **gdal_retries** | Option<**i32**> | | [optional] @@ -15,7 +14,6 @@ Name | Type | Description | Notes **query_buffer** | Option<[**models::StacQueryBuffer**](StacQueryBuffer.md)> | | [optional] **stac_api_retries** | Option<[**models::StacApiRetries**](StacApiRetries.md)> | | [optional] **r#type** | **String** | | -**zones** | [**Vec**](StacZone.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..9c812458 --- /dev/null +++ b/rust/docs/SpatialBoundsDerive.md @@ -0,0 +1,13 @@ +# SpatialBoundsDerive + +## Enum Variants + +| Name | Description | +|---- | -----| +| SpatialBoundsDeriveOneOf | Spatial bounds derivation options for the [`MockPointSource`]. | +| SpatialBoundsDeriveOneOf1 | Spatial bounds derivation options for the [`MockPointSource`]. | +| SpatialBoundsDeriveOneOf2 | Spatial bounds derivation options for the [`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/SpatialBoundsDeriveOneOf.md b/rust/docs/SpatialBoundsDeriveOneOf.md new file mode 100644 index 00000000..11be7354 --- /dev/null +++ b/rust/docs/SpatialBoundsDeriveOneOf.md @@ -0,0 +1,11 @@ +# SpatialBoundsDeriveOneOf + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**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/SpatialBoundsDeriveOneOf1.md b/rust/docs/SpatialBoundsDeriveOneOf1.md new file mode 100644 index 00000000..fb265950 --- /dev/null +++ b/rust/docs/SpatialBoundsDeriveOneOf1.md @@ -0,0 +1,13 @@ +# SpatialBoundsDeriveOneOf1 + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**lower_left_coordinate** | [**models::Coordinate2D**](Coordinate2D.md) | | +**upper_right_coordinate** | [**models::Coordinate2D**](Coordinate2D.md) | | +**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/SpatialBoundsDeriveOneOf2.md b/rust/docs/SpatialBoundsDeriveOneOf2.md new file mode 100644 index 00000000..721f6b85 --- /dev/null +++ b/rust/docs/SpatialBoundsDeriveOneOf2.md @@ -0,0 +1,11 @@ +# SpatialBoundsDeriveOneOf2 + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**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/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/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/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..fc1e8d5b --- /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** | **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/TimeDimensionOneOf1.md b/rust/docs/TimeDimensionOneOf1.md new file mode 100644 index 00000000..a2523210 --- /dev/null +++ b/rust/docs/TimeDimensionOneOf1.md @@ -0,0 +1,11 @@ +# TimeDimensionOneOf1 + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**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/TypedRasterResultDescriptor.md b/rust/docs/TypedRasterResultDescriptor.md index c18044e4..4748bad8 100644 --- a/rust/docs/TypedRasterResultDescriptor.md +++ b/rust/docs/TypedRasterResultDescriptor.md @@ -5,11 +5,10 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- **bands** | [**Vec**](RasterBandDescriptor.md) | | -**bbox** | Option<[**models::SpatialPartition2D**](SpatialPartition2D.md)> | | [optional] **data_type** | [**models::RasterDataType**](RasterDataType.md) | | -**resolution** | Option<[**models::SpatialResolution**](SpatialResolution.md)> | | [optional] +**spatial_grid** | [**models::SpatialGridDescriptor**](SpatialGridDescriptor.md) | | **spatial_reference** | **String** | | -**time** | Option<[**models::TimeInterval**](TimeInterval.md)> | | [optional] +**time** | [**models::TimeDescriptor**](TimeDescriptor.md) | | **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/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/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/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/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/WorkflowsApi.md b/rust/docs/WorkflowsApi.md index e272bb1a..c8a6afc2 100644 --- a/rust/docs/WorkflowsApi.md +++ b/rust/docs/WorkflowsApi.md @@ -157,7 +157,7 @@ Name | Type | Description | Required | Notes ## raster_stream_websocket -> raster_stream_websocket(id, spatial_bounds, time_interval, spatial_resolution, attributes, result_type) +> 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 @@ -168,7 +168,6 @@ Name | Type | Description | Required | Notes **id** | **uuid::Uuid** | Workflow id | [required] | **spatial_bounds** | [**SpatialPartition2D**](.md) | | [required] | **time_interval** | **String** | | [required] | -**spatial_resolution** | [**SpatialResolution**](.md) | | [required] | **attributes** | **String** | | [required] | **result_type** | [**RasterStreamWebsocketResultType**](.md) | | [required] | diff --git a/rust/src/apis/configuration.rs b/rust/src/apis/configuration.rs index 09b45d41..0b9e6a7d 100644 --- a/rust/src/apis/configuration.rs +++ b/rust/src/apis/configuration.rs @@ -3,7 +3,7 @@ * * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) * - * The version of the OpenAPI document: 0.8.0 + * The version of the OpenAPI document: 0.9.0 * Contact: dev@geoengine.de * Generated by: https://openapi-generator.tech */ @@ -40,7 +40,7 @@ impl Default for Configuration { fn default() -> Self { Configuration { base_path: "https://geoengine.io/api".to_owned(), - user_agent: Some("OpenAPI-Generator/0.8.0/rust".to_owned()), + user_agent: Some("OpenAPI-Generator/0.9.0/rust".to_owned()), client: reqwest::Client::new(), basic_auth: None, oauth_access_token: None, diff --git a/rust/src/apis/datasets_api.rs b/rust/src/apis/datasets_api.rs index 7395fd02..1ef416cf 100644 --- a/rust/src/apis/datasets_api.rs +++ b/rust/src/apis/datasets_api.rs @@ -3,7 +3,7 @@ * * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) * - * The version of the OpenAPI document: 0.8.0 + * The version of the OpenAPI document: 0.9.0 * Contact: dev@geoengine.de * Generated by: https://openapi-generator.tech */ @@ -15,6 +15,13 @@ 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)] @@ -128,6 +135,36 @@ pub enum UpdateLoadingInfoHandlerError { } +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; diff --git a/rust/src/apis/general_api.rs b/rust/src/apis/general_api.rs index 238006f4..39e8913d 100644 --- a/rust/src/apis/general_api.rs +++ b/rust/src/apis/general_api.rs @@ -3,7 +3,7 @@ * * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) * - * The version of the OpenAPI document: 0.8.0 + * The version of the OpenAPI document: 0.9.0 * Contact: dev@geoengine.de * Generated by: https://openapi-generator.tech */ diff --git a/rust/src/apis/layers_api.rs b/rust/src/apis/layers_api.rs index 91261c85..d85f4d1a 100644 --- a/rust/src/apis/layers_api.rs +++ b/rust/src/apis/layers_api.rs @@ -3,7 +3,7 @@ * * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) * - * The version of the OpenAPI document: 0.8.0 + * The version of the OpenAPI document: 0.9.0 * Contact: dev@geoengine.de * Generated by: https://openapi-generator.tech */ diff --git a/rust/src/apis/ml_api.rs b/rust/src/apis/ml_api.rs index 0d8a0f39..9537395c 100644 --- a/rust/src/apis/ml_api.rs +++ b/rust/src/apis/ml_api.rs @@ -3,7 +3,7 @@ * * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) * - * The version of the OpenAPI document: 0.8.0 + * The version of the OpenAPI document: 0.9.0 * Contact: dev@geoengine.de * Generated by: https://openapi-generator.tech */ diff --git a/rust/src/apis/ogcwcs_api.rs b/rust/src/apis/ogcwcs_api.rs index 3d0b5db7..59a9f51d 100644 --- a/rust/src/apis/ogcwcs_api.rs +++ b/rust/src/apis/ogcwcs_api.rs @@ -3,7 +3,7 @@ * * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) * - * The version of the OpenAPI document: 0.8.0 + * The version of the OpenAPI document: 0.9.0 * Contact: dev@geoengine.de * Generated by: https://openapi-generator.tech */ @@ -15,166 +15,74 @@ use crate::{apis::ResponseContent, models}; use super::{Error, configuration, ContentType}; -/// struct for typed errors of method [`wcs_capabilities_handler`] +/// struct for typed errors of method [`wcs_handler`] #[derive(Debug, Clone, Serialize, Deserialize)] #[serde(untagged)] -pub enum WcsCapabilitiesHandlerError { +pub enum WcsHandlerError { UnknownValue(serde_json::Value), } -/// struct for typed errors of method [`wcs_describe_coverage_handler`] -#[derive(Debug, Clone, Serialize, Deserialize)] -#[serde(untagged)] -pub enum WcsDescribeCoverageHandlerError { - UnknownValue(serde_json::Value), -} - -/// struct for typed errors of method [`wcs_get_coverage_handler`] -#[derive(Debug, Clone, Serialize, Deserialize)] -#[serde(untagged)] -pub enum WcsGetCoverageHandlerError { - UnknownValue(serde_json::Value), -} - - -pub async fn wcs_capabilities_handler(configuration: &configuration::Configuration, workflow: &str, service: models::WcsService, request: models::GetCapabilitiesRequest, version: Option<&str>) -> Result> { - // add a prefix to parameters to efficiently prevent name collisions - let p_path_workflow = workflow; - let p_query_service = service; - let p_query_request = request; - let p_query_version = version; - - let uri_str = format!("{}/wcs/{workflow}?request=GetCapabilities", 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_version { - req_builder = req_builder.query(&[("version", &serde_json::to_string(param_value)?)]); - } - req_builder = req_builder.query(&[("service", &p_query_service.to_string())]); - req_builder = req_builder.query(&[("request", &p_query_request.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 })) - } -} - -pub async fn wcs_describe_coverage_handler(configuration: &configuration::Configuration, workflow: &str, version: models::WcsVersion, service: models::WcsService, request: models::DescribeCoverageRequest, identifiers: &str) -> Result> { - // add a prefix to parameters to efficiently prevent name collisions - let p_path_workflow = workflow; - let p_query_version = version; - let p_query_service = service; - let p_query_request = request; - let p_query_identifiers = identifiers; - - let uri_str = format!("{}/wcs/{workflow}?request=DescribeCoverage", configuration.base_path, workflow=crate::apis::urlencode(p_path_workflow)); - let mut req_builder = configuration.client.request(reqwest::Method::GET, &uri_str); - - req_builder = req_builder.query(&[("version", &p_query_version.to_string())]); - req_builder = req_builder.query(&[("service", &p_query_service.to_string())]); - req_builder = req_builder.query(&[("request", &p_query_request.to_string())]); - req_builder = req_builder.query(&[("identifiers", &p_query_identifiers.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 })) - } -} -pub async fn wcs_get_coverage_handler(configuration: &configuration::Configuration, workflow: &str, version: models::WcsVersion, service: models::WcsService, request: models::GetCoverageRequest, format: models::GetCoverageFormat, identifier: &str, boundingbox: &str, gridbasecrs: &str, gridorigin: Option<&str>, gridoffsets: Option<&str>, time: Option<&str>, resx: Option, resy: Option, nodatavalue: Option) -> Result> { +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_version = version; - let p_query_service = service; let p_query_request = request; - let p_query_format = format; - let p_query_identifier = identifier; let p_query_boundingbox = boundingbox; + let p_query_format = format; let p_query_gridbasecrs = gridbasecrs; - let p_query_gridorigin = gridorigin; let p_query_gridoffsets = gridoffsets; - let p_query_time = time; + 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_nodatavalue = nodatavalue; + let p_query_service = service; + let p_query_time = time; + let p_query_version = version; - let uri_str = format!("{}/wcs/{workflow}?request=GetCoverage", configuration.base_path, workflow=crate::apis::urlencode(p_path_workflow)); + 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); - req_builder = req_builder.query(&[("version", &p_query_version.to_string())]); - req_builder = req_builder.query(&[("service", &p_query_service.to_string())]); - req_builder = req_builder.query(&[("request", &p_query_request.to_string())]); - req_builder = req_builder.query(&[("format", &p_query_format.to_string())]); - req_builder = req_builder.query(&[("identifier", &p_query_identifier.to_string())]); - req_builder = req_builder.query(&[("boundingbox", &p_query_boundingbox.to_string())]); - req_builder = req_builder.query(&[("gridbasecrs", &p_query_gridbasecrs.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_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", &serde_json::to_string(param_value)?)]); + } + 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_time { - req_builder = req_builder.query(&[("time", ¶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_nodatavalue { - req_builder = req_builder.query(&[("nodatavalue", ¶m_value.to_string())]); + if let Some(ref param_value) = p_query_service { + req_builder = req_builder.query(&[("service", &serde_json::to_string(param_value)?)]); + } + 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", &serde_json::to_string(param_value)?)]); } if let Some(ref user_agent) = configuration.user_agent { req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone()); @@ -187,12 +95,23 @@ pub async fn wcs_get_coverage_handler(configuration: &configuration::Configurati 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() { - Ok(resp) + 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(); + 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 index 3baa3d7f..82554451 100644 --- a/rust/src/apis/ogcwfs_api.rs +++ b/rust/src/apis/ogcwfs_api.rs @@ -3,7 +3,7 @@ * * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) * - * The version of the OpenAPI document: 0.8.0 + * The version of the OpenAPI document: 0.9.0 * Contact: dev@geoengine.de * Generated by: https://openapi-generator.tech */ @@ -15,124 +15,70 @@ use crate::{apis::ResponseContent, models}; use super::{Error, configuration, ContentType}; -/// struct for typed errors of method [`wfs_capabilities_handler`] +/// struct for typed errors of method [`wfs_handler`] #[derive(Debug, Clone, Serialize, Deserialize)] #[serde(untagged)] -pub enum WfsCapabilitiesHandlerError { - UnknownValue(serde_json::Value), -} - -/// struct for typed errors of method [`wfs_feature_handler`] -#[derive(Debug, Clone, Serialize, Deserialize)] -#[serde(untagged)] -pub enum WfsFeatureHandlerError { +pub enum WfsHandlerError { UnknownValue(serde_json::Value), } -pub async fn wfs_capabilities_handler(configuration: &configuration::Configuration, workflow: &str, version: Option<&str>, service: models::WfsService, request: models::GetCapabilitiesRequest) -> Result> { +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_path_version = version; - let p_path_service = service; - let p_path_request = request; - - let uri_str = format!( - "{}/wfs/{workflow}?request={request}&service={service}&version={version}", - 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() - ); - 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 `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 })) - } -} - -pub async fn wfs_feature_handler(configuration: &configuration::Configuration, workflow: &str, service: models::WfsService, request: models::GetFeatureRequest, type_names: &str, bbox: &str, version: Option<&str>, time: Option<&str>, srs_name: Option<&str>, namespaces: Option<&str>, count: Option, sort_by: Option<&str>, result_type: Option<&str>, filter: Option<&str>, property_name: Option<&str>, query_resolution: Option<&str>) -> Result> { - // add a prefix to parameters to efficiently prevent name collisions - let p_path_workflow = workflow; - let p_query_service = service; let p_query_request = request; - let p_query_type_names = type_names; let p_query_bbox = bbox; - let p_query_version = version; - let p_query_time = time; - let p_query_srs_name = srs_name; - let p_query_namespaces = namespaces; let p_query_count = count; - let p_query_sort_by = sort_by; - let p_query_result_type = result_type; let p_query_filter = filter; + let p_query_namespaces = namespaces; let p_query_property_name = property_name; - let p_query_query_resolution = query_resolution; + 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_version { - req_builder = req_builder.query(&[("version", &serde_json::to_string(param_value)?)]); + if let Some(ref param_value) = p_query_bbox { + req_builder = req_builder.query(&[("bbox", ¶m_value.to_string())]); } - req_builder = req_builder.query(&[("service", &p_query_service.to_string())]); - req_builder = req_builder.query(&[("request", &p_query_request.to_string())]); - req_builder = req_builder.query(&[("typeNames", &p_query_type_names.to_string())]); - req_builder = req_builder.query(&[("bbox", &p_query_bbox.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_count { + req_builder = req_builder.query(&[("count", ¶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_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_count { - req_builder = req_builder.query(&[("count", ¶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", &serde_json::to_string(param_value)?)]); } 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_result_type { - req_builder = req_builder.query(&[("resultType", ¶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_filter { - req_builder = req_builder.query(&[("filter", ¶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_property_name { - req_builder = req_builder.query(&[("propertyName", ¶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_query_resolution { - req_builder = req_builder.query(&[("queryResolution", &serde_json::to_string(param_value)?)]); + if let Some(ref param_value) = p_query_version { + req_builder = req_builder.query(&[("version", &serde_json::to_string(param_value)?)]); } if let Some(ref user_agent) = configuration.user_agent { req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone()); @@ -161,7 +107,7 @@ pub async fn wfs_feature_handler(configuration: &configuration::Configuration, w } } else { let content = resp.text().await?; - let entity: Option = serde_json::from_str(&content).ok(); + 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 index ea0e581f..c939511c 100644 --- a/rust/src/apis/ogcwms_api.rs +++ b/rust/src/apis/ogcwms_api.rs @@ -3,7 +3,7 @@ * * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) * - * The version of the OpenAPI document: 0.8.0 + * The version of the OpenAPI document: 0.9.0 * Contact: dev@geoengine.de * Generated by: https://openapi-generator.tech */ @@ -15,164 +15,77 @@ use crate::{apis::ResponseContent, models}; use super::{Error, configuration, ContentType}; -/// struct for typed errors of method [`wms_capabilities_handler`] +/// struct for typed errors of method [`wms_handler`] #[derive(Debug, Clone, Serialize, Deserialize)] #[serde(untagged)] -pub enum WmsCapabilitiesHandlerError { +pub enum WmsHandlerError { UnknownValue(serde_json::Value), } -/// struct for typed errors of method [`wms_legend_graphic_handler`] -#[derive(Debug, Clone, Serialize, Deserialize)] -#[serde(untagged)] -pub enum WmsLegendGraphicHandlerError { - Status501(), - UnknownValue(serde_json::Value), -} - -/// struct for typed errors of method [`wms_map_handler`] -#[derive(Debug, Clone, Serialize, Deserialize)] -#[serde(untagged)] -pub enum WmsMapHandlerError { - UnknownValue(serde_json::Value), -} - - -pub async fn wms_capabilities_handler(configuration: &configuration::Configuration, workflow: &str, version: Option<&str>, service: models::WmsService, request: models::GetCapabilitiesRequest, format: Option<&str>) -> Result> { - // add a prefix to parameters to efficiently prevent name collisions - let p_path_workflow = workflow; - let p_path_version = version; - let p_path_service = service; - let p_path_request = request; - let p_path_format = format; - - 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() - ); - 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 `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 })) - } -} - -pub async fn wms_legend_graphic_handler(configuration: &configuration::Configuration, workflow: &str, version: models::WmsVersion, service: models::WmsService, request: models::GetLegendGraphicRequest, layer: &str) -> Result<(), Error> { - // add a prefix to parameters to efficiently prevent name collisions - let p_path_workflow = workflow; - let p_path_version = version; - let p_path_service = service; - let p_path_request = request; - let p_path_layer = layer; - - 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) - ); - 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(()) - } 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 wms_map_handler(configuration: &configuration::Configuration, workflow: &str, version: models::WmsVersion, service: models::WmsService, request: models::GetMapRequest, width: i32, height: i32, bbox: &str, format: models::GetMapFormat, layers: &str, styles: &str, crs: Option<&str>, time: Option<&str>, transparent: Option, bgcolor: Option<&str>, sld: Option<&str>, sld_body: Option<&str>, elevation: Option<&str>, exceptions: Option<&str>) -> Result> { +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_version = version; - let p_query_service = service; let p_query_request = request; - let p_query_width = width; - let p_query_height = height; 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_crs = crs; let p_query_time = time; let p_query_transparent = transparent; - let p_query_bgcolor = bgcolor; - let p_query_sld = sld; - let p_query_sld_body = sld_body; - let p_query_elevation = elevation; - let p_query_exceptions = exceptions; + let p_query_version = version; + let p_query_width = width; - let uri_str = format!("{}/wms/{workflow}?request=GetMap", configuration.base_path, workflow=crate::apis::urlencode(p_path_workflow)); + 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); - req_builder = req_builder.query(&[("version", &p_query_version.to_string())]); - req_builder = req_builder.query(&[("service", &p_query_service.to_string())]); - req_builder = req_builder.query(&[("request", &p_query_request.to_string())]); - req_builder = req_builder.query(&[("width", &p_query_width.to_string())]); - req_builder = req_builder.query(&[("height", &p_query_height.to_string())]); - req_builder = req_builder.query(&[("bbox", &p_query_bbox.to_string())]); - req_builder = req_builder.query(&[("format", &p_query_format.to_string())]); - req_builder = req_builder.query(&[("layers", &p_query_layers.to_string())]); + 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())]); } - req_builder = req_builder.query(&[("styles", &p_query_styles.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_elevation { + req_builder = req_builder.query(&[("elevation", ¶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_exceptions { + req_builder = req_builder.query(&[("exceptions", &serde_json::to_string(param_value)?)]); } - 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_format { + req_builder = req_builder.query(&[("format", &serde_json::to_string(param_value)?)]); + } + 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", &serde_json::to_string(param_value)?)]); } if let Some(ref param_value) = p_query_sld { req_builder = req_builder.query(&[("sld", ¶m_value.to_string())]); @@ -180,11 +93,20 @@ pub async fn wms_map_handler(configuration: &configuration::Configuration, workf 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_elevation { - req_builder = req_builder.query(&[("elevation", ¶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_exceptions { - req_builder = req_builder.query(&[("exceptions", &serde_json::to_string(param_value)?)]); + 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", &serde_json::to_string(param_value)?)]); + } + 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()); @@ -202,7 +124,7 @@ pub async fn wms_map_handler(configuration: &configuration::Configuration, workf Ok(resp) } else { let content = resp.text().await?; - let entity: Option = serde_json::from_str(&content).ok(); + 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 index 307b17b3..e932271e 100644 --- a/rust/src/apis/permissions_api.rs +++ b/rust/src/apis/permissions_api.rs @@ -3,7 +3,7 @@ * * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) * - * The version of the OpenAPI document: 0.8.0 + * The version of the OpenAPI document: 0.9.0 * Contact: dev@geoengine.de * Generated by: https://openapi-generator.tech */ diff --git a/rust/src/apis/plots_api.rs b/rust/src/apis/plots_api.rs index 34cd682e..8552ca3b 100644 --- a/rust/src/apis/plots_api.rs +++ b/rust/src/apis/plots_api.rs @@ -3,7 +3,7 @@ * * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) * - * The version of the OpenAPI document: 0.8.0 + * The version of the OpenAPI document: 0.9.0 * Contact: dev@geoengine.de * Generated by: https://openapi-generator.tech */ diff --git a/rust/src/apis/projects_api.rs b/rust/src/apis/projects_api.rs index 394652eb..f1538691 100644 --- a/rust/src/apis/projects_api.rs +++ b/rust/src/apis/projects_api.rs @@ -3,7 +3,7 @@ * * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) * - * The version of the OpenAPI document: 0.8.0 + * The version of the OpenAPI document: 0.9.0 * Contact: dev@geoengine.de * Generated by: https://openapi-generator.tech */ diff --git a/rust/src/apis/session_api.rs b/rust/src/apis/session_api.rs index 430d06a8..bb25b9c5 100644 --- a/rust/src/apis/session_api.rs +++ b/rust/src/apis/session_api.rs @@ -3,7 +3,7 @@ * * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) * - * The version of the OpenAPI document: 0.8.0 + * The version of the OpenAPI document: 0.9.0 * Contact: dev@geoengine.de * Generated by: https://openapi-generator.tech */ diff --git a/rust/src/apis/spatial_references_api.rs b/rust/src/apis/spatial_references_api.rs index 87707990..98ab7285 100644 --- a/rust/src/apis/spatial_references_api.rs +++ b/rust/src/apis/spatial_references_api.rs @@ -3,7 +3,7 @@ * * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) * - * The version of the OpenAPI document: 0.8.0 + * The version of the OpenAPI document: 0.9.0 * Contact: dev@geoengine.de * Generated by: https://openapi-generator.tech */ diff --git a/rust/src/apis/tasks_api.rs b/rust/src/apis/tasks_api.rs index ac095afa..54bd59a2 100644 --- a/rust/src/apis/tasks_api.rs +++ b/rust/src/apis/tasks_api.rs @@ -3,7 +3,7 @@ * * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) * - * The version of the OpenAPI document: 0.8.0 + * The version of the OpenAPI document: 0.9.0 * Contact: dev@geoengine.de * Generated by: https://openapi-generator.tech */ diff --git a/rust/src/apis/uploads_api.rs b/rust/src/apis/uploads_api.rs index 8c532f6b..7ddbf3f2 100644 --- a/rust/src/apis/uploads_api.rs +++ b/rust/src/apis/uploads_api.rs @@ -3,7 +3,7 @@ * * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) * - * The version of the OpenAPI document: 0.8.0 + * The version of the OpenAPI document: 0.9.0 * Contact: dev@geoengine.de * Generated by: https://openapi-generator.tech */ diff --git a/rust/src/apis/user_api.rs b/rust/src/apis/user_api.rs index 6007959e..e7a379ef 100644 --- a/rust/src/apis/user_api.rs +++ b/rust/src/apis/user_api.rs @@ -3,7 +3,7 @@ * * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) * - * The version of the OpenAPI document: 0.8.0 + * The version of the OpenAPI document: 0.9.0 * Contact: dev@geoengine.de * Generated by: https://openapi-generator.tech */ diff --git a/rust/src/apis/workflows_api.rs b/rust/src/apis/workflows_api.rs index 873865cb..e6c26758 100644 --- a/rust/src/apis/workflows_api.rs +++ b/rust/src/apis/workflows_api.rs @@ -3,7 +3,7 @@ * * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) * - * The version of the OpenAPI document: 0.8.0 + * The version of the OpenAPI document: 0.9.0 * Contact: dev@geoengine.de * Generated by: https://openapi-generator.tech */ @@ -251,12 +251,11 @@ pub async fn load_workflow_handler(configuration: &configuration::Configuration, } } -pub async fn raster_stream_websocket(configuration: &configuration::Configuration, id: &str, spatial_bounds: models::SpatialPartition2D, time_interval: &str, spatial_resolution: models::SpatialResolution, attributes: &str, result_type: models::RasterStreamWebsocketResultType) -> Result<(), Error> { +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_spatial_resolution = spatial_resolution; let p_query_attributes = attributes; let p_query_result_type = result_type; @@ -265,7 +264,6 @@ pub async fn raster_stream_websocket(configuration: &configuration::Configuratio 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(&[("spatialResolution", &p_query_spatial_resolution.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 { diff --git a/rust/src/models/add_dataset.rs b/rust/src/models/add_dataset.rs index 2daf0887..8849a80a 100644 --- a/rust/src/models/add_dataset.rs +++ b/rust/src/models/add_dataset.rs @@ -3,7 +3,7 @@ * * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) * - * The version of the OpenAPI document: 0.8.0 + * The version of the OpenAPI document: 0.9.0 * Contact: dev@geoengine.de * Generated by: https://openapi-generator.tech */ diff --git a/rust/src/models/add_dataset_tile.rs b/rust/src/models/add_dataset_tile.rs new file mode 100644 index 00000000..6ea406d1 --- /dev/null +++ b/rust/src/models/add_dataset_tile.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 AddDatasetTile { + #[serde(rename = "band")] + pub band: i32, + #[serde(rename = "params")] + pub params: Box, + #[serde(rename = "spatial_partition")] + pub spatial_partition: Box, + #[serde(rename = "time")] + pub time: Box, + #[serde(rename = "z_index")] + pub z_index: i32, +} + +impl AddDatasetTile { + pub fn new(band: i32, params: models::GdalDatasetParameters, spatial_partition: models::SpatialPartition2D, time: models::TimeInterval, z_index: i32) -> AddDatasetTile { + AddDatasetTile { + band, + params: Box::new(params), + spatial_partition: Box::new(spatial_partition), + time: Box::new(time), + z_index, + } + } +} + diff --git a/rust/src/models/add_layer.rs b/rust/src/models/add_layer.rs index 73568625..7ffa1c7e 100644 --- a/rust/src/models/add_layer.rs +++ b/rust/src/models/add_layer.rs @@ -3,7 +3,7 @@ * * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) * - * The version of the OpenAPI document: 0.8.0 + * The version of the OpenAPI document: 0.9.0 * Contact: dev@geoengine.de * Generated by: https://openapi-generator.tech */ diff --git a/rust/src/models/add_layer_collection.rs b/rust/src/models/add_layer_collection.rs index c17cc98e..8b8bf6e1 100644 --- a/rust/src/models/add_layer_collection.rs +++ b/rust/src/models/add_layer_collection.rs @@ -3,7 +3,7 @@ * * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) * - * The version of the OpenAPI document: 0.8.0 + * The version of the OpenAPI document: 0.9.0 * Contact: dev@geoengine.de * Generated by: https://openapi-generator.tech */ diff --git a/rust/src/models/add_role.rs b/rust/src/models/add_role.rs index e5e35373..e54ff449 100644 --- a/rust/src/models/add_role.rs +++ b/rust/src/models/add_role.rs @@ -3,7 +3,7 @@ * * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) * - * The version of the OpenAPI document: 0.8.0 + * The version of the OpenAPI document: 0.9.0 * Contact: dev@geoengine.de * Generated by: https://openapi-generator.tech */ diff --git a/rust/src/models/aruna_data_provider_definition.rs b/rust/src/models/aruna_data_provider_definition.rs index a64dbc68..a4c70dc9 100644 --- a/rust/src/models/aruna_data_provider_definition.rs +++ b/rust/src/models/aruna_data_provider_definition.rs @@ -3,7 +3,7 @@ * * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) * - * The version of the OpenAPI document: 0.8.0 + * The version of the OpenAPI document: 0.9.0 * Contact: dev@geoengine.de * Generated by: https://openapi-generator.tech */ diff --git a/rust/src/models/auth_code_request_url.rs b/rust/src/models/auth_code_request_url.rs index 66edbae4..cc8d7762 100644 --- a/rust/src/models/auth_code_request_url.rs +++ b/rust/src/models/auth_code_request_url.rs @@ -3,7 +3,7 @@ * * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) * - * The version of the OpenAPI document: 0.8.0 + * The version of the OpenAPI document: 0.9.0 * Contact: dev@geoengine.de * Generated by: https://openapi-generator.tech */ diff --git a/rust/src/models/auth_code_response.rs b/rust/src/models/auth_code_response.rs index 8d2e9cf4..4143b989 100644 --- a/rust/src/models/auth_code_response.rs +++ b/rust/src/models/auth_code_response.rs @@ -3,7 +3,7 @@ * * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) * - * The version of the OpenAPI document: 0.8.0 + * The version of the OpenAPI document: 0.9.0 * Contact: dev@geoengine.de * Generated by: https://openapi-generator.tech */ diff --git a/rust/src/models/auto_create_dataset.rs b/rust/src/models/auto_create_dataset.rs index 1d31dcca..8ba3f88c 100644 --- a/rust/src/models/auto_create_dataset.rs +++ b/rust/src/models/auto_create_dataset.rs @@ -3,7 +3,7 @@ * * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) * - * The version of the OpenAPI document: 0.8.0 + * The version of the OpenAPI document: 0.9.0 * Contact: dev@geoengine.de * Generated by: https://openapi-generator.tech */ diff --git a/rust/src/models/axis_order.rs b/rust/src/models/axis_order.rs index 3adea312..49b103d3 100644 --- a/rust/src/models/axis_order.rs +++ b/rust/src/models/axis_order.rs @@ -3,7 +3,7 @@ * * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) * - * The version of the OpenAPI document: 0.8.0 + * The version of the OpenAPI document: 0.9.0 * Contact: dev@geoengine.de * Generated by: https://openapi-generator.tech */ diff --git a/rust/src/models/bounding_box2_d.rs b/rust/src/models/bounding_box2_d.rs index a86f7225..b1e338ab 100644 --- a/rust/src/models/bounding_box2_d.rs +++ b/rust/src/models/bounding_box2_d.rs @@ -3,7 +3,7 @@ * * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) * - * The version of the OpenAPI document: 0.8.0 + * The version of the OpenAPI document: 0.9.0 * Contact: dev@geoengine.de * Generated by: https://openapi-generator.tech */ diff --git a/rust/src/models/breakpoint.rs b/rust/src/models/breakpoint.rs index 4bd732df..3281e6d3 100644 --- a/rust/src/models/breakpoint.rs +++ b/rust/src/models/breakpoint.rs @@ -3,7 +3,7 @@ * * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) * - * The version of the OpenAPI document: 0.8.0 + * The version of the OpenAPI document: 0.9.0 * Contact: dev@geoengine.de * Generated by: https://openapi-generator.tech */ diff --git a/rust/src/models/classification_measurement.rs b/rust/src/models/classification_measurement.rs index 6505c499..f328ccbd 100644 --- a/rust/src/models/classification_measurement.rs +++ b/rust/src/models/classification_measurement.rs @@ -3,7 +3,7 @@ * * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) * - * The version of the OpenAPI document: 0.8.0 + * The version of the OpenAPI document: 0.9.0 * Contact: dev@geoengine.de * Generated by: https://openapi-generator.tech */ diff --git a/rust/src/models/collection_item.rs b/rust/src/models/collection_item.rs index 8eda1206..08ae737b 100644 --- a/rust/src/models/collection_item.rs +++ b/rust/src/models/collection_item.rs @@ -3,7 +3,7 @@ * * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) * - * The version of the OpenAPI document: 0.8.0 + * The version of the OpenAPI document: 0.9.0 * Contact: dev@geoengine.de * Generated by: https://openapi-generator.tech */ diff --git a/rust/src/models/collection_type.rs b/rust/src/models/collection_type.rs index 929f4043..505f0ed9 100644 --- a/rust/src/models/collection_type.rs +++ b/rust/src/models/collection_type.rs @@ -3,7 +3,7 @@ * * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) * - * The version of the OpenAPI document: 0.8.0 + * The version of the OpenAPI document: 0.9.0 * Contact: dev@geoengine.de * Generated by: https://openapi-generator.tech */ diff --git a/rust/src/models/color_param.rs b/rust/src/models/color_param.rs index 9b5ec649..19fc8338 100644 --- a/rust/src/models/color_param.rs +++ b/rust/src/models/color_param.rs @@ -3,7 +3,7 @@ * * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) * - * The version of the OpenAPI document: 0.8.0 + * The version of the OpenAPI document: 0.9.0 * Contact: dev@geoengine.de * Generated by: https://openapi-generator.tech */ diff --git a/rust/src/models/colorizer.rs b/rust/src/models/colorizer.rs index 8b0ef208..c7b6602e 100644 --- a/rust/src/models/colorizer.rs +++ b/rust/src/models/colorizer.rs @@ -3,7 +3,7 @@ * * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) * - * The version of the OpenAPI document: 0.8.0 + * The version of the OpenAPI document: 0.9.0 * Contact: dev@geoengine.de * Generated by: https://openapi-generator.tech */ diff --git a/rust/src/models/column_names.rs b/rust/src/models/column_names.rs new file mode 100644 index 00000000..ac088233 --- /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 { + ColumnNamesOneOf(Box), + ColumnNamesOneOf1(Box), + ColumnNamesOneOf2(Box), +} + +impl Default for ColumnNames { + fn default() -> Self { + Self::ColumnNamesOneOf(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/column_names_one_of.rs b/rust/src/models/column_names_one_of.rs new file mode 100644 index 00000000..d8d9bce0 --- /dev/null +++ b/rust/src/models/column_names_one_of.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 ColumnNamesOneOf { + #[serde(rename = "type")] + pub r#type: Type, +} + +impl ColumnNamesOneOf { + pub fn new(r#type: Type) -> ColumnNamesOneOf { + ColumnNamesOneOf { + r#type, + } + } +} +/// +#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)] +pub enum Type { + #[serde(rename = "default")] + Default, +} + +impl Default for Type { + fn default() -> Type { + Self::Default + } +} + diff --git a/rust/src/models/column_names_one_of_1.rs b/rust/src/models/column_names_one_of_1.rs new file mode 100644 index 00000000..fe76666e --- /dev/null +++ b/rust/src/models/column_names_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 ColumnNamesOneOf1 { + #[serde(rename = "type")] + pub r#type: Type, + #[serde(rename = "values")] + pub values: Vec, +} + +impl ColumnNamesOneOf1 { + pub fn new(r#type: Type, values: Vec) -> ColumnNamesOneOf1 { + ColumnNamesOneOf1 { + 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/column_names_one_of_2.rs b/rust/src/models/column_names_one_of_2.rs new file mode 100644 index 00000000..15a73bb6 --- /dev/null +++ b/rust/src/models/column_names_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 ColumnNamesOneOf2 { + #[serde(rename = "type")] + pub r#type: Type, + #[serde(rename = "values")] + pub values: Vec, +} + +impl ColumnNamesOneOf2 { + pub fn new(r#type: Type, values: Vec) -> ColumnNamesOneOf2 { + ColumnNamesOneOf2 { + 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/computation_quota.rs b/rust/src/models/computation_quota.rs index 376763c6..f1b4d1f4 100644 --- a/rust/src/models/computation_quota.rs +++ b/rust/src/models/computation_quota.rs @@ -3,7 +3,7 @@ * * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) * - * The version of the OpenAPI document: 0.8.0 + * The version of the OpenAPI document: 0.9.0 * Contact: dev@geoengine.de * Generated by: https://openapi-generator.tech */ diff --git a/rust/src/models/continuous_measurement.rs b/rust/src/models/continuous_measurement.rs index 31f6f8cb..878ca6b7 100644 --- a/rust/src/models/continuous_measurement.rs +++ b/rust/src/models/continuous_measurement.rs @@ -3,7 +3,7 @@ * * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) * - * The version of the OpenAPI document: 0.8.0 + * The version of the OpenAPI document: 0.9.0 * Contact: dev@geoengine.de * Generated by: https://openapi-generator.tech */ diff --git a/rust/src/models/coordinate2_d.rs b/rust/src/models/coordinate2_d.rs index 84fd83cc..5dc1155e 100644 --- a/rust/src/models/coordinate2_d.rs +++ b/rust/src/models/coordinate2_d.rs @@ -3,7 +3,7 @@ * * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) * - * The version of the OpenAPI document: 0.8.0 + * The version of the OpenAPI document: 0.9.0 * Contact: dev@geoengine.de * Generated by: https://openapi-generator.tech */ diff --git a/rust/src/models/copernicus_dataspace_data_provider_definition.rs b/rust/src/models/copernicus_dataspace_data_provider_definition.rs index 1a5687ab..400d8941 100644 --- a/rust/src/models/copernicus_dataspace_data_provider_definition.rs +++ b/rust/src/models/copernicus_dataspace_data_provider_definition.rs @@ -3,7 +3,7 @@ * * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) * - * The version of the OpenAPI document: 0.8.0 + * The version of the OpenAPI document: 0.9.0 * Contact: dev@geoengine.de * Generated by: https://openapi-generator.tech */ diff --git a/rust/src/models/create_dataset.rs b/rust/src/models/create_dataset.rs index 4e77b8f8..03ede841 100644 --- a/rust/src/models/create_dataset.rs +++ b/rust/src/models/create_dataset.rs @@ -3,7 +3,7 @@ * * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) * - * The version of the OpenAPI document: 0.8.0 + * The version of the OpenAPI document: 0.9.0 * Contact: dev@geoengine.de * Generated by: https://openapi-generator.tech */ diff --git a/rust/src/models/create_project.rs b/rust/src/models/create_project.rs index b7319fd3..80d4910b 100644 --- a/rust/src/models/create_project.rs +++ b/rust/src/models/create_project.rs @@ -3,7 +3,7 @@ * * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) * - * The version of the OpenAPI document: 0.8.0 + * The version of the OpenAPI document: 0.9.0 * Contact: dev@geoengine.de * Generated by: https://openapi-generator.tech */ diff --git a/rust/src/models/csv_header.rs b/rust/src/models/csv_header.rs index 7f1e7d9e..7a40da35 100644 --- a/rust/src/models/csv_header.rs +++ b/rust/src/models/csv_header.rs @@ -3,7 +3,7 @@ * * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) * - * The version of the OpenAPI document: 0.8.0 + * The version of the OpenAPI document: 0.9.0 * Contact: dev@geoengine.de * Generated by: https://openapi-generator.tech */ diff --git a/rust/src/models/data_id.rs b/rust/src/models/data_id.rs index 6bada31b..28b81598 100644 --- a/rust/src/models/data_id.rs +++ b/rust/src/models/data_id.rs @@ -3,7 +3,7 @@ * * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) * - * The version of the OpenAPI document: 0.8.0 + * The version of the OpenAPI document: 0.9.0 * Contact: dev@geoengine.de * Generated by: https://openapi-generator.tech */ diff --git a/rust/src/models/data_path.rs b/rust/src/models/data_path.rs index 00403934..8418f1b5 100644 --- a/rust/src/models/data_path.rs +++ b/rust/src/models/data_path.rs @@ -3,7 +3,7 @@ * * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) * - * The version of the OpenAPI document: 0.8.0 + * The version of the OpenAPI document: 0.9.0 * Contact: dev@geoengine.de * Generated by: https://openapi-generator.tech */ diff --git a/rust/src/models/data_path_one_of.rs b/rust/src/models/data_path_one_of.rs index 19c34dc2..dec8f706 100644 --- a/rust/src/models/data_path_one_of.rs +++ b/rust/src/models/data_path_one_of.rs @@ -3,7 +3,7 @@ * * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) * - * The version of the OpenAPI document: 0.8.0 + * The version of the OpenAPI document: 0.9.0 * Contact: dev@geoengine.de * Generated by: https://openapi-generator.tech */ diff --git a/rust/src/models/data_path_one_of_1.rs b/rust/src/models/data_path_one_of_1.rs index 9c214dad..18f6491e 100644 --- a/rust/src/models/data_path_one_of_1.rs +++ b/rust/src/models/data_path_one_of_1.rs @@ -3,7 +3,7 @@ * * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) * - * The version of the OpenAPI document: 0.8.0 + * The version of the OpenAPI document: 0.9.0 * Contact: dev@geoengine.de * Generated by: https://openapi-generator.tech */ diff --git a/rust/src/models/data_provider_resource.rs b/rust/src/models/data_provider_resource.rs index 3b46f293..89e2047b 100644 --- a/rust/src/models/data_provider_resource.rs +++ b/rust/src/models/data_provider_resource.rs @@ -3,7 +3,7 @@ * * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) * - * The version of the OpenAPI document: 0.8.0 + * The version of the OpenAPI document: 0.9.0 * Contact: dev@geoengine.de * Generated by: https://openapi-generator.tech */ diff --git a/rust/src/models/data_usage.rs b/rust/src/models/data_usage.rs index 49cd971b..d6e32807 100644 --- a/rust/src/models/data_usage.rs +++ b/rust/src/models/data_usage.rs @@ -3,7 +3,7 @@ * * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) * - * The version of the OpenAPI document: 0.8.0 + * The version of the OpenAPI document: 0.9.0 * Contact: dev@geoengine.de * Generated by: https://openapi-generator.tech */ diff --git a/rust/src/models/data_usage_summary.rs b/rust/src/models/data_usage_summary.rs index 3bf95a7a..28ef71a7 100644 --- a/rust/src/models/data_usage_summary.rs +++ b/rust/src/models/data_usage_summary.rs @@ -3,7 +3,7 @@ * * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) * - * The version of the OpenAPI document: 0.8.0 + * The version of the OpenAPI document: 0.9.0 * Contact: dev@geoengine.de * Generated by: https://openapi-generator.tech */ diff --git a/rust/src/models/database_connection_config.rs b/rust/src/models/database_connection_config.rs index da35a74e..8e8d6818 100644 --- a/rust/src/models/database_connection_config.rs +++ b/rust/src/models/database_connection_config.rs @@ -3,7 +3,7 @@ * * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) * - * The version of the OpenAPI document: 0.8.0 + * The version of the OpenAPI document: 0.9.0 * Contact: dev@geoengine.de * Generated by: https://openapi-generator.tech */ diff --git a/rust/src/models/dataset.rs b/rust/src/models/dataset.rs index 650532e2..d2cb2f20 100644 --- a/rust/src/models/dataset.rs +++ b/rust/src/models/dataset.rs @@ -3,7 +3,7 @@ * * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) * - * The version of the OpenAPI document: 0.8.0 + * The version of the OpenAPI document: 0.9.0 * Contact: dev@geoengine.de * Generated by: https://openapi-generator.tech */ @@ -13,6 +13,8 @@ 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")] @@ -36,6 +38,7 @@ pub struct Dataset { 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, diff --git a/rust/src/models/dataset_definition.rs b/rust/src/models/dataset_definition.rs index 3bb3f6c0..4a164cf8 100644 --- a/rust/src/models/dataset_definition.rs +++ b/rust/src/models/dataset_definition.rs @@ -3,7 +3,7 @@ * * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) * - * The version of the OpenAPI document: 0.8.0 + * The version of the OpenAPI document: 0.9.0 * Contact: dev@geoengine.de * Generated by: https://openapi-generator.tech */ diff --git a/rust/src/models/dataset_layer_listing_collection.rs b/rust/src/models/dataset_layer_listing_collection.rs index 215aea1e..468bee9e 100644 --- a/rust/src/models/dataset_layer_listing_collection.rs +++ b/rust/src/models/dataset_layer_listing_collection.rs @@ -3,7 +3,7 @@ * * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) * - * The version of the OpenAPI document: 0.8.0 + * The version of the OpenAPI document: 0.9.0 * Contact: dev@geoengine.de * Generated by: https://openapi-generator.tech */ diff --git a/rust/src/models/dataset_layer_listing_provider_definition.rs b/rust/src/models/dataset_layer_listing_provider_definition.rs index 918abcc4..f71c75ff 100644 --- a/rust/src/models/dataset_layer_listing_provider_definition.rs +++ b/rust/src/models/dataset_layer_listing_provider_definition.rs @@ -3,7 +3,7 @@ * * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) * - * The version of the OpenAPI document: 0.8.0 + * The version of the OpenAPI document: 0.9.0 * Contact: dev@geoengine.de * Generated by: https://openapi-generator.tech */ diff --git a/rust/src/models/dataset_listing.rs b/rust/src/models/dataset_listing.rs index 24448f67..5d6c702a 100644 --- a/rust/src/models/dataset_listing.rs +++ b/rust/src/models/dataset_listing.rs @@ -3,7 +3,7 @@ * * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) * - * The version of the OpenAPI document: 0.8.0 + * The version of the OpenAPI document: 0.9.0 * Contact: dev@geoengine.de * Generated by: https://openapi-generator.tech */ diff --git a/rust/src/models/dataset_name_response.rs b/rust/src/models/dataset_name_response.rs index aa0c4b6d..b8ea70d2 100644 --- a/rust/src/models/dataset_name_response.rs +++ b/rust/src/models/dataset_name_response.rs @@ -3,7 +3,7 @@ * * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) * - * The version of the OpenAPI document: 0.8.0 + * The version of the OpenAPI document: 0.9.0 * Contact: dev@geoengine.de * Generated by: https://openapi-generator.tech */ diff --git a/rust/src/models/dataset_resource.rs b/rust/src/models/dataset_resource.rs index 30390c44..0e98e539 100644 --- a/rust/src/models/dataset_resource.rs +++ b/rust/src/models/dataset_resource.rs @@ -3,7 +3,7 @@ * * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) * - * The version of the OpenAPI document: 0.8.0 + * The version of the OpenAPI document: 0.9.0 * Contact: dev@geoengine.de * Generated by: https://openapi-generator.tech */ diff --git a/rust/src/models/derived_color.rs b/rust/src/models/derived_color.rs index fc60d817..5537e1ce 100644 --- a/rust/src/models/derived_color.rs +++ b/rust/src/models/derived_color.rs @@ -3,7 +3,7 @@ * * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) * - * The version of the OpenAPI document: 0.8.0 + * The version of the OpenAPI document: 0.9.0 * Contact: dev@geoengine.de * Generated by: https://openapi-generator.tech */ diff --git a/rust/src/models/derived_number.rs b/rust/src/models/derived_number.rs index a9c4b502..83b8c704 100644 --- a/rust/src/models/derived_number.rs +++ b/rust/src/models/derived_number.rs @@ -3,7 +3,7 @@ * * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) * - * The version of the OpenAPI document: 0.8.0 + * The version of the OpenAPI document: 0.9.0 * Contact: dev@geoengine.de * Generated by: https://openapi-generator.tech */ diff --git a/rust/src/models/ebv_portal_data_provider_definition.rs b/rust/src/models/ebv_portal_data_provider_definition.rs index 76573b35..f87b784b 100644 --- a/rust/src/models/ebv_portal_data_provider_definition.rs +++ b/rust/src/models/ebv_portal_data_provider_definition.rs @@ -3,7 +3,7 @@ * * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) * - * The version of the OpenAPI document: 0.8.0 + * The version of the OpenAPI document: 0.9.0 * Contact: dev@geoengine.de * Generated by: https://openapi-generator.tech */ diff --git a/rust/src/models/edr_data_provider_definition.rs b/rust/src/models/edr_data_provider_definition.rs index 4e2e6ea3..49046aa6 100644 --- a/rust/src/models/edr_data_provider_definition.rs +++ b/rust/src/models/edr_data_provider_definition.rs @@ -3,7 +3,7 @@ * * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) * - * The version of the OpenAPI document: 0.8.0 + * The version of the OpenAPI document: 0.9.0 * Contact: dev@geoengine.de * Generated by: https://openapi-generator.tech */ diff --git a/rust/src/models/edr_vector_spec.rs b/rust/src/models/edr_vector_spec.rs index 2817e31e..2ac542b7 100644 --- a/rust/src/models/edr_vector_spec.rs +++ b/rust/src/models/edr_vector_spec.rs @@ -3,7 +3,7 @@ * * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) * - * The version of the OpenAPI document: 0.8.0 + * The version of the OpenAPI document: 0.9.0 * Contact: dev@geoengine.de * Generated by: https://openapi-generator.tech */ diff --git a/rust/src/models/error_response.rs b/rust/src/models/error_response.rs index d3d8e292..b4f66f3f 100644 --- a/rust/src/models/error_response.rs +++ b/rust/src/models/error_response.rs @@ -3,7 +3,7 @@ * * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) * - * The version of the OpenAPI document: 0.8.0 + * The version of the OpenAPI document: 0.9.0 * Contact: dev@geoengine.de * Generated by: https://openapi-generator.tech */ diff --git a/rust/src/models/expression.rs b/rust/src/models/expression.rs new file mode 100644 index 00000000..a7dbca2b --- /dev/null +++ b/rust/src/models/expression.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}; + +/// Expression : # Raster 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 = "type")] + pub r#type: Type, +} + +impl Expression { + /// # Raster 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, r#type: Type) -> Expression { + Expression { + params: Box::new(params), + 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..edfa6443 --- /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", default, with = "::serde_with::rust::double_option", 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 index 64e2ff27..60da43f3 100644 --- a/rust/src/models/external_data_id.rs +++ b/rust/src/models/external_data_id.rs @@ -3,7 +3,7 @@ * * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) * - * The version of the OpenAPI document: 0.8.0 + * The version of the OpenAPI document: 0.9.0 * Contact: dev@geoengine.de * Generated by: https://openapi-generator.tech */ 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 index 2c557bdc..53e94ab9 100644 --- a/rust/src/models/feature_data_type.rs +++ b/rust/src/models/feature_data_type.rs @@ -3,7 +3,7 @@ * * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) * - * The version of the OpenAPI document: 0.8.0 + * The version of the OpenAPI document: 0.9.0 * Contact: dev@geoengine.de * Generated by: https://openapi-generator.tech */ diff --git a/rust/src/models/file_not_found_handling.rs b/rust/src/models/file_not_found_handling.rs index 147bf4a6..f06ef954 100644 --- a/rust/src/models/file_not_found_handling.rs +++ b/rust/src/models/file_not_found_handling.rs @@ -3,7 +3,7 @@ * * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) * - * The version of the OpenAPI document: 0.8.0 + * The version of the OpenAPI document: 0.9.0 * Contact: dev@geoengine.de * Generated by: https://openapi-generator.tech */ diff --git a/rust/src/models/format_specifics.rs b/rust/src/models/format_specifics.rs index b87cd7c5..61efcd33 100644 --- a/rust/src/models/format_specifics.rs +++ b/rust/src/models/format_specifics.rs @@ -3,7 +3,7 @@ * * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) * - * The version of the OpenAPI document: 0.8.0 + * The version of the OpenAPI document: 0.9.0 * Contact: dev@geoengine.de * Generated by: https://openapi-generator.tech */ diff --git a/rust/src/models/format_specifics_csv.rs b/rust/src/models/format_specifics_csv.rs index c3e00e63..dfc54a79 100644 --- a/rust/src/models/format_specifics_csv.rs +++ b/rust/src/models/format_specifics_csv.rs @@ -3,7 +3,7 @@ * * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) * - * The version of the OpenAPI document: 0.8.0 + * The version of the OpenAPI document: 0.9.0 * Contact: dev@geoengine.de * Generated by: https://openapi-generator.tech */ diff --git a/rust/src/models/gbif_data_provider_definition.rs b/rust/src/models/gbif_data_provider_definition.rs index 2042c4ef..63a78904 100644 --- a/rust/src/models/gbif_data_provider_definition.rs +++ b/rust/src/models/gbif_data_provider_definition.rs @@ -3,7 +3,7 @@ * * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) * - * The version of the OpenAPI document: 0.8.0 + * The version of the OpenAPI document: 0.9.0 * Contact: dev@geoengine.de * Generated by: https://openapi-generator.tech */ diff --git a/rust/src/models/gdal_dataset_parameters.rs b/rust/src/models/gdal_dataset_parameters.rs index b0f1a3ed..9f2b3504 100644 --- a/rust/src/models/gdal_dataset_parameters.rs +++ b/rust/src/models/gdal_dataset_parameters.rs @@ -3,7 +3,7 @@ * * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) * - * The version of the OpenAPI document: 0.8.0 + * The version of the OpenAPI document: 0.9.0 * Contact: dev@geoengine.de * Generated by: https://openapi-generator.tech */ @@ -25,7 +25,7 @@ pub struct GdalDatasetParameters { #[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, + 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")] @@ -40,7 +40,7 @@ pub struct GdalDatasetParameters { impl GdalDatasetParameters { /// Parameters for loading data using Gdal - pub fn new(file_not_found_handling: models::FileNotFoundHandling, file_path: String, geo_transform: models::GdalDatasetGeoTransform, height: i32, rasterband_channel: i32, width: i32) -> GdalDatasetParameters { + 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, diff --git a/rust/src/models/gdal_loading_info_temporal_slice.rs b/rust/src/models/gdal_loading_info_temporal_slice.rs index d980565a..3a530258 100644 --- a/rust/src/models/gdal_loading_info_temporal_slice.rs +++ b/rust/src/models/gdal_loading_info_temporal_slice.rs @@ -3,7 +3,7 @@ * * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) * - * The version of the OpenAPI document: 0.8.0 + * The version of the OpenAPI document: 0.9.0 * Contact: dev@geoengine.de * Generated by: https://openapi-generator.tech */ diff --git a/rust/src/models/gdal_meta_data_list.rs b/rust/src/models/gdal_meta_data_list.rs index d312ab0b..fe3b948e 100644 --- a/rust/src/models/gdal_meta_data_list.rs +++ b/rust/src/models/gdal_meta_data_list.rs @@ -3,7 +3,7 @@ * * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) * - * The version of the OpenAPI document: 0.8.0 + * The version of the OpenAPI document: 0.9.0 * Contact: dev@geoengine.de * Generated by: https://openapi-generator.tech */ diff --git a/rust/src/models/gdal_meta_data_regular.rs b/rust/src/models/gdal_meta_data_regular.rs index f146667d..97e4b6aa 100644 --- a/rust/src/models/gdal_meta_data_regular.rs +++ b/rust/src/models/gdal_meta_data_regular.rs @@ -3,7 +3,7 @@ * * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) * - * The version of the OpenAPI document: 0.8.0 + * The version of the OpenAPI document: 0.9.0 * Contact: dev@geoengine.de * Generated by: https://openapi-generator.tech */ diff --git a/rust/src/models/gdal_meta_data_static.rs b/rust/src/models/gdal_meta_data_static.rs index 0c594c22..0cb98bd4 100644 --- a/rust/src/models/gdal_meta_data_static.rs +++ b/rust/src/models/gdal_meta_data_static.rs @@ -3,7 +3,7 @@ * * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) * - * The version of the OpenAPI document: 0.8.0 + * The version of the OpenAPI document: 0.9.0 * Contact: dev@geoengine.de * Generated by: https://openapi-generator.tech */ diff --git a/rust/src/models/gdal_metadata_mapping.rs b/rust/src/models/gdal_metadata_mapping.rs index c05d2012..acc126e0 100644 --- a/rust/src/models/gdal_metadata_mapping.rs +++ b/rust/src/models/gdal_metadata_mapping.rs @@ -3,7 +3,7 @@ * * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) * - * The version of the OpenAPI document: 0.8.0 + * The version of the OpenAPI document: 0.9.0 * Contact: dev@geoengine.de * Generated by: https://openapi-generator.tech */ diff --git a/rust/src/models/gdal_metadata_net_cdf_cf.rs b/rust/src/models/gdal_metadata_net_cdf_cf.rs index 501e0a7e..93ffd89a 100644 --- a/rust/src/models/gdal_metadata_net_cdf_cf.rs +++ b/rust/src/models/gdal_metadata_net_cdf_cf.rs @@ -3,7 +3,7 @@ * * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) * - * The version of the OpenAPI document: 0.8.0 + * The version of the OpenAPI document: 0.9.0 * Contact: dev@geoengine.de * Generated by: https://openapi-generator.tech */ 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..8a006e23 --- /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 : # 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. ## Example JSON ```json { \"type\": \"GdalSource\", \"params\": { \"data\": \"ndvi\" } } ``` +#[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 { + /// # 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. ## Example JSON ```json { \"type\": \"GdalSource\", \"params\": { \"data\": \"ndvi\" } } ``` + 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..bc2b08d6 --- /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. ### Example `\"ndvi\"` + #[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 index 29a8a920..69f48f61 100644 --- a/rust/src/models/gdal_source_time_placeholder.rs +++ b/rust/src/models/gdal_source_time_placeholder.rs @@ -3,7 +3,7 @@ * * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) * - * The version of the OpenAPI document: 0.8.0 + * The version of the OpenAPI document: 0.9.0 * Contact: dev@geoengine.de * Generated by: https://openapi-generator.tech */ diff --git a/rust/src/models/geo_json.rs b/rust/src/models/geo_json.rs index 53755abc..50e0d44b 100644 --- a/rust/src/models/geo_json.rs +++ b/rust/src/models/geo_json.rs @@ -3,7 +3,7 @@ * * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) * - * The version of the OpenAPI document: 0.8.0 + * The version of the OpenAPI document: 0.9.0 * Contact: dev@geoengine.de * Generated by: https://openapi-generator.tech */ 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 index 73f62959..52a8c209 100644 --- a/rust/src/models/get_coverage_format.rs +++ b/rust/src/models/get_coverage_format.rs @@ -3,7 +3,7 @@ * * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) * - * The version of the OpenAPI document: 0.8.0 + * The version of the OpenAPI document: 0.9.0 * Contact: dev@geoengine.de * Generated by: https://openapi-generator.tech */ diff --git a/rust/src/models/get_map_exception_format.rs b/rust/src/models/get_map_exception_format.rs index d0030378..10357620 100644 --- a/rust/src/models/get_map_exception_format.rs +++ b/rust/src/models/get_map_exception_format.rs @@ -3,7 +3,7 @@ * * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) * - * The version of the OpenAPI document: 0.8.0 + * The version of the OpenAPI document: 0.9.0 * Contact: dev@geoengine.de * Generated by: https://openapi-generator.tech */ diff --git a/rust/src/models/gfbio_abcd_data_provider_definition.rs b/rust/src/models/gfbio_abcd_data_provider_definition.rs index 12fb97ec..d47ce4da 100644 --- a/rust/src/models/gfbio_abcd_data_provider_definition.rs +++ b/rust/src/models/gfbio_abcd_data_provider_definition.rs @@ -3,7 +3,7 @@ * * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) * - * The version of the OpenAPI document: 0.8.0 + * The version of the OpenAPI document: 0.9.0 * Contact: dev@geoengine.de * Generated by: https://openapi-generator.tech */ diff --git a/rust/src/models/gfbio_collections_data_provider_definition.rs b/rust/src/models/gfbio_collections_data_provider_definition.rs index 6136f1a9..f996b250 100644 --- a/rust/src/models/gfbio_collections_data_provider_definition.rs +++ b/rust/src/models/gfbio_collections_data_provider_definition.rs @@ -3,7 +3,7 @@ * * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) * - * The version of the OpenAPI document: 0.8.0 + * The version of the OpenAPI document: 0.9.0 * Contact: dev@geoengine.de * Generated by: https://openapi-generator.tech */ 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/id_response.rs b/rust/src/models/id_response.rs index 062402d2..47aadf36 100644 --- a/rust/src/models/id_response.rs +++ b/rust/src/models/id_response.rs @@ -3,7 +3,7 @@ * * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) * - * The version of the OpenAPI document: 0.8.0 + * The version of the OpenAPI document: 0.9.0 * Contact: dev@geoengine.de * Generated by: https://openapi-generator.tech */ diff --git a/rust/src/models/internal_data_id.rs b/rust/src/models/internal_data_id.rs index c16f2533..573164d7 100644 --- a/rust/src/models/internal_data_id.rs +++ b/rust/src/models/internal_data_id.rs @@ -3,7 +3,7 @@ * * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) * - * The version of the OpenAPI document: 0.8.0 + * The version of the OpenAPI document: 0.9.0 * Contact: dev@geoengine.de * Generated by: https://openapi-generator.tech */ diff --git a/rust/src/models/layer.rs b/rust/src/models/layer.rs index 2bedb417..ff55dd2d 100644 --- a/rust/src/models/layer.rs +++ b/rust/src/models/layer.rs @@ -3,7 +3,7 @@ * * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) * - * The version of the OpenAPI document: 0.8.0 + * The version of the OpenAPI document: 0.9.0 * Contact: dev@geoengine.de * Generated by: https://openapi-generator.tech */ diff --git a/rust/src/models/layer_collection.rs b/rust/src/models/layer_collection.rs index e198aa7d..1141c0cd 100644 --- a/rust/src/models/layer_collection.rs +++ b/rust/src/models/layer_collection.rs @@ -3,7 +3,7 @@ * * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) * - * The version of the OpenAPI document: 0.8.0 + * The version of the OpenAPI document: 0.9.0 * Contact: dev@geoengine.de * Generated by: https://openapi-generator.tech */ diff --git a/rust/src/models/layer_collection_listing.rs b/rust/src/models/layer_collection_listing.rs index 238e04e6..6c1c5938 100644 --- a/rust/src/models/layer_collection_listing.rs +++ b/rust/src/models/layer_collection_listing.rs @@ -3,7 +3,7 @@ * * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) * - * The version of the OpenAPI document: 0.8.0 + * The version of the OpenAPI document: 0.9.0 * Contact: dev@geoengine.de * Generated by: https://openapi-generator.tech */ diff --git a/rust/src/models/layer_collection_resource.rs b/rust/src/models/layer_collection_resource.rs index 2644b6b1..96b6de91 100644 --- a/rust/src/models/layer_collection_resource.rs +++ b/rust/src/models/layer_collection_resource.rs @@ -3,7 +3,7 @@ * * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) * - * The version of the OpenAPI document: 0.8.0 + * The version of the OpenAPI document: 0.9.0 * Contact: dev@geoengine.de * Generated by: https://openapi-generator.tech */ diff --git a/rust/src/models/layer_listing.rs b/rust/src/models/layer_listing.rs index 4ab4e2e1..239152cf 100644 --- a/rust/src/models/layer_listing.rs +++ b/rust/src/models/layer_listing.rs @@ -3,7 +3,7 @@ * * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) * - * The version of the OpenAPI document: 0.8.0 + * The version of the OpenAPI document: 0.9.0 * Contact: dev@geoengine.de * Generated by: https://openapi-generator.tech */ diff --git a/rust/src/models/layer_provider_listing.rs b/rust/src/models/layer_provider_listing.rs index 71b3c767..4f95bc4d 100644 --- a/rust/src/models/layer_provider_listing.rs +++ b/rust/src/models/layer_provider_listing.rs @@ -3,7 +3,7 @@ * * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) * - * The version of the OpenAPI document: 0.8.0 + * The version of the OpenAPI document: 0.9.0 * Contact: dev@geoengine.de * Generated by: https://openapi-generator.tech */ diff --git a/rust/src/models/layer_resource.rs b/rust/src/models/layer_resource.rs index ca9da267..6b7900e6 100644 --- a/rust/src/models/layer_resource.rs +++ b/rust/src/models/layer_resource.rs @@ -3,7 +3,7 @@ * * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) * - * The version of the OpenAPI document: 0.8.0 + * The version of the OpenAPI document: 0.9.0 * Contact: dev@geoengine.de * Generated by: https://openapi-generator.tech */ diff --git a/rust/src/models/layer_visibility.rs b/rust/src/models/layer_visibility.rs index d5f8a71a..b4c3b2e2 100644 --- a/rust/src/models/layer_visibility.rs +++ b/rust/src/models/layer_visibility.rs @@ -3,7 +3,7 @@ * * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) * - * The version of the OpenAPI document: 0.8.0 + * The version of the OpenAPI document: 0.9.0 * Contact: dev@geoengine.de * Generated by: https://openapi-generator.tech */ diff --git a/rust/src/models/line_symbology.rs b/rust/src/models/line_symbology.rs index 6f4bdf7b..7985696d 100644 --- a/rust/src/models/line_symbology.rs +++ b/rust/src/models/line_symbology.rs @@ -3,7 +3,7 @@ * * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) * - * The version of the OpenAPI document: 0.8.0 + * The version of the OpenAPI document: 0.9.0 * Contact: dev@geoengine.de * Generated by: https://openapi-generator.tech */ diff --git a/rust/src/models/linear_gradient.rs b/rust/src/models/linear_gradient.rs index 41ece55f..084378c1 100644 --- a/rust/src/models/linear_gradient.rs +++ b/rust/src/models/linear_gradient.rs @@ -3,7 +3,7 @@ * * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) * - * The version of the OpenAPI document: 0.8.0 + * The version of the OpenAPI document: 0.9.0 * Contact: dev@geoengine.de * Generated by: https://openapi-generator.tech */ diff --git a/rust/src/models/logarithmic_gradient.rs b/rust/src/models/logarithmic_gradient.rs index 52339dc5..23d0b225 100644 --- a/rust/src/models/logarithmic_gradient.rs +++ b/rust/src/models/logarithmic_gradient.rs @@ -3,7 +3,7 @@ * * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) * - * The version of the OpenAPI document: 0.8.0 + * The version of the OpenAPI document: 0.9.0 * Contact: dev@geoengine.de * Generated by: https://openapi-generator.tech */ diff --git a/rust/src/models/measurement.rs b/rust/src/models/measurement.rs index 48bbd9c1..dabc9995 100644 --- a/rust/src/models/measurement.rs +++ b/rust/src/models/measurement.rs @@ -3,7 +3,7 @@ * * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) * - * The version of the OpenAPI document: 0.8.0 + * The version of the OpenAPI document: 0.9.0 * Contact: dev@geoengine.de * Generated by: https://openapi-generator.tech */ diff --git a/rust/src/models/meta_data_definition.rs b/rust/src/models/meta_data_definition.rs index c9c97e80..814d18d9 100644 --- a/rust/src/models/meta_data_definition.rs +++ b/rust/src/models/meta_data_definition.rs @@ -3,7 +3,7 @@ * * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) * - * The version of the OpenAPI document: 0.8.0 + * The version of the OpenAPI document: 0.9.0 * Contact: dev@geoengine.de * Generated by: https://openapi-generator.tech */ @@ -26,6 +26,8 @@ pub enum MetaDataDefinition { GdalMetaDataNetCdfCf(Box), #[serde(rename="GdalMetaDataList")] GdalMetaDataList(Box), + #[serde(rename="GdalMultiBand")] + GdalMultiBand(Box), } impl Default for MetaDataDefinition { diff --git a/rust/src/models/meta_data_suggestion.rs b/rust/src/models/meta_data_suggestion.rs index a6d35b87..e4dabecd 100644 --- a/rust/src/models/meta_data_suggestion.rs +++ b/rust/src/models/meta_data_suggestion.rs @@ -3,7 +3,7 @@ * * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) * - * The version of the OpenAPI document: 0.8.0 + * The version of the OpenAPI document: 0.9.0 * Contact: dev@geoengine.de * Generated by: https://openapi-generator.tech */ diff --git a/rust/src/models/ml_model.rs b/rust/src/models/ml_model.rs index 599506b6..6d5cda51 100644 --- a/rust/src/models/ml_model.rs +++ b/rust/src/models/ml_model.rs @@ -3,7 +3,7 @@ * * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) * - * The version of the OpenAPI document: 0.8.0 + * The version of the OpenAPI document: 0.9.0 * Contact: dev@geoengine.de * Generated by: https://openapi-generator.tech */ diff --git a/rust/src/models/ml_model_input_no_data_handling.rs b/rust/src/models/ml_model_input_no_data_handling.rs index f9efd7d9..ece7739f 100644 --- a/rust/src/models/ml_model_input_no_data_handling.rs +++ b/rust/src/models/ml_model_input_no_data_handling.rs @@ -3,7 +3,7 @@ * * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) * - * The version of the OpenAPI document: 0.8.0 + * The version of the OpenAPI document: 0.9.0 * Contact: dev@geoengine.de * Generated by: https://openapi-generator.tech */ 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 index d683819e..658f91ab 100644 --- a/rust/src/models/ml_model_input_no_data_handling_variant.rs +++ b/rust/src/models/ml_model_input_no_data_handling_variant.rs @@ -3,7 +3,7 @@ * * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) * - * The version of the OpenAPI document: 0.8.0 + * The version of the OpenAPI document: 0.9.0 * Contact: dev@geoengine.de * Generated by: https://openapi-generator.tech */ diff --git a/rust/src/models/ml_model_metadata.rs b/rust/src/models/ml_model_metadata.rs index 4155d878..e3755403 100644 --- a/rust/src/models/ml_model_metadata.rs +++ b/rust/src/models/ml_model_metadata.rs @@ -3,7 +3,7 @@ * * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) * - * The version of the OpenAPI document: 0.8.0 + * The version of the OpenAPI document: 0.9.0 * Contact: dev@geoengine.de * Generated by: https://openapi-generator.tech */ diff --git a/rust/src/models/ml_model_name_response.rs b/rust/src/models/ml_model_name_response.rs index e89afd4d..138e4b99 100644 --- a/rust/src/models/ml_model_name_response.rs +++ b/rust/src/models/ml_model_name_response.rs @@ -3,7 +3,7 @@ * * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) * - * The version of the OpenAPI document: 0.8.0 + * The version of the OpenAPI document: 0.9.0 * Contact: dev@geoengine.de * Generated by: https://openapi-generator.tech */ diff --git a/rust/src/models/ml_model_output_no_data_handling.rs b/rust/src/models/ml_model_output_no_data_handling.rs index 948a0f93..14a77d67 100644 --- a/rust/src/models/ml_model_output_no_data_handling.rs +++ b/rust/src/models/ml_model_output_no_data_handling.rs @@ -3,7 +3,7 @@ * * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) * - * The version of the OpenAPI document: 0.8.0 + * The version of the OpenAPI document: 0.9.0 * Contact: dev@geoengine.de * Generated by: https://openapi-generator.tech */ 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 index 71fe8d22..0b5d4b70 100644 --- a/rust/src/models/ml_model_output_no_data_handling_variant.rs +++ b/rust/src/models/ml_model_output_no_data_handling_variant.rs @@ -3,7 +3,7 @@ * * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) * - * The version of the OpenAPI document: 0.8.0 + * The version of the OpenAPI document: 0.9.0 * Contact: dev@geoengine.de * Generated by: https://openapi-generator.tech */ diff --git a/rust/src/models/ml_model_resource.rs b/rust/src/models/ml_model_resource.rs index ea220043..547b6adc 100644 --- a/rust/src/models/ml_model_resource.rs +++ b/rust/src/models/ml_model_resource.rs @@ -3,7 +3,7 @@ * * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) * - * The version of the OpenAPI document: 0.8.0 + * The version of the OpenAPI document: 0.9.0 * Contact: dev@geoengine.de * Generated by: https://openapi-generator.tech */ diff --git a/rust/src/models/ml_tensor_shape3_d.rs b/rust/src/models/ml_tensor_shape3_d.rs index 488bf08f..9ab17b4d 100644 --- a/rust/src/models/ml_tensor_shape3_d.rs +++ b/rust/src/models/ml_tensor_shape3_d.rs @@ -3,7 +3,7 @@ * * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) * - * The version of the OpenAPI document: 0.8.0 + * The version of the OpenAPI document: 0.9.0 * Contact: dev@geoengine.de * Generated by: https://openapi-generator.tech */ diff --git a/rust/src/models/mock_dataset_data_source_loading_info.rs b/rust/src/models/mock_dataset_data_source_loading_info.rs index 9e8153c2..e8e45c77 100644 --- a/rust/src/models/mock_dataset_data_source_loading_info.rs +++ b/rust/src/models/mock_dataset_data_source_loading_info.rs @@ -3,7 +3,7 @@ * * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) * - * The version of the OpenAPI document: 0.8.0 + * The version of the OpenAPI document: 0.9.0 * Contact: dev@geoengine.de * Generated by: https://openapi-generator.tech */ diff --git a/rust/src/models/mock_meta_data.rs b/rust/src/models/mock_meta_data.rs index b834e094..c75d0959 100644 --- a/rust/src/models/mock_meta_data.rs +++ b/rust/src/models/mock_meta_data.rs @@ -3,7 +3,7 @@ * * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) * - * The version of the OpenAPI document: 0.8.0 + * The version of the OpenAPI document: 0.9.0 * Contact: dev@geoengine.de * Generated by: https://openapi-generator.tech */ diff --git a/rust/src/models/mock_point_source.rs b/rust/src/models/mock_point_source.rs new file mode 100644 index 00000000..df0c7b53 --- /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 : # MockPointSource The [`MockPointSource`] is a source operator that provides mock vector point data for testing and development purposes. ## Example JSON ```json { \"type\": \"MockPointSource\", \"params\": { \"points\": [ { \"x\": 1.0, \"y\": 2.0 }, { \"x\": 3.0, \"y\": 4.0 } ] } } ``` +#[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 { + /// # MockPointSource The [`MockPointSource`] is a source operator that provides mock vector point data for testing and development purposes. ## Example JSON ```json { \"type\": \"MockPointSource\", \"params\": { \"points\": [ { \"x\": 1.0, \"y\": 2.0 }, { \"x\": 3.0, \"y\": 4.0 } ] } } ``` + 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..35f4f496 --- /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. ### Example `[{\"x\": 1.0, \"y\": 2.0}, {\"x\": 3.0, \"y\": 4.0}]` + #[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 index 3d93afe7..fa68cce3 100644 --- a/rust/src/models/mod.rs +++ b/rust/src/models/mod.rs @@ -1,5 +1,7 @@ pub mod add_dataset; pub use self::add_dataset::AddDataset; +pub mod add_dataset_tile; +pub use self::add_dataset_tile::AddDatasetTile; pub mod add_layer; pub use self::add_layer::AddLayer; pub mod add_layer_collection; @@ -30,6 +32,14 @@ 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 column_names_one_of; +pub use self::column_names_one_of::ColumnNamesOneOf; +pub mod column_names_one_of_1; +pub use self::column_names_one_of_1::ColumnNamesOneOf1; +pub mod column_names_one_of_2; +pub use self::column_names_one_of_2::ColumnNamesOneOf2; pub mod computation_quota; pub use self::computation_quota::ComputationQuota; pub mod continuous_measurement; @@ -78,8 +88,6 @@ pub mod derived_color; pub use self::derived_color::DerivedColor; pub mod derived_number; pub use self::derived_number::DerivedNumber; -pub mod describe_coverage_request; -pub use self::describe_coverage_request::DescribeCoverageRequest; pub mod ebv_portal_data_provider_definition; pub use self::ebv_portal_data_provider_definition::EbvPortalDataProviderDefinition; pub mod edr_data_provider_definition; @@ -88,8 +96,14 @@ 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; @@ -100,8 +114,6 @@ 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_geo_transform; -pub use self::gdal_dataset_geo_transform::GdalDatasetGeoTransform; pub mod gdal_dataset_parameters; pub use self::gdal_dataset_parameters::GdalDatasetParameters; pub mod gdal_loading_info_temporal_slice; @@ -116,32 +128,30 @@ 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 get_capabilities_format; -pub use self::get_capabilities_format::GetCapabilitiesFormat; -pub mod get_capabilities_request; -pub use self::get_capabilities_request::GetCapabilitiesRequest; +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_coverage_request; -pub use self::get_coverage_request::GetCoverageRequest; -pub mod get_feature_request; -pub use self::get_feature_request::GetFeatureRequest; -pub mod get_legend_graphic_request; -pub use self::get_legend_graphic_request::GetLegendGraphicRequest; pub mod get_map_exception_format; pub use self::get_map_exception_format::GetMapExceptionFormat; -pub mod get_map_format; -pub use self::get_map_format::GetMapFormat; -pub mod get_map_request; -pub use self::get_map_request::GetMapRequest; 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 id_response; pub use self::id_response::IdResponse; pub mod internal_data_id; @@ -196,6 +206,10 @@ 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; @@ -262,8 +276,6 @@ pub mod plot; pub use self::plot::Plot; pub mod plot_output_format; pub use self::plot_output_format::PlotOutputFormat; -pub mod plot_query_rectangle; -pub use self::plot_query_rectangle::PlotQueryRectangle; pub mod plot_result_descriptor; pub use self::plot_result_descriptor::PlotResultDescriptor; pub mod point_symbology; @@ -312,14 +324,20 @@ 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_query_rectangle; -pub use self::raster_query_rectangle::RasterQueryRectangle; 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; @@ -338,6 +356,20 @@ 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 spatial_bounds_derive; +pub use self::spatial_bounds_derive::SpatialBoundsDerive; +pub mod spatial_bounds_derive_one_of; +pub use self::spatial_bounds_derive_one_of::SpatialBoundsDeriveOneOf; +pub mod spatial_bounds_derive_one_of_1; +pub use self::spatial_bounds_derive_one_of_1::SpatialBoundsDeriveOneOf1; +pub mod spatial_bounds_derive_one_of_2; +pub use self::spatial_bounds_derive_one_of_2::SpatialBoundsDeriveOneOf2; +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_authority; @@ -350,12 +382,8 @@ 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_band; -pub use self::stac_band::StacBand; pub mod stac_query_buffer; pub use self::stac_query_buffer::StacQueryBuffer; -pub mod stac_zone; -pub use self::stac_zone::StacZone; pub mod static_color; pub use self::static_color::StaticColor; pub mod static_number; @@ -386,8 +414,18 @@ 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; @@ -454,8 +492,8 @@ 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_query_rectangle; -pub use self::vector_query_rectangle::VectorQueryRectangle; +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; @@ -464,16 +502,24 @@ pub mod volume_file_layers_response; pub use self::volume_file_layers_response::VolumeFileLayersResponse; pub mod wcs_boundingbox; pub use self::wcs_boundingbox::WcsBoundingbox; +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; diff --git a/rust/src/models/multi_band_raster_colorizer.rs b/rust/src/models/multi_band_raster_colorizer.rs index 246bb0fb..5d3bdf30 100644 --- a/rust/src/models/multi_band_raster_colorizer.rs +++ b/rust/src/models/multi_band_raster_colorizer.rs @@ -3,7 +3,7 @@ * * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) * - * The version of the OpenAPI document: 0.8.0 + * The version of the OpenAPI document: 0.9.0 * Contact: dev@geoengine.de * Generated by: https://openapi-generator.tech */ diff --git a/rust/src/models/multi_line_string.rs b/rust/src/models/multi_line_string.rs index e611e499..dc8caec2 100644 --- a/rust/src/models/multi_line_string.rs +++ b/rust/src/models/multi_line_string.rs @@ -3,7 +3,7 @@ * * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) * - * The version of the OpenAPI document: 0.8.0 + * The version of the OpenAPI document: 0.9.0 * Contact: dev@geoengine.de * Generated by: https://openapi-generator.tech */ diff --git a/rust/src/models/multi_point.rs b/rust/src/models/multi_point.rs index 1434463c..9ba269d6 100644 --- a/rust/src/models/multi_point.rs +++ b/rust/src/models/multi_point.rs @@ -3,7 +3,7 @@ * * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) * - * The version of the OpenAPI document: 0.8.0 + * The version of the OpenAPI document: 0.9.0 * Contact: dev@geoengine.de * Generated by: https://openapi-generator.tech */ diff --git a/rust/src/models/multi_polygon.rs b/rust/src/models/multi_polygon.rs index 15691a82..511bad9d 100644 --- a/rust/src/models/multi_polygon.rs +++ b/rust/src/models/multi_polygon.rs @@ -3,7 +3,7 @@ * * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) * - * The version of the OpenAPI document: 0.8.0 + * The version of the OpenAPI document: 0.9.0 * Contact: dev@geoengine.de * Generated by: https://openapi-generator.tech */ diff --git a/rust/src/models/net_cdf_cf_data_provider_definition.rs b/rust/src/models/net_cdf_cf_data_provider_definition.rs index 6b8e33b9..b635f15c 100644 --- a/rust/src/models/net_cdf_cf_data_provider_definition.rs +++ b/rust/src/models/net_cdf_cf_data_provider_definition.rs @@ -3,7 +3,7 @@ * * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) * - * The version of the OpenAPI document: 0.8.0 + * The version of the OpenAPI document: 0.9.0 * Contact: dev@geoengine.de * Generated by: https://openapi-generator.tech */ diff --git a/rust/src/models/number_param.rs b/rust/src/models/number_param.rs index 3c3d2c69..486589a0 100644 --- a/rust/src/models/number_param.rs +++ b/rust/src/models/number_param.rs @@ -3,7 +3,7 @@ * * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) * - * The version of the OpenAPI document: 0.8.0 + * The version of the OpenAPI document: 0.9.0 * Contact: dev@geoengine.de * Generated by: https://openapi-generator.tech */ diff --git a/rust/src/models/ogr_meta_data.rs b/rust/src/models/ogr_meta_data.rs index 2ec62d1d..692e31e7 100644 --- a/rust/src/models/ogr_meta_data.rs +++ b/rust/src/models/ogr_meta_data.rs @@ -3,7 +3,7 @@ * * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) * - * The version of the OpenAPI document: 0.8.0 + * The version of the OpenAPI document: 0.9.0 * Contact: dev@geoengine.de * Generated by: https://openapi-generator.tech */ diff --git a/rust/src/models/ogr_source_column_spec.rs b/rust/src/models/ogr_source_column_spec.rs index b2a5dfc8..d729a698 100644 --- a/rust/src/models/ogr_source_column_spec.rs +++ b/rust/src/models/ogr_source_column_spec.rs @@ -3,7 +3,7 @@ * * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) * - * The version of the OpenAPI document: 0.8.0 + * The version of the OpenAPI document: 0.9.0 * Contact: dev@geoengine.de * Generated by: https://openapi-generator.tech */ diff --git a/rust/src/models/ogr_source_dataset.rs b/rust/src/models/ogr_source_dataset.rs index 56e10bb2..4717bc10 100644 --- a/rust/src/models/ogr_source_dataset.rs +++ b/rust/src/models/ogr_source_dataset.rs @@ -3,7 +3,7 @@ * * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) * - * The version of the OpenAPI document: 0.8.0 + * The version of the OpenAPI document: 0.9.0 * Contact: dev@geoengine.de * Generated by: https://openapi-generator.tech */ diff --git a/rust/src/models/ogr_source_dataset_time_type.rs b/rust/src/models/ogr_source_dataset_time_type.rs index eb21e4c6..7cd03da9 100644 --- a/rust/src/models/ogr_source_dataset_time_type.rs +++ b/rust/src/models/ogr_source_dataset_time_type.rs @@ -3,7 +3,7 @@ * * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) * - * The version of the OpenAPI document: 0.8.0 + * The version of the OpenAPI document: 0.9.0 * Contact: dev@geoengine.de * Generated by: https://openapi-generator.tech */ diff --git a/rust/src/models/ogr_source_dataset_time_type_none.rs b/rust/src/models/ogr_source_dataset_time_type_none.rs index ef41d60e..f25d10bb 100644 --- a/rust/src/models/ogr_source_dataset_time_type_none.rs +++ b/rust/src/models/ogr_source_dataset_time_type_none.rs @@ -3,7 +3,7 @@ * * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) * - * The version of the OpenAPI document: 0.8.0 + * The version of the OpenAPI document: 0.9.0 * Contact: dev@geoengine.de * Generated by: https://openapi-generator.tech */ diff --git a/rust/src/models/ogr_source_dataset_time_type_start.rs b/rust/src/models/ogr_source_dataset_time_type_start.rs index 2a031184..051399de 100644 --- a/rust/src/models/ogr_source_dataset_time_type_start.rs +++ b/rust/src/models/ogr_source_dataset_time_type_start.rs @@ -3,7 +3,7 @@ * * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) * - * The version of the OpenAPI document: 0.8.0 + * The version of the OpenAPI document: 0.9.0 * Contact: dev@geoengine.de * Generated by: https://openapi-generator.tech */ 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 index 485cdd2e..51d9ce65 100644 --- a/rust/src/models/ogr_source_dataset_time_type_start_duration.rs +++ b/rust/src/models/ogr_source_dataset_time_type_start_duration.rs @@ -3,7 +3,7 @@ * * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) * - * The version of the OpenAPI document: 0.8.0 + * The version of the OpenAPI document: 0.9.0 * Contact: dev@geoengine.de * Generated by: https://openapi-generator.tech */ 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 index b7d667c7..fdd0b161 100644 --- a/rust/src/models/ogr_source_dataset_time_type_start_end.rs +++ b/rust/src/models/ogr_source_dataset_time_type_start_end.rs @@ -3,7 +3,7 @@ * * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) * - * The version of the OpenAPI document: 0.8.0 + * The version of the OpenAPI document: 0.9.0 * Contact: dev@geoengine.de * Generated by: https://openapi-generator.tech */ diff --git a/rust/src/models/ogr_source_duration_spec.rs b/rust/src/models/ogr_source_duration_spec.rs index f468e90e..4e8ab26d 100644 --- a/rust/src/models/ogr_source_duration_spec.rs +++ b/rust/src/models/ogr_source_duration_spec.rs @@ -3,7 +3,7 @@ * * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) * - * The version of the OpenAPI document: 0.8.0 + * The version of the OpenAPI document: 0.9.0 * Contact: dev@geoengine.de * Generated by: https://openapi-generator.tech */ diff --git a/rust/src/models/ogr_source_duration_spec_infinite.rs b/rust/src/models/ogr_source_duration_spec_infinite.rs index 01864e60..9fd4fcaa 100644 --- a/rust/src/models/ogr_source_duration_spec_infinite.rs +++ b/rust/src/models/ogr_source_duration_spec_infinite.rs @@ -3,7 +3,7 @@ * * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) * - * The version of the OpenAPI document: 0.8.0 + * The version of the OpenAPI document: 0.9.0 * Contact: dev@geoengine.de * Generated by: https://openapi-generator.tech */ diff --git a/rust/src/models/ogr_source_duration_spec_value.rs b/rust/src/models/ogr_source_duration_spec_value.rs index ba594ecb..950e2c4e 100644 --- a/rust/src/models/ogr_source_duration_spec_value.rs +++ b/rust/src/models/ogr_source_duration_spec_value.rs @@ -3,7 +3,7 @@ * * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) * - * The version of the OpenAPI document: 0.8.0 + * The version of the OpenAPI document: 0.9.0 * Contact: dev@geoengine.de * Generated by: https://openapi-generator.tech */ diff --git a/rust/src/models/ogr_source_duration_spec_zero.rs b/rust/src/models/ogr_source_duration_spec_zero.rs index 27ba3950..e31dfe6e 100644 --- a/rust/src/models/ogr_source_duration_spec_zero.rs +++ b/rust/src/models/ogr_source_duration_spec_zero.rs @@ -3,7 +3,7 @@ * * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) * - * The version of the OpenAPI document: 0.8.0 + * The version of the OpenAPI document: 0.9.0 * Contact: dev@geoengine.de * Generated by: https://openapi-generator.tech */ diff --git a/rust/src/models/ogr_source_error_spec.rs b/rust/src/models/ogr_source_error_spec.rs index 5e9f2954..7c1d0ad5 100644 --- a/rust/src/models/ogr_source_error_spec.rs +++ b/rust/src/models/ogr_source_error_spec.rs @@ -3,7 +3,7 @@ * * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) * - * The version of the OpenAPI document: 0.8.0 + * The version of the OpenAPI document: 0.9.0 * Contact: dev@geoengine.de * Generated by: https://openapi-generator.tech */ diff --git a/rust/src/models/ogr_source_time_format.rs b/rust/src/models/ogr_source_time_format.rs index 5fbb434e..da56fad7 100644 --- a/rust/src/models/ogr_source_time_format.rs +++ b/rust/src/models/ogr_source_time_format.rs @@ -3,7 +3,7 @@ * * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) * - * The version of the OpenAPI document: 0.8.0 + * The version of the OpenAPI document: 0.9.0 * Contact: dev@geoengine.de * Generated by: https://openapi-generator.tech */ diff --git a/rust/src/models/ogr_source_time_format_auto.rs b/rust/src/models/ogr_source_time_format_auto.rs index c036eb87..4b5824f2 100644 --- a/rust/src/models/ogr_source_time_format_auto.rs +++ b/rust/src/models/ogr_source_time_format_auto.rs @@ -3,7 +3,7 @@ * * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) * - * The version of the OpenAPI document: 0.8.0 + * The version of the OpenAPI document: 0.9.0 * Contact: dev@geoengine.de * Generated by: https://openapi-generator.tech */ diff --git a/rust/src/models/ogr_source_time_format_custom.rs b/rust/src/models/ogr_source_time_format_custom.rs index dd9c7e2c..1d3e9ce3 100644 --- a/rust/src/models/ogr_source_time_format_custom.rs +++ b/rust/src/models/ogr_source_time_format_custom.rs @@ -3,7 +3,7 @@ * * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) * - * The version of the OpenAPI document: 0.8.0 + * The version of the OpenAPI document: 0.9.0 * Contact: dev@geoengine.de * Generated by: https://openapi-generator.tech */ 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 index e31a1402..ce4fb2e0 100644 --- a/rust/src/models/ogr_source_time_format_unix_time_stamp.rs +++ b/rust/src/models/ogr_source_time_format_unix_time_stamp.rs @@ -3,7 +3,7 @@ * * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) * - * The version of the OpenAPI document: 0.8.0 + * The version of the OpenAPI document: 0.9.0 * Contact: dev@geoengine.de * Generated by: https://openapi-generator.tech */ diff --git a/rust/src/models/operator_quota.rs b/rust/src/models/operator_quota.rs index b70071cc..b4487329 100644 --- a/rust/src/models/operator_quota.rs +++ b/rust/src/models/operator_quota.rs @@ -3,7 +3,7 @@ * * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) * - * The version of the OpenAPI document: 0.8.0 + * The version of the OpenAPI document: 0.9.0 * Contact: dev@geoengine.de * Generated by: https://openapi-generator.tech */ diff --git a/rust/src/models/order_by.rs b/rust/src/models/order_by.rs index d0a40e89..b2b732cb 100644 --- a/rust/src/models/order_by.rs +++ b/rust/src/models/order_by.rs @@ -3,7 +3,7 @@ * * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) * - * The version of the OpenAPI document: 0.8.0 + * The version of the OpenAPI document: 0.9.0 * Contact: dev@geoengine.de * Generated by: https://openapi-generator.tech */ diff --git a/rust/src/models/palette_colorizer.rs b/rust/src/models/palette_colorizer.rs index a3afd055..fa61fa7b 100644 --- a/rust/src/models/palette_colorizer.rs +++ b/rust/src/models/palette_colorizer.rs @@ -3,7 +3,7 @@ * * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) * - * The version of the OpenAPI document: 0.8.0 + * The version of the OpenAPI document: 0.9.0 * Contact: dev@geoengine.de * Generated by: https://openapi-generator.tech */ diff --git a/rust/src/models/pangaea_data_provider_definition.rs b/rust/src/models/pangaea_data_provider_definition.rs index 1bbec815..91e9b641 100644 --- a/rust/src/models/pangaea_data_provider_definition.rs +++ b/rust/src/models/pangaea_data_provider_definition.rs @@ -3,7 +3,7 @@ * * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) * - * The version of the OpenAPI document: 0.8.0 + * The version of the OpenAPI document: 0.9.0 * Contact: dev@geoengine.de * Generated by: https://openapi-generator.tech */ diff --git a/rust/src/models/permission.rs b/rust/src/models/permission.rs index 520caded..190ffb62 100644 --- a/rust/src/models/permission.rs +++ b/rust/src/models/permission.rs @@ -3,7 +3,7 @@ * * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) * - * The version of the OpenAPI document: 0.8.0 + * The version of the OpenAPI document: 0.9.0 * Contact: dev@geoengine.de * Generated by: https://openapi-generator.tech */ diff --git a/rust/src/models/permission_list_options.rs b/rust/src/models/permission_list_options.rs index 1f5fd50d..353f0218 100644 --- a/rust/src/models/permission_list_options.rs +++ b/rust/src/models/permission_list_options.rs @@ -3,7 +3,7 @@ * * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) * - * The version of the OpenAPI document: 0.8.0 + * The version of the OpenAPI document: 0.9.0 * Contact: dev@geoengine.de * Generated by: https://openapi-generator.tech */ diff --git a/rust/src/models/permission_listing.rs b/rust/src/models/permission_listing.rs index be04680c..582ec8c7 100644 --- a/rust/src/models/permission_listing.rs +++ b/rust/src/models/permission_listing.rs @@ -3,7 +3,7 @@ * * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) * - * The version of the OpenAPI document: 0.8.0 + * The version of the OpenAPI document: 0.9.0 * Contact: dev@geoengine.de * Generated by: https://openapi-generator.tech */ diff --git a/rust/src/models/permission_request.rs b/rust/src/models/permission_request.rs index c1009396..4f38633b 100644 --- a/rust/src/models/permission_request.rs +++ b/rust/src/models/permission_request.rs @@ -3,7 +3,7 @@ * * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) * - * The version of the OpenAPI document: 0.8.0 + * The version of the OpenAPI document: 0.9.0 * Contact: dev@geoengine.de * Generated by: https://openapi-generator.tech */ diff --git a/rust/src/models/plot.rs b/rust/src/models/plot.rs index 0c2df816..3434eff2 100644 --- a/rust/src/models/plot.rs +++ b/rust/src/models/plot.rs @@ -3,7 +3,7 @@ * * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) * - * The version of the OpenAPI document: 0.8.0 + * The version of the OpenAPI document: 0.9.0 * Contact: dev@geoengine.de * Generated by: https://openapi-generator.tech */ diff --git a/rust/src/models/plot_output_format.rs b/rust/src/models/plot_output_format.rs index 821091df..c26b657b 100644 --- a/rust/src/models/plot_output_format.rs +++ b/rust/src/models/plot_output_format.rs @@ -3,7 +3,7 @@ * * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) * - * The version of the OpenAPI document: 0.8.0 + * The version of the OpenAPI document: 0.9.0 * Contact: dev@geoengine.de * Generated by: https://openapi-generator.tech */ diff --git a/rust/src/models/plot_result_descriptor.rs b/rust/src/models/plot_result_descriptor.rs index a04fae18..a774ad2b 100644 --- a/rust/src/models/plot_result_descriptor.rs +++ b/rust/src/models/plot_result_descriptor.rs @@ -3,7 +3,7 @@ * * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) * - * The version of the OpenAPI document: 0.8.0 + * The version of the OpenAPI document: 0.9.0 * Contact: dev@geoengine.de * Generated by: https://openapi-generator.tech */ diff --git a/rust/src/models/point_symbology.rs b/rust/src/models/point_symbology.rs index c0946444..0c2940f0 100644 --- a/rust/src/models/point_symbology.rs +++ b/rust/src/models/point_symbology.rs @@ -3,7 +3,7 @@ * * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) * - * The version of the OpenAPI document: 0.8.0 + * The version of the OpenAPI document: 0.9.0 * Contact: dev@geoengine.de * Generated by: https://openapi-generator.tech */ diff --git a/rust/src/models/polygon_symbology.rs b/rust/src/models/polygon_symbology.rs index d809e8b1..e9518815 100644 --- a/rust/src/models/polygon_symbology.rs +++ b/rust/src/models/polygon_symbology.rs @@ -3,7 +3,7 @@ * * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) * - * The version of the OpenAPI document: 0.8.0 + * The version of the OpenAPI document: 0.9.0 * Contact: dev@geoengine.de * Generated by: https://openapi-generator.tech */ diff --git a/rust/src/models/project.rs b/rust/src/models/project.rs index 3c16c1e1..6cbd7fcf 100644 --- a/rust/src/models/project.rs +++ b/rust/src/models/project.rs @@ -3,7 +3,7 @@ * * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) * - * The version of the OpenAPI document: 0.8.0 + * The version of the OpenAPI document: 0.9.0 * Contact: dev@geoengine.de * Generated by: https://openapi-generator.tech */ diff --git a/rust/src/models/project_layer.rs b/rust/src/models/project_layer.rs index f66c0de7..2914f94a 100644 --- a/rust/src/models/project_layer.rs +++ b/rust/src/models/project_layer.rs @@ -3,7 +3,7 @@ * * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) * - * The version of the OpenAPI document: 0.8.0 + * The version of the OpenAPI document: 0.9.0 * Contact: dev@geoengine.de * Generated by: https://openapi-generator.tech */ diff --git a/rust/src/models/project_listing.rs b/rust/src/models/project_listing.rs index 9d0743b5..35ca513a 100644 --- a/rust/src/models/project_listing.rs +++ b/rust/src/models/project_listing.rs @@ -3,7 +3,7 @@ * * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) * - * The version of the OpenAPI document: 0.8.0 + * The version of the OpenAPI document: 0.9.0 * Contact: dev@geoengine.de * Generated by: https://openapi-generator.tech */ diff --git a/rust/src/models/project_resource.rs b/rust/src/models/project_resource.rs index a2d563ec..3c07dc7f 100644 --- a/rust/src/models/project_resource.rs +++ b/rust/src/models/project_resource.rs @@ -3,7 +3,7 @@ * * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) * - * The version of the OpenAPI document: 0.8.0 + * The version of the OpenAPI document: 0.9.0 * Contact: dev@geoengine.de * Generated by: https://openapi-generator.tech */ diff --git a/rust/src/models/project_update_token.rs b/rust/src/models/project_update_token.rs index 6e1d686c..22932758 100644 --- a/rust/src/models/project_update_token.rs +++ b/rust/src/models/project_update_token.rs @@ -3,7 +3,7 @@ * * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) * - * The version of the OpenAPI document: 0.8.0 + * The version of the OpenAPI document: 0.9.0 * Contact: dev@geoengine.de * Generated by: https://openapi-generator.tech */ diff --git a/rust/src/models/project_version.rs b/rust/src/models/project_version.rs index f03c1ccb..31200b58 100644 --- a/rust/src/models/project_version.rs +++ b/rust/src/models/project_version.rs @@ -3,7 +3,7 @@ * * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) * - * The version of the OpenAPI document: 0.8.0 + * The version of the OpenAPI document: 0.9.0 * Contact: dev@geoengine.de * Generated by: https://openapi-generator.tech */ diff --git a/rust/src/models/provenance.rs b/rust/src/models/provenance.rs index 865bbecd..5d5aea10 100644 --- a/rust/src/models/provenance.rs +++ b/rust/src/models/provenance.rs @@ -3,7 +3,7 @@ * * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) * - * The version of the OpenAPI document: 0.8.0 + * The version of the OpenAPI document: 0.9.0 * Contact: dev@geoengine.de * Generated by: https://openapi-generator.tech */ diff --git a/rust/src/models/provenance_entry.rs b/rust/src/models/provenance_entry.rs index 0fe2f36d..1a6b6637 100644 --- a/rust/src/models/provenance_entry.rs +++ b/rust/src/models/provenance_entry.rs @@ -3,7 +3,7 @@ * * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) * - * The version of the OpenAPI document: 0.8.0 + * The version of the OpenAPI document: 0.9.0 * Contact: dev@geoengine.de * Generated by: https://openapi-generator.tech */ diff --git a/rust/src/models/provenance_output.rs b/rust/src/models/provenance_output.rs index 8c293a1d..deff6eb2 100644 --- a/rust/src/models/provenance_output.rs +++ b/rust/src/models/provenance_output.rs @@ -3,7 +3,7 @@ * * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) * - * The version of the OpenAPI document: 0.8.0 + * The version of the OpenAPI document: 0.9.0 * Contact: dev@geoengine.de * Generated by: https://openapi-generator.tech */ diff --git a/rust/src/models/provenances.rs b/rust/src/models/provenances.rs index 539c8eb0..e0b9d2ef 100644 --- a/rust/src/models/provenances.rs +++ b/rust/src/models/provenances.rs @@ -3,7 +3,7 @@ * * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) * - * The version of the OpenAPI document: 0.8.0 + * The version of the OpenAPI document: 0.9.0 * Contact: dev@geoengine.de * Generated by: https://openapi-generator.tech */ diff --git a/rust/src/models/provider_capabilities.rs b/rust/src/models/provider_capabilities.rs index 9105d863..f6e46656 100644 --- a/rust/src/models/provider_capabilities.rs +++ b/rust/src/models/provider_capabilities.rs @@ -3,7 +3,7 @@ * * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) * - * The version of the OpenAPI document: 0.8.0 + * The version of the OpenAPI document: 0.9.0 * Contact: dev@geoengine.de * Generated by: https://openapi-generator.tech */ diff --git a/rust/src/models/provider_layer_collection_id.rs b/rust/src/models/provider_layer_collection_id.rs index 7a4a8eae..b3769071 100644 --- a/rust/src/models/provider_layer_collection_id.rs +++ b/rust/src/models/provider_layer_collection_id.rs @@ -3,7 +3,7 @@ * * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) * - * The version of the OpenAPI document: 0.8.0 + * The version of the OpenAPI document: 0.9.0 * Contact: dev@geoengine.de * Generated by: https://openapi-generator.tech */ diff --git a/rust/src/models/provider_layer_id.rs b/rust/src/models/provider_layer_id.rs index 701cdf21..bbcec78c 100644 --- a/rust/src/models/provider_layer_id.rs +++ b/rust/src/models/provider_layer_id.rs @@ -3,7 +3,7 @@ * * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) * - * The version of the OpenAPI document: 0.8.0 + * The version of the OpenAPI document: 0.9.0 * Contact: dev@geoengine.de * Generated by: https://openapi-generator.tech */ diff --git a/rust/src/models/quota.rs b/rust/src/models/quota.rs index 071e072f..439cfc3f 100644 --- a/rust/src/models/quota.rs +++ b/rust/src/models/quota.rs @@ -3,7 +3,7 @@ * * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) * - * The version of the OpenAPI document: 0.8.0 + * The version of the OpenAPI document: 0.9.0 * Contact: dev@geoengine.de * Generated by: https://openapi-generator.tech */ diff --git a/rust/src/models/raster_band_descriptor.rs b/rust/src/models/raster_band_descriptor.rs index d0c267a9..699a4ffb 100644 --- a/rust/src/models/raster_band_descriptor.rs +++ b/rust/src/models/raster_band_descriptor.rs @@ -3,7 +3,7 @@ * * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) * - * The version of the OpenAPI document: 0.8.0 + * The version of the OpenAPI document: 0.9.0 * Contact: dev@geoengine.de * Generated by: https://openapi-generator.tech */ diff --git a/rust/src/models/raster_colorizer.rs b/rust/src/models/raster_colorizer.rs index 3c645b2a..cf4839a8 100644 --- a/rust/src/models/raster_colorizer.rs +++ b/rust/src/models/raster_colorizer.rs @@ -3,7 +3,7 @@ * * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) * - * The version of the OpenAPI document: 0.8.0 + * The version of the OpenAPI document: 0.9.0 * Contact: dev@geoengine.de * Generated by: https://openapi-generator.tech */ diff --git a/rust/src/models/raster_data_type.rs b/rust/src/models/raster_data_type.rs index 5233feb5..90b3b952 100644 --- a/rust/src/models/raster_data_type.rs +++ b/rust/src/models/raster_data_type.rs @@ -3,7 +3,7 @@ * * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) * - * The version of the OpenAPI document: 0.8.0 + * The version of the OpenAPI document: 0.9.0 * Contact: dev@geoengine.de * Generated by: https://openapi-generator.tech */ diff --git a/rust/src/models/raster_dataset_from_workflow.rs b/rust/src/models/raster_dataset_from_workflow.rs index 1d7e550d..dc066ddb 100644 --- a/rust/src/models/raster_dataset_from_workflow.rs +++ b/rust/src/models/raster_dataset_from_workflow.rs @@ -3,7 +3,7 @@ * * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) * - * The version of the OpenAPI document: 0.8.0 + * The version of the OpenAPI document: 0.9.0 * Contact: dev@geoengine.de * Generated by: https://openapi-generator.tech */ @@ -23,12 +23,12 @@ pub struct RasterDatasetFromWorkflow { #[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, + pub query: Box, } impl RasterDatasetFromWorkflow { /// parameter for the dataset from workflow handler (body) - pub fn new(display_name: String, query: models::RasterQueryRectangle) -> RasterDatasetFromWorkflow { + pub fn new(display_name: String, query: models::RasterToDatasetQueryRectangle) -> RasterDatasetFromWorkflow { RasterDatasetFromWorkflow { as_cog: None, description: None, diff --git a/rust/src/models/raster_dataset_from_workflow_result.rs b/rust/src/models/raster_dataset_from_workflow_result.rs index 9f133522..01591421 100644 --- a/rust/src/models/raster_dataset_from_workflow_result.rs +++ b/rust/src/models/raster_dataset_from_workflow_result.rs @@ -3,7 +3,7 @@ * * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) * - * The version of the OpenAPI document: 0.8.0 + * The version of the OpenAPI document: 0.9.0 * Contact: dev@geoengine.de * Generated by: https://openapi-generator.tech */ diff --git a/rust/src/models/raster_properties_entry_type.rs b/rust/src/models/raster_properties_entry_type.rs index 188f8fdb..370bd110 100644 --- a/rust/src/models/raster_properties_entry_type.rs +++ b/rust/src/models/raster_properties_entry_type.rs @@ -3,7 +3,7 @@ * * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) * - * The version of the OpenAPI document: 0.8.0 + * The version of the OpenAPI document: 0.9.0 * Contact: dev@geoengine.de * Generated by: https://openapi-generator.tech */ diff --git a/rust/src/models/raster_properties_key.rs b/rust/src/models/raster_properties_key.rs index 9312c1a5..5ea5a958 100644 --- a/rust/src/models/raster_properties_key.rs +++ b/rust/src/models/raster_properties_key.rs @@ -3,7 +3,7 @@ * * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) * - * The version of the OpenAPI document: 0.8.0 + * The version of the OpenAPI document: 0.9.0 * Contact: dev@geoengine.de * Generated by: https://openapi-generator.tech */ diff --git a/rust/src/models/raster_result_descriptor.rs b/rust/src/models/raster_result_descriptor.rs index eb7853b3..d9423ab4 100644 --- a/rust/src/models/raster_result_descriptor.rs +++ b/rust/src/models/raster_result_descriptor.rs @@ -3,7 +3,7 @@ * * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) * - * The version of the OpenAPI document: 0.8.0 + * The version of the OpenAPI document: 0.9.0 * Contact: dev@geoengine.de * Generated by: https://openapi-generator.tech */ @@ -16,28 +16,25 @@ use serde::{Deserialize, Serialize}; pub struct RasterResultDescriptor { #[serde(rename = "bands")] pub bands: Vec, - #[serde(rename = "bbox", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")] - pub bbox: Option>>, #[serde(rename = "dataType")] pub data_type: models::RasterDataType, - #[serde(rename = "resolution", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")] - pub resolution: Option>>, + #[serde(rename = "spatialGrid")] + pub spatial_grid: Box, #[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>>, + #[serde(rename = "time")] + pub time: Box, } impl RasterResultDescriptor { /// A `ResultDescriptor` for raster queries - pub fn new(bands: Vec, data_type: models::RasterDataType, spatial_reference: String) -> RasterResultDescriptor { + pub fn new(bands: Vec, data_type: models::RasterDataType, spatial_grid: models::SpatialGridDescriptor, spatial_reference: String, time: models::TimeDescriptor) -> RasterResultDescriptor { RasterResultDescriptor { bands, - bbox: None, data_type, - resolution: None, + spatial_grid: Box::new(spatial_grid), spatial_reference, - time: None, + 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 index f7dfd3e6..d086de6a 100644 --- a/rust/src/models/raster_stream_websocket_result_type.rs +++ b/rust/src/models/raster_stream_websocket_result_type.rs @@ -3,7 +3,7 @@ * * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) * - * The version of the OpenAPI document: 0.8.0 + * The version of the OpenAPI document: 0.9.0 * Contact: dev@geoengine.de * Generated by: https://openapi-generator.tech */ diff --git a/rust/src/models/raster_symbology.rs b/rust/src/models/raster_symbology.rs index 347677c9..215bef4d 100644 --- a/rust/src/models/raster_symbology.rs +++ b/rust/src/models/raster_symbology.rs @@ -3,7 +3,7 @@ * * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) * - * The version of the OpenAPI document: 0.8.0 + * The version of the OpenAPI document: 0.9.0 * Contact: dev@geoengine.de * Generated by: https://openapi-generator.tech */ 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..4e222e94 --- /dev/null +++ b/rust/src/models/raster_vector_join.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}; + +/// RasterVectorJoin : # 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. ## Example JSON ```json { \"type\": \"RasterVectorJoin\", \"params\": { \"names\": [\"NDVI\"], \"featureAggregation\": \"first\", \"temporalAggregation\": \"mean\", \"temporalAggregationIgnoreNoData\": true }, \"sources\": { \"vector\": { \"type\": \"OgrSource\", \"params\": { \"data\": \"places\" } }, \"rasters\": [ { \"type\": \"GdalSource\", \"params\": { \"data\": \"ndvi\" } } ] } } ``` +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct RasterVectorJoin { + #[serde(rename = "params")] + pub params: Box, + #[serde(rename = "type")] + pub r#type: Type, +} + +impl RasterVectorJoin { + /// # 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. ## Example JSON ```json { \"type\": \"RasterVectorJoin\", \"params\": { \"names\": [\"NDVI\"], \"featureAggregation\": \"first\", \"temporalAggregation\": \"mean\", \"temporalAggregationIgnoreNoData\": true }, \"sources\": { \"vector\": { \"type\": \"OgrSource\", \"params\": { \"data\": \"places\" } }, \"rasters\": [ { \"type\": \"GdalSource\", \"params\": { \"data\": \"ndvi\" } } ] } } ``` + pub fn new(params: models::RasterVectorJoinParameters, r#type: Type) -> RasterVectorJoin { + RasterVectorJoin { + params: Box::new(params), + 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..03e0f986 --- /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. | Value | Description | | ---------------------------------------- | ---------------------------------------------------------------------------- | | `{\"type\": \"default\"}` | Appends \" (n)\" to the band name with the smallest `n` that avoids a conflict | | `{\"type\": \"suffix\", \"values\": [string]}` | Specifies a suffix for each input, to be appended to the band names | | `{\"type\": \"rename\", \"values\": [string]}` | 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 index 3550df42..bf13fb82 100644 --- a/rust/src/models/resource.rs +++ b/rust/src/models/resource.rs @@ -3,7 +3,7 @@ * * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) * - * The version of the OpenAPI document: 0.8.0 + * The version of the OpenAPI document: 0.9.0 * Contact: dev@geoengine.de * Generated by: https://openapi-generator.tech */ diff --git a/rust/src/models/role.rs b/rust/src/models/role.rs index 97350193..9910a7cd 100644 --- a/rust/src/models/role.rs +++ b/rust/src/models/role.rs @@ -3,7 +3,7 @@ * * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) * - * The version of the OpenAPI document: 0.8.0 + * The version of the OpenAPI document: 0.9.0 * Contact: dev@geoengine.de * Generated by: https://openapi-generator.tech */ diff --git a/rust/src/models/role_description.rs b/rust/src/models/role_description.rs index 0336d834..e0f5b063 100644 --- a/rust/src/models/role_description.rs +++ b/rust/src/models/role_description.rs @@ -3,7 +3,7 @@ * * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) * - * The version of the OpenAPI document: 0.8.0 + * The version of the OpenAPI document: 0.9.0 * Contact: dev@geoengine.de * Generated by: https://openapi-generator.tech */ diff --git a/rust/src/models/search_capabilities.rs b/rust/src/models/search_capabilities.rs index 22d0be5a..88f86535 100644 --- a/rust/src/models/search_capabilities.rs +++ b/rust/src/models/search_capabilities.rs @@ -3,7 +3,7 @@ * * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) * - * The version of the OpenAPI document: 0.8.0 + * The version of the OpenAPI document: 0.9.0 * Contact: dev@geoengine.de * Generated by: https://openapi-generator.tech */ diff --git a/rust/src/models/search_type.rs b/rust/src/models/search_type.rs index b2b2d2eb..8013ee1a 100644 --- a/rust/src/models/search_type.rs +++ b/rust/src/models/search_type.rs @@ -3,7 +3,7 @@ * * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) * - * The version of the OpenAPI document: 0.8.0 + * The version of the OpenAPI document: 0.9.0 * Contact: dev@geoengine.de * Generated by: https://openapi-generator.tech */ diff --git a/rust/src/models/search_types.rs b/rust/src/models/search_types.rs index 93623503..59091b5a 100644 --- a/rust/src/models/search_types.rs +++ b/rust/src/models/search_types.rs @@ -3,7 +3,7 @@ * * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) * - * The version of the OpenAPI document: 0.8.0 + * The version of the OpenAPI document: 0.9.0 * Contact: dev@geoengine.de * Generated by: https://openapi-generator.tech */ 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 index fbf8e047..85a1a8ee 100644 --- a/rust/src/models/sentinel_s2_l2_a_cogs_provider_definition.rs +++ b/rust/src/models/sentinel_s2_l2_a_cogs_provider_definition.rs @@ -3,7 +3,7 @@ * * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) * - * The version of the OpenAPI document: 0.8.0 + * The version of the OpenAPI document: 0.9.0 * Contact: dev@geoengine.de * Generated by: https://openapi-generator.tech */ @@ -15,8 +15,6 @@ use serde::{Deserialize, Serialize}; pub struct SentinelS2L2ACogsProviderDefinition { #[serde(rename = "apiUrl")] pub api_url: String, - #[serde(rename = "bands")] - pub bands: Vec, #[serde(rename = "cacheTtl", skip_serializing_if = "Option::is_none")] pub cache_ttl: Option, #[serde(rename = "description")] @@ -35,15 +33,12 @@ pub struct SentinelS2L2ACogsProviderDefinition { pub stac_api_retries: Option>, #[serde(rename = "type")] pub r#type: Type, - #[serde(rename = "zones")] - pub zones: Vec, } impl SentinelS2L2ACogsProviderDefinition { - pub fn new(api_url: String, bands: Vec, description: String, id: uuid::Uuid, name: String, r#type: Type, zones: Vec) -> SentinelS2L2ACogsProviderDefinition { + pub fn new(api_url: String, description: String, id: uuid::Uuid, name: String, r#type: Type) -> SentinelS2L2ACogsProviderDefinition { SentinelS2L2ACogsProviderDefinition { api_url, - bands, cache_ttl: None, description, gdal_retries: None, @@ -53,7 +48,6 @@ impl SentinelS2L2ACogsProviderDefinition { query_buffer: None, stac_api_retries: None, r#type, - zones, } } } diff --git a/rust/src/models/server_info.rs b/rust/src/models/server_info.rs index 0455db48..48593a9a 100644 --- a/rust/src/models/server_info.rs +++ b/rust/src/models/server_info.rs @@ -3,7 +3,7 @@ * * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) * - * The version of the OpenAPI document: 0.8.0 + * The version of the OpenAPI document: 0.9.0 * Contact: dev@geoengine.de * Generated by: https://openapi-generator.tech */ diff --git a/rust/src/models/single_band_raster_colorizer.rs b/rust/src/models/single_band_raster_colorizer.rs index f2b19859..27278e76 100644 --- a/rust/src/models/single_band_raster_colorizer.rs +++ b/rust/src/models/single_band_raster_colorizer.rs @@ -3,7 +3,7 @@ * * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) * - * The version of the OpenAPI document: 0.8.0 + * The version of the OpenAPI document: 0.9.0 * Contact: dev@geoengine.de * Generated by: https://openapi-generator.tech */ diff --git a/rust/src/models/spatial_bounds_derive.rs b/rust/src/models/spatial_bounds_derive.rs new file mode 100644 index 00000000..98306deb --- /dev/null +++ b/rust/src/models/spatial_bounds_derive.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}; + +/// SpatialBoundsDerive : Spatial bounds derivation options for the [`MockPointSource`]. +/// Spatial bounds derivation options for the [`MockPointSource`]. +#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)] +#[serde(untagged)] +pub enum SpatialBoundsDerive { + SpatialBoundsDeriveOneOf(Box), + SpatialBoundsDeriveOneOf1(Box), + SpatialBoundsDeriveOneOf2(Box), +} + +impl Default for SpatialBoundsDerive { + fn default() -> Self { + Self::SpatialBoundsDeriveOneOf(Default::default()) + } +} +/// +#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)] +pub enum Type { + #[serde(rename = "derive")] + Derive, + #[serde(rename = "bounds")] + Bounds, + #[serde(rename = "none")] + None, +} + +impl Default for Type { + fn default() -> Type { + Self::Derive + } +} + diff --git a/rust/src/models/spatial_bounds_derive_one_of.rs b/rust/src/models/spatial_bounds_derive_one_of.rs new file mode 100644 index 00000000..e9fd7ba8 --- /dev/null +++ b/rust/src/models/spatial_bounds_derive_one_of.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 SpatialBoundsDeriveOneOf { + #[serde(rename = "type")] + pub r#type: Type, +} + +impl SpatialBoundsDeriveOneOf { + pub fn new(r#type: Type) -> SpatialBoundsDeriveOneOf { + SpatialBoundsDeriveOneOf { + 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_one_of_1.rs b/rust/src/models/spatial_bounds_derive_one_of_1.rs new file mode 100644 index 00000000..6ca76e60 --- /dev/null +++ b/rust/src/models/spatial_bounds_derive_one_of_1.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 SpatialBoundsDeriveOneOf1 { + #[serde(rename = "lowerLeftCoordinate")] + pub lower_left_coordinate: Box, + #[serde(rename = "upperRightCoordinate")] + pub upper_right_coordinate: Box, + #[serde(rename = "type")] + pub r#type: Type, +} + +impl SpatialBoundsDeriveOneOf1 { + pub fn new(lower_left_coordinate: models::Coordinate2D, upper_right_coordinate: models::Coordinate2D, r#type: Type) -> SpatialBoundsDeriveOneOf1 { + SpatialBoundsDeriveOneOf1 { + 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_one_of_2.rs b/rust/src/models/spatial_bounds_derive_one_of_2.rs new file mode 100644 index 00000000..d633e05e --- /dev/null +++ b/rust/src/models/spatial_bounds_derive_one_of_2.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 SpatialBoundsDeriveOneOf2 { + #[serde(rename = "type")] + pub r#type: Type, +} + +impl SpatialBoundsDeriveOneOf2 { + pub fn new(r#type: Type) -> SpatialBoundsDeriveOneOf2 { + SpatialBoundsDeriveOneOf2 { + 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 index 74483ebb..74a4331d 100644 --- a/rust/src/models/spatial_partition2_d.rs +++ b/rust/src/models/spatial_partition2_d.rs @@ -3,7 +3,7 @@ * * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) * - * The version of the OpenAPI document: 0.8.0 + * The version of the OpenAPI document: 0.9.0 * Contact: dev@geoengine.de * Generated by: https://openapi-generator.tech */ diff --git a/rust/src/models/spatial_reference_authority.rs b/rust/src/models/spatial_reference_authority.rs index bab17473..8826a9ac 100644 --- a/rust/src/models/spatial_reference_authority.rs +++ b/rust/src/models/spatial_reference_authority.rs @@ -3,7 +3,7 @@ * * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) * - * The version of the OpenAPI document: 0.8.0 + * The version of the OpenAPI document: 0.9.0 * Contact: dev@geoengine.de * Generated by: https://openapi-generator.tech */ diff --git a/rust/src/models/spatial_reference_specification.rs b/rust/src/models/spatial_reference_specification.rs index 441a1b74..6f4df8c6 100644 --- a/rust/src/models/spatial_reference_specification.rs +++ b/rust/src/models/spatial_reference_specification.rs @@ -3,7 +3,7 @@ * * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) * - * The version of the OpenAPI document: 0.8.0 + * The version of the OpenAPI document: 0.9.0 * Contact: dev@geoengine.de * Generated by: https://openapi-generator.tech */ diff --git a/rust/src/models/spatial_resolution.rs b/rust/src/models/spatial_resolution.rs index 7a31697b..a8c7428c 100644 --- a/rust/src/models/spatial_resolution.rs +++ b/rust/src/models/spatial_resolution.rs @@ -3,7 +3,7 @@ * * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) * - * The version of the OpenAPI document: 0.8.0 + * The version of the OpenAPI document: 0.9.0 * Contact: dev@geoengine.de * Generated by: https://openapi-generator.tech */ diff --git a/rust/src/models/st_rectangle.rs b/rust/src/models/st_rectangle.rs index 210081c4..45045a90 100644 --- a/rust/src/models/st_rectangle.rs +++ b/rust/src/models/st_rectangle.rs @@ -3,7 +3,7 @@ * * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) * - * The version of the OpenAPI document: 0.8.0 + * The version of the OpenAPI document: 0.9.0 * Contact: dev@geoengine.de * Generated by: https://openapi-generator.tech */ diff --git a/rust/src/models/stac_api_retries.rs b/rust/src/models/stac_api_retries.rs index 79037048..40f6d527 100644 --- a/rust/src/models/stac_api_retries.rs +++ b/rust/src/models/stac_api_retries.rs @@ -3,7 +3,7 @@ * * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) * - * The version of the OpenAPI document: 0.8.0 + * The version of the OpenAPI document: 0.9.0 * Contact: dev@geoengine.de * Generated by: https://openapi-generator.tech */ diff --git a/rust/src/models/stac_query_buffer.rs b/rust/src/models/stac_query_buffer.rs index c5104c7b..bd7aa29d 100644 --- a/rust/src/models/stac_query_buffer.rs +++ b/rust/src/models/stac_query_buffer.rs @@ -3,7 +3,7 @@ * * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) * - * The version of the OpenAPI document: 0.8.0 + * The version of the OpenAPI document: 0.9.0 * Contact: dev@geoengine.de * Generated by: https://openapi-generator.tech */ diff --git a/rust/src/models/static_color.rs b/rust/src/models/static_color.rs index 170e0bb2..4e0bf62c 100644 --- a/rust/src/models/static_color.rs +++ b/rust/src/models/static_color.rs @@ -3,7 +3,7 @@ * * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) * - * The version of the OpenAPI document: 0.8.0 + * The version of the OpenAPI document: 0.9.0 * Contact: dev@geoengine.de * Generated by: https://openapi-generator.tech */ diff --git a/rust/src/models/static_number.rs b/rust/src/models/static_number.rs index 9764cd3d..23d27290 100644 --- a/rust/src/models/static_number.rs +++ b/rust/src/models/static_number.rs @@ -3,7 +3,7 @@ * * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) * - * The version of the OpenAPI document: 0.8.0 + * The version of the OpenAPI document: 0.9.0 * Contact: dev@geoengine.de * Generated by: https://openapi-generator.tech */ diff --git a/rust/src/models/stroke_param.rs b/rust/src/models/stroke_param.rs index 5a58fae5..6f9cbadd 100644 --- a/rust/src/models/stroke_param.rs +++ b/rust/src/models/stroke_param.rs @@ -3,7 +3,7 @@ * * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) * - * The version of the OpenAPI document: 0.8.0 + * The version of the OpenAPI document: 0.9.0 * Contact: dev@geoengine.de * Generated by: https://openapi-generator.tech */ diff --git a/rust/src/models/suggest_meta_data.rs b/rust/src/models/suggest_meta_data.rs index da13f76d..2dc3ecb2 100644 --- a/rust/src/models/suggest_meta_data.rs +++ b/rust/src/models/suggest_meta_data.rs @@ -3,7 +3,7 @@ * * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) * - * The version of the OpenAPI document: 0.8.0 + * The version of the OpenAPI document: 0.9.0 * Contact: dev@geoengine.de * Generated by: https://openapi-generator.tech */ diff --git a/rust/src/models/symbology.rs b/rust/src/models/symbology.rs index 3349a27c..9ed3be3f 100644 --- a/rust/src/models/symbology.rs +++ b/rust/src/models/symbology.rs @@ -3,7 +3,7 @@ * * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) * - * The version of the OpenAPI document: 0.8.0 + * The version of the OpenAPI document: 0.9.0 * Contact: dev@geoengine.de * Generated by: https://openapi-generator.tech */ diff --git a/rust/src/models/task_abort_options.rs b/rust/src/models/task_abort_options.rs index fb4e42a3..ad331b8c 100644 --- a/rust/src/models/task_abort_options.rs +++ b/rust/src/models/task_abort_options.rs @@ -3,7 +3,7 @@ * * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) * - * The version of the OpenAPI document: 0.8.0 + * The version of the OpenAPI document: 0.9.0 * Contact: dev@geoengine.de * Generated by: https://openapi-generator.tech */ diff --git a/rust/src/models/task_filter.rs b/rust/src/models/task_filter.rs index d6725b4d..60cdbb92 100644 --- a/rust/src/models/task_filter.rs +++ b/rust/src/models/task_filter.rs @@ -3,7 +3,7 @@ * * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) * - * The version of the OpenAPI document: 0.8.0 + * The version of the OpenAPI document: 0.9.0 * Contact: dev@geoengine.de * Generated by: https://openapi-generator.tech */ diff --git a/rust/src/models/task_list_options.rs b/rust/src/models/task_list_options.rs index 338a1133..f28b0bef 100644 --- a/rust/src/models/task_list_options.rs +++ b/rust/src/models/task_list_options.rs @@ -3,7 +3,7 @@ * * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) * - * The version of the OpenAPI document: 0.8.0 + * The version of the OpenAPI document: 0.9.0 * Contact: dev@geoengine.de * Generated by: https://openapi-generator.tech */ diff --git a/rust/src/models/task_response.rs b/rust/src/models/task_response.rs index 091a0140..dd924c19 100644 --- a/rust/src/models/task_response.rs +++ b/rust/src/models/task_response.rs @@ -3,7 +3,7 @@ * * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) * - * The version of the OpenAPI document: 0.8.0 + * The version of the OpenAPI document: 0.9.0 * Contact: dev@geoengine.de * Generated by: https://openapi-generator.tech */ diff --git a/rust/src/models/task_status.rs b/rust/src/models/task_status.rs index 6b81e739..732572dc 100644 --- a/rust/src/models/task_status.rs +++ b/rust/src/models/task_status.rs @@ -3,7 +3,7 @@ * * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) * - * The version of the OpenAPI document: 0.8.0 + * The version of the OpenAPI document: 0.9.0 * Contact: dev@geoengine.de * Generated by: https://openapi-generator.tech */ diff --git a/rust/src/models/task_status_aborted.rs b/rust/src/models/task_status_aborted.rs index 123a3210..9ede7c48 100644 --- a/rust/src/models/task_status_aborted.rs +++ b/rust/src/models/task_status_aborted.rs @@ -3,7 +3,7 @@ * * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) * - * The version of the OpenAPI document: 0.8.0 + * The version of the OpenAPI document: 0.9.0 * Contact: dev@geoengine.de * Generated by: https://openapi-generator.tech */ diff --git a/rust/src/models/task_status_completed.rs b/rust/src/models/task_status_completed.rs index 1575e2f6..94247f31 100644 --- a/rust/src/models/task_status_completed.rs +++ b/rust/src/models/task_status_completed.rs @@ -3,7 +3,7 @@ * * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) * - * The version of the OpenAPI document: 0.8.0 + * The version of the OpenAPI document: 0.9.0 * Contact: dev@geoengine.de * Generated by: https://openapi-generator.tech */ diff --git a/rust/src/models/task_status_failed.rs b/rust/src/models/task_status_failed.rs index 8a7a7c99..7505679c 100644 --- a/rust/src/models/task_status_failed.rs +++ b/rust/src/models/task_status_failed.rs @@ -3,7 +3,7 @@ * * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) * - * The version of the OpenAPI document: 0.8.0 + * The version of the OpenAPI document: 0.9.0 * Contact: dev@geoengine.de * Generated by: https://openapi-generator.tech */ diff --git a/rust/src/models/task_status_running.rs b/rust/src/models/task_status_running.rs index d89b3a12..01a5f023 100644 --- a/rust/src/models/task_status_running.rs +++ b/rust/src/models/task_status_running.rs @@ -3,7 +3,7 @@ * * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) * - * The version of the OpenAPI document: 0.8.0 + * The version of the OpenAPI document: 0.9.0 * Contact: dev@geoengine.de * Generated by: https://openapi-generator.tech */ diff --git a/rust/src/models/task_status_with_id.rs b/rust/src/models/task_status_with_id.rs index f4d4566f..1578b1af 100644 --- a/rust/src/models/task_status_with_id.rs +++ b/rust/src/models/task_status_with_id.rs @@ -3,7 +3,7 @@ * * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) * - * The version of the OpenAPI document: 0.8.0 + * The version of the OpenAPI document: 0.9.0 * Contact: dev@geoengine.de * Generated by: https://openapi-generator.tech */ 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 index 9528e24e..bab27bf4 100644 --- a/rust/src/models/text_symbology.rs +++ b/rust/src/models/text_symbology.rs @@ -3,7 +3,7 @@ * * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) * - * The version of the OpenAPI document: 0.8.0 + * The version of the OpenAPI document: 0.9.0 * Contact: dev@geoengine.de * Generated by: https://openapi-generator.tech */ 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 index 0dada284..9e821623 100644 --- a/rust/src/models/time_granularity.rs +++ b/rust/src/models/time_granularity.rs @@ -3,7 +3,7 @@ * * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) * - * The version of the OpenAPI document: 0.8.0 + * The version of the OpenAPI document: 0.9.0 * Contact: dev@geoengine.de * Generated by: https://openapi-generator.tech */ diff --git a/rust/src/models/time_interval.rs b/rust/src/models/time_interval.rs index 6086d2cd..449f0d03 100644 --- a/rust/src/models/time_interval.rs +++ b/rust/src/models/time_interval.rs @@ -3,7 +3,7 @@ * * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) * - * The version of the OpenAPI document: 0.8.0 + * The version of the OpenAPI document: 0.9.0 * Contact: dev@geoengine.de * Generated by: https://openapi-generator.tech */ diff --git a/rust/src/models/time_reference.rs b/rust/src/models/time_reference.rs index 7a25493d..cb3174d1 100644 --- a/rust/src/models/time_reference.rs +++ b/rust/src/models/time_reference.rs @@ -3,7 +3,7 @@ * * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) * - * The version of the OpenAPI document: 0.8.0 + * The version of the OpenAPI document: 0.9.0 * Contact: dev@geoengine.de * Generated by: https://openapi-generator.tech */ diff --git a/rust/src/models/time_step.rs b/rust/src/models/time_step.rs index 74b1e2fd..c5a2ea2c 100644 --- a/rust/src/models/time_step.rs +++ b/rust/src/models/time_step.rs @@ -3,7 +3,7 @@ * * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) * - * The version of the OpenAPI document: 0.8.0 + * The version of the OpenAPI document: 0.9.0 * Contact: dev@geoengine.de * Generated by: https://openapi-generator.tech */ diff --git a/rust/src/models/typed_data_provider_definition.rs b/rust/src/models/typed_data_provider_definition.rs index 606f0f75..9b47fa8e 100644 --- a/rust/src/models/typed_data_provider_definition.rs +++ b/rust/src/models/typed_data_provider_definition.rs @@ -3,7 +3,7 @@ * * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) * - * The version of the OpenAPI document: 0.8.0 + * The version of the OpenAPI document: 0.9.0 * Contact: dev@geoengine.de * Generated by: https://openapi-generator.tech */ diff --git a/rust/src/models/typed_geometry.rs b/rust/src/models/typed_geometry.rs index b949e23c..8618607c 100644 --- a/rust/src/models/typed_geometry.rs +++ b/rust/src/models/typed_geometry.rs @@ -3,7 +3,7 @@ * * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) * - * The version of the OpenAPI document: 0.8.0 + * The version of the OpenAPI document: 0.9.0 * Contact: dev@geoengine.de * Generated by: https://openapi-generator.tech */ diff --git a/rust/src/models/typed_geometry_one_of.rs b/rust/src/models/typed_geometry_one_of.rs index 73446365..fc06a5b9 100644 --- a/rust/src/models/typed_geometry_one_of.rs +++ b/rust/src/models/typed_geometry_one_of.rs @@ -3,7 +3,7 @@ * * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) * - * The version of the OpenAPI document: 0.8.0 + * The version of the OpenAPI document: 0.9.0 * Contact: dev@geoengine.de * Generated by: https://openapi-generator.tech */ diff --git a/rust/src/models/typed_geometry_one_of_1.rs b/rust/src/models/typed_geometry_one_of_1.rs index 006c6001..2a4b9ab0 100644 --- a/rust/src/models/typed_geometry_one_of_1.rs +++ b/rust/src/models/typed_geometry_one_of_1.rs @@ -3,7 +3,7 @@ * * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) * - * The version of the OpenAPI document: 0.8.0 + * The version of the OpenAPI document: 0.9.0 * Contact: dev@geoengine.de * Generated by: https://openapi-generator.tech */ diff --git a/rust/src/models/typed_geometry_one_of_2.rs b/rust/src/models/typed_geometry_one_of_2.rs index 46a15c20..5442dbde 100644 --- a/rust/src/models/typed_geometry_one_of_2.rs +++ b/rust/src/models/typed_geometry_one_of_2.rs @@ -3,7 +3,7 @@ * * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) * - * The version of the OpenAPI document: 0.8.0 + * The version of the OpenAPI document: 0.9.0 * Contact: dev@geoengine.de * Generated by: https://openapi-generator.tech */ diff --git a/rust/src/models/typed_geometry_one_of_3.rs b/rust/src/models/typed_geometry_one_of_3.rs index ce1e2c80..2c75585c 100644 --- a/rust/src/models/typed_geometry_one_of_3.rs +++ b/rust/src/models/typed_geometry_one_of_3.rs @@ -3,7 +3,7 @@ * * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) * - * The version of the OpenAPI document: 0.8.0 + * The version of the OpenAPI document: 0.9.0 * Contact: dev@geoengine.de * Generated by: https://openapi-generator.tech */ diff --git a/rust/src/models/typed_operator.rs b/rust/src/models/typed_operator.rs index c01c791f..c4247e69 100644 --- a/rust/src/models/typed_operator.rs +++ b/rust/src/models/typed_operator.rs @@ -3,7 +3,7 @@ * * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) * - * The version of the OpenAPI document: 0.8.0 + * The version of the OpenAPI document: 0.9.0 * Contact: dev@geoengine.de * Generated by: https://openapi-generator.tech */ diff --git a/rust/src/models/typed_operator_operator.rs b/rust/src/models/typed_operator_operator.rs index 2f666a28..20e74928 100644 --- a/rust/src/models/typed_operator_operator.rs +++ b/rust/src/models/typed_operator_operator.rs @@ -3,7 +3,7 @@ * * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) * - * The version of the OpenAPI document: 0.8.0 + * The version of the OpenAPI document: 0.9.0 * Contact: dev@geoengine.de * Generated by: https://openapi-generator.tech */ diff --git a/rust/src/models/typed_plot_result_descriptor.rs b/rust/src/models/typed_plot_result_descriptor.rs index ab3acf64..2d793fcc 100644 --- a/rust/src/models/typed_plot_result_descriptor.rs +++ b/rust/src/models/typed_plot_result_descriptor.rs @@ -3,7 +3,7 @@ * * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) * - * The version of the OpenAPI document: 0.8.0 + * The version of the OpenAPI document: 0.9.0 * Contact: dev@geoengine.de * Generated by: https://openapi-generator.tech */ diff --git a/rust/src/models/typed_raster_result_descriptor.rs b/rust/src/models/typed_raster_result_descriptor.rs index bb5e5c85..84a8b8bb 100644 --- a/rust/src/models/typed_raster_result_descriptor.rs +++ b/rust/src/models/typed_raster_result_descriptor.rs @@ -3,7 +3,7 @@ * * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) * - * The version of the OpenAPI document: 0.8.0 + * The version of the OpenAPI document: 0.9.0 * Contact: dev@geoengine.de * Generated by: https://openapi-generator.tech */ @@ -15,29 +15,26 @@ use serde::{Deserialize, Serialize}; pub struct TypedRasterResultDescriptor { #[serde(rename = "bands")] pub bands: Vec, - #[serde(rename = "bbox", skip_serializing_if = "Option::is_none")] - pub bbox: Option>, #[serde(rename = "dataType")] pub data_type: models::RasterDataType, - #[serde(rename = "resolution", skip_serializing_if = "Option::is_none")] - pub resolution: Option>, + #[serde(rename = "spatialGrid")] + pub spatial_grid: Box, #[serde(rename = "spatialReference")] pub spatial_reference: String, - #[serde(rename = "time", skip_serializing_if = "Option::is_none")] - pub time: Option>, + #[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_reference: String, r#type: Type) -> 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, - bbox: None, data_type, - resolution: None, + spatial_grid: Box::new(spatial_grid), spatial_reference, - time: None, + time: Box::new(time), r#type, } } diff --git a/rust/src/models/typed_result_descriptor.rs b/rust/src/models/typed_result_descriptor.rs index 394a0c69..b12b53d1 100644 --- a/rust/src/models/typed_result_descriptor.rs +++ b/rust/src/models/typed_result_descriptor.rs @@ -3,7 +3,7 @@ * * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) * - * The version of the OpenAPI document: 0.8.0 + * The version of the OpenAPI document: 0.9.0 * Contact: dev@geoengine.de * Generated by: https://openapi-generator.tech */ diff --git a/rust/src/models/typed_vector_result_descriptor.rs b/rust/src/models/typed_vector_result_descriptor.rs index 69efb4b2..ae470eb3 100644 --- a/rust/src/models/typed_vector_result_descriptor.rs +++ b/rust/src/models/typed_vector_result_descriptor.rs @@ -3,7 +3,7 @@ * * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) * - * The version of the OpenAPI document: 0.8.0 + * The version of the OpenAPI document: 0.9.0 * Contact: dev@geoengine.de * Generated by: https://openapi-generator.tech */ diff --git a/rust/src/models/unitless_measurement.rs b/rust/src/models/unitless_measurement.rs index 16c843eb..1fed2606 100644 --- a/rust/src/models/unitless_measurement.rs +++ b/rust/src/models/unitless_measurement.rs @@ -3,7 +3,7 @@ * * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) * - * The version of the OpenAPI document: 0.8.0 + * The version of the OpenAPI document: 0.9.0 * Contact: dev@geoengine.de * Generated by: https://openapi-generator.tech */ diff --git a/rust/src/models/unix_time_stamp_type.rs b/rust/src/models/unix_time_stamp_type.rs index 708d5e18..08bfe83e 100644 --- a/rust/src/models/unix_time_stamp_type.rs +++ b/rust/src/models/unix_time_stamp_type.rs @@ -3,7 +3,7 @@ * * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) * - * The version of the OpenAPI document: 0.8.0 + * The version of the OpenAPI document: 0.9.0 * Contact: dev@geoengine.de * Generated by: https://openapi-generator.tech */ diff --git a/rust/src/models/update_dataset.rs b/rust/src/models/update_dataset.rs index ff7b9952..243061b0 100644 --- a/rust/src/models/update_dataset.rs +++ b/rust/src/models/update_dataset.rs @@ -3,7 +3,7 @@ * * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) * - * The version of the OpenAPI document: 0.8.0 + * The version of the OpenAPI document: 0.9.0 * Contact: dev@geoengine.de * Generated by: https://openapi-generator.tech */ diff --git a/rust/src/models/update_layer.rs b/rust/src/models/update_layer.rs index 591ef0fe..0c6251d5 100644 --- a/rust/src/models/update_layer.rs +++ b/rust/src/models/update_layer.rs @@ -3,7 +3,7 @@ * * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) * - * The version of the OpenAPI document: 0.8.0 + * The version of the OpenAPI document: 0.9.0 * Contact: dev@geoengine.de * Generated by: https://openapi-generator.tech */ diff --git a/rust/src/models/update_layer_collection.rs b/rust/src/models/update_layer_collection.rs index ba73ecc1..95ed37d6 100644 --- a/rust/src/models/update_layer_collection.rs +++ b/rust/src/models/update_layer_collection.rs @@ -3,7 +3,7 @@ * * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) * - * The version of the OpenAPI document: 0.8.0 + * The version of the OpenAPI document: 0.9.0 * Contact: dev@geoengine.de * Generated by: https://openapi-generator.tech */ diff --git a/rust/src/models/update_project.rs b/rust/src/models/update_project.rs index e1440908..3f907a6f 100644 --- a/rust/src/models/update_project.rs +++ b/rust/src/models/update_project.rs @@ -3,7 +3,7 @@ * * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) * - * The version of the OpenAPI document: 0.8.0 + * The version of the OpenAPI document: 0.9.0 * Contact: dev@geoengine.de * Generated by: https://openapi-generator.tech */ diff --git a/rust/src/models/update_quota.rs b/rust/src/models/update_quota.rs index 93be9947..84cac3c0 100644 --- a/rust/src/models/update_quota.rs +++ b/rust/src/models/update_quota.rs @@ -3,7 +3,7 @@ * * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) * - * The version of the OpenAPI document: 0.8.0 + * The version of the OpenAPI document: 0.9.0 * Contact: dev@geoengine.de * Generated by: https://openapi-generator.tech */ diff --git a/rust/src/models/upload_file_layers_response.rs b/rust/src/models/upload_file_layers_response.rs index dfd482cb..f2104a01 100644 --- a/rust/src/models/upload_file_layers_response.rs +++ b/rust/src/models/upload_file_layers_response.rs @@ -3,7 +3,7 @@ * * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) * - * The version of the OpenAPI document: 0.8.0 + * The version of the OpenAPI document: 0.9.0 * Contact: dev@geoengine.de * Generated by: https://openapi-generator.tech */ diff --git a/rust/src/models/upload_files_response.rs b/rust/src/models/upload_files_response.rs index 42b5dcfa..af5528be 100644 --- a/rust/src/models/upload_files_response.rs +++ b/rust/src/models/upload_files_response.rs @@ -3,7 +3,7 @@ * * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) * - * The version of the OpenAPI document: 0.8.0 + * The version of the OpenAPI document: 0.9.0 * Contact: dev@geoengine.de * Generated by: https://openapi-generator.tech */ diff --git a/rust/src/models/usage_summary_granularity.rs b/rust/src/models/usage_summary_granularity.rs index fd41e579..f83f2745 100644 --- a/rust/src/models/usage_summary_granularity.rs +++ b/rust/src/models/usage_summary_granularity.rs @@ -3,7 +3,7 @@ * * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) * - * The version of the OpenAPI document: 0.8.0 + * The version of the OpenAPI document: 0.9.0 * Contact: dev@geoengine.de * Generated by: https://openapi-generator.tech */ diff --git a/rust/src/models/user_credentials.rs b/rust/src/models/user_credentials.rs index 1f657608..f90154a7 100644 --- a/rust/src/models/user_credentials.rs +++ b/rust/src/models/user_credentials.rs @@ -3,7 +3,7 @@ * * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) * - * The version of the OpenAPI document: 0.8.0 + * The version of the OpenAPI document: 0.9.0 * Contact: dev@geoengine.de * Generated by: https://openapi-generator.tech */ diff --git a/rust/src/models/user_info.rs b/rust/src/models/user_info.rs index 2b48efcb..1d00e626 100644 --- a/rust/src/models/user_info.rs +++ b/rust/src/models/user_info.rs @@ -3,7 +3,7 @@ * * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) * - * The version of the OpenAPI document: 0.8.0 + * The version of the OpenAPI document: 0.9.0 * Contact: dev@geoengine.de * Generated by: https://openapi-generator.tech */ diff --git a/rust/src/models/user_registration.rs b/rust/src/models/user_registration.rs index ae51fbe6..b7669f9e 100644 --- a/rust/src/models/user_registration.rs +++ b/rust/src/models/user_registration.rs @@ -3,7 +3,7 @@ * * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) * - * The version of the OpenAPI document: 0.8.0 + * The version of the OpenAPI document: 0.9.0 * Contact: dev@geoengine.de * Generated by: https://openapi-generator.tech */ diff --git a/rust/src/models/user_session.rs b/rust/src/models/user_session.rs index 6c353ef8..8d4d1b20 100644 --- a/rust/src/models/user_session.rs +++ b/rust/src/models/user_session.rs @@ -3,7 +3,7 @@ * * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) * - * The version of the OpenAPI document: 0.8.0 + * The version of the OpenAPI document: 0.9.0 * Contact: dev@geoengine.de * Generated by: https://openapi-generator.tech */ diff --git a/rust/src/models/vec_update.rs b/rust/src/models/vec_update.rs index a9970c88..65681cea 100644 --- a/rust/src/models/vec_update.rs +++ b/rust/src/models/vec_update.rs @@ -3,7 +3,7 @@ * * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) * - * The version of the OpenAPI document: 0.8.0 + * The version of the OpenAPI document: 0.9.0 * Contact: dev@geoengine.de * Generated by: https://openapi-generator.tech */ diff --git a/rust/src/models/vector_column_info.rs b/rust/src/models/vector_column_info.rs index 3b89ca99..b4976185 100644 --- a/rust/src/models/vector_column_info.rs +++ b/rust/src/models/vector_column_info.rs @@ -3,7 +3,7 @@ * * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) * - * The version of the OpenAPI document: 0.8.0 + * The version of the OpenAPI document: 0.9.0 * Contact: dev@geoengine.de * Generated by: https://openapi-generator.tech */ diff --git a/rust/src/models/vector_data_type.rs b/rust/src/models/vector_data_type.rs index bd70de9e..846c6278 100644 --- a/rust/src/models/vector_data_type.rs +++ b/rust/src/models/vector_data_type.rs @@ -3,7 +3,7 @@ * * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) * - * The version of the OpenAPI document: 0.8.0 + * The version of the OpenAPI document: 0.9.0 * Contact: dev@geoengine.de * Generated by: https://openapi-generator.tech */ diff --git a/rust/src/models/vector_operator.rs b/rust/src/models/vector_operator.rs new file mode 100644 index 00000000..a070d4fd --- /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(tag = "type")] +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 index 23a188e4..8508b0b2 100644 --- a/rust/src/models/vector_result_descriptor.rs +++ b/rust/src/models/vector_result_descriptor.rs @@ -3,7 +3,7 @@ * * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) * - * The version of the OpenAPI document: 0.8.0 + * The version of the OpenAPI document: 0.9.0 * Contact: dev@geoengine.de * Generated by: https://openapi-generator.tech */ diff --git a/rust/src/models/volume.rs b/rust/src/models/volume.rs index 4ba6dfcc..236795c0 100644 --- a/rust/src/models/volume.rs +++ b/rust/src/models/volume.rs @@ -3,7 +3,7 @@ * * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) * - * The version of the OpenAPI document: 0.8.0 + * The version of the OpenAPI document: 0.9.0 * Contact: dev@geoengine.de * Generated by: https://openapi-generator.tech */ diff --git a/rust/src/models/volume_file_layers_response.rs b/rust/src/models/volume_file_layers_response.rs index c05979a7..91dfd1b7 100644 --- a/rust/src/models/volume_file_layers_response.rs +++ b/rust/src/models/volume_file_layers_response.rs @@ -3,7 +3,7 @@ * * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) * - * The version of the OpenAPI document: 0.8.0 + * The version of the OpenAPI document: 0.9.0 * Contact: dev@geoengine.de * Generated by: https://openapi-generator.tech */ diff --git a/rust/src/models/wcs_boundingbox.rs b/rust/src/models/wcs_boundingbox.rs index 83affe00..93a7ab61 100644 --- a/rust/src/models/wcs_boundingbox.rs +++ b/rust/src/models/wcs_boundingbox.rs @@ -3,7 +3,7 @@ * * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) * - * The version of the OpenAPI document: 0.8.0 + * The version of the OpenAPI document: 0.9.0 * Contact: dev@geoengine.de * Generated by: https://openapi-generator.tech */ 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 index 125640e3..0e163577 100644 --- a/rust/src/models/wcs_service.rs +++ b/rust/src/models/wcs_service.rs @@ -3,7 +3,7 @@ * * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) * - * The version of the OpenAPI document: 0.8.0 + * The version of the OpenAPI document: 0.9.0 * Contact: dev@geoengine.de * Generated by: https://openapi-generator.tech */ diff --git a/rust/src/models/wcs_version.rs b/rust/src/models/wcs_version.rs index c5cdb317..57c771c6 100644 --- a/rust/src/models/wcs_version.rs +++ b/rust/src/models/wcs_version.rs @@ -3,7 +3,7 @@ * * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) * - * The version of the OpenAPI document: 0.8.0 + * The version of the OpenAPI document: 0.9.0 * Contact: dev@geoengine.de * Generated by: https://openapi-generator.tech */ 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 index 68bf1150..734fda11 100644 --- a/rust/src/models/wfs_service.rs +++ b/rust/src/models/wfs_service.rs @@ -3,7 +3,7 @@ * * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) * - * The version of the OpenAPI document: 0.8.0 + * The version of the OpenAPI document: 0.9.0 * Contact: dev@geoengine.de * Generated by: https://openapi-generator.tech */ diff --git a/rust/src/models/wfs_version.rs b/rust/src/models/wfs_version.rs index 3478c0b8..46ba1973 100644 --- a/rust/src/models/wfs_version.rs +++ b/rust/src/models/wfs_version.rs @@ -3,7 +3,7 @@ * * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) * - * The version of the OpenAPI document: 0.8.0 + * The version of the OpenAPI document: 0.9.0 * Contact: dev@geoengine.de * Generated by: https://openapi-generator.tech */ diff --git a/rust/src/models/wildlive_data_connector_definition.rs b/rust/src/models/wildlive_data_connector_definition.rs index f63bfd6a..818854cc 100644 --- a/rust/src/models/wildlive_data_connector_definition.rs +++ b/rust/src/models/wildlive_data_connector_definition.rs @@ -3,7 +3,7 @@ * * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) * - * The version of the OpenAPI document: 0.8.0 + * The version of the OpenAPI document: 0.9.0 * Contact: dev@geoengine.de * Generated by: https://openapi-generator.tech */ 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 index a4d3527b..41d1693f 100644 --- a/rust/src/models/wms_service.rs +++ b/rust/src/models/wms_service.rs @@ -3,7 +3,7 @@ * * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) * - * The version of the OpenAPI document: 0.8.0 + * The version of the OpenAPI document: 0.9.0 * Contact: dev@geoengine.de * Generated by: https://openapi-generator.tech */ diff --git a/rust/src/models/wms_version.rs b/rust/src/models/wms_version.rs index 88ee25dc..7ba0626a 100644 --- a/rust/src/models/wms_version.rs +++ b/rust/src/models/wms_version.rs @@ -3,7 +3,7 @@ * * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) * - * The version of the OpenAPI document: 0.8.0 + * The version of the OpenAPI document: 0.9.0 * Contact: dev@geoengine.de * Generated by: https://openapi-generator.tech */ diff --git a/rust/src/models/workflow.rs b/rust/src/models/workflow.rs index 3bf3ed70..a53ebd15 100644 --- a/rust/src/models/workflow.rs +++ b/rust/src/models/workflow.rs @@ -3,7 +3,7 @@ * * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) * - * The version of the OpenAPI document: 0.8.0 + * The version of the OpenAPI document: 0.9.0 * Contact: dev@geoengine.de * Generated by: https://openapi-generator.tech */ diff --git a/rust/src/models/wrapped_plot_output.rs b/rust/src/models/wrapped_plot_output.rs index 208389b9..5b9f85fd 100644 --- a/rust/src/models/wrapped_plot_output.rs +++ b/rust/src/models/wrapped_plot_output.rs @@ -3,7 +3,7 @@ * * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) * - * The version of the OpenAPI document: 0.8.0 + * The version of the OpenAPI document: 0.9.0 * Contact: dev@geoengine.de * Generated by: https://openapi-generator.tech */ From 3aac24b8ace34423c61204549ac2a8cf218aae7f Mon Sep 17 00:00:00 2001 From: Christian Beilschmidt Date: Wed, 4 Feb 2026 16:38:06 +0100 Subject: [PATCH 10/19] fix --- rust/src/apis/ogcwfs_api.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/rust/src/apis/ogcwfs_api.rs b/rust/src/apis/ogcwfs_api.rs index 82554451..8308dd17 100644 --- a/rust/src/apis/ogcwfs_api.rs +++ b/rust/src/apis/ogcwfs_api.rs @@ -63,7 +63,7 @@ pub async fn wfs_handler(configuration: &configuration::Configuration, workflow: 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", &serde_json::to_string(param_value)?)]); + 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())]); From dfdde7e91b27fa097a5f04a12cc53d66543ba840 Mon Sep 17 00:00:00 2001 From: Christian Beilschmidt Date: Wed, 4 Feb 2026 16:39:09 +0100 Subject: [PATCH 11/19] rust wfs post-process --- .generation/post-process/rust.py | 23 +++-------------------- 1 file changed, 3 insertions(+), 20 deletions(-) diff --git a/.generation/post-process/rust.py b/.generation/post-process/rust.py index b4dd86fd..4d903bdf 100644 --- a/.generation/post-process/rust.py +++ b/.generation/post-process/rust.py @@ -163,29 +163,12 @@ def ogcwfs_api_rs(file_contents: List[str]) -> Generator[str, None, None]: dedented_line = dedent(line) if dedented_line.startswith( - 'let uri_str = format!("{}/wfs/{workflow}?request=GetCapabilities' + 'req_builder = req_builder.query(&[("service", &serde_json::to_string(param_value)?)]);' ): line = indent( - """\ - let uri_str = format!( - "{}/wfs/{workflow}?request={request}&service={service}&version={version}", - 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() - ); - """, - INDENT, - ) - elif dedented_line.startswith( - 'let uri_str = format!("{}/wfs/{workflow}?request=GetFeature"' - ): - line = indent( - 'let uri_str = format!("{}/wfs/{workflow}", ' - "configuration.base_path, workflow=crate::apis::urlencode(p_path_workflow));" + 'req_builder = req_builder.query(&[("service", ¶m_value.to_string())]);' "\n", - INDENT, + 2 * INDENT, ) yield line From a75b3f7d34fd8f3c1f6538cacad4a817d7864abf Mon Sep 17 00:00:00 2001 From: Christian Beilschmidt Date: Wed, 4 Feb 2026 18:02:23 +0100 Subject: [PATCH 12/19] feat: Add new raster and vector source models and update existing documentation - Introduced `RasterOperator`, `SingleRasterSource`, and `SingleVectorMultipleRasterSources` models. - Updated `Expression` and `RasterVectorJoin` models to include new source types. - Refactored `SpatialBoundsDerive` to use new enum variants for better clarity. - Created new documentation files for `RasterOperator`, `SingleRasterSource`, `SingleVectorMultipleRasterSources`, and updated existing documentation to reflect changes. - Removed deprecated spatial bounds derive models and replaced them with more descriptive structures. --- .generation/config.ini | 2 +- .generation/input/openapi.json | 128 +- out.txt | 1296 +++++++++++++++++ rust/.openapi-generator/FILES | 18 +- rust/README.md | 9 +- rust/docs/Expression.md | 1 + rust/docs/RasterOperator.md | 10 + rust/docs/RasterVectorJoin.md | 1 + rust/docs/SingleRasterSource.md | 11 + .../docs/SingleVectorMultipleRasterSources.md | 12 + rust/docs/SpatialBoundsDerive.md | 5 +- rust/docs/SpatialBoundsDeriveBounds.md | 13 + rust/docs/SpatialBoundsDeriveDerive.md | 11 + rust/docs/SpatialBoundsDeriveNone.md | 11 + rust/src/models/expression.rs | 5 +- rust/src/models/mod.rs | 18 +- rust/src/models/raster_operator.rs | 30 + rust/src/models/raster_vector_join.rs | 5 +- rust/src/models/single_raster_source.rs | 27 + .../single_vector_multiple_raster_sources.rs | 30 + rust/src/models/spatial_bounds_derive.rs | 29 +- .../models/spatial_bounds_derive_bounds.rs | 45 + .../models/spatial_bounds_derive_derive.rs | 39 + rust/src/models/spatial_bounds_derive_none.rs | 39 + 24 files changed, 1717 insertions(+), 78 deletions(-) create mode 100644 out.txt create mode 100644 rust/docs/RasterOperator.md create mode 100644 rust/docs/SingleRasterSource.md create mode 100644 rust/docs/SingleVectorMultipleRasterSources.md create mode 100644 rust/docs/SpatialBoundsDeriveBounds.md create mode 100644 rust/docs/SpatialBoundsDeriveDerive.md create mode 100644 rust/docs/SpatialBoundsDeriveNone.md create mode 100644 rust/src/models/raster_operator.rs create mode 100644 rust/src/models/single_raster_source.rs create mode 100644 rust/src/models/single_vector_multiple_raster_sources.rs create mode 100644 rust/src/models/spatial_bounds_derive_bounds.rs create mode 100644 rust/src/models/spatial_bounds_derive_derive.rs create mode 100644 rust/src/models/spatial_bounds_derive_none.rs diff --git a/.generation/config.ini b/.generation/config.ini index b0df7f05..8c19ff91 100644 --- a/.generation/config.ini +++ b/.generation/config.ini @@ -1,5 +1,5 @@ [input] -backendCommit = bd3faa34d17f3cc418b10df418e6c9604c29e9e2 +backendCommit = 126f71e6fcb449701885fb5d7984d6c4022c0b5a [general] githubUrl = https://github.com/geo-engine/openapi-client diff --git a/.generation/input/openapi.json b/.generation/input/openapi.json index 34af9919..aa7eb7eb 100644 --- a/.generation/input/openapi.json +++ b/.generation/input/openapi.json @@ -6501,12 +6501,16 @@ "description": "# Raster Expression\n\nThe `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" + "params", + "sources" ], "properties": { "params": { "$ref": "#/components/schemas/ExpressionParameters" }, + "sources": { + "$ref": "#/components/schemas/SingleRasterSource" + }, "type": { "type": "string", "enum": [ @@ -9213,6 +9217,9 @@ }, "RasterOperator": { "oneOf": [ + { + "$ref": "#/components/schemas/Expression" + }, { "$ref": "#/components/schemas/GdalSource" } @@ -9221,6 +9228,7 @@ "discriminator": { "propertyName": "type", "mapping": { + "Expression": "#/components/schemas/Expression", "GdalSource": "#/components/schemas/GdalSource" } } @@ -9328,12 +9336,16 @@ "description": "# RasterVectorJoin\n\nThe `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\n## Example JSON\n\n```json\n{\n \"type\": \"RasterVectorJoin\",\n \"params\": {\n \"names\": [\"NDVI\"],\n \"featureAggregation\": \"first\",\n \"temporalAggregation\": \"mean\",\n \"temporalAggregationIgnoreNoData\": true\n },\n \"sources\": {\n \"vector\": {\n \"type\": \"OgrSource\",\n \"params\": {\n \"data\": \"places\"\n }\n },\n \"rasters\": [\n {\n \"type\": \"GdalSource\",\n \"params\": {\n \"data\": \"ndvi\"\n }\n }\n ]\n }\n}\n```", "required": [ "type", - "params" + "params", + "sources" ], "properties": { "params": { "$ref": "#/components/schemas/RasterVectorJoinParameters" }, + "sources": { + "$ref": "#/components/schemas/SingleVectorMultipleRasterSources" + }, "type": { "type": "string", "enum": [ @@ -9633,42 +9645,61 @@ } } }, + "SingleRasterSource": { + "type": "object", + "required": [ + "raster" + ], + "properties": { + "raster": { + "$ref": "#/components/schemas/RasterOperator" + } + } + }, + "SingleVectorMultipleRasterSources": { + "type": "object", + "required": [ + "vector", + "rasters" + ], + "properties": { + "rasters": { + "type": "array", + "items": { + "$ref": "#/components/schemas/RasterOperator" + } + }, + "vector": { + "$ref": "#/components/schemas/VectorOperator" + } + } + }, "SpatialBoundsDerive": { "oneOf": [ { - "type": "object", - "required": [ - "type" - ], - "properties": { - "type": { - "type": "string", - "enum": [ - "derive" - ] - } - } + "$ref": "#/components/schemas/SpatialBoundsDeriveDerive" }, { - "allOf": [ - { - "$ref": "#/components/schemas/BoundingBox2D" - }, - { - "type": "object", - "required": [ - "type" - ], - "properties": { - "type": { - "type": "string", - "enum": [ - "bounds" - ] - } - } - } - ] + "$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", @@ -9679,13 +9710,40 @@ "type": { "type": "string", "enum": [ - "none" + "bounds" ] } } } + ] + }, + "SpatialBoundsDeriveDerive": { + "type": "object", + "required": [ + "type" + ], + "properties": { + "type": { + "type": "string", + "enum": [ + "derive" + ] + } + } + }, + "SpatialBoundsDeriveNone": { + "type": "object", + "required": [ + "type" ], - "description": "Spatial bounds derivation options for the [`MockPointSource`]." + "properties": { + "type": { + "type": "string", + "enum": [ + "none" + ] + } + } }, "SpatialGridDefinition": { "type": "object", diff --git a/out.txt b/out.txt new file mode 100644 index 00000000..06d5cb0e --- /dev/null +++ b/out.txt @@ -0,0 +1,1296 @@ +STEP 1/2: FROM docker.io/openapitools/openapi-generator-cli:v7.18.0 +STEP 2/2: RUN apt-get update && apt-get install -y python3 +--> Using cache cbaf5b0e13be665e3d43d13f4767baa27ad85589ce5bd0805311a473e3b4594c +COMMIT openapi-generator-cli:patched +--> cbaf5b0e13be +Successfully tagged localhost/openapi-generator-cli:patched +cbaf5b0e13be665e3d43d13f4767baa27ad85589ce5bd0805311a473e3b4594c +[main] WARN o.o.codegen.DefaultCodegen - OpenAPI 3.1 support is still in beta. To report an issue related to 3.1 spec, please kindly open an issue in the Github repo: https://github.com/openAPITools/openapi-generator. +[main] INFO o.o.codegen.DefaultGenerator - Generating with dryRun=false +[main] INFO o.o.codegen.DefaultGenerator - OpenAPI Generator: rust (client) +[main] INFO o.o.codegen.DefaultGenerator - Generator 'rust' is considered stable. +[main] WARN o.o.codegen.utils.ModelUtils - Failed to get the schema name: null +[main] INFO o.o.codegen.InlineModelResolver - Inline schema created as upload_handler_request. To have complete control of the model name, set the `title` field or use the modelNameMapping option (e.g. --model-name-mappings upload_handler_request=NewModel,ModelA=NewModelA in CLI) or inlineSchemaNameMapping option (--inline-schema-name-mappings upload_handler_request=NewModel,ModelA=NewModelA in CLI). +[main] INFO o.o.codegen.InlineModelResolver - Inline schema created as ColumnNames_oneOf. To have complete control of the model name, set the `title` field or use the modelNameMapping option (e.g. --model-name-mappings ColumnNames_oneOf=NewModel,ModelA=NewModelA in CLI) or inlineSchemaNameMapping option (--inline-schema-name-mappings ColumnNames_oneOf=NewModel,ModelA=NewModelA in CLI). +[main] INFO o.o.codegen.InlineModelResolver - Inline schema created as ColumnNames_oneOf_1. To have complete control of the model name, set the `title` field or use the modelNameMapping option (e.g. --model-name-mappings ColumnNames_oneOf_1=NewModel,ModelA=NewModelA in CLI) or inlineSchemaNameMapping option (--inline-schema-name-mappings ColumnNames_oneOf_1=NewModel,ModelA=NewModelA in CLI). +[main] INFO o.o.codegen.InlineModelResolver - Inline schema created as ColumnNames_oneOf_2. To have complete control of the model name, set the `title` field or use the modelNameMapping option (e.g. --model-name-mappings ColumnNames_oneOf_2=NewModel,ModelA=NewModelA in CLI) or inlineSchemaNameMapping option (--inline-schema-name-mappings ColumnNames_oneOf_2=NewModel,ModelA=NewModelA in CLI). +[main] INFO o.o.codegen.InlineModelResolver - Inline schema created as DataPath_oneOf. To have complete control of the model name, set the `title` field or use the modelNameMapping option (e.g. --model-name-mappings DataPath_oneOf=NewModel,ModelA=NewModelA in CLI) or inlineSchemaNameMapping option (--inline-schema-name-mappings DataPath_oneOf=NewModel,ModelA=NewModelA in CLI). +[main] INFO o.o.codegen.InlineModelResolver - Inline schema created as DataPath_oneOf_1. To have complete control of the model name, set the `title` field or use the modelNameMapping option (e.g. --model-name-mappings DataPath_oneOf_1=NewModel,ModelA=NewModelA in CLI) or inlineSchemaNameMapping option (--inline-schema-name-mappings DataPath_oneOf_1=NewModel,ModelA=NewModelA in CLI). +[main] INFO o.o.codegen.InlineModelResolver - Inline schema created as FormatSpecifics_csv. To have complete control of the model name, set the `title` field or use the modelNameMapping option (e.g. --model-name-mappings FormatSpecifics_csv=NewModel,ModelA=NewModelA in CLI) or inlineSchemaNameMapping option (--inline-schema-name-mappings FormatSpecifics_csv=NewModel,ModelA=NewModelA in CLI). +[main] INFO o.o.codegen.InlineModelResolver - Inline schema created as TimeDimension_oneOf. To have complete control of the model name, set the `title` field or use the modelNameMapping option (e.g. --model-name-mappings TimeDimension_oneOf=NewModel,ModelA=NewModelA in CLI) or inlineSchemaNameMapping option (--inline-schema-name-mappings TimeDimension_oneOf=NewModel,ModelA=NewModelA in CLI). +[main] INFO o.o.codegen.InlineModelResolver - Inline schema created as TimeDimension_oneOf_1. To have complete control of the model name, set the `title` field or use the modelNameMapping option (e.g. --model-name-mappings TimeDimension_oneOf_1=NewModel,ModelA=NewModelA in CLI) or inlineSchemaNameMapping option (--inline-schema-name-mappings TimeDimension_oneOf_1=NewModel,ModelA=NewModelA in CLI). +[main] INFO o.o.codegen.InlineModelResolver - Inline schema created as TypedGeometry_oneOf. To have complete control of the model name, set the `title` field or use the modelNameMapping option (e.g. --model-name-mappings TypedGeometry_oneOf=NewModel,ModelA=NewModelA in CLI) or inlineSchemaNameMapping option (--inline-schema-name-mappings TypedGeometry_oneOf=NewModel,ModelA=NewModelA in CLI). +[main] INFO o.o.codegen.InlineModelResolver - Inline schema created as TypedGeometry_oneOf_1. To have complete control of the model name, set the `title` field or use the modelNameMapping option (e.g. --model-name-mappings TypedGeometry_oneOf_1=NewModel,ModelA=NewModelA in CLI) or inlineSchemaNameMapping option (--inline-schema-name-mappings TypedGeometry_oneOf_1=NewModel,ModelA=NewModelA in CLI). +[main] INFO o.o.codegen.InlineModelResolver - Inline schema created as TypedGeometry_oneOf_2. To have complete control of the model name, set the `title` field or use the modelNameMapping option (e.g. --model-name-mappings TypedGeometry_oneOf_2=NewModel,ModelA=NewModelA in CLI) or inlineSchemaNameMapping option (--inline-schema-name-mappings TypedGeometry_oneOf_2=NewModel,ModelA=NewModelA in CLI). +[main] INFO o.o.codegen.InlineModelResolver - Inline schema created as TypedGeometry_oneOf_3. To have complete control of the model name, set the `title` field or use the modelNameMapping option (e.g. --model-name-mappings TypedGeometry_oneOf_3=NewModel,ModelA=NewModelA in CLI) or inlineSchemaNameMapping option (--inline-schema-name-mappings TypedGeometry_oneOf_3=NewModel,ModelA=NewModelA in CLI). +[main] INFO o.o.codegen.InlineModelResolver - Inline schema created as TypedOperator_operator. To have complete control of the model name, set the `title` field or use the modelNameMapping option (e.g. --model-name-mappings TypedOperator_operator=NewModel,ModelA=NewModelA in CLI) or inlineSchemaNameMapping option (--inline-schema-name-mappings TypedOperator_operator=NewModel,ModelA=NewModelA in CLI). +[main] WARN o.o.codegen.DefaultCodegen - OpenAPI 3.1 support is still in beta. To report an issue related to 3.1 spec, please kindly open an issue in the Github repo: https://github.com/openAPITools/openapi-generator. +[main] WARN o.o.c.languages.AbstractRustCodegen - type cannot be used as a field/variable name. Renamed to r#type +[main] WARN o.o.c.languages.AbstractRustCodegen - type cannot be used as a field/variable name. Renamed to r#type +[main] WARN o.o.c.languages.AbstractRustCodegen - type cannot be used as a field/variable name. Renamed to r#type +[main] WARN o.o.c.languages.AbstractRustCodegen - type cannot be used as a field/variable name. Renamed to r#type +[main] WARN o.o.c.languages.AbstractRustCodegen - type cannot be used as a field/variable name. Renamed to r#type +[main] INFO o.o.codegen.DefaultGenerator - Model BandSelection not generated since it's an alias to array (without property) and `generateAliasAsModel` is set to false (default) +[main] WARN o.o.c.languages.AbstractRustCodegen - type cannot be used as a field/variable name. Renamed to r#type +[main] WARN o.o.c.languages.AbstractRustCodegen - type cannot be used as a field/variable name. Renamed to r#type +[main] WARN o.o.c.languages.AbstractRustCodegen - type cannot be used as a field/variable name. Renamed to r#type +[main] WARN o.o.c.languages.AbstractRustCodegen - type cannot be used as a field/variable name. Renamed to r#type +[main] WARN o.o.c.languages.AbstractRustCodegen - type cannot be used as a field/variable name. Renamed to r#type +[main] WARN o.o.c.languages.AbstractRustCodegen - type cannot be used as a field/variable name. Renamed to r#type +[main] WARN o.o.c.languages.AbstractRustCodegen - r#type cannot be used as a field/variable name. Renamed to r_hash_type +[main] WARN o.o.c.languages.AbstractRustCodegen - type cannot be used as a field/variable name. Renamed to r#type +[main] WARN o.o.c.languages.AbstractRustCodegen - type cannot be used as a field/variable name. Renamed to r#type +[main] WARN o.o.c.languages.AbstractRustCodegen - type cannot be used as a field/variable name. Renamed to r#type +[main] WARN o.o.c.languages.AbstractRustCodegen - type cannot be used as a field/variable name. Renamed to r#type +[main] WARN o.o.c.languages.AbstractRustCodegen - type cannot be used as a field/variable name. Renamed to r#type +[main] WARN o.o.c.languages.AbstractRustCodegen - type cannot be used as a field/variable name. Renamed to r#type +[main] WARN o.o.c.languages.AbstractRustCodegen - r#type cannot be used as a field/variable name. Renamed to r_hash_type +[main] WARN o.o.c.languages.AbstractRustCodegen - type cannot be used as a field/variable name. Renamed to r#type +[main] WARN o.o.c.languages.AbstractRustCodegen - type cannot be used as a field/variable name. Renamed to r#type +[main] WARN o.o.c.languages.AbstractRustCodegen - type cannot be used as a field/variable name. Renamed to r#type +[main] WARN o.o.c.languages.AbstractRustCodegen - type cannot be used as a field/variable name. Renamed to r#type +[main] WARN o.o.c.languages.AbstractRustCodegen - type cannot be used as a field/variable name. Renamed to r#type +[main] WARN o.o.c.languages.AbstractRustCodegen - type cannot be used as a field/variable name. Renamed to r#type +[main] WARN o.o.c.languages.AbstractRustCodegen - r#type cannot be used as a field/variable name. Renamed to r_hash_type +[main] WARN o.o.c.languages.AbstractRustCodegen - type cannot be used as a field/variable name. Renamed to r#type +[main] WARN o.o.c.languages.AbstractRustCodegen - type cannot be used as a field/variable name. Renamed to r#type +[main] WARN o.o.c.languages.AbstractRustCodegen - type cannot be used as a field/variable name. Renamed to r#type +[main] WARN o.o.c.languages.AbstractRustCodegen - type cannot be used as a field/variable name. Renamed to r#type +[main] WARN o.o.c.languages.AbstractRustCodegen - type cannot be used as a field/variable name. Renamed to r#type +[main] WARN o.o.c.languages.AbstractRustCodegen - type cannot be used as a field/variable name. Renamed to r#type +[main] WARN o.o.c.languages.AbstractRustCodegen - type cannot be used as a field/variable name. Renamed to r#type +[main] WARN o.o.c.languages.AbstractRustCodegen - type cannot be used as a field/variable name. Renamed to r#type +[main] WARN o.o.c.languages.AbstractRustCodegen - type cannot be used as a field/variable name. Renamed to r#type +[main] WARN o.o.c.languages.AbstractRustCodegen - type cannot be used as a field/variable name. Renamed to r#type +[main] WARN o.o.c.languages.AbstractRustCodegen - type cannot be used as a field/variable name. Renamed to r#type +[main] WARN o.o.c.languages.AbstractRustCodegen - type cannot be used as a field/variable name. Renamed to r#type +[main] WARN o.o.c.languages.AbstractRustCodegen - type cannot be used as a field/variable name. Renamed to r#type +[main] WARN o.o.c.languages.AbstractRustCodegen - type cannot be used as a field/variable name. Renamed to r#type +[main] WARN o.o.c.languages.AbstractRustCodegen - type cannot be used as a field/variable name. Renamed to r#type +[main] WARN o.o.c.languages.AbstractRustCodegen - type cannot be used as a field/variable name. Renamed to r#type +[main] WARN o.o.c.languages.AbstractRustCodegen - type cannot be used as a field/variable name. Renamed to r#type +[main] WARN o.o.c.languages.AbstractRustCodegen - type cannot be used as a field/variable name. Renamed to r#type +[main] WARN o.o.c.languages.AbstractRustCodegen - type cannot be used as a field/variable name. Renamed to r#type +[main] WARN o.o.c.languages.AbstractRustCodegen - type cannot be used as a field/variable name. Renamed to r#type +[main] WARN o.o.c.languages.AbstractRustCodegen - type cannot be used as a field/variable name. Renamed to r#type +[main] WARN o.o.c.languages.AbstractRustCodegen - r#type cannot be used as a field/variable name. Renamed to r_hash_type +[main] WARN o.o.c.languages.AbstractRustCodegen - type cannot be used as a field/variable name. Renamed to r#type +[main] WARN o.o.c.languages.AbstractRustCodegen - type cannot be used as a field/variable name. Renamed to r#type +[main] WARN o.o.c.languages.AbstractRustCodegen - type cannot be used as a field/variable name. Renamed to r#type +[main] WARN o.o.c.languages.AbstractRustCodegen - type cannot be used as a field/variable name. Renamed to r#type +[main] WARN o.o.c.languages.AbstractRustCodegen - type cannot be used as a field/variable name. Renamed to r#type +[main] WARN o.o.c.languages.AbstractRustCodegen - type cannot be used as a field/variable name. Renamed to r#type +[main] WARN o.o.c.languages.AbstractRustCodegen - type cannot be used as a field/variable name. Renamed to r#type +[main] WARN o.o.c.languages.AbstractRustCodegen - type cannot be used as a field/variable name. Renamed to r#type +[main] WARN o.o.c.languages.AbstractRustCodegen - type cannot be used as a field/variable name. Renamed to r#type +[main] WARN o.o.c.languages.AbstractRustCodegen - type cannot be used as a field/variable name. Renamed to r#type +[main] WARN o.o.c.languages.AbstractRustCodegen - type cannot be used as a field/variable name. Renamed to r#type +[main] WARN o.o.c.languages.AbstractRustCodegen - type cannot be used as a field/variable name. Renamed to r#type +[main] WARN o.o.c.languages.AbstractRustCodegen - type cannot be used as a field/variable name. Renamed to r#type +[main] WARN o.o.c.languages.AbstractRustCodegen - type cannot be used as a field/variable name. Renamed to r#type +[main] WARN o.o.c.languages.AbstractRustCodegen - type cannot be used as a field/variable name. Renamed to r#type +[main] WARN o.o.c.languages.AbstractRustCodegen - type cannot be used as a field/variable name. Renamed to r#type +[main] WARN o.o.c.languages.AbstractRustCodegen - type cannot be used as a field/variable name. Renamed to r#type +[main] WARN o.o.c.languages.AbstractRustCodegen - type cannot be used as a field/variable name. Renamed to r#type +[main] WARN o.o.c.languages.AbstractRustCodegen - type cannot be used as a field/variable name. Renamed to r#type +[main] WARN o.o.c.languages.AbstractRustCodegen - type cannot be used as a field/variable name. Renamed to r#type +[main] WARN o.o.c.languages.AbstractRustCodegen - type cannot be used as a field/variable name. Renamed to r#type +[main] WARN o.o.c.languages.AbstractRustCodegen - type cannot be used as a field/variable name. Renamed to r#type +[main] WARN o.o.c.languages.AbstractRustCodegen - type cannot be used as a field/variable name. Renamed to r#type +[main] WARN o.o.c.languages.AbstractRustCodegen - type cannot be used as a field/variable name. Renamed to r#type +[main] WARN o.o.c.languages.AbstractRustCodegen - type cannot be used as a field/variable name. Renamed to r#type +[main] WARN o.o.c.languages.AbstractRustCodegen - type cannot be used as a field/variable name. Renamed to r#type +[main] WARN o.o.c.languages.AbstractRustCodegen - type cannot be used as a field/variable name. Renamed to r#type +[main] WARN o.o.c.languages.AbstractRustCodegen - type cannot be used as a field/variable name. Renamed to r#type +[main] WARN o.o.c.languages.AbstractRustCodegen - type cannot be used as a field/variable name. Renamed to r#type +[main] WARN o.o.c.languages.AbstractRustCodegen - type cannot be used as a field/variable name. Renamed to r#type +[main] WARN o.o.c.languages.AbstractRustCodegen - type cannot be used as a field/variable name. Renamed to r#type +[main] WARN o.o.c.languages.AbstractRustCodegen - type cannot be used as a field/variable name. Renamed to r#type +[main] WARN o.o.c.languages.AbstractRustCodegen - type cannot be used as a field/variable name. Renamed to r#type +[main] WARN o.o.c.languages.AbstractRustCodegen - type cannot be used as a field/variable name. Renamed to r#type +[main] WARN o.o.c.languages.AbstractRustCodegen - type cannot be used as a field/variable name. Renamed to r#type +[main] WARN o.o.c.languages.AbstractRustCodegen - type cannot be used as a field/variable name. Renamed to r#type +[main] WARN o.o.c.languages.AbstractRustCodegen - type cannot be used as a field/variable name. Renamed to r#type +[main] WARN o.o.c.languages.AbstractRustCodegen - type cannot be used as a field/variable name. Renamed to r#type +[main] WARN o.o.c.languages.AbstractRustCodegen - type cannot be used as a field/variable name. Renamed to r#type +[main] WARN o.o.c.languages.AbstractRustCodegen - type cannot be used as a field/variable name. Renamed to r#type +[main] WARN o.o.c.languages.AbstractRustCodegen - type cannot be used as a field/variable name. Renamed to r#type +[main] WARN o.o.c.languages.AbstractRustCodegen - type cannot be used as a field/variable name. Renamed to r#type +[main] WARN o.o.c.languages.AbstractRustCodegen - type cannot be used as a field/variable name. Renamed to r#type +[main] WARN o.o.c.languages.AbstractRustCodegen - type cannot be used as a field/variable name. Renamed to r#type +[main] WARN o.o.c.languages.AbstractRustCodegen - type cannot be used as a field/variable name. Renamed to r#type +[main] WARN o.o.c.languages.AbstractRustCodegen - type cannot be used as a field/variable name. Renamed to r#type +[main] WARN o.o.c.languages.AbstractRustCodegen - type cannot be used as a field/variable name. Renamed to r#type +[main] WARN o.o.c.languages.AbstractRustCodegen - type cannot be used as a field/variable name. Renamed to r#type +[main] WARN o.o.c.languages.AbstractRustCodegen - type cannot be used as a field/variable name. Renamed to r#type +[main] WARN o.o.c.languages.AbstractRustCodegen - type cannot be used as a field/variable name. Renamed to r#type +[main] WARN o.o.c.languages.AbstractRustCodegen - type cannot be used as a field/variable name. Renamed to r#type +[main] WARN o.o.c.languages.AbstractRustCodegen - type cannot be used as a field/variable name. Renamed to r#type +[main] WARN o.o.c.languages.AbstractRustCodegen - type cannot be used as a field/variable name. Renamed to r#type +[main] WARN o.o.c.languages.AbstractRustCodegen - type cannot be used as a field/variable name. Renamed to r#type +[main] WARN o.o.c.languages.AbstractRustCodegen - type cannot be used as a field/variable name. Renamed to r#type +[main] WARN o.o.c.languages.AbstractRustCodegen - type cannot be used as a field/variable name. Renamed to r#type +[main] WARN o.o.c.languages.AbstractRustCodegen - type cannot be used as a field/variable name. Renamed to r#type +[main] WARN o.o.c.languages.AbstractRustCodegen - type cannot be used as a field/variable name. Renamed to r#type +[main] WARN o.o.c.languages.AbstractRustCodegen - type cannot be used as a field/variable name. Renamed to r#type +[main] WARN o.o.c.languages.AbstractRustCodegen - type cannot be used as a field/variable name. Renamed to r#type +[main] WARN o.o.c.languages.AbstractRustCodegen - type cannot be used as a field/variable name. Renamed to r#type +[main] WARN o.o.c.languages.AbstractRustCodegen - type cannot be used as a field/variable name. Renamed to r#type +[main] WARN o.o.c.languages.AbstractRustCodegen - type cannot be used as a field/variable name. Renamed to r#type +[main] WARN o.o.c.languages.AbstractRustCodegen - type cannot be used as a field/variable name. Renamed to r#type +[main] WARN o.o.c.languages.AbstractRustCodegen - type cannot be used as a field/variable name. Renamed to r#type +[main] WARN o.o.c.languages.AbstractRustCodegen - type cannot be used as a field/variable name. Renamed to r#type +[main] WARN o.o.c.languages.AbstractRustCodegen - type cannot be used as a field/variable name. Renamed to r#type +[main] WARN o.o.c.languages.AbstractRustCodegen - type cannot be used as a field/variable name. Renamed to r#type +[main] WARN o.o.c.languages.AbstractRustCodegen - type cannot be used as a field/variable name. Renamed to r#type +[main] WARN o.o.c.languages.AbstractRustCodegen - type cannot be used as a field/variable name. Renamed to r#type +[main] WARN o.o.c.languages.AbstractRustCodegen - type cannot be used as a field/variable name. Renamed to r#type +[main] WARN o.o.c.languages.AbstractRustCodegen - type cannot be used as a field/variable name. Renamed to r#type +[main] WARN o.o.c.languages.AbstractRustCodegen - type cannot be used as a field/variable name. Renamed to r#type +[main] WARN o.o.c.languages.AbstractRustCodegen - type cannot be used as a field/variable name. Renamed to r#type +[main] WARN o.o.c.languages.AbstractRustCodegen - type cannot be used as a field/variable name. Renamed to r#type +[main] WARN o.o.c.languages.AbstractRustCodegen - type cannot be used as a field/variable name. Renamed to r#type +[main] WARN o.o.c.languages.AbstractRustCodegen - type cannot be used as a field/variable name. Renamed to r#type +[main] WARN o.o.c.languages.AbstractRustCodegen - type cannot be used as a field/variable name. Renamed to r#type +[main] WARN o.o.c.languages.AbstractRustCodegen - type cannot be used as a field/variable name. Renamed to r#type +[main] WARN o.o.c.languages.AbstractRustCodegen - type cannot be used as a field/variable name. Renamed to r#type +[main] WARN o.o.c.languages.AbstractRustCodegen - type cannot be used as a field/variable name. Renamed to r#type +[main] WARN o.o.c.languages.AbstractRustCodegen - type cannot be used as a field/variable name. Renamed to r#type +[main] WARN o.o.c.languages.AbstractRustCodegen - type cannot be used as a field/variable name. Renamed to r#type +[main] WARN o.o.c.languages.AbstractRustCodegen - type cannot be used as a field/variable name. Renamed to r#type +[main] WARN o.o.c.languages.AbstractRustCodegen - type cannot be used as a field/variable name. Renamed to r#type +[main] WARN o.o.c.languages.AbstractRustCodegen - type cannot be used as a field/variable name. Renamed to r#type +[main] WARN o.o.c.languages.AbstractRustCodegen - type cannot be used as a field/variable name. Renamed to r#type +[main] WARN o.o.c.languages.AbstractRustCodegen - ImageTiff cannot be used as a enum variant name. Renamed to ImageSlashTiff +[main] WARN o.o.c.languages.AbstractRustCodegen - type cannot be used as a field/variable name. Renamed to r#type +[main] WARN o.o.c.languages.AbstractRustCodegen - type cannot be used as a field/variable name. Renamed to r#type +[main] WARN o.o.c.languages.AbstractRustCodegen - type cannot be used as a field/variable name. Renamed to r#type +[main] WARN o.o.c.languages.AbstractRustCodegen - type cannot be used as a field/variable name. Renamed to r#type +[main] WARN o.o.c.languages.AbstractRustCodegen - type cannot be used as a field/variable name. Renamed to r#type +[main] WARN o.o.c.languages.AbstractRustCodegen - type cannot be used as a field/variable name. Renamed to r#type +[main] WARN o.o.c.languages.AbstractRustCodegen - type cannot be used as a field/variable name. Renamed to r#type +[main] WARN o.o.c.languages.AbstractRustCodegen - type cannot be used as a field/variable name. Renamed to r#type +[main] WARN o.o.c.languages.AbstractRustCodegen - type cannot be used as a field/variable name. Renamed to r#type +[main] WARN o.o.c.languages.AbstractRustCodegen - type cannot be used as a field/variable name. Renamed to r#type +[main] WARN o.o.c.languages.AbstractRustCodegen - type cannot be used as a field/variable name. Renamed to r#type +[main] WARN o.o.c.languages.AbstractRustCodegen - type cannot be used as a field/variable name. Renamed to r#type +[main] WARN o.o.c.languages.AbstractRustCodegen - type cannot be used as a field/variable name. Renamed to r#type +[main] WARN o.o.c.languages.AbstractRustCodegen - type cannot be used as a field/variable name. Renamed to r#type +[main] WARN o.o.c.languages.AbstractRustCodegen - type cannot be used as a field/variable name. Renamed to r#type +[main] WARN o.o.c.languages.AbstractRustCodegen - type cannot be used as a field/variable name. Renamed to r#type +[main] WARN o.o.c.languages.AbstractRustCodegen - type cannot be used as a field/variable name. Renamed to r#type +[main] WARN o.o.c.languages.AbstractRustCodegen - type cannot be used as a field/variable name. Renamed to r#type +[main] WARN o.o.c.languages.AbstractRustCodegen - type cannot be used as a field/variable name. Renamed to r#type +[main] WARN o.o.c.languages.AbstractRustCodegen - type cannot be used as a field/variable name. Renamed to r#type +[main] WARN o.o.c.languages.AbstractRustCodegen - type cannot be used as a field/variable name. Renamed to r#type +[main] WARN o.o.c.languages.AbstractRustCodegen - type cannot be used as a field/variable name. Renamed to r#type +[main] WARN o.o.c.languages.AbstractRustCodegen - type cannot be used as a field/variable name. Renamed to r#type +[main] WARN o.o.c.languages.AbstractRustCodegen - type cannot be used as a field/variable name. Renamed to r#type +[main] WARN o.o.c.languages.AbstractRustCodegen - type cannot be used as a field/variable name. Renamed to r#type +[main] WARN o.o.c.languages.AbstractRustCodegen - type cannot be used as a field/variable name. Renamed to r#type +[main] WARN o.o.c.languages.AbstractRustCodegen - type cannot be used as a field/variable name. Renamed to r#type +[main] WARN o.o.c.languages.AbstractRustCodegen - type cannot be used as a field/variable name. Renamed to r#type +[main] WARN o.o.c.languages.AbstractRustCodegen - type cannot be used as a field/variable name. Renamed to r#type +[main] WARN o.o.c.languages.AbstractRustCodegen - type cannot be used as a field/variable name. Renamed to r#type +[main] WARN o.o.c.languages.AbstractRustCodegen - type cannot be used as a field/variable name. Renamed to r#type +[main] WARN o.o.c.languages.AbstractRustCodegen - type cannot be used as a field/variable name. Renamed to r#type +[main] WARN o.o.c.languages.AbstractRustCodegen - type cannot be used as a field/variable name. Renamed to r#type +[main] WARN o.o.c.languages.AbstractRustCodegen - type cannot be used as a field/variable name. Renamed to r#type +[main] WARN o.o.c.languages.AbstractRustCodegen - type cannot be used as a field/variable name. Renamed to r#type +[main] WARN o.o.c.languages.AbstractRustCodegen - type cannot be used as a field/variable name. Renamed to r#type +[main] WARN o.o.c.languages.AbstractRustCodegen - type cannot be used as a field/variable name. Renamed to r#type +[main] WARN o.o.c.languages.AbstractRustCodegen - type cannot be used as a field/variable name. Renamed to r#type +[main] WARN o.o.c.languages.AbstractRustCodegen - type cannot be used as a field/variable name. Renamed to r#type +[main] WARN o.o.c.languages.AbstractRustCodegen - type cannot be used as a field/variable name. Renamed to r#type +[main] WARN o.o.c.languages.AbstractRustCodegen - type cannot be used as a field/variable name. Renamed to r#type +[main] WARN o.o.c.languages.AbstractRustCodegen - type cannot be used as a field/variable name. Renamed to r#type +[main] WARN o.o.c.languages.AbstractRustCodegen - type cannot be used as a field/variable name. Renamed to r#type +[main] WARN o.o.c.languages.AbstractRustCodegen - type cannot be used as a field/variable name. Renamed to r#type +[main] WARN o.o.c.languages.AbstractRustCodegen - type cannot be used as a field/variable name. Renamed to r#type +[main] WARN o.o.c.languages.AbstractRustCodegen - type cannot be used as a field/variable name. Renamed to r#type +[main] WARN o.o.c.languages.AbstractRustCodegen - type cannot be used as a field/variable name. Renamed to r#type +[main] WARN o.o.c.languages.AbstractRustCodegen - type cannot be used as a field/variable name. Renamed to r#type +[main] WARN o.o.c.languages.AbstractRustCodegen - r#type cannot be used as a field/variable name. Renamed to r_hash_type +[main] WARN o.o.c.languages.AbstractRustCodegen - type cannot be used as a field/variable name. Renamed to r#type +[main] WARN o.o.c.languages.AbstractRustCodegen - type cannot be used as a field/variable name. Renamed to r#type +[main] WARN o.o.c.languages.AbstractRustCodegen - type cannot be used as a field/variable name. Renamed to r#type +[main] WARN o.o.c.languages.AbstractRustCodegen - type cannot be used as a field/variable name. Renamed to r#type +[main] WARN o.o.c.languages.AbstractRustCodegen - type cannot be used as a field/variable name. Renamed to r#type +[main] WARN o.o.c.languages.AbstractRustCodegen - type cannot be used as a field/variable name. Renamed to r#type +[main] WARN o.o.c.languages.AbstractRustCodegen - r#type cannot be used as a field/variable name. Renamed to r_hash_type +[main] WARN o.o.c.languages.AbstractRustCodegen - type cannot be used as a field/variable name. Renamed to r#type +[main] WARN o.o.c.languages.AbstractRustCodegen - type cannot be used as a field/variable name. Renamed to r#type +[main] WARN o.o.c.languages.AbstractRustCodegen - type cannot be used as a field/variable name. Renamed to r#type +[main] WARN o.o.c.languages.AbstractRustCodegen - type cannot be used as a field/variable name. Renamed to r#type +[main] WARN o.o.c.languages.AbstractRustCodegen - type cannot be used as a field/variable name. Renamed to r#type +[main] WARN o.o.c.languages.AbstractRustCodegen - type cannot be used as a field/variable name. Renamed to r#type +[main] WARN o.o.c.languages.AbstractRustCodegen - type cannot be used as a field/variable name. Renamed to r#type +[main] WARN o.o.c.languages.AbstractRustCodegen - type cannot be used as a field/variable name. Renamed to r#type +[main] WARN o.o.c.languages.AbstractRustCodegen - type cannot be used as a field/variable name. Renamed to r#type +[main] WARN o.o.c.languages.AbstractRustCodegen - type cannot be used as a field/variable name. Renamed to r#type +[main] WARN o.o.c.languages.AbstractRustCodegen - type cannot be used as a field/variable name. Renamed to r#type +[main] WARN o.o.c.languages.AbstractRustCodegen - type cannot be used as a field/variable name. Renamed to r#type +[main] WARN o.o.c.languages.AbstractRustCodegen - type cannot be used as a field/variable name. Renamed to r#type +[main] WARN o.o.c.languages.AbstractRustCodegen - type cannot be used as a field/variable name. Renamed to r#type +[main] WARN o.o.c.languages.AbstractRustCodegen - type cannot be used as a field/variable name. Renamed to r#type +[main] WARN o.o.c.languages.AbstractRustCodegen - type cannot be used as a field/variable name. Renamed to r#type +[main] WARN o.o.c.languages.AbstractRustCodegen - type cannot be used as a field/variable name. Renamed to r#type +[main] WARN o.o.c.languages.AbstractRustCodegen - type cannot be used as a field/variable name. Renamed to r#type +[main] WARN o.o.c.languages.AbstractRustCodegen - type cannot be used as a field/variable name. Renamed to r#type +[main] WARN o.o.c.languages.AbstractRustCodegen - type cannot be used as a field/variable name. Renamed to r#type +[main] WARN o.o.c.languages.AbstractRustCodegen - type cannot be used as a field/variable name. Renamed to r#type +[main] WARN o.o.c.languages.AbstractRustCodegen - type cannot be used as a field/variable name. Renamed to r#type +[main] WARN o.o.c.languages.AbstractRustCodegen - type cannot be used as a field/variable name. Renamed to r#type +[main] WARN o.o.c.languages.AbstractRustCodegen - type cannot be used as a field/variable name. Renamed to r#type +[main] WARN o.o.c.languages.AbstractRustCodegen - type cannot be used as a field/variable name. Renamed to r#type +[main] WARN o.o.c.languages.AbstractRustCodegen - type cannot be used as a field/variable name. Renamed to r#type +[main] WARN o.o.c.languages.AbstractRustCodegen - type cannot be used as a field/variable name. Renamed to r#type +[main] WARN o.o.c.languages.AbstractRustCodegen - type cannot be used as a field/variable name. Renamed to r#type +[main] WARN o.o.c.languages.AbstractRustCodegen - type cannot be used as a field/variable name. Renamed to r#type +[main] WARN o.o.c.languages.AbstractRustCodegen - type cannot be used as a field/variable name. Renamed to r#type +[main] WARN o.o.c.languages.AbstractRustCodegen - type cannot be used as a field/variable name. Renamed to r#type +[main] WARN o.o.c.languages.AbstractRustCodegen - r#type cannot be used as a field/variable name. Renamed to r_hash_type +[main] WARN o.o.c.languages.AbstractRustCodegen - type cannot be used as a field/variable name. Renamed to r#type +[main] WARN o.o.c.languages.AbstractRustCodegen - type cannot be used as a field/variable name. Renamed to r#type +[main] WARN o.o.c.languages.AbstractRustCodegen - type cannot be used as a field/variable name. Renamed to r#type +[main] WARN o.o.c.languages.AbstractRustCodegen - type cannot be used as a field/variable name. Renamed to r#type +[main] WARN o.o.c.languages.AbstractRustCodegen - type cannot be used as a field/variable name. Renamed to r#type +[main] WARN o.o.c.languages.AbstractRustCodegen - type cannot be used as a field/variable name. Renamed to r#type +[main] WARN o.o.c.languages.AbstractRustCodegen - type cannot be used as a field/variable name. Renamed to r#type +[main] WARN o.o.c.languages.AbstractRustCodegen - type cannot be used as a field/variable name. Renamed to r#type +[main] WARN o.o.c.languages.AbstractRustCodegen - r#type cannot be used as a field/variable name. Renamed to r_hash_type +[main] WARN o.o.c.languages.AbstractRustCodegen - type cannot be used as a field/variable name. Renamed to r#type +[main] WARN o.o.c.languages.AbstractRustCodegen - type cannot be used as a field/variable name. Renamed to r#type +[main] WARN o.o.c.languages.AbstractRustCodegen - type cannot be used as a field/variable name. Renamed to r#type +[main] WARN o.o.c.languages.AbstractRustCodegen - type cannot be used as a field/variable name. Renamed to r#type +[main] WARN o.o.c.languages.AbstractRustCodegen - type cannot be used as a field/variable name. Renamed to r#type +[main] WARN o.o.c.languages.AbstractRustCodegen - Start+end cannot be used as a model name. Renamed to StartPlusEnd +[main] WARN o.o.c.languages.AbstractRustCodegen - Start+duration cannot be used as a model name. Renamed to StartPlusDuration +[main] WARN o.o.c.languages.AbstractRustCodegen - Start+end cannot be used as a enum variant name. Renamed to StartPlusEnd +[main] WARN o.o.c.languages.AbstractRustCodegen - Start+duration cannot be used as a enum variant name. Renamed to StartPlusDuration +[main] WARN o.o.c.languages.AbstractRustCodegen - Start+end cannot be used as a enum variant name. Renamed to StartPlusEnd +[main] WARN o.o.c.languages.AbstractRustCodegen - Start+duration cannot be used as a enum variant name. Renamed to StartPlusDuration +[main] WARN o.o.c.languages.AbstractRustCodegen - Start+end cannot be used as a enum variant name. Renamed to StartPlusEnd +[main] WARN o.o.c.languages.AbstractRustCodegen - Start+duration cannot be used as a enum variant name. Renamed to StartPlusDuration +[main] WARN o.o.c.languages.AbstractRustCodegen - Start+end cannot be used as a enum variant name. Renamed to StartPlusEnd +[main] WARN o.o.c.languages.AbstractRustCodegen - Start+duration cannot be used as a enum variant name. Renamed to StartPlusDuration +[main] WARN o.o.c.languages.AbstractRustCodegen - type cannot be used as a field/variable name. Renamed to r#type +[main] WARN o.o.c.languages.AbstractRustCodegen - type cannot be used as a field/variable name. Renamed to r#type +[main] WARN o.o.c.languages.AbstractRustCodegen - type cannot be used as a field/variable name. Renamed to r#type +[main] WARN o.o.c.languages.AbstractRustCodegen - type cannot be used as a field/variable name. Renamed to r#type +[main] WARN o.o.c.languages.AbstractRustCodegen - type cannot be used as a field/variable name. Renamed to r#type +[main] WARN o.o.c.languages.AbstractRustCodegen - type cannot be used as a field/variable name. Renamed to r#type +[main] WARN o.o.c.languages.AbstractRustCodegen - type cannot be used as a field/variable name. Renamed to r#type +[main] WARN o.o.c.languages.AbstractRustCodegen - type cannot be used as a field/variable name. Renamed to r#type +[main] WARN o.o.c.languages.AbstractRustCodegen - type cannot be used as a field/variable name. Renamed to r#type +[main] WARN o.o.c.languages.AbstractRustCodegen - type cannot be used as a field/variable name. Renamed to r#type +[main] WARN o.o.c.languages.AbstractRustCodegen - type cannot be used as a field/variable name. Renamed to r#type +[main] WARN o.o.c.languages.AbstractRustCodegen - type cannot be used as a field/variable name. Renamed to r#type +[main] WARN o.o.c.languages.AbstractRustCodegen - type cannot be used as a field/variable name. Renamed to r#type +[main] WARN o.o.c.languages.AbstractRustCodegen - type cannot be used as a field/variable name. Renamed to r#type +[main] WARN o.o.c.languages.AbstractRustCodegen - type cannot be used as a field/variable name. Renamed to r#type +[main] WARN o.o.c.languages.AbstractRustCodegen - Start+duration cannot be used as a enum variant name. Renamed to StartPlusDuration +[main] WARN o.o.c.languages.AbstractRustCodegen - Start+duration cannot be used as a enum variant name. Renamed to StartPlusDuration +[main] WARN o.o.c.languages.AbstractRustCodegen - Start+duration cannot be used as a enum variant name. Renamed to StartPlusDuration +[main] WARN o.o.c.languages.AbstractRustCodegen - Start+duration cannot be used as a enum variant name. Renamed to StartPlusDuration +[main] WARN o.o.c.languages.AbstractRustCodegen - Start+duration cannot be used as a enum variant name. Renamed to StartPlusDuration +[main] WARN o.o.c.languages.AbstractRustCodegen - type cannot be used as a field/variable name. Renamed to r#type +[main] WARN o.o.c.languages.AbstractRustCodegen - type cannot be used as a field/variable name. Renamed to r#type +[main] WARN o.o.c.languages.AbstractRustCodegen - type cannot be used as a field/variable name. Renamed to r#type +[main] WARN o.o.c.languages.AbstractRustCodegen - type cannot be used as a field/variable name. Renamed to r#type +[main] WARN o.o.c.languages.AbstractRustCodegen - type cannot be used as a field/variable name. Renamed to r#type +[main] WARN o.o.c.languages.AbstractRustCodegen - Start+end cannot be used as a enum variant name. Renamed to StartPlusEnd +[main] WARN o.o.c.languages.AbstractRustCodegen - Start+end cannot be used as a enum variant name. Renamed to StartPlusEnd +[main] WARN o.o.c.languages.AbstractRustCodegen - Start+end cannot be used as a enum variant name. Renamed to StartPlusEnd +[main] WARN o.o.c.languages.AbstractRustCodegen - Start+end cannot be used as a enum variant name. Renamed to StartPlusEnd +[main] WARN o.o.c.languages.AbstractRustCodegen - Start+end cannot be used as a enum variant name. Renamed to StartPlusEnd +[main] WARN o.o.c.languages.AbstractRustCodegen - type cannot be used as a field/variable name. Renamed to r#type +[main] WARN o.o.c.languages.AbstractRustCodegen - r#type cannot be used as a field/variable name. Renamed to r_hash_type +[main] WARN o.o.c.languages.AbstractRustCodegen - type cannot be used as a field/variable name. Renamed to r#type +[main] WARN o.o.c.languages.AbstractRustCodegen - type cannot be used as a field/variable name. Renamed to r#type +[main] WARN o.o.c.languages.AbstractRustCodegen - type cannot be used as a field/variable name. Renamed to r#type +[main] WARN o.o.c.languages.AbstractRustCodegen - type cannot be used as a field/variable name. Renamed to r#type +[main] WARN o.o.c.languages.AbstractRustCodegen - type cannot be used as a field/variable name. Renamed to r#type +[main] WARN o.o.c.languages.AbstractRustCodegen - type cannot be used as a field/variable name. Renamed to r#type +[main] WARN o.o.c.languages.AbstractRustCodegen - type cannot be used as a field/variable name. Renamed to r#type +[main] WARN o.o.c.languages.AbstractRustCodegen - type cannot be used as a field/variable name. Renamed to r#type +[main] WARN o.o.c.languages.AbstractRustCodegen - type cannot be used as a field/variable name. Renamed to r#type +[main] WARN o.o.c.languages.AbstractRustCodegen - type cannot be used as a field/variable name. Renamed to r#type +[main] WARN o.o.c.languages.AbstractRustCodegen - type cannot be used as a field/variable name. Renamed to r#type +[main] WARN o.o.c.languages.AbstractRustCodegen - type cannot be used as a field/variable name. Renamed to r#type +[main] WARN o.o.c.languages.AbstractRustCodegen - type cannot be used as a field/variable name. Renamed to r#type +[main] WARN o.o.c.languages.AbstractRustCodegen - serde_json::value cannot be used as a field/variable name. Renamed to serde_json_colon_colon_value +[main] WARN o.o.c.languages.AbstractRustCodegen - serde_json::value cannot be used as a field/variable name. Renamed to serde_json_colon_colon_value +[main] WARN o.o.c.languages.AbstractRustCodegen - serde_json::value cannot be used as a field/variable name. Renamed to serde_json_colon_colon_value +[main] WARN o.o.c.languages.AbstractRustCodegen - type cannot be used as a field/variable name. Renamed to r#type +[main] WARN o.o.c.languages.AbstractRustCodegen - type cannot be used as a field/variable name. Renamed to r#type +[main] WARN o.o.c.languages.AbstractRustCodegen - type cannot be used as a field/variable name. Renamed to r#type +[main] WARN o.o.c.languages.AbstractRustCodegen - type cannot be used as a field/variable name. Renamed to r#type +[main] WARN o.o.c.languages.AbstractRustCodegen - type cannot be used as a field/variable name. Renamed to r#type +[main] WARN o.o.c.languages.AbstractRustCodegen - type cannot be used as a field/variable name. Renamed to r#type +[main] WARN o.o.c.languages.AbstractRustCodegen - type cannot be used as a field/variable name. Renamed to r#type +[main] INFO o.o.codegen.DefaultGenerator - Model Palette not generated since it's a free-form object +[main] WARN o.o.c.languages.AbstractRustCodegen - type cannot be used as a field/variable name. Renamed to r#type +[main] WARN o.o.c.languages.AbstractRustCodegen - type cannot be used as a field/variable name. Renamed to r#type +[main] WARN o.o.c.languages.AbstractRustCodegen - type cannot be used as a field/variable name. Renamed to r#type +[main] WARN o.o.c.languages.AbstractRustCodegen - type cannot be used as a field/variable name. Renamed to r#type +[main] WARN o.o.c.languages.AbstractRustCodegen - type cannot be used as a field/variable name. Renamed to r#type +[main] WARN o.o.c.languages.AbstractRustCodegen - type cannot be used as a field/variable name. Renamed to r#type +[main] WARN o.o.c.languages.AbstractRustCodegen - type cannot be used as a field/variable name. Renamed to r#type +[main] WARN o.o.c.languages.AbstractRustCodegen - type cannot be used as a field/variable name. Renamed to r#type +[main] WARN o.o.c.languages.AbstractRustCodegen - type cannot be used as a field/variable name. Renamed to r#type +[main] WARN o.o.c.languages.AbstractRustCodegen - type cannot be used as a field/variable name. Renamed to r#type +[main] WARN o.o.c.languages.AbstractRustCodegen - type cannot be used as a field/variable name. Renamed to r#type +[main] WARN o.o.c.languages.AbstractRustCodegen - type cannot be used as a field/variable name. Renamed to r#type +[main] WARN o.o.c.languages.AbstractRustCodegen - type cannot be used as a field/variable name. Renamed to r#type +[main] WARN o.o.c.languages.AbstractRustCodegen - type cannot be used as a field/variable name. Renamed to r#type +[main] WARN o.o.c.languages.AbstractRustCodegen - type cannot be used as a field/variable name. Renamed to r#type +[main] WARN o.o.c.languages.AbstractRustCodegen - type cannot be used as a field/variable name. Renamed to r#type +[main] WARN o.o.c.languages.AbstractRustCodegen - type cannot be used as a field/variable name. Renamed to r#type +[main] WARN o.o.c.languages.AbstractRustCodegen - type cannot be used as a field/variable name. Renamed to r#type +[main] WARN o.o.c.languages.AbstractRustCodegen - type cannot be used as a field/variable name. Renamed to r#type +[main] WARN o.o.c.languages.AbstractRustCodegen - type cannot be used as a field/variable name. Renamed to r#type +[main] WARN o.o.c.languages.AbstractRustCodegen - type cannot be used as a field/variable name. Renamed to r#type +[main] WARN o.o.c.languages.AbstractRustCodegen - type cannot be used as a field/variable name. Renamed to r#type +[main] WARN o.o.c.languages.AbstractRustCodegen - type cannot be used as a field/variable name. Renamed to r#type +[main] WARN o.o.c.languages.AbstractRustCodegen - type cannot be used as a field/variable name. Renamed to r#type +[main] WARN o.o.c.languages.AbstractRustCodegen - type cannot be used as a field/variable name. Renamed to r#type +[main] INFO o.o.codegen.DefaultGenerator - Model Property not generated since it's an alias to array (without property) and `generateAliasAsModel` is set to false (default) +[main] INFO o.o.codegen.DefaultGenerator - Model RasterBandDescriptors not generated since it's an alias to array (without property) and `generateAliasAsModel` is set to false (default) +[main] WARN o.o.c.languages.AbstractRustCodegen - type cannot be used as a field/variable name. Renamed to r#type +[main] WARN o.o.c.languages.AbstractRustCodegen - r#type cannot be used as a field/variable name. Renamed to r_hash_type +[main] WARN o.o.c.languages.AbstractRustCodegen - type cannot be used as a field/variable name. Renamed to r#type +[main] WARN o.o.c.languages.AbstractRustCodegen - type cannot be used as a field/variable name. Renamed to r#type +[main] WARN o.o.c.languages.AbstractRustCodegen - type cannot be used as a field/variable name. Renamed to r#type +[main] WARN o.o.c.languages.AbstractRustCodegen - type cannot be used as a field/variable name. Renamed to r#type +[main] WARN o.o.c.languages.AbstractRustCodegen - type cannot be used as a field/variable name. Renamed to r#type +[main] WARN o.o.c.languages.AbstractRustCodegen - type cannot be used as a field/variable name. Renamed to r#type +[main] WARN o.o.c.languages.AbstractRustCodegen - type cannot be used as a field/variable name. Renamed to r#type +[main] WARN o.o.c.languages.AbstractRustCodegen - type cannot be used as a field/variable name. Renamed to r#type +[main] WARN o.o.c.languages.AbstractRustCodegen - type cannot be used as a field/variable name. Renamed to r#type +[main] WARN o.o.c.languages.AbstractRustCodegen - type cannot be used as a field/variable name. Renamed to r#type +[main] WARN o.o.c.languages.AbstractRustCodegen - type cannot be used as a field/variable name. Renamed to r#type +[main] WARN o.o.c.languages.AbstractRustCodegen - type cannot be used as a field/variable name. Renamed to r#type +[main] WARN o.o.c.languages.AbstractRustCodegen - type cannot be used as a field/variable name. Renamed to r#type +[main] WARN o.o.c.languages.AbstractRustCodegen - type cannot be used as a field/variable name. Renamed to r#type +[main] WARN o.o.c.languages.AbstractRustCodegen - type cannot be used as a field/variable name. Renamed to r#type +[main] WARN o.o.c.languages.AbstractRustCodegen - type cannot be used as a field/variable name. Renamed to r#type +[main] WARN o.o.c.languages.AbstractRustCodegen - r#type cannot be used as a field/variable name. Renamed to r_hash_type +[main] WARN o.o.c.languages.AbstractRustCodegen - type cannot be used as a field/variable name. Renamed to r#type +[main] WARN o.o.c.languages.AbstractRustCodegen - type cannot be used as a field/variable name. Renamed to r#type +[main] WARN o.o.c.languages.AbstractRustCodegen - type cannot be used as a field/variable name. Renamed to r#type +[main] WARN o.o.c.languages.AbstractRustCodegen - type cannot be used as a field/variable name. Renamed to r#type +[main] WARN o.o.c.languages.AbstractRustCodegen - type cannot be used as a field/variable name. Renamed to r#type +[main] INFO o.o.codegen.DefaultGenerator - Model RgbaColor not generated since it's an alias to array (without property) and `generateAliasAsModel` is set to false (default) +[main] WARN o.o.c.languages.AbstractRustCodegen - type cannot be used as a field/variable name. Renamed to r#type +[main] WARN o.o.c.languages.AbstractRustCodegen - type cannot be used as a field/variable name. Renamed to r#type +[main] WARN o.o.c.languages.AbstractRustCodegen - type cannot be used as a field/variable name. Renamed to r#type +[main] WARN o.o.c.languages.AbstractRustCodegen - type cannot be used as a field/variable name. Renamed to r#type +[main] WARN o.o.c.languages.AbstractRustCodegen - type cannot be used as a field/variable name. Renamed to r#type +[main] WARN o.o.c.languages.AbstractRustCodegen - type cannot be used as a field/variable name. Renamed to r#type +[main] WARN o.o.c.languages.AbstractRustCodegen - type cannot be used as a field/variable name. Renamed to r#type +[main] WARN o.o.c.languages.AbstractRustCodegen - type cannot be used as a field/variable name. Renamed to r#type +[main] WARN o.o.c.languages.AbstractRustCodegen - type cannot be used as a field/variable name. Renamed to r#type +[main] WARN o.o.c.languages.AbstractRustCodegen - type cannot be used as a field/variable name. Renamed to r#type +[main] WARN o.o.c.languages.AbstractRustCodegen - type cannot be used as a field/variable name. Renamed to r#type +[main] WARN o.o.c.languages.AbstractRustCodegen - r#type cannot be used as a field/variable name. Renamed to r_hash_type +[main] WARN o.o.c.languages.AbstractRustCodegen - type cannot be used as a field/variable name. Renamed to r#type +[main] WARN o.o.c.languages.AbstractRustCodegen - type cannot be used as a field/variable name. Renamed to r#type +[main] WARN o.o.c.languages.AbstractRustCodegen - type cannot be used as a field/variable name. Renamed to r#type +[main] WARN o.o.c.languages.AbstractRustCodegen - type cannot be used as a field/variable name. Renamed to r#type +[main] WARN o.o.c.languages.AbstractRustCodegen - type cannot be used as a field/variable name. Renamed to r#type +[main] WARN o.o.c.languages.AbstractRustCodegen - type cannot be used as a field/variable name. Renamed to r#type +[main] WARN o.o.c.languages.AbstractRustCodegen - type cannot be used as a field/variable name. Renamed to r#type +[main] WARN o.o.c.languages.AbstractRustCodegen - type cannot be used as a field/variable name. Renamed to r#type +[main] WARN o.o.c.languages.AbstractRustCodegen - serde_json::value cannot be used as a field/variable name. Renamed to serde_json_colon_colon_value +[main] WARN o.o.c.languages.AbstractRustCodegen - serde_json::value cannot be used as a field/variable name. Renamed to serde_json_colon_colon_value +[main] WARN o.o.c.languages.AbstractRustCodegen - serde_json::value cannot be used as a field/variable name. Renamed to serde_json_colon_colon_value +[main] WARN o.o.c.languages.AbstractRustCodegen - type cannot be used as a field/variable name. Renamed to r#type +[main] WARN o.o.c.languages.AbstractRustCodegen - type cannot be used as a field/variable name. Renamed to r#type +[main] WARN o.o.c.languages.AbstractRustCodegen - type cannot be used as a field/variable name. Renamed to r#type +[main] WARN o.o.c.languages.AbstractRustCodegen - type cannot be used as a field/variable name. Renamed to r#type +[main] WARN o.o.c.languages.AbstractRustCodegen - type cannot be used as a field/variable name. Renamed to r#type +[main] WARN o.o.c.languages.AbstractRustCodegen - type cannot be used as a field/variable name. Renamed to r#type +[main] WARN o.o.c.languages.AbstractRustCodegen - type cannot be used as a field/variable name. Renamed to r#type +[main] WARN o.o.c.languages.AbstractRustCodegen - type cannot be used as a field/variable name. Renamed to r#type +[main] WARN o.o.c.languages.AbstractRustCodegen - type cannot be used as a field/variable name. Renamed to r#type +[main] WARN o.o.c.languages.AbstractRustCodegen - SrOrg cannot be used as a enum variant name. Renamed to SrOrg +[main] WARN o.o.c.languages.AbstractRustCodegen - type cannot be used as a field/variable name. Renamed to r#type +[main] WARN o.o.c.languages.AbstractRustCodegen - type cannot be used as a field/variable name. Renamed to r#type +[main] WARN o.o.c.languages.AbstractRustCodegen - type cannot be used as a field/variable name. Renamed to r#type +[main] WARN o.o.c.languages.AbstractRustCodegen - type cannot be used as a field/variable name. Renamed to r#type +[main] WARN o.o.c.languages.AbstractRustCodegen - type cannot be used as a field/variable name. Renamed to r#type +[main] WARN o.o.c.languages.AbstractRustCodegen - type cannot be used as a field/variable name. Renamed to r#type +[main] WARN o.o.c.languages.AbstractRustCodegen - type cannot be used as a field/variable name. Renamed to r#type +[main] INFO o.o.codegen.DefaultGenerator - Model StringPair not generated since it's an alias to array (without property) and `generateAliasAsModel` is set to false (default) +[main] WARN o.o.c.languages.AbstractRustCodegen - type cannot be used as a field/variable name. Renamed to r#type +[main] WARN o.o.c.languages.AbstractRustCodegen - r#type cannot be used as a field/variable name. Renamed to r_hash_type +[main] WARN o.o.c.languages.AbstractRustCodegen - type cannot be used as a field/variable name. Renamed to r#type +[main] WARN o.o.c.languages.AbstractRustCodegen - type cannot be used as a field/variable name. Renamed to r#type +[main] WARN o.o.c.languages.AbstractRustCodegen - type cannot be used as a field/variable name. Renamed to r#type +[main] WARN o.o.c.languages.AbstractRustCodegen - type cannot be used as a field/variable name. Renamed to r#type +[main] WARN o.o.c.languages.AbstractRustCodegen - type cannot be used as a field/variable name. Renamed to r#type +[main] WARN o.o.c.languages.AbstractRustCodegen - serde_json::value cannot be used as a field/variable name. Renamed to serde_json_colon_colon_value +[main] WARN o.o.c.languages.AbstractRustCodegen - serde_json::value cannot be used as a field/variable name. Renamed to serde_json_colon_colon_value +[main] WARN o.o.c.languages.AbstractRustCodegen - serde_json::value cannot be used as a field/variable name. Renamed to serde_json_colon_colon_value +[main] WARN o.o.c.languages.AbstractRustCodegen - type cannot be used as a field/variable name. Renamed to r#type +[main] WARN o.o.c.languages.AbstractRustCodegen - type cannot be used as a field/variable name. Renamed to r#type +[main] WARN o.o.c.languages.AbstractRustCodegen - type cannot be used as a field/variable name. Renamed to r#type +[main] WARN o.o.c.languages.AbstractRustCodegen - type cannot be used as a field/variable name. Renamed to r#type +[main] WARN o.o.c.languages.AbstractRustCodegen - type cannot be used as a field/variable name. Renamed to r#type +[main] WARN o.o.c.languages.AbstractRustCodegen - type cannot be used as a field/variable name. Renamed to r#type +[main] WARN o.o.c.languages.AbstractRustCodegen - r#type cannot be used as a field/variable name. Renamed to r_hash_type +[main] WARN o.o.c.languages.AbstractRustCodegen - type cannot be used as a field/variable name. Renamed to r#type +[main] WARN o.o.c.languages.AbstractRustCodegen - type cannot be used as a field/variable name. Renamed to r#type +[main] WARN o.o.c.languages.AbstractRustCodegen - type cannot be used as a field/variable name. Renamed to r#type +[main] WARN o.o.c.languages.AbstractRustCodegen - type cannot be used as a field/variable name. Renamed to r#type +[main] WARN o.o.c.languages.AbstractRustCodegen - type cannot be used as a field/variable name. Renamed to r#type +[main] WARN o.o.c.languages.AbstractRustCodegen - WildLive! cannot be used as a model name. Renamed to WildLiveExclamation +[main] WARN o.o.c.languages.AbstractRustCodegen - WildLive! cannot be used as a enum variant name. Renamed to WildLiveExclamation +[main] WARN o.o.c.languages.AbstractRustCodegen - WildLive! cannot be used as a enum variant name. Renamed to WildLiveExclamation +[main] WARN o.o.c.languages.AbstractRustCodegen - WildLive! cannot be used as a enum variant name. Renamed to WildLiveExclamation +[main] WARN o.o.c.languages.AbstractRustCodegen - WildLive! cannot be used as a enum variant name. Renamed to WildLiveExclamation +[main] WARN o.o.c.languages.AbstractRustCodegen - type cannot be used as a field/variable name. Renamed to r#type +[main] WARN o.o.c.languages.AbstractRustCodegen - type cannot be used as a field/variable name. Renamed to r#type +[main] WARN o.o.c.languages.AbstractRustCodegen - type cannot be used as a field/variable name. Renamed to r#type +[main] WARN o.o.c.languages.AbstractRustCodegen - type cannot be used as a field/variable name. Renamed to r#type +[main] WARN o.o.c.languages.AbstractRustCodegen - type cannot be used as a field/variable name. Renamed to r#type +[main] WARN o.o.c.languages.AbstractRustCodegen - type cannot be used as a field/variable name. Renamed to r#type +[main] WARN o.o.c.languages.AbstractRustCodegen - type cannot be used as a field/variable name. Renamed to r#type +[main] WARN o.o.c.languages.AbstractRustCodegen - type cannot be used as a field/variable name. Renamed to r#type +[main] WARN o.o.c.languages.AbstractRustCodegen - serde_json::value cannot be used as a field/variable name. Renamed to serde_json_colon_colon_value +[main] WARN o.o.c.languages.AbstractRustCodegen - serde_json::value cannot be used as a field/variable name. Renamed to serde_json_colon_colon_value +[main] WARN o.o.c.languages.AbstractRustCodegen - serde_json::value cannot be used as a field/variable name. Renamed to serde_json_colon_colon_value +[main] WARN o.o.c.languages.AbstractRustCodegen - type cannot be used as a field/variable name. Renamed to r#type +[main] WARN o.o.c.languages.AbstractRustCodegen - type cannot be used as a field/variable name. Renamed to r#type +[main] WARN o.o.c.languages.AbstractRustCodegen - serde_json::value cannot be used as a field/variable name. Renamed to serde_json_colon_colon_value +[main] WARN o.o.c.languages.AbstractRustCodegen - serde_json::value cannot be used as a field/variable name. Renamed to serde_json_colon_colon_value +[main] WARN o.o.c.languages.AbstractRustCodegen - serde_json::value cannot be used as a field/variable name. Renamed to serde_json_colon_colon_value +[main] WARN o.o.c.languages.AbstractRustCodegen - type cannot be used as a field/variable name. Renamed to r#type +[main] WARN o.o.c.languages.AbstractRustCodegen - type cannot be used as a field/variable name. Renamed to r#type +[main] WARN o.o.c.languages.AbstractRustCodegen - type cannot be used as a field/variable name. Renamed to r#type +[main] WARN o.o.c.languages.AbstractRustCodegen - r#type cannot be used as a field/variable name. Renamed to r_hash_type +[main] WARN o.o.c.languages.AbstractRustCodegen - type cannot be used as a field/variable name. Renamed to r#type +[main] WARN o.o.c.languages.AbstractRustCodegen - type cannot be used as a field/variable name. Renamed to r#type +[main] WARN o.o.c.languages.AbstractRustCodegen - type cannot be used as a field/variable name. Renamed to r#type +[main] WARN o.o.c.languages.AbstractRustCodegen - type cannot be used as a field/variable name. Renamed to r#type +[main] WARN o.o.c.languages.AbstractRustCodegen - type cannot be used as a field/variable name. Renamed to r#type +[main] WARN o.o.c.languages.AbstractRustCodegen - type cannot be used as a field/variable name. Renamed to r#type +[main] WARN o.o.c.languages.AbstractRustCodegen - type cannot be used as a field/variable name. Renamed to r#type +[main] WARN o.o.c.languages.AbstractRustCodegen - type cannot be used as a field/variable name. Renamed to r#type +[main] WARN o.o.c.languages.AbstractRustCodegen - serde_json::value cannot be used as a field/variable name. Renamed to serde_json_colon_colon_value +[main] WARN o.o.c.languages.AbstractRustCodegen - serde_json::value cannot be used as a field/variable name. Renamed to serde_json_colon_colon_value +[main] WARN o.o.c.languages.AbstractRustCodegen - serde_json::value cannot be used as a field/variable name. Renamed to serde_json_colon_colon_value +[main] WARN o.o.c.languages.AbstractRustCodegen - type cannot be used as a field/variable name. Renamed to r#type +[main] WARN o.o.c.languages.AbstractRustCodegen - type cannot be used as a field/variable name. Renamed to r#type +[main] WARN o.o.c.languages.AbstractRustCodegen - type cannot be used as a field/variable name. Renamed to r#type +[main] WARN o.o.c.languages.AbstractRustCodegen - type cannot be used as a field/variable name. Renamed to r#type +[main] WARN o.o.c.languages.AbstractRustCodegen - type cannot be used as a field/variable name. Renamed to r#type +[main] WARN o.o.c.languages.AbstractRustCodegen - type cannot be used as a field/variable name. Renamed to r#type +[main] WARN o.o.c.languages.AbstractRustCodegen - type cannot be used as a field/variable name. Renamed to r#type +[main] WARN o.o.c.languages.AbstractRustCodegen - type cannot be used as a field/variable name. Renamed to r#type +[main] WARN o.o.c.languages.AbstractRustCodegen - r#type cannot be used as a field/variable name. Renamed to r_hash_type +[main] WARN o.o.c.languages.AbstractRustCodegen - type cannot be used as a field/variable name. Renamed to r#type +[main] WARN o.o.c.languages.AbstractRustCodegen - type cannot be used as a field/variable name. Renamed to r#type +[main] WARN o.o.c.languages.AbstractRustCodegen - type cannot be used as a field/variable name. Renamed to r#type +[main] WARN o.o.c.languages.AbstractRustCodegen - type cannot be used as a field/variable name. Renamed to r#type +[main] WARN o.o.c.languages.AbstractRustCodegen - type cannot be used as a field/variable name. Renamed to r#type +[main] WARN o.o.c.languages.AbstractRustCodegen - 110 cannot be used as a enum variant name. Renamed to Variant110 +[main] WARN o.o.c.languages.AbstractRustCodegen - 111 cannot be used as a enum variant name. Renamed to Variant111 +[main] WARN o.o.c.languages.AbstractRustCodegen - 200 cannot be used as a enum variant name. Renamed to Variant200 +[main] WARN o.o.c.languages.AbstractRustCodegen - type cannot be used as a field/variable name. Renamed to r#type +[main] WARN o.o.c.languages.AbstractRustCodegen - type cannot be used as a field/variable name. Renamed to r#type +[main] WARN o.o.c.languages.AbstractRustCodegen - type cannot be used as a field/variable name. Renamed to r#type +[main] WARN o.o.c.languages.AbstractRustCodegen - type cannot be used as a field/variable name. Renamed to r#type +[main] WARN o.o.c.languages.AbstractRustCodegen - type cannot be used as a field/variable name. Renamed to r#type +[main] WARN o.o.c.languages.AbstractRustCodegen - WildLive! cannot be used as a enum variant name. Renamed to WildLiveExclamation +[main] WARN o.o.c.languages.AbstractRustCodegen - WildLive! cannot be used as a enum variant name. Renamed to WildLiveExclamation +[main] WARN o.o.c.languages.AbstractRustCodegen - WildLive! cannot be used as a enum variant name. Renamed to WildLiveExclamation +[main] WARN o.o.c.languages.AbstractRustCodegen - WildLive! cannot be used as a enum variant name. Renamed to WildLiveExclamation +[main] WARN o.o.c.languages.AbstractRustCodegen - WildLive! cannot be used as a enum variant name. Renamed to WildLiveExclamation +[main] WARN o.o.c.languages.AbstractRustCodegen - TextXml cannot be used as a enum variant name. Renamed to TextSlashXml +[main] WARN o.o.c.languages.AbstractRustCodegen - ImagePng cannot be used as a enum variant name. Renamed to ImageSlashPng +[main] WARN o.o.c.languages.AbstractRustCodegen - 130 cannot be used as a enum variant name. Renamed to Variant130 +[main] WARN o.o.c.languages.AbstractRustCodegen - type cannot be used as a field/variable name. Renamed to r#type +[main] WARN o.o.c.languages.AbstractRustCodegen - type cannot be used as a field/variable name. Renamed to r#type +[main] WARN o.o.c.languages.AbstractRustCodegen - type cannot be used as a field/variable name. Renamed to r#type +[main] WARN o.o.c.languages.AbstractRustCodegen - type cannot be used as a field/variable name. Renamed to r#type +[main] WARN o.o.c.languages.AbstractRustCodegen - type cannot be used as a field/variable name. Renamed to r#type +[main] INFO o.o.codegen.DefaultGenerator - Model upload_handler_request not generated since it's marked as unused (due to form parameters) and `skipFormModel` (global property) set to true (default) +[main] WARN o.o.c.languages.AbstractRustCodegen - type cannot be used as a field/variable name. Renamed to r#type +[main] WARN o.o.c.languages.AbstractRustCodegen - type cannot be used as a field/variable name. Renamed to r#type +[main] WARN o.o.c.languages.AbstractRustCodegen - type cannot be used as a field/variable name. Renamed to r#type +[main] WARN o.o.c.languages.AbstractRustCodegen - type cannot be used as a field/variable name. Renamed to r#type +[main] WARN o.o.c.languages.AbstractRustCodegen - type cannot be used as a field/variable name. Renamed to r#type +[main] WARN o.o.c.languages.AbstractRustCodegen - type cannot be used as a field/variable name. Renamed to r#type +[main] WARN o.o.c.languages.AbstractRustCodegen - type cannot be used as a field/variable name. Renamed to r#type +[main] WARN o.o.c.languages.AbstractRustCodegen - type cannot be used as a field/variable name. Renamed to r#type +[main] WARN o.o.c.languages.AbstractRustCodegen - type cannot be used as a field/variable name. Renamed to r#type +[main] WARN o.o.c.languages.AbstractRustCodegen - type cannot be used as a field/variable name. Renamed to r#type +[main] WARN o.o.c.languages.AbstractRustCodegen - type cannot be used as a field/variable name. Renamed to r#type +[main] WARN o.o.c.languages.AbstractRustCodegen - type cannot be used as a field/variable name. Renamed to r#type +[main] WARN o.o.c.languages.AbstractRustCodegen - type cannot be used as a field/variable name. Renamed to r#type +[main] WARN o.o.c.languages.AbstractRustCodegen - type cannot be used as a field/variable name. Renamed to r#type +[main] WARN o.o.c.languages.AbstractRustCodegen - type cannot be used as a field/variable name. Renamed to r#type +[main] WARN o.o.c.languages.AbstractRustCodegen - type cannot be used as a field/variable name. Renamed to r#type +[main] WARN o.o.c.languages.AbstractRustCodegen - type cannot be used as a field/variable name. Renamed to r#type +[main] WARN o.o.c.languages.AbstractRustCodegen - type cannot be used as a field/variable name. Renamed to r#type +[main] WARN o.o.c.languages.AbstractRustCodegen - serde_json::value cannot be used as a field/variable name. Renamed to serde_json_colon_colon_value +[main] WARN o.o.c.languages.AbstractRustCodegen - serde_json::value cannot be used as a field/variable name. Renamed to serde_json_colon_colon_value +[main] WARN o.o.c.languages.AbstractRustCodegen - serde_json::value cannot be used as a field/variable name. Renamed to serde_json_colon_colon_value +[main] WARN o.o.c.languages.AbstractRustCodegen - type cannot be used as a field/variable name. Renamed to r#type +[main] WARN o.o.c.languages.AbstractRustCodegen - type cannot be used as a field/variable name. Renamed to r#type +[main] WARN o.o.c.languages.AbstractRustCodegen - type cannot be used as a field/variable name. Renamed to r#type +[main] WARN o.o.c.languages.AbstractRustCodegen - type cannot be used as a field/variable name. Renamed to r#type +[main] WARN o.o.c.languages.AbstractRustCodegen - type cannot be used as a field/variable name. Renamed to r#type +[main] WARN o.o.c.languages.AbstractRustCodegen - type cannot be used as a field/variable name. Renamed to r#type +[main] WARN o.o.c.languages.AbstractRustCodegen - type cannot be used as a field/variable name. Renamed to r#type +[main] WARN o.o.c.languages.AbstractRustCodegen - type cannot be used as a field/variable name. Renamed to r#type +[main] WARN o.o.c.languages.AbstractRustCodegen - type cannot be used as a field/variable name. Renamed to r#type +[main] WARN o.o.c.languages.AbstractRustCodegen - type cannot be used as a field/variable name. Renamed to r#type +[main] WARN o.o.c.languages.AbstractRustCodegen - type cannot be used as a field/variable name. Renamed to r#type +[main] WARN o.o.c.languages.AbstractRustCodegen - type cannot be used as a field/variable name. Renamed to r#type +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/src/models/add_dataset.rs +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/docs/AddDataset.md +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/src/models/add_dataset_tile.rs +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/docs/AddDatasetTile.md +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/src/models/add_layer.rs +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/docs/AddLayer.md +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/src/models/add_layer_collection.rs +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/docs/AddLayerCollection.md +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/src/models/add_role.rs +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/docs/AddRole.md +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/src/models/aruna_data_provider_definition.rs +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/docs/ArunaDataProviderDefinition.md +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/src/models/auth_code_request_url.rs +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/docs/AuthCodeRequestUrl.md +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/src/models/auth_code_response.rs +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/docs/AuthCodeResponse.md +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/src/models/auto_create_dataset.rs +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/docs/AutoCreateDataset.md +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/src/models/axis_order.rs +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/docs/AxisOrder.md +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/src/models/bounding_box2_d.rs +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/docs/BoundingBox2D.md +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/src/models/breakpoint.rs +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/docs/Breakpoint.md +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/src/models/classification_measurement.rs +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/docs/ClassificationMeasurement.md +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/src/models/collection_item.rs +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/docs/CollectionItem.md +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/src/models/collection_type.rs +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/docs/CollectionType.md +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/src/models/color_param.rs +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/docs/ColorParam.md +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/src/models/colorizer.rs +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/docs/Colorizer.md +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/src/models/column_names.rs +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/docs/ColumnNames.md +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/src/models/column_names_one_of.rs +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/docs/ColumnNamesOneOf.md +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/src/models/column_names_one_of_1.rs +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/docs/ColumnNamesOneOf1.md +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/src/models/column_names_one_of_2.rs +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/docs/ColumnNamesOneOf2.md +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/src/models/computation_quota.rs +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/docs/ComputationQuota.md +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/src/models/continuous_measurement.rs +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/docs/ContinuousMeasurement.md +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/src/models/coordinate2_d.rs +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/docs/Coordinate2D.md +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/src/models/copernicus_dataspace_data_provider_definition.rs +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/docs/CopernicusDataspaceDataProviderDefinition.md +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/src/models/create_dataset.rs +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/docs/CreateDataset.md +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/src/models/create_project.rs +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/docs/CreateProject.md +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/src/models/csv_header.rs +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/docs/CsvHeader.md +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/src/models/data_id.rs +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/docs/DataId.md +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/src/models/data_path.rs +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/docs/DataPath.md +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/src/models/data_path_one_of.rs +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/docs/DataPathOneOf.md +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/src/models/data_path_one_of_1.rs +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/docs/DataPathOneOf1.md +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/src/models/data_provider_resource.rs +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/docs/DataProviderResource.md +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/src/models/data_usage.rs +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/docs/DataUsage.md +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/src/models/data_usage_summary.rs +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/docs/DataUsageSummary.md +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/src/models/database_connection_config.rs +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/docs/DatabaseConnectionConfig.md +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/src/models/dataset.rs +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/docs/Dataset.md +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/src/models/dataset_definition.rs +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/docs/DatasetDefinition.md +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/src/models/dataset_layer_listing_collection.rs +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/docs/DatasetLayerListingCollection.md +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/src/models/dataset_layer_listing_provider_definition.rs +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/docs/DatasetLayerListingProviderDefinition.md +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/src/models/dataset_listing.rs +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/docs/DatasetListing.md +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/src/models/dataset_name_response.rs +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/docs/DatasetNameResponse.md +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/src/models/dataset_resource.rs +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/docs/DatasetResource.md +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/src/models/derived_color.rs +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/docs/DerivedColor.md +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/src/models/derived_number.rs +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/docs/DerivedNumber.md +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/src/models/ebv_portal_data_provider_definition.rs +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/docs/EbvPortalDataProviderDefinition.md +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/src/models/edr_data_provider_definition.rs +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/docs/EdrDataProviderDefinition.md +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/src/models/edr_vector_spec.rs +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/docs/EdrVectorSpec.md +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/src/models/error_response.rs +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/docs/ErrorResponse.md +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/src/models/expression.rs +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/docs/Expression.md +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/src/models/expression_parameters.rs +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/docs/ExpressionParameters.md +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/src/models/external_data_id.rs +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/docs/ExternalDataId.md +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/src/models/feature_aggregation_method.rs +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/docs/FeatureAggregationMethod.md +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/src/models/feature_data_type.rs +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/docs/FeatureDataType.md +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/src/models/file_not_found_handling.rs +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/docs/FileNotFoundHandling.md +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/src/models/format_specifics.rs +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/docs/FormatSpecifics.md +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/src/models/format_specifics_csv.rs +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/docs/FormatSpecificsCsv.md +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/src/models/gbif_data_provider_definition.rs +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/docs/GbifDataProviderDefinition.md +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/src/models/gdal_dataset_parameters.rs +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/docs/GdalDatasetParameters.md +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/src/models/gdal_loading_info_temporal_slice.rs +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/docs/GdalLoadingInfoTemporalSlice.md +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/src/models/gdal_meta_data_list.rs +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/docs/GdalMetaDataList.md +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/src/models/gdal_meta_data_regular.rs +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/docs/GdalMetaDataRegular.md +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/src/models/gdal_meta_data_static.rs +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/docs/GdalMetaDataStatic.md +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/src/models/gdal_metadata_mapping.rs +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/docs/GdalMetadataMapping.md +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/src/models/gdal_metadata_net_cdf_cf.rs +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/docs/GdalMetadataNetCdfCf.md +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/src/models/gdal_multi_band.rs +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/docs/GdalMultiBand.md +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/src/models/gdal_source.rs +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/docs/GdalSource.md +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/src/models/gdal_source_parameters.rs +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/docs/GdalSourceParameters.md +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/src/models/gdal_source_time_placeholder.rs +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/docs/GdalSourceTimePlaceholder.md +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/src/models/geo_json.rs +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/docs/GeoJson.md +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/src/models/geo_transform.rs +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/docs/GeoTransform.md +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/src/models/get_coverage_format.rs +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/docs/GetCoverageFormat.md +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/src/models/get_map_exception_format.rs +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/docs/GetMapExceptionFormat.md +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/src/models/gfbio_abcd_data_provider_definition.rs +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/docs/GfbioAbcdDataProviderDefinition.md +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/src/models/gfbio_collections_data_provider_definition.rs +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/docs/GfbioCollectionsDataProviderDefinition.md +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/src/models/grid_bounding_box2_d.rs +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/docs/GridBoundingBox2D.md +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/src/models/grid_idx2_d.rs +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/docs/GridIdx2D.md +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/src/models/id_response.rs +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/docs/IdResponse.md +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/src/models/internal_data_id.rs +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/docs/InternalDataId.md +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/src/models/layer.rs +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/docs/Layer.md +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/src/models/layer_collection.rs +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/docs/LayerCollection.md +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/src/models/layer_collection_listing.rs +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/docs/LayerCollectionListing.md +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/src/models/layer_collection_resource.rs +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/docs/LayerCollectionResource.md +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/src/models/layer_listing.rs +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/docs/LayerListing.md +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/src/models/layer_provider_listing.rs +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/docs/LayerProviderListing.md +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/src/models/layer_resource.rs +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/docs/LayerResource.md +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/src/models/layer_visibility.rs +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/docs/LayerVisibility.md +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/src/models/line_symbology.rs +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/docs/LineSymbology.md +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/src/models/linear_gradient.rs +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/docs/LinearGradient.md +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/src/models/logarithmic_gradient.rs +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/docs/LogarithmicGradient.md +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/src/models/measurement.rs +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/docs/Measurement.md +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/src/models/meta_data_definition.rs +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/docs/MetaDataDefinition.md +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/src/models/meta_data_suggestion.rs +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/docs/MetaDataSuggestion.md +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/src/models/ml_model.rs +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/docs/MlModel.md +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/src/models/ml_model_input_no_data_handling.rs +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/docs/MlModelInputNoDataHandling.md +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/src/models/ml_model_input_no_data_handling_variant.rs +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/docs/MlModelInputNoDataHandlingVariant.md +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/src/models/ml_model_metadata.rs +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/docs/MlModelMetadata.md +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/src/models/ml_model_name_response.rs +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/docs/MlModelNameResponse.md +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/src/models/ml_model_output_no_data_handling.rs +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/docs/MlModelOutputNoDataHandling.md +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/src/models/ml_model_output_no_data_handling_variant.rs +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/docs/MlModelOutputNoDataHandlingVariant.md +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/src/models/ml_model_resource.rs +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/docs/MlModelResource.md +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/src/models/ml_tensor_shape3_d.rs +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/docs/MlTensorShape3D.md +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/src/models/mock_dataset_data_source_loading_info.rs +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/docs/MockDatasetDataSourceLoadingInfo.md +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/src/models/mock_meta_data.rs +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/docs/MockMetaData.md +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/src/models/mock_point_source.rs +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/docs/MockPointSource.md +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/src/models/mock_point_source_parameters.rs +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/docs/MockPointSourceParameters.md +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/src/models/multi_band_raster_colorizer.rs +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/docs/MultiBandRasterColorizer.md +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/src/models/multi_line_string.rs +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/docs/MultiLineString.md +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/src/models/multi_point.rs +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/docs/MultiPoint.md +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/src/models/multi_polygon.rs +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/docs/MultiPolygon.md +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/src/models/net_cdf_cf_data_provider_definition.rs +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/docs/NetCdfCfDataProviderDefinition.md +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/src/models/number_param.rs +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/docs/NumberParam.md +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/src/models/ogr_meta_data.rs +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/docs/OgrMetaData.md +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/src/models/ogr_source_column_spec.rs +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/docs/OgrSourceColumnSpec.md +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/src/models/ogr_source_dataset.rs +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/docs/OgrSourceDataset.md +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/src/models/ogr_source_dataset_time_type.rs +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/docs/OgrSourceDatasetTimeType.md +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/src/models/ogr_source_dataset_time_type_none.rs +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/docs/OgrSourceDatasetTimeTypeNone.md +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/src/models/ogr_source_dataset_time_type_start.rs +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/docs/OgrSourceDatasetTimeTypeStart.md +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/src/models/ogr_source_dataset_time_type_start_duration.rs +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/docs/OgrSourceDatasetTimeTypeStartDuration.md +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/src/models/ogr_source_dataset_time_type_start_end.rs +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/docs/OgrSourceDatasetTimeTypeStartEnd.md +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/src/models/ogr_source_duration_spec.rs +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/docs/OgrSourceDurationSpec.md +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/src/models/ogr_source_duration_spec_infinite.rs +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/docs/OgrSourceDurationSpecInfinite.md +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/src/models/ogr_source_duration_spec_value.rs +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/docs/OgrSourceDurationSpecValue.md +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/src/models/ogr_source_duration_spec_zero.rs +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/docs/OgrSourceDurationSpecZero.md +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/src/models/ogr_source_error_spec.rs +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/docs/OgrSourceErrorSpec.md +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/src/models/ogr_source_time_format.rs +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/docs/OgrSourceTimeFormat.md +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/src/models/ogr_source_time_format_auto.rs +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/docs/OgrSourceTimeFormatAuto.md +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/src/models/ogr_source_time_format_custom.rs +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/docs/OgrSourceTimeFormatCustom.md +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/src/models/ogr_source_time_format_unix_time_stamp.rs +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/docs/OgrSourceTimeFormatUnixTimeStamp.md +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/src/models/operator_quota.rs +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/docs/OperatorQuota.md +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/src/models/order_by.rs +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/docs/OrderBy.md +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/src/models/palette_colorizer.rs +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/docs/PaletteColorizer.md +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/src/models/pangaea_data_provider_definition.rs +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/docs/PangaeaDataProviderDefinition.md +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/src/models/permission.rs +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/docs/Permission.md +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/src/models/permission_list_options.rs +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/docs/PermissionListOptions.md +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/src/models/permission_listing.rs +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/docs/PermissionListing.md +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/src/models/permission_request.rs +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/docs/PermissionRequest.md +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/src/models/plot.rs +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/docs/Plot.md +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/src/models/plot_output_format.rs +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/docs/PlotOutputFormat.md +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/src/models/plot_result_descriptor.rs +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/docs/PlotResultDescriptor.md +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/src/models/point_symbology.rs +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/docs/PointSymbology.md +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/src/models/polygon_symbology.rs +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/docs/PolygonSymbology.md +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/src/models/project.rs +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/docs/Project.md +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/src/models/project_layer.rs +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/docs/ProjectLayer.md +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/src/models/project_listing.rs +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/docs/ProjectListing.md +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/src/models/project_resource.rs +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/docs/ProjectResource.md +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/src/models/project_update_token.rs +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/docs/ProjectUpdateToken.md +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/src/models/project_version.rs +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/docs/ProjectVersion.md +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/src/models/provenance.rs +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/docs/Provenance.md +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/src/models/provenance_entry.rs +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/docs/ProvenanceEntry.md +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/src/models/provenance_output.rs +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/docs/ProvenanceOutput.md +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/src/models/provenances.rs +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/docs/Provenances.md +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/src/models/provider_capabilities.rs +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/docs/ProviderCapabilities.md +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/src/models/provider_layer_collection_id.rs +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/docs/ProviderLayerCollectionId.md +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/src/models/provider_layer_id.rs +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/docs/ProviderLayerId.md +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/src/models/quota.rs +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/docs/Quota.md +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/src/models/raster_band_descriptor.rs +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/docs/RasterBandDescriptor.md +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/src/models/raster_colorizer.rs +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/docs/RasterColorizer.md +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/src/models/raster_data_type.rs +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/docs/RasterDataType.md +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/src/models/raster_dataset_from_workflow.rs +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/docs/RasterDatasetFromWorkflow.md +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/src/models/raster_dataset_from_workflow_result.rs +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/docs/RasterDatasetFromWorkflowResult.md +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/src/models/raster_properties_entry_type.rs +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/docs/RasterPropertiesEntryType.md +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/src/models/raster_properties_key.rs +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/docs/RasterPropertiesKey.md +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/src/models/raster_result_descriptor.rs +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/docs/RasterResultDescriptor.md +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/src/models/raster_stream_websocket_result_type.rs +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/docs/RasterStreamWebsocketResultType.md +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/src/models/raster_symbology.rs +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/docs/RasterSymbology.md +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/src/models/raster_to_dataset_query_rectangle.rs +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/docs/RasterToDatasetQueryRectangle.md +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/src/models/raster_vector_join.rs +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/docs/RasterVectorJoin.md +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/src/models/raster_vector_join_parameters.rs +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/docs/RasterVectorJoinParameters.md +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/src/models/regular_time_dimension.rs +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/docs/RegularTimeDimension.md +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/src/models/resource.rs +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/docs/Resource.md +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/src/models/role.rs +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/docs/Role.md +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/src/models/role_description.rs +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/docs/RoleDescription.md +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/src/models/search_capabilities.rs +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/docs/SearchCapabilities.md +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/src/models/search_type.rs +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/docs/SearchType.md +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/src/models/search_types.rs +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/docs/SearchTypes.md +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/src/models/sentinel_s2_l2_a_cogs_provider_definition.rs +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/docs/SentinelS2L2ACogsProviderDefinition.md +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/src/models/server_info.rs +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/docs/ServerInfo.md +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/src/models/single_band_raster_colorizer.rs +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/docs/SingleBandRasterColorizer.md +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/src/models/single_raster_source.rs +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/docs/SingleRasterSource.md +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/src/models/single_vector_multiple_raster_sources.rs +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/docs/SingleVectorMultipleRasterSources.md +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/src/models/spatial_bounds_derive.rs +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/docs/SpatialBoundsDerive.md +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/src/models/spatial_bounds_derive_bounds.rs +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/docs/SpatialBoundsDeriveBounds.md +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/src/models/spatial_bounds_derive_derive.rs +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/docs/SpatialBoundsDeriveDerive.md +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/src/models/spatial_bounds_derive_none.rs +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/docs/SpatialBoundsDeriveNone.md +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/src/models/spatial_grid_definition.rs +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/docs/SpatialGridDefinition.md +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/src/models/spatial_grid_descriptor.rs +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/docs/SpatialGridDescriptor.md +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/src/models/spatial_grid_descriptor_state.rs +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/docs/SpatialGridDescriptorState.md +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/src/models/spatial_partition2_d.rs +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/docs/SpatialPartition2D.md +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/src/models/spatial_reference_authority.rs +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/docs/SpatialReferenceAuthority.md +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/src/models/spatial_reference_specification.rs +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/docs/SpatialReferenceSpecification.md +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/src/models/spatial_resolution.rs +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/docs/SpatialResolution.md +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/src/models/st_rectangle.rs +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/docs/StRectangle.md +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/src/models/stac_api_retries.rs +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/docs/StacApiRetries.md +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/src/models/stac_query_buffer.rs +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/docs/StacQueryBuffer.md +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/src/models/static_color.rs +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/docs/StaticColor.md +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/src/models/static_number.rs +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/docs/StaticNumber.md +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/src/models/stroke_param.rs +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/docs/StrokeParam.md +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/src/models/suggest_meta_data.rs +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/docs/SuggestMetaData.md +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/src/models/symbology.rs +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/docs/Symbology.md +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/src/models/task_abort_options.rs +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/docs/TaskAbortOptions.md +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/src/models/task_filter.rs +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/docs/TaskFilter.md +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/src/models/task_list_options.rs +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/docs/TaskListOptions.md +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/src/models/task_response.rs +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/docs/TaskResponse.md +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/src/models/task_status.rs +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/docs/TaskStatus.md +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/src/models/task_status_aborted.rs +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/docs/TaskStatusAborted.md +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/src/models/task_status_completed.rs +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/docs/TaskStatusCompleted.md +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/src/models/task_status_failed.rs +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/docs/TaskStatusFailed.md +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/src/models/task_status_running.rs +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/docs/TaskStatusRunning.md +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/src/models/task_status_with_id.rs +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/docs/TaskStatusWithId.md +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/src/models/temporal_aggregation_method.rs +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/docs/TemporalAggregationMethod.md +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/src/models/text_symbology.rs +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/docs/TextSymbology.md +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/src/models/time_descriptor.rs +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/docs/TimeDescriptor.md +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/src/models/time_dimension.rs +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/docs/TimeDimension.md +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/src/models/time_dimension_one_of.rs +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/docs/TimeDimensionOneOf.md +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/src/models/time_dimension_one_of_1.rs +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/docs/TimeDimensionOneOf1.md +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/src/models/time_granularity.rs +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/docs/TimeGranularity.md +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/src/models/time_interval.rs +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/docs/TimeInterval.md +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/src/models/time_reference.rs +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/docs/TimeReference.md +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/src/models/time_step.rs +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/docs/TimeStep.md +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/src/models/typed_data_provider_definition.rs +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/docs/TypedDataProviderDefinition.md +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/src/models/typed_geometry.rs +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/docs/TypedGeometry.md +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/src/models/typed_geometry_one_of.rs +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/docs/TypedGeometryOneOf.md +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/src/models/typed_geometry_one_of_1.rs +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/docs/TypedGeometryOneOf1.md +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/src/models/typed_geometry_one_of_2.rs +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/docs/TypedGeometryOneOf2.md +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/src/models/typed_geometry_one_of_3.rs +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/docs/TypedGeometryOneOf3.md +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/src/models/typed_operator.rs +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/docs/TypedOperator.md +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/src/models/typed_operator_operator.rs +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/docs/TypedOperatorOperator.md +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/src/models/typed_plot_result_descriptor.rs +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/docs/TypedPlotResultDescriptor.md +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/src/models/typed_raster_result_descriptor.rs +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/docs/TypedRasterResultDescriptor.md +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/src/models/typed_result_descriptor.rs +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/docs/TypedResultDescriptor.md +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/src/models/typed_vector_result_descriptor.rs +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/docs/TypedVectorResultDescriptor.md +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/src/models/unitless_measurement.rs +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/docs/UnitlessMeasurement.md +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/src/models/unix_time_stamp_type.rs +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/docs/UnixTimeStampType.md +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/src/models/update_dataset.rs +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/docs/UpdateDataset.md +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/src/models/update_layer.rs +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/docs/UpdateLayer.md +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/src/models/update_layer_collection.rs +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/docs/UpdateLayerCollection.md +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/src/models/update_project.rs +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/docs/UpdateProject.md +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/src/models/update_quota.rs +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/docs/UpdateQuota.md +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/src/models/upload_file_layers_response.rs +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/docs/UploadFileLayersResponse.md +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/src/models/upload_files_response.rs +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/docs/UploadFilesResponse.md +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/src/models/usage_summary_granularity.rs +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/docs/UsageSummaryGranularity.md +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/src/models/user_credentials.rs +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/docs/UserCredentials.md +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/src/models/user_info.rs +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/docs/UserInfo.md +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/src/models/user_registration.rs +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/docs/UserRegistration.md +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/src/models/user_session.rs +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/docs/UserSession.md +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/src/models/vec_update.rs +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/docs/VecUpdate.md +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/src/models/vector_column_info.rs +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/docs/VectorColumnInfo.md +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/src/models/vector_data_type.rs +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/docs/VectorDataType.md +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/src/models/vector_operator.rs +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/docs/VectorOperator.md +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/src/models/vector_result_descriptor.rs +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/docs/VectorResultDescriptor.md +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/src/models/volume.rs +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/docs/Volume.md +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/src/models/volume_file_layers_response.rs +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/docs/VolumeFileLayersResponse.md +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/src/models/wcs_boundingbox.rs +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/docs/WcsBoundingbox.md +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/src/models/wcs_request.rs +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/docs/WcsRequest.md +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/src/models/wcs_service.rs +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/docs/WcsService.md +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/src/models/wcs_version.rs +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/docs/WcsVersion.md +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/src/models/wfs_request.rs +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/docs/WfsRequest.md +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/src/models/wfs_service.rs +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/docs/WfsService.md +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/src/models/wfs_version.rs +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/docs/WfsVersion.md +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/src/models/wildlive_data_connector_definition.rs +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/docs/WildliveDataConnectorDefinition.md +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/src/models/wms_request.rs +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/docs/WmsRequest.md +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/src/models/wms_response_format.rs +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/docs/WmsResponseFormat.md +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/src/models/wms_service.rs +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/docs/WmsService.md +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/src/models/wms_version.rs +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/docs/WmsVersion.md +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/src/models/workflow.rs +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/docs/Workflow.md +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/src/models/wrapped_plot_output.rs +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/docs/WrappedPlotOutput.md +[main] WARN o.o.c.languages.AbstractRustCodegen - ApplicationJson cannot be used as a model name. Renamed to ApplicationSlashJson +[main] WARN o.o.c.languages.AbstractRustCodegen - ApplicationJson cannot be used as a model name. Renamed to ApplicationSlashJson +[main] WARN o.o.c.languages.AbstractRustCodegen - ApplicationJson cannot be used as a model name. Renamed to ApplicationSlashJson +[main] WARN o.o.c.languages.AbstractRustCodegen - ApplicationJson cannot be used as a model name. Renamed to ApplicationSlashJson +[main] WARN o.o.c.languages.AbstractRustCodegen - ApplicationJson cannot be used as a model name. Renamed to ApplicationSlashJson +[main] WARN o.o.c.languages.AbstractRustCodegen - ApplicationJson cannot be used as a model name. Renamed to ApplicationSlashJson +[main] WARN o.o.c.languages.AbstractRustCodegen - ApplicationJson cannot be used as a model name. Renamed to ApplicationSlashJson +[main] WARN o.o.c.languages.AbstractRustCodegen - ApplicationJson cannot be used as a model name. Renamed to ApplicationSlashJson +[main] WARN o.o.c.languages.AbstractRustCodegen - ApplicationJson cannot be used as a model name. Renamed to ApplicationSlashJson +[main] WARN o.o.c.languages.AbstractRustCodegen - ApplicationJson cannot be used as a model name. Renamed to ApplicationSlashJson +[main] WARN o.o.c.languages.AbstractRustCodegen - ApplicationJson cannot be used as a model name. Renamed to ApplicationSlashJson +[main] WARN o.o.c.languages.AbstractRustCodegen - ApplicationJson cannot be used as a model name. Renamed to ApplicationSlashJson +[main] WARN o.o.c.languages.AbstractRustCodegen - ApplicationJson cannot be used as a model name. Renamed to ApplicationSlashJson +[main] WARN o.o.c.languages.AbstractRustCodegen - ApplicationJson cannot be used as a model name. Renamed to ApplicationSlashJson +[main] WARN o.o.c.languages.AbstractRustCodegen - ApplicationJson cannot be used as a model name. Renamed to ApplicationSlashJson +[main] WARN o.o.c.languages.AbstractRustCodegen - ApplicationJson cannot be used as a model name. Renamed to ApplicationSlashJson +[main] WARN o.o.c.languages.AbstractRustCodegen - ApplicationJson cannot be used as a model name. Renamed to ApplicationSlashJson +[main] WARN o.o.c.languages.AbstractRustCodegen - ApplicationJson cannot be used as a model name. Renamed to ApplicationSlashJson +[main] WARN o.o.c.languages.AbstractRustCodegen - ApplicationJson cannot be used as a model name. Renamed to ApplicationSlashJson +[main] WARN o.o.c.languages.AbstractRustCodegen - ApplicationJson cannot be used as a model name. Renamed to ApplicationSlashJson +[main] WARN o.o.c.languages.AbstractRustCodegen - ApplicationJson cannot be used as a model name. Renamed to ApplicationSlashJson +[main] WARN o.o.c.languages.AbstractRustCodegen - ApplicationJson cannot be used as a model name. Renamed to ApplicationSlashJson +[main] WARN o.o.c.languages.AbstractRustCodegen - ApplicationJson cannot be used as a model name. Renamed to ApplicationSlashJson +[main] WARN o.o.c.languages.AbstractRustCodegen - ApplicationJson cannot be used as a model name. Renamed to ApplicationSlashJson +[main] WARN o.o.c.languages.AbstractRustCodegen - ApplicationJson cannot be used as a model name. Renamed to ApplicationSlashJson +[main] WARN o.o.c.languages.AbstractRustCodegen - type cannot be used as a field/variable name. Renamed to r#type +[main] WARN o.o.c.languages.AbstractRustCodegen - r#type cannot be used as a field/variable name. Renamed to r_hash_type +[main] WARN o.o.c.languages.AbstractRustCodegen - type cannot be used as a field/variable name. Renamed to r#type +[main] WARN o.o.c.languages.AbstractRustCodegen - type cannot be used as a field/variable name. Renamed to r#type +[main] WARN o.o.c.languages.AbstractRustCodegen - ApplicationJson cannot be used as a model name. Renamed to ApplicationSlashJson +[main] WARN o.o.c.languages.AbstractRustCodegen - ApplicationJson cannot be used as a model name. Renamed to ApplicationSlashJson +[main] WARN o.o.c.languages.AbstractRustCodegen - ApplicationJson cannot be used as a model name. Renamed to ApplicationSlashJson +[main] WARN o.o.c.languages.AbstractRustCodegen - type cannot be used as a field/variable name. Renamed to r#type +[main] WARN o.o.c.languages.AbstractRustCodegen - r#type cannot be used as a field/variable name. Renamed to r_hash_type +[main] WARN o.o.c.languages.AbstractRustCodegen - type cannot be used as a field/variable name. Renamed to r#type +[main] WARN o.o.c.languages.AbstractRustCodegen - type cannot be used as a field/variable name. Renamed to r#type +[main] WARN o.o.c.languages.AbstractRustCodegen - ApplicationJson cannot be used as a model name. Renamed to ApplicationSlashJson +[main] WARN o.o.c.languages.AbstractRustCodegen - ApplicationJson cannot be used as a model name. Renamed to ApplicationSlashJson +[main] WARN o.o.c.languages.AbstractRustCodegen - ApplicationJson cannot be used as a model name. Renamed to ApplicationSlashJson +[main] WARN o.o.c.languages.AbstractRustCodegen - ApplicationJson cannot be used as a model name. Renamed to ApplicationSlashJson +[main] WARN o.o.c.languages.AbstractRustCodegen - ApplicationJson cannot be used as a model name. Renamed to ApplicationSlashJson +[main] WARN o.o.c.languages.AbstractRustCodegen - ApplicationJson cannot be used as a model name. Renamed to ApplicationSlashJson +[main] WARN o.o.c.languages.AbstractRustCodegen - type cannot be used as a field/variable name. Renamed to r#type +[main] WARN o.o.c.languages.AbstractRustCodegen - r#type cannot be used as a field/variable name. Renamed to r_hash_type +[main] WARN o.o.c.languages.AbstractRustCodegen - type cannot be used as a field/variable name. Renamed to r#type +[main] WARN o.o.c.languages.AbstractRustCodegen - type cannot be used as a field/variable name. Renamed to r#type +[main] WARN o.o.c.languages.AbstractRustCodegen - ApplicationJson cannot be used as a model name. Renamed to ApplicationSlashJson +[main] WARN o.o.c.languages.AbstractRustCodegen - ApplicationJson cannot be used as a model name. Renamed to ApplicationSlashJson +[main] WARN o.o.c.languages.AbstractRustCodegen - ApplicationJson cannot be used as a model name. Renamed to ApplicationSlashJson +[main] WARN o.o.c.languages.AbstractRustCodegen - ApplicationJson cannot be used as a model name. Renamed to ApplicationSlashJson +[main] WARN o.o.c.languages.AbstractRustCodegen - ApplicationJson cannot be used as a model name. Renamed to ApplicationSlashJson +[main] WARN o.o.c.languages.AbstractRustCodegen - ApplicationJson cannot be used as a model name. Renamed to ApplicationSlashJson +[main] WARN o.o.c.languages.AbstractRustCodegen - ApplicationJson cannot be used as a model name. Renamed to ApplicationSlashJson +[main] WARN o.o.c.languages.AbstractRustCodegen - ApplicationJson cannot be used as a model name. Renamed to ApplicationSlashJson +[main] WARN o.o.c.languages.AbstractRustCodegen - ApplicationJson cannot be used as a model name. Renamed to ApplicationSlashJson +[main] WARN o.o.c.languages.AbstractRustCodegen - ApplicationJson cannot be used as a model name. Renamed to ApplicationSlashJson +[main] WARN o.o.c.languages.AbstractRustCodegen - ApplicationJson cannot be used as a model name. Renamed to ApplicationSlashJson +[main] WARN o.o.c.languages.AbstractRustCodegen - ApplicationJson cannot be used as a model name. Renamed to ApplicationSlashJson +[main] WARN o.o.c.languages.AbstractRustCodegen - ApplicationJson cannot be used as a model name. Renamed to ApplicationSlashJson +[main] WARN o.o.c.languages.AbstractRustCodegen - ApplicationJson cannot be used as a model name. Renamed to ApplicationSlashJson +[main] WARN o.o.c.languages.AbstractRustCodegen - ApplicationJson cannot be used as a model name. Renamed to ApplicationSlashJson +[main] WARN o.o.c.languages.AbstractRustCodegen - ApplicationJson cannot be used as a model name. Renamed to ApplicationSlashJson +[main] WARN o.o.c.languages.AbstractRustCodegen - type cannot be used as a field/variable name. Renamed to r#type +[main] WARN o.o.c.languages.AbstractRustCodegen - r#type cannot be used as a field/variable name. Renamed to r_hash_type +[main] WARN o.o.c.languages.AbstractRustCodegen - type cannot be used as a field/variable name. Renamed to r#type +[main] WARN o.o.c.languages.AbstractRustCodegen - type cannot be used as a field/variable name. Renamed to r#type +[main] WARN o.o.c.languages.AbstractRustCodegen - WildLive! cannot be used as a model name. Renamed to WildLiveExclamation +[main] WARN o.o.c.languages.AbstractRustCodegen - ApplicationJson cannot be used as a model name. Renamed to ApplicationSlashJson +[main] WARN o.o.c.languages.AbstractRustCodegen - type cannot be used as a field/variable name. Renamed to r#type +[main] WARN o.o.c.languages.AbstractRustCodegen - r#type cannot be used as a field/variable name. Renamed to r_hash_type +[main] WARN o.o.c.languages.AbstractRustCodegen - type cannot be used as a field/variable name. Renamed to r#type +[main] WARN o.o.c.languages.AbstractRustCodegen - type cannot be used as a field/variable name. Renamed to r#type +[main] WARN o.o.c.languages.AbstractRustCodegen - WildLive! cannot be used as a model name. Renamed to WildLiveExclamation +[main] WARN o.o.c.languages.AbstractRustCodegen - ApplicationJson cannot be used as a model name. Renamed to ApplicationSlashJson +[main] WARN o.o.c.languages.AbstractRustCodegen - type cannot be used as a field/variable name. Renamed to r#type +[main] WARN o.o.c.languages.AbstractRustCodegen - r#type cannot be used as a field/variable name. Renamed to r_hash_type +[main] WARN o.o.c.languages.AbstractRustCodegen - type cannot be used as a field/variable name. Renamed to r#type +[main] WARN o.o.c.languages.AbstractRustCodegen - type cannot be used as a field/variable name. Renamed to r#type +[main] WARN o.o.c.languages.AbstractRustCodegen - WildLive! cannot be used as a model name. Renamed to WildLiveExclamation +[main] WARN o.o.c.languages.AbstractRustCodegen - ApplicationJson cannot be used as a model name. Renamed to ApplicationSlashJson +[main] WARN o.o.c.languages.AbstractRustCodegen - ApplicationJson cannot be used as a model name. Renamed to ApplicationSlashJson +[main] WARN o.o.c.languages.AbstractRustCodegen - ApplicationJson cannot be used as a model name. Renamed to ApplicationSlashJson +[main] WARN o.o.c.languages.AbstractRustCodegen - ApplicationJson cannot be used as a model name. Renamed to ApplicationSlashJson +[main] WARN o.o.c.languages.AbstractRustCodegen - ApplicationJson cannot be used as a model name. Renamed to ApplicationSlashJson +[main] WARN o.o.c.languages.AbstractRustCodegen - ApplicationJson cannot be used as a model name. Renamed to ApplicationSlashJson +[main] WARN o.o.c.languages.AbstractRustCodegen - ApplicationJson cannot be used as a model name. Renamed to ApplicationSlashJson +[main] WARN o.o.c.languages.AbstractRustCodegen - ApplicationJson cannot be used as a model name. Renamed to ApplicationSlashJson +[main] WARN o.o.c.languages.AbstractRustCodegen - ApplicationJson cannot be used as a model name. Renamed to ApplicationSlashJson +[main] WARN o.o.c.languages.AbstractRustCodegen - ApplicationJson cannot be used as a model name. Renamed to ApplicationSlashJson +[main] WARN o.o.c.languages.AbstractRustCodegen - ApplicationJson cannot be used as a model name. Renamed to ApplicationSlashJson +[main] WARN o.o.c.languages.AbstractRustCodegen - ApplicationJson cannot be used as a model name. Renamed to ApplicationSlashJson +[main] WARN o.o.c.languages.AbstractRustCodegen - ApplicationJson cannot be used as a model name. Renamed to ApplicationSlashJson +[main] WARN o.o.c.languages.AbstractRustCodegen - ApplicationJson cannot be used as a model name. Renamed to ApplicationSlashJson +[main] WARN o.o.c.languages.AbstractRustCodegen - ApplicationJson cannot be used as a model name. Renamed to ApplicationSlashJson +[main] WARN o.o.c.languages.AbstractRustCodegen - ApplicationJson cannot be used as a model name. Renamed to ApplicationSlashJson +[main] WARN o.o.c.languages.AbstractRustCodegen - ApplicationJson cannot be used as a model name. Renamed to ApplicationSlashJson +[main] WARN o.o.c.languages.AbstractRustCodegen - ApplicationJson cannot be used as a model name. Renamed to ApplicationSlashJson +[main] WARN o.o.c.languages.AbstractRustCodegen - ApplicationJson cannot be used as a model name. Renamed to ApplicationSlashJson +[main] WARN o.o.c.languages.AbstractRustCodegen - ApplicationJson cannot be used as a model name. Renamed to ApplicationSlashJson +[main] WARN o.o.c.languages.AbstractRustCodegen - ApplicationJson cannot be used as a model name. Renamed to ApplicationSlashJson +[main] WARN o.o.c.languages.AbstractRustCodegen - ApplicationJson cannot be used as a model name. Renamed to ApplicationSlashJson +[main] WARN o.o.c.languages.AbstractRustCodegen - ApplicationJson cannot be used as a model name. Renamed to ApplicationSlashJson +[main] WARN o.o.c.languages.AbstractRustCodegen - ApplicationJson cannot be used as a model name. Renamed to ApplicationSlashJson +[main] WARN o.o.c.languages.AbstractRustCodegen - ApplicationJson cannot be used as a model name. Renamed to ApplicationSlashJson +[main] WARN o.o.c.languages.AbstractRustCodegen - ApplicationJson cannot be used as a model name. Renamed to ApplicationSlashJson +[main] WARN o.o.c.languages.AbstractRustCodegen - ApplicationJson cannot be used as a model name. Renamed to ApplicationSlashJson +[main] WARN o.o.c.languages.AbstractRustCodegen - ApplicationJson cannot be used as a model name. Renamed to ApplicationSlashJson +[main] WARN o.o.c.languages.AbstractRustCodegen - ApplicationJson cannot be used as a model name. Renamed to ApplicationSlashJson +[main] WARN o.o.c.languages.AbstractRustCodegen - ApplicationJson cannot be used as a model name. Renamed to ApplicationSlashJson +[main] WARN o.o.c.languages.AbstractRustCodegen - ApplicationJson cannot be used as a model name. Renamed to ApplicationSlashJson +[main] WARN o.o.c.languages.AbstractRustCodegen - ApplicationJson cannot be used as a model name. Renamed to ApplicationSlashJson +[main] WARN o.o.c.languages.AbstractRustCodegen - ApplicationJson cannot be used as a model name. Renamed to ApplicationSlashJson +[main] WARN o.o.c.languages.AbstractRustCodegen - ApplicationJson cannot be used as a model name. Renamed to ApplicationSlashJson +[main] WARN o.o.c.languages.AbstractRustCodegen - ApplicationJson cannot be used as a model name. Renamed to ApplicationSlashJson +[main] WARN o.o.c.languages.AbstractRustCodegen - ApplicationJson cannot be used as a model name. Renamed to ApplicationSlashJson +[main] WARN o.o.c.languages.AbstractRustCodegen - ApplicationJson cannot be used as a model name. Renamed to ApplicationSlashJson +[main] WARN o.o.c.languages.AbstractRustCodegen - ApplicationJson cannot be used as a model name. Renamed to ApplicationSlashJson +[main] WARN o.o.c.languages.AbstractRustCodegen - ApplicationJson cannot be used as a model name. Renamed to ApplicationSlashJson +[main] WARN o.o.c.languages.AbstractRustCodegen - ApplicationJson cannot be used as a model name. Renamed to ApplicationSlashJson +[main] WARN o.o.c.languages.AbstractRustCodegen - ApplicationJson cannot be used as a model name. Renamed to ApplicationSlashJson +[main] WARN o.o.c.languages.AbstractRustCodegen - ApplicationJson cannot be used as a model name. Renamed to ApplicationSlashJson +[main] WARN o.o.c.languages.AbstractRustCodegen - ApplicationJson cannot be used as a model name. Renamed to ApplicationSlashJson +[main] WARN o.o.c.languages.AbstractRustCodegen - ApplicationJson cannot be used as a model name. Renamed to ApplicationSlashJson +[main] WARN o.o.c.languages.AbstractRustCodegen - files[] cannot be used as a field/variable name. Renamed to files_left_square_bracket_right_square_bracket +[main] WARN o.o.c.languages.AbstractRustCodegen - files[] cannot be used as a field/variable name. Renamed to files_left_square_bracket_right_square_bracket +[main] WARN o.o.c.languages.AbstractRustCodegen - files[] cannot be used as a field/variable name. Renamed to files_left_square_bracket_right_square_bracket +[main] WARN o.o.c.languages.AbstractRustCodegen - files[] cannot be used as a field/variable name. Renamed to files_left_square_bracket_right_square_bracket +[main] WARN o.o.c.languages.AbstractRustCodegen - files[] cannot be used as a parameter name. Renamed to files_left_square_bracket_right_square_bracket +[main] WARN o.o.codegen.DefaultCodegen - Could not compute datatypeWithEnum from std::path::PathBuf, null +[main] WARN o.o.c.languages.AbstractRustCodegen - ApplicationJson cannot be used as a model name. Renamed to ApplicationSlashJson +[main] WARN o.o.c.languages.AbstractRustCodegen - ApplicationJson cannot be used as a model name. Renamed to ApplicationSlashJson +[main] WARN o.o.c.languages.AbstractRustCodegen - ApplicationJson cannot be used as a model name. Renamed to ApplicationSlashJson +[main] WARN o.o.c.languages.AbstractRustCodegen - ApplicationJson cannot be used as a model name. Renamed to ApplicationSlashJson +[main] WARN o.o.c.languages.AbstractRustCodegen - ApplicationJson cannot be used as a model name. Renamed to ApplicationSlashJson +[main] WARN o.o.codegen.utils.ExamplesUtils - No application/json content media type found in response. Response examples can currently only be generated for application/json media type. +[main] WARN o.o.c.languages.AbstractRustCodegen - TextXml cannot be used as a model name. Renamed to TextSlashXml +[main] WARN o.o.c.languages.AbstractRustCodegen - ImageTiff cannot be used as a enum variant name. Renamed to ImageSlashTiff +[main] WARN o.o.c.languages.AbstractRustCodegen - 110 cannot be used as a enum variant name. Renamed to Variant110 +[main] WARN o.o.c.languages.AbstractRustCodegen - 111 cannot be used as a enum variant name. Renamed to Variant111 +[main] WARN o.o.c.languages.AbstractRustCodegen - ApplicationJson cannot be used as a model name. Renamed to ApplicationSlashJson +[main] WARN o.o.c.languages.AbstractRustCodegen - type cannot be used as a field/variable name. Renamed to r#type +[main] WARN o.o.c.languages.AbstractRustCodegen - type cannot be used as a field/variable name. Renamed to r#type +[main] WARN o.o.c.languages.AbstractRustCodegen - 200 cannot be used as a enum variant name. Renamed to Variant200 +[main] WARN o.o.c.languages.AbstractRustCodegen - ImagePng cannot be used as a model name. Renamed to ImageSlashPng +[main] WARN o.o.c.languages.AbstractRustCodegen - TextXml cannot be used as a enum variant name. Renamed to TextSlashXml +[main] WARN o.o.c.languages.AbstractRustCodegen - ImagePng cannot be used as a enum variant name. Renamed to ImageSlashPng +[main] WARN o.o.c.languages.AbstractRustCodegen - 130 cannot be used as a enum variant name. Renamed to Variant130 +[main] WARN o.o.c.languages.AbstractRustCodegen - ApplicationJson cannot be used as a model name. Renamed to ApplicationSlashJson +[main] WARN o.o.c.languages.AbstractRustCodegen - ApplicationJson cannot be used as a model name. Renamed to ApplicationSlashJson +[main] WARN o.o.c.languages.AbstractRustCodegen - type cannot be used as a field/variable name. Renamed to r#type +[main] WARN o.o.c.languages.AbstractRustCodegen - type cannot be used as a field/variable name. Renamed to r#type +[main] WARN o.o.c.languages.AbstractRustCodegen - ApplicationJson cannot be used as a model name. Renamed to ApplicationSlashJson +[main] WARN o.o.c.languages.AbstractRustCodegen - type cannot be used as a field/variable name. Renamed to r#type +[main] WARN o.o.c.languages.AbstractRustCodegen - type cannot be used as a field/variable name. Renamed to r#type +[main] WARN o.o.c.languages.AbstractRustCodegen - ApplicationZip cannot be used as a model name. Renamed to ApplicationSlashZip +[main] WARN o.o.c.languages.AbstractRustCodegen - ApplicationJson cannot be used as a model name. Renamed to ApplicationSlashJson +[main] WARN o.o.c.languages.AbstractRustCodegen - type cannot be used as a field/variable name. Renamed to r#type +[main] WARN o.o.c.languages.AbstractRustCodegen - r#type cannot be used as a field/variable name. Renamed to r_hash_type +[main] WARN o.o.c.languages.AbstractRustCodegen - type cannot be used as a field/variable name. Renamed to r#type +[main] WARN o.o.c.languages.AbstractRustCodegen - type cannot be used as a field/variable name. Renamed to r#type +[main] WARN o.o.c.languages.AbstractRustCodegen - ApplicationJson cannot be used as a model name. Renamed to ApplicationSlashJson +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/src/apis/datasets_api.rs +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/docs/DatasetsApi.md +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/src/apis/general_api.rs +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/docs/GeneralApi.md +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/src/apis/layers_api.rs +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/docs/LayersApi.md +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/src/apis/ml_api.rs +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/docs/MlApi.md +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/src/apis/ogcwcs_api.rs +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/docs/OgcwcsApi.md +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/src/apis/ogcwfs_api.rs +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/docs/OgcwfsApi.md +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/src/apis/ogcwms_api.rs +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/docs/OgcwmsApi.md +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/src/apis/permissions_api.rs +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/docs/PermissionsApi.md +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/src/apis/plots_api.rs +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/docs/PlotsApi.md +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/src/apis/projects_api.rs +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/docs/ProjectsApi.md +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/src/apis/session_api.rs +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/docs/SessionApi.md +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/src/apis/spatial_references_api.rs +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/docs/SpatialReferencesApi.md +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/src/apis/tasks_api.rs +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/docs/TasksApi.md +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/src/apis/uploads_api.rs +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/docs/UploadsApi.md +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/src/apis/user_api.rs +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/docs/UserApi.md +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/src/apis/workflows_api.rs +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/docs/WorkflowsApi.md +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/README.md +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/git_push.sh +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/.gitignore +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/.travis.yml +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/src/models/mod.rs +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/src/lib.rs +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/Cargo.toml +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/src/apis/mod.rs +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/src/apis/configuration.rs +[main] INFO o.o.codegen.TemplateManager - Skipped /local/rust/.openapi-generator-ignore (Skipped by supportingFiles options supplied by user.) +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/.openapi-generator/VERSION +[main] INFO o.o.codegen.TemplateManager - writing file /local/rust/.openapi-generator/FILES +############################################################################################ +# Thanks for using OpenAPI Generator. # +# We appreciate your support! Please consider donation to help us maintain this project. # +# https://opencollective.com/openapi_generator/donate # +############################################################################################ diff --git a/rust/.openapi-generator/FILES b/rust/.openapi-generator/FILES index 230914f7..abb5f6c6 100644 --- a/rust/.openapi-generator/FILES +++ b/rust/.openapi-generator/FILES @@ -173,6 +173,7 @@ docs/RasterColorizer.md docs/RasterDataType.md docs/RasterDatasetFromWorkflow.md docs/RasterDatasetFromWorkflowResult.md +docs/RasterOperator.md docs/RasterPropertiesEntryType.md docs/RasterPropertiesKey.md docs/RasterResultDescriptor.md @@ -192,10 +193,12 @@ docs/SentinelS2L2ACogsProviderDefinition.md docs/ServerInfo.md docs/SessionApi.md docs/SingleBandRasterColorizer.md +docs/SingleRasterSource.md +docs/SingleVectorMultipleRasterSources.md docs/SpatialBoundsDerive.md -docs/SpatialBoundsDeriveOneOf.md -docs/SpatialBoundsDeriveOneOf1.md -docs/SpatialBoundsDeriveOneOf2.md +docs/SpatialBoundsDeriveBounds.md +docs/SpatialBoundsDeriveDerive.md +docs/SpatialBoundsDeriveNone.md docs/SpatialGridDefinition.md docs/SpatialGridDescriptor.md docs/SpatialGridDescriptorState.md @@ -465,6 +468,7 @@ src/models/raster_colorizer.rs src/models/raster_data_type.rs src/models/raster_dataset_from_workflow.rs src/models/raster_dataset_from_workflow_result.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 @@ -483,10 +487,12 @@ 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_source.rs +src/models/single_vector_multiple_raster_sources.rs src/models/spatial_bounds_derive.rs -src/models/spatial_bounds_derive_one_of.rs -src/models/spatial_bounds_derive_one_of_1.rs -src/models/spatial_bounds_derive_one_of_2.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 diff --git a/rust/README.md b/rust/README.md index 0579c23c..cc762b6a 100644 --- a/rust/README.md +++ b/rust/README.md @@ -283,6 +283,7 @@ Class | Method | HTTP request | Description - [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) @@ -301,10 +302,12 @@ Class | Method | HTTP request | Description - [SentinelS2L2ACogsProviderDefinition](docs/SentinelS2L2ACogsProviderDefinition.md) - [ServerInfo](docs/ServerInfo.md) - [SingleBandRasterColorizer](docs/SingleBandRasterColorizer.md) + - [SingleRasterSource](docs/SingleRasterSource.md) + - [SingleVectorMultipleRasterSources](docs/SingleVectorMultipleRasterSources.md) - [SpatialBoundsDerive](docs/SpatialBoundsDerive.md) - - [SpatialBoundsDeriveOneOf](docs/SpatialBoundsDeriveOneOf.md) - - [SpatialBoundsDeriveOneOf1](docs/SpatialBoundsDeriveOneOf1.md) - - [SpatialBoundsDeriveOneOf2](docs/SpatialBoundsDeriveOneOf2.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) diff --git a/rust/docs/Expression.md b/rust/docs/Expression.md index b1612dea..0d961c12 100644 --- a/rust/docs/Expression.md +++ b/rust/docs/Expression.md @@ -5,6 +5,7 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- **params** | [**models::ExpressionParameters**](ExpressionParameters.md) | | +**sources** | [**models::SingleRasterSource**](SingleRasterSource.md) | | **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/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/RasterVectorJoin.md b/rust/docs/RasterVectorJoin.md index 15a37c0b..0815a592 100644 --- a/rust/docs/RasterVectorJoin.md +++ b/rust/docs/RasterVectorJoin.md @@ -5,6 +5,7 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- **params** | [**models::RasterVectorJoinParameters**](RasterVectorJoinParameters.md) | | +**sources** | [**models::SingleVectorMultipleRasterSources**](SingleVectorMultipleRasterSources.md) | | **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/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 index 9c812458..5b16ec22 100644 --- a/rust/docs/SpatialBoundsDerive.md +++ b/rust/docs/SpatialBoundsDerive.md @@ -2,11 +2,8 @@ ## Enum Variants -| Name | Description | +| Name | Value | |---- | -----| -| SpatialBoundsDeriveOneOf | Spatial bounds derivation options for the [`MockPointSource`]. | -| SpatialBoundsDeriveOneOf1 | Spatial bounds derivation options for the [`MockPointSource`]. | -| SpatialBoundsDeriveOneOf2 | Spatial bounds derivation options for the [`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/SpatialBoundsDeriveBounds.md b/rust/docs/SpatialBoundsDeriveBounds.md new file mode 100644 index 00000000..43cd9486 --- /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** | **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/SpatialBoundsDeriveDerive.md b/rust/docs/SpatialBoundsDeriveDerive.md new file mode 100644 index 00000000..0d185a2a --- /dev/null +++ b/rust/docs/SpatialBoundsDeriveDerive.md @@ -0,0 +1,11 @@ +# SpatialBoundsDeriveDerive + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**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/SpatialBoundsDeriveNone.md b/rust/docs/SpatialBoundsDeriveNone.md new file mode 100644 index 00000000..0816e435 --- /dev/null +++ b/rust/docs/SpatialBoundsDeriveNone.md @@ -0,0 +1,11 @@ +# SpatialBoundsDeriveNone + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**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/src/models/expression.rs b/rust/src/models/expression.rs index a7dbca2b..e293ea89 100644 --- a/rust/src/models/expression.rs +++ b/rust/src/models/expression.rs @@ -16,15 +16,18 @@ use serde::{Deserialize, Serialize}; pub struct Expression { #[serde(rename = "params")] pub params: Box, + #[serde(rename = "sources")] + pub sources: Box, #[serde(rename = "type")] pub r#type: Type, } impl Expression { /// # Raster 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, r#type: Type) -> Expression { + pub fn new(params: models::ExpressionParameters, sources: models::SingleRasterSource, r#type: Type) -> Expression { Expression { params: Box::new(params), + sources: Box::new(sources), r#type, } } diff --git a/rust/src/models/mod.rs b/rust/src/models/mod.rs index fa68cce3..c11f1b8b 100644 --- a/rust/src/models/mod.rs +++ b/rust/src/models/mod.rs @@ -320,6 +320,8 @@ pub mod raster_dataset_from_workflow; pub use self::raster_dataset_from_workflow::RasterDatasetFromWorkflow; pub mod raster_dataset_from_workflow_result; pub use self::raster_dataset_from_workflow_result::RasterDatasetFromWorkflowResult; +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; @@ -356,14 +358,18 @@ 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_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_one_of; -pub use self::spatial_bounds_derive_one_of::SpatialBoundsDeriveOneOf; -pub mod spatial_bounds_derive_one_of_1; -pub use self::spatial_bounds_derive_one_of_1::SpatialBoundsDeriveOneOf1; -pub mod spatial_bounds_derive_one_of_2; -pub use self::spatial_bounds_derive_one_of_2::SpatialBoundsDeriveOneOf2; +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; diff --git a/rust/src/models/raster_operator.rs b/rust/src/models/raster_operator.rs new file mode 100644 index 00000000..53caf36b --- /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(tag = "type")] +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_vector_join.rs b/rust/src/models/raster_vector_join.rs index 4e222e94..51419f13 100644 --- a/rust/src/models/raster_vector_join.rs +++ b/rust/src/models/raster_vector_join.rs @@ -16,15 +16,18 @@ use serde::{Deserialize, Serialize}; pub struct RasterVectorJoin { #[serde(rename = "params")] pub params: Box, + #[serde(rename = "sources")] + pub sources: Box, #[serde(rename = "type")] pub r#type: Type, } impl RasterVectorJoin { /// # 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. ## Example JSON ```json { \"type\": \"RasterVectorJoin\", \"params\": { \"names\": [\"NDVI\"], \"featureAggregation\": \"first\", \"temporalAggregation\": \"mean\", \"temporalAggregationIgnoreNoData\": true }, \"sources\": { \"vector\": { \"type\": \"OgrSource\", \"params\": { \"data\": \"places\" } }, \"rasters\": [ { \"type\": \"GdalSource\", \"params\": { \"data\": \"ndvi\" } } ] } } ``` - pub fn new(params: models::RasterVectorJoinParameters, r#type: Type) -> RasterVectorJoin { + pub fn new(params: models::RasterVectorJoinParameters, sources: models::SingleVectorMultipleRasterSources, r#type: Type) -> RasterVectorJoin { RasterVectorJoin { params: Box::new(params), + sources: Box::new(sources), r#type, } } diff --git a/rust/src/models/single_raster_source.rs b/rust/src/models/single_raster_source.rs new file mode 100644 index 00000000..3d23f2df --- /dev/null +++ b/rust/src/models/single_raster_source.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 SingleRasterSource { + #[serde(rename = "raster")] + pub raster: Box, +} + +impl SingleRasterSource { + 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..e5cd72f9 --- /dev/null +++ b/rust/src/models/single_vector_multiple_raster_sources.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 SingleVectorMultipleRasterSources { + #[serde(rename = "rasters")] + pub rasters: Vec, + #[serde(rename = "vector")] + pub vector: Box, +} + +impl SingleVectorMultipleRasterSources { + 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 index 98306deb..10f9f192 100644 --- a/rust/src/models/spatial_bounds_derive.rs +++ b/rust/src/models/spatial_bounds_derive.rs @@ -12,34 +12,21 @@ use crate::models; use serde::{Deserialize, Serialize}; /// SpatialBoundsDerive : Spatial bounds derivation options for the [`MockPointSource`]. -/// Spatial bounds derivation options for the [`MockPointSource`]. #[derive(Clone, Debug, PartialEq, Serialize, Deserialize)] -#[serde(untagged)] +#[serde(tag = "type")] pub enum SpatialBoundsDerive { - SpatialBoundsDeriveOneOf(Box), - SpatialBoundsDeriveOneOf1(Box), - SpatialBoundsDeriveOneOf2(Box), + #[serde(rename="derive")] + Derive(Box), + #[serde(rename="bounds")] + Bounds(Box), + #[serde(rename="none")] + None(Box), } impl Default for SpatialBoundsDerive { fn default() -> Self { - Self::SpatialBoundsDeriveOneOf(Default::default()) + Self::Derive(Default::default()) } } -/// -#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)] -pub enum Type { - #[serde(rename = "derive")] - Derive, - #[serde(rename = "bounds")] - Bounds, - #[serde(rename = "none")] - None, -} -impl Default for Type { - fn default() -> Type { - Self::Derive - } -} 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 + } +} + From ddeb53fe496482ed3e2df408d6f65effea57c2d5 Mon Sep 17 00:00:00 2001 From: Christian Beilschmidt Date: Thu, 5 Feb 2026 10:32:19 +0100 Subject: [PATCH 13/19] less boxes --- .generation/generate.py | 5 ++++ rust/src/models/add_dataset.rs | 2 +- rust/src/models/add_dataset_tile.rs | 12 +++++----- rust/src/models/add_layer.rs | 6 ++--- rust/src/models/bounding_box2_d.rs | 8 +++---- rust/src/models/collection_item.rs | 4 ++-- rust/src/models/color_param.rs | 4 ++-- rust/src/models/colorizer.rs | 6 ++--- rust/src/models/column_names.rs | 6 ++--- rust/src/models/create_dataset.rs | 8 +++---- rust/src/models/create_project.rs | 6 ++--- rust/src/models/data_id.rs | 4 ++-- rust/src/models/data_path.rs | 4 ++-- rust/src/models/dataset.rs | 8 +++---- rust/src/models/dataset_definition.rs | 8 +++---- rust/src/models/dataset_listing.rs | 6 ++--- rust/src/models/derived_color.rs | 4 ++-- .../models/edr_data_provider_definition.rs | 2 +- rust/src/models/expression.rs | 8 +++---- rust/src/models/expression_parameters.rs | 2 +- rust/src/models/format_specifics.rs | 4 ++-- .../models/gbif_data_provider_definition.rs | 4 ++-- rust/src/models/gdal_dataset_parameters.rs | 4 ++-- .../gdal_loading_info_temporal_slice.rs | 6 ++--- rust/src/models/gdal_meta_data_list.rs | 4 ++-- rust/src/models/gdal_meta_data_regular.rs | 16 ++++++------- rust/src/models/gdal_meta_data_static.rs | 10 ++++---- rust/src/models/gdal_metadata_mapping.rs | 8 +++---- rust/src/models/gdal_metadata_net_cdf_cf.rs | 12 +++++----- rust/src/models/gdal_multi_band.rs | 4 ++-- rust/src/models/gdal_source.rs | 4 ++-- rust/src/models/geo_transform.rs | 4 ++-- .../gfbio_abcd_data_provider_definition.rs | 4 ++-- ...io_collections_data_provider_definition.rs | 4 ++-- rust/src/models/grid_bounding_box2_d.rs | 8 +++---- rust/src/models/layer.rs | 10 ++++---- rust/src/models/layer_collection.rs | 4 ++-- rust/src/models/layer_collection_listing.rs | 4 ++-- rust/src/models/layer_listing.rs | 4 ++-- rust/src/models/line_symbology.rs | 6 ++--- rust/src/models/measurement.rs | 6 ++--- rust/src/models/meta_data_definition.rs | 14 +++++------ rust/src/models/meta_data_suggestion.rs | 4 ++-- rust/src/models/ml_model.rs | 4 ++-- rust/src/models/ml_model_metadata.rs | 16 ++++++------- rust/src/models/mock_meta_data.rs | 8 +++---- rust/src/models/mock_point_source.rs | 4 ++-- .../models/mock_point_source_parameters.rs | 4 ++-- rust/src/models/number_param.rs | 4 ++-- rust/src/models/ogr_meta_data.rs | 8 +++---- rust/src/models/ogr_source_column_spec.rs | 2 +- rust/src/models/ogr_source_dataset.rs | 6 ++--- .../models/ogr_source_dataset_time_type.rs | 8 +++---- .../ogr_source_dataset_time_type_start.rs | 8 +++---- ...source_dataset_time_type_start_duration.rs | 4 ++-- .../ogr_source_dataset_time_type_start_end.rs | 8 +++---- rust/src/models/ogr_source_duration_spec.rs | 6 ++--- rust/src/models/ogr_source_time_format.rs | 6 ++--- rust/src/models/permission_listing.rs | 8 +++---- rust/src/models/permission_request.rs | 4 ++-- rust/src/models/plot_result_descriptor.rs | 4 ++-- rust/src/models/point_symbology.rs | 14 +++++------ rust/src/models/polygon_symbology.rs | 10 ++++---- rust/src/models/project.rs | 12 +++++----- rust/src/models/project_layer.rs | 8 +++---- rust/src/models/provenance_entry.rs | 4 ++-- rust/src/models/provenance_output.rs | 4 ++-- rust/src/models/provider_capabilities.rs | 4 ++-- rust/src/models/raster_band_descriptor.rs | 4 ++-- rust/src/models/raster_colorizer.rs | 4 ++-- .../models/raster_dataset_from_workflow.rs | 4 ++-- rust/src/models/raster_operator.rs | 4 ++-- rust/src/models/raster_result_descriptor.rs | 8 +++---- rust/src/models/raster_symbology.rs | 4 ++-- .../raster_to_dataset_query_rectangle.rs | 8 +++---- rust/src/models/raster_vector_join.rs | 8 +++---- .../models/raster_vector_join_parameters.rs | 4 ++-- rust/src/models/regular_time_dimension.rs | 4 ++-- rust/src/models/resource.rs | 12 +++++----- rust/src/models/role_description.rs | 4 ++-- rust/src/models/search_capabilities.rs | 4 ++-- ...ntinel_s2_l2_a_cogs_provider_definition.rs | 4 ++-- .../models/single_band_raster_colorizer.rs | 4 ++-- rust/src/models/single_raster_source.rs | 4 ++-- .../single_vector_multiple_raster_sources.rs | 4 ++-- rust/src/models/spatial_bounds_derive.rs | 6 ++--- .../models/spatial_bounds_derive_bounds.rs | 8 +++---- rust/src/models/spatial_grid_definition.rs | 8 +++---- rust/src/models/spatial_grid_descriptor.rs | 4 ++-- rust/src/models/spatial_partition2_d.rs | 8 +++---- .../models/spatial_reference_specification.rs | 4 ++-- rust/src/models/st_rectangle.rs | 8 +++---- rust/src/models/stroke_param.rs | 8 +++---- rust/src/models/suggest_meta_data.rs | 4 ++-- rust/src/models/symbology.rs | 8 +++---- rust/src/models/task_status.rs | 8 +++---- rust/src/models/text_symbology.rs | 8 +++---- rust/src/models/time_descriptor.rs | 6 ++--- rust/src/models/time_dimension.rs | 4 ++-- rust/src/models/time_dimension_one_of.rs | 4 ++-- .../models/typed_data_provider_definition.rs | 24 +++++++++---------- rust/src/models/typed_geometry.rs | 8 +++---- rust/src/models/typed_geometry_one_of_1.rs | 4 ++-- rust/src/models/typed_geometry_one_of_2.rs | 4 ++-- rust/src/models/typed_geometry_one_of_3.rs | 4 ++-- rust/src/models/typed_operator.rs | 4 ++-- .../models/typed_plot_result_descriptor.rs | 4 ++-- .../models/typed_raster_result_descriptor.rs | 8 +++---- rust/src/models/typed_result_descriptor.rs | 6 ++--- .../models/typed_vector_result_descriptor.rs | 4 ++-- rust/src/models/update_layer.rs | 6 ++--- rust/src/models/update_project.rs | 4 ++-- rust/src/models/user_session.rs | 6 ++--- rust/src/models/vec_update.rs | 2 +- rust/src/models/vector_column_info.rs | 4 ++-- rust/src/models/vector_operator.rs | 4 ++-- rust/src/models/vector_result_descriptor.rs | 4 ++-- rust/src/models/workflow.rs | 4 ++-- 118 files changed, 361 insertions(+), 356 deletions(-) diff --git a/.generation/generate.py b/.generation/generate.py index c3a580df..bbe2aa55 100755 --- a/.generation/generate.py +++ b/.generation/generate.py @@ -257,6 +257,10 @@ def generate_rust_code( ): """Run the generator.""" + # TODO: + # - Check `reqwest-trait` instead of `reqwest` for `library` parameter + # - Try `useBonBuilder=true` additional property + subprocess.run( [ "podman", @@ -279,6 +283,7 @@ def generate_rust_code( f"packageVersion={package_version}", f"homePageUrl={homepage_url}", f"repositoryUrl={git_repo.url()}", + "avoidBoxedModels=true", ] ), "--git-host", diff --git a/rust/src/models/add_dataset.rs b/rust/src/models/add_dataset.rs index 8849a80a..13760b58 100644 --- a/rust/src/models/add_dataset.rs +++ b/rust/src/models/add_dataset.rs @@ -24,7 +24,7 @@ pub struct AddDataset { #[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>>, + pub symbology: Option>, #[serde(rename = "tags", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")] pub tags: Option>>, } diff --git a/rust/src/models/add_dataset_tile.rs b/rust/src/models/add_dataset_tile.rs index 6ea406d1..834ebe3b 100644 --- a/rust/src/models/add_dataset_tile.rs +++ b/rust/src/models/add_dataset_tile.rs @@ -16,11 +16,11 @@ pub struct AddDatasetTile { #[serde(rename = "band")] pub band: i32, #[serde(rename = "params")] - pub params: Box, + pub params: models::GdalDatasetParameters, #[serde(rename = "spatial_partition")] - pub spatial_partition: Box, + pub spatial_partition: models::SpatialPartition2D, #[serde(rename = "time")] - pub time: Box, + pub time: models::TimeInterval, #[serde(rename = "z_index")] pub z_index: i32, } @@ -29,9 +29,9 @@ impl AddDatasetTile { pub fn new(band: i32, params: models::GdalDatasetParameters, spatial_partition: models::SpatialPartition2D, time: models::TimeInterval, z_index: i32) -> AddDatasetTile { AddDatasetTile { band, - params: Box::new(params), - spatial_partition: Box::new(spatial_partition), - time: Box::new(time), + params, + spatial_partition, + time, z_index, } } diff --git a/rust/src/models/add_layer.rs b/rust/src/models/add_layer.rs index 7ffa1c7e..23f2c5d7 100644 --- a/rust/src/models/add_layer.rs +++ b/rust/src/models/add_layer.rs @@ -24,9 +24,9 @@ pub struct AddLayer { #[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>>, + pub symbology: Option>, #[serde(rename = "workflow")] - pub workflow: Box, + pub workflow: models::Workflow, } impl AddLayer { @@ -37,7 +37,7 @@ impl AddLayer { name, properties: None, symbology: None, - workflow: Box::new(workflow), + workflow, } } } diff --git a/rust/src/models/bounding_box2_d.rs b/rust/src/models/bounding_box2_d.rs index b1e338ab..5ce26e45 100644 --- a/rust/src/models/bounding_box2_d.rs +++ b/rust/src/models/bounding_box2_d.rs @@ -15,17 +15,17 @@ use serde::{Deserialize, Serialize}; #[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] pub struct BoundingBox2D { #[serde(rename = "lowerLeftCoordinate")] - pub lower_left_coordinate: Box, + pub lower_left_coordinate: models::Coordinate2D, #[serde(rename = "upperRightCoordinate")] - pub upper_right_coordinate: Box, + pub upper_right_coordinate: models::Coordinate2D, } 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), + lower_left_coordinate, + upper_right_coordinate, } } } diff --git a/rust/src/models/collection_item.rs b/rust/src/models/collection_item.rs index 08ae737b..f02a19f4 100644 --- a/rust/src/models/collection_item.rs +++ b/rust/src/models/collection_item.rs @@ -15,9 +15,9 @@ use serde::{Deserialize, Serialize}; #[serde(tag = "type")] pub enum CollectionItem { #[serde(rename="collection")] - Collection(Box), + Collection(models::LayerCollectionListing), #[serde(rename="layer")] - Layer(Box), + Layer(models::LayerListing), } impl Default for CollectionItem { diff --git a/rust/src/models/color_param.rs b/rust/src/models/color_param.rs index 19fc8338..79ece967 100644 --- a/rust/src/models/color_param.rs +++ b/rust/src/models/color_param.rs @@ -15,9 +15,9 @@ use serde::{Deserialize, Serialize}; #[serde(tag = "type")] pub enum ColorParam { #[serde(rename="static")] - Static(Box), + Static(models::StaticColor), #[serde(rename="derived")] - Derived(Box), + Derived(models::DerivedColor), } impl Default for ColorParam { diff --git a/rust/src/models/colorizer.rs b/rust/src/models/colorizer.rs index c7b6602e..598ac64f 100644 --- a/rust/src/models/colorizer.rs +++ b/rust/src/models/colorizer.rs @@ -16,11 +16,11 @@ use serde::{Deserialize, Serialize}; #[serde(tag = "type")] pub enum Colorizer { #[serde(rename="linearGradient")] - LinearGradient(Box), + LinearGradient(models::LinearGradient), #[serde(rename="logarithmicGradient")] - LogarithmicGradient(Box), + LogarithmicGradient(models::LogarithmicGradient), #[serde(rename="palette")] - Palette(Box), + Palette(models::PaletteColorizer), } impl Default for Colorizer { diff --git a/rust/src/models/column_names.rs b/rust/src/models/column_names.rs index ac088233..04784667 100644 --- a/rust/src/models/column_names.rs +++ b/rust/src/models/column_names.rs @@ -14,9 +14,9 @@ use serde::{Deserialize, Serialize}; #[derive(Clone, Debug, PartialEq, Serialize, Deserialize)] #[serde(untagged)] pub enum ColumnNames { - ColumnNamesOneOf(Box), - ColumnNamesOneOf1(Box), - ColumnNamesOneOf2(Box), + ColumnNamesOneOf(models::ColumnNamesOneOf), + ColumnNamesOneOf1(models::ColumnNamesOneOf1), + ColumnNamesOneOf2(models::ColumnNamesOneOf2), } impl Default for ColumnNames { diff --git a/rust/src/models/create_dataset.rs b/rust/src/models/create_dataset.rs index 03ede841..84cbc1c6 100644 --- a/rust/src/models/create_dataset.rs +++ b/rust/src/models/create_dataset.rs @@ -14,16 +14,16 @@ use serde::{Deserialize, Serialize}; #[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] pub struct CreateDataset { #[serde(rename = "dataPath")] - pub data_path: Box, + pub data_path: models::DataPath, #[serde(rename = "definition")] - pub definition: Box, + pub definition: models::DatasetDefinition, } impl CreateDataset { pub fn new(data_path: models::DataPath, definition: models::DatasetDefinition) -> CreateDataset { CreateDataset { - data_path: Box::new(data_path), - definition: Box::new(definition), + data_path, + definition, } } } diff --git a/rust/src/models/create_project.rs b/rust/src/models/create_project.rs index 80d4910b..b47b98e3 100644 --- a/rust/src/models/create_project.rs +++ b/rust/src/models/create_project.rs @@ -14,19 +14,19 @@ use serde::{Deserialize, Serialize}; #[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] pub struct CreateProject { #[serde(rename = "bounds")] - pub bounds: Box, + pub bounds: models::StRectangle, #[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>>, + pub time_step: Option>, } impl CreateProject { pub fn new(bounds: models::StRectangle, description: String, name: String) -> CreateProject { CreateProject { - bounds: Box::new(bounds), + bounds, description, name, time_step: None, diff --git a/rust/src/models/data_id.rs b/rust/src/models/data_id.rs index 28b81598..7effb53a 100644 --- a/rust/src/models/data_id.rs +++ b/rust/src/models/data_id.rs @@ -16,9 +16,9 @@ use serde::{Deserialize, Serialize}; #[serde(tag = "type")] pub enum DataId { #[serde(rename="internal")] - Internal(Box), + Internal(models::InternalDataId), #[serde(rename="external")] - External(Box), + External(models::ExternalDataId), } impl Default for DataId { diff --git a/rust/src/models/data_path.rs b/rust/src/models/data_path.rs index 8418f1b5..52f192f7 100644 --- a/rust/src/models/data_path.rs +++ b/rust/src/models/data_path.rs @@ -14,8 +14,8 @@ use serde::{Deserialize, Serialize}; #[derive(Clone, Debug, PartialEq, Serialize, Deserialize)] #[serde(untagged)] pub enum DataPath { - DataPathOneOf(Box), - DataPathOneOf1(Box), + DataPathOneOf(models::DataPathOneOf), + DataPathOneOf1(models::DataPathOneOf1), } impl Default for DataPath { diff --git a/rust/src/models/dataset.rs b/rust/src/models/dataset.rs index d2cb2f20..32b97536 100644 --- a/rust/src/models/dataset.rs +++ b/rust/src/models/dataset.rs @@ -14,7 +14,7 @@ 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>>, + pub data_path: Option>, #[serde(rename = "description")] pub description: String, #[serde(rename = "displayName")] @@ -26,11 +26,11 @@ pub struct Dataset { #[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, + pub result_descriptor: models::TypedResultDescriptor, #[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>>, + pub symbology: Option>, #[serde(rename = "tags", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")] pub tags: Option>>, } @@ -44,7 +44,7 @@ impl Dataset { id, name, provenance: None, - result_descriptor: Box::new(result_descriptor), + result_descriptor, source_operator, symbology: None, tags: None, diff --git a/rust/src/models/dataset_definition.rs b/rust/src/models/dataset_definition.rs index 4a164cf8..10bf60fb 100644 --- a/rust/src/models/dataset_definition.rs +++ b/rust/src/models/dataset_definition.rs @@ -14,16 +14,16 @@ use serde::{Deserialize, Serialize}; #[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] pub struct DatasetDefinition { #[serde(rename = "metaData")] - pub meta_data: Box, + pub meta_data: models::MetaDataDefinition, #[serde(rename = "properties")] - pub properties: Box, + pub properties: models::AddDataset, } impl DatasetDefinition { pub fn new(meta_data: models::MetaDataDefinition, properties: models::AddDataset) -> DatasetDefinition { DatasetDefinition { - meta_data: Box::new(meta_data), - properties: Box::new(properties), + meta_data, + properties, } } } diff --git a/rust/src/models/dataset_listing.rs b/rust/src/models/dataset_listing.rs index 5d6c702a..f64d1d52 100644 --- a/rust/src/models/dataset_listing.rs +++ b/rust/src/models/dataset_listing.rs @@ -22,11 +22,11 @@ pub struct DatasetListing { #[serde(rename = "name")] pub name: String, #[serde(rename = "resultDescriptor")] - pub result_descriptor: Box, + pub result_descriptor: models::TypedResultDescriptor, #[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>>, + pub symbology: Option>, #[serde(rename = "tags")] pub tags: Vec, } @@ -38,7 +38,7 @@ impl DatasetListing { display_name, id, name, - result_descriptor: Box::new(result_descriptor), + result_descriptor, source_operator, symbology: None, tags, diff --git a/rust/src/models/derived_color.rs b/rust/src/models/derived_color.rs index 5537e1ce..d8058142 100644 --- a/rust/src/models/derived_color.rs +++ b/rust/src/models/derived_color.rs @@ -16,7 +16,7 @@ pub struct DerivedColor { #[serde(rename = "attribute")] pub attribute: String, #[serde(rename = "colorizer")] - pub colorizer: Box, + pub colorizer: models::Colorizer, #[serde(rename = "type")] pub r#type: Type, } @@ -25,7 +25,7 @@ impl DerivedColor { pub fn new(attribute: String, colorizer: models::Colorizer, r#type: Type) -> DerivedColor { DerivedColor { attribute, - colorizer: Box::new(colorizer), + colorizer, r#type, } } diff --git a/rust/src/models/edr_data_provider_definition.rs b/rust/src/models/edr_data_provider_definition.rs index 49046aa6..a6379225 100644 --- a/rust/src/models/edr_data_provider_definition.rs +++ b/rust/src/models/edr_data_provider_definition.rs @@ -33,7 +33,7 @@ pub struct EdrDataProviderDefinition { #[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>>, + pub vector_spec: Option>, } impl EdrDataProviderDefinition { diff --git a/rust/src/models/expression.rs b/rust/src/models/expression.rs index e293ea89..c538cd82 100644 --- a/rust/src/models/expression.rs +++ b/rust/src/models/expression.rs @@ -15,9 +15,9 @@ use serde::{Deserialize, Serialize}; #[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] pub struct Expression { #[serde(rename = "params")] - pub params: Box, + pub params: models::ExpressionParameters, #[serde(rename = "sources")] - pub sources: Box, + pub sources: models::SingleRasterSource, #[serde(rename = "type")] pub r#type: Type, } @@ -26,8 +26,8 @@ impl Expression { /// # Raster 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), + params, + sources, r#type, } } diff --git a/rust/src/models/expression_parameters.rs b/rust/src/models/expression_parameters.rs index edfa6443..24d2995d 100644 --- a/rust/src/models/expression_parameters.rs +++ b/rust/src/models/expression_parameters.rs @@ -22,7 +22,7 @@ pub struct ExpressionParameters { pub map_no_data: bool, /// Description about the output #[serde(rename = "outputBand", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")] - pub output_band: Option>>, + pub output_band: Option>, /// A raster data type for the output #[serde(rename = "outputType")] pub output_type: models::RasterDataType, diff --git a/rust/src/models/format_specifics.rs b/rust/src/models/format_specifics.rs index 61efcd33..ec7e2bce 100644 --- a/rust/src/models/format_specifics.rs +++ b/rust/src/models/format_specifics.rs @@ -14,13 +14,13 @@ use serde::{Deserialize, Serialize}; #[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] pub struct FormatSpecifics { #[serde(rename = "csv")] - pub csv: Box, + pub csv: models::FormatSpecificsCsv, } impl FormatSpecifics { pub fn new(csv: models::FormatSpecificsCsv) -> FormatSpecifics { FormatSpecifics { - csv: Box::new(csv), + csv, } } } diff --git a/rust/src/models/gbif_data_provider_definition.rs b/rust/src/models/gbif_data_provider_definition.rs index 63a78904..20bce814 100644 --- a/rust/src/models/gbif_data_provider_definition.rs +++ b/rust/src/models/gbif_data_provider_definition.rs @@ -20,7 +20,7 @@ pub struct GbifDataProviderDefinition { #[serde(rename = "columns")] pub columns: Vec, #[serde(rename = "dbConfig")] - pub db_config: Box, + pub db_config: models::DatabaseConnectionConfig, #[serde(rename = "description")] pub description: String, #[serde(rename = "name")] @@ -37,7 +37,7 @@ impl GbifDataProviderDefinition { autocomplete_timeout, cache_ttl: None, columns, - db_config: Box::new(db_config), + db_config, description, name, priority: None, diff --git a/rust/src/models/gdal_dataset_parameters.rs b/rust/src/models/gdal_dataset_parameters.rs index 9f2b3504..752615f6 100644 --- a/rust/src/models/gdal_dataset_parameters.rs +++ b/rust/src/models/gdal_dataset_parameters.rs @@ -25,7 +25,7 @@ pub struct GdalDatasetParameters { #[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, + pub geo_transform: models::GeoTransform, #[serde(rename = "height")] pub height: i32, #[serde(rename = "noDataValue", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")] @@ -47,7 +47,7 @@ impl GdalDatasetParameters { file_path, gdal_config_options: None, gdal_open_options: None, - geo_transform: Box::new(geo_transform), + geo_transform, height, no_data_value: None, properties_mapping: None, diff --git a/rust/src/models/gdal_loading_info_temporal_slice.rs b/rust/src/models/gdal_loading_info_temporal_slice.rs index 3a530258..b5567682 100644 --- a/rust/src/models/gdal_loading_info_temporal_slice.rs +++ b/rust/src/models/gdal_loading_info_temporal_slice.rs @@ -17,9 +17,9 @@ 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>>, + pub params: Option>, #[serde(rename = "time")] - pub time: Box, + pub time: models::TimeInterval, } impl GdalLoadingInfoTemporalSlice { @@ -28,7 +28,7 @@ impl GdalLoadingInfoTemporalSlice { GdalLoadingInfoTemporalSlice { cache_ttl: None, params: None, - time: Box::new(time), + time, } } } diff --git a/rust/src/models/gdal_meta_data_list.rs b/rust/src/models/gdal_meta_data_list.rs index fe3b948e..da95daaf 100644 --- a/rust/src/models/gdal_meta_data_list.rs +++ b/rust/src/models/gdal_meta_data_list.rs @@ -16,7 +16,7 @@ pub struct GdalMetaDataList { #[serde(rename = "params")] pub params: Vec, #[serde(rename = "resultDescriptor")] - pub result_descriptor: Box, + pub result_descriptor: models::RasterResultDescriptor, #[serde(rename = "type")] pub r#type: Type, } @@ -25,7 +25,7 @@ impl GdalMetaDataList { pub fn new(params: Vec, result_descriptor: models::RasterResultDescriptor, r#type: Type) -> GdalMetaDataList { GdalMetaDataList { params, - result_descriptor: Box::new(result_descriptor), + result_descriptor, r#type, } } diff --git a/rust/src/models/gdal_meta_data_regular.rs b/rust/src/models/gdal_meta_data_regular.rs index 97e4b6aa..100a0c52 100644 --- a/rust/src/models/gdal_meta_data_regular.rs +++ b/rust/src/models/gdal_meta_data_regular.rs @@ -16,13 +16,13 @@ pub struct GdalMetaDataRegular { #[serde(rename = "cacheTtl", skip_serializing_if = "Option::is_none")] pub cache_ttl: Option, #[serde(rename = "dataTime")] - pub data_time: Box, + pub data_time: models::TimeInterval, #[serde(rename = "params")] - pub params: Box, + pub params: models::GdalDatasetParameters, #[serde(rename = "resultDescriptor")] - pub result_descriptor: Box, + pub result_descriptor: models::RasterResultDescriptor, #[serde(rename = "step")] - pub step: Box, + pub step: models::TimeStep, #[serde(rename = "timePlaceholders")] pub time_placeholders: std::collections::HashMap, #[serde(rename = "type")] @@ -33,10 +33,10 @@ 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), + data_time, + params, + result_descriptor, + step, time_placeholders, r#type, } diff --git a/rust/src/models/gdal_meta_data_static.rs b/rust/src/models/gdal_meta_data_static.rs index 0cb98bd4..4287084b 100644 --- a/rust/src/models/gdal_meta_data_static.rs +++ b/rust/src/models/gdal_meta_data_static.rs @@ -16,11 +16,11 @@ pub struct GdalMetaDataStatic { #[serde(rename = "cacheTtl", skip_serializing_if = "Option::is_none")] pub cache_ttl: Option, #[serde(rename = "params")] - pub params: Box, + pub params: models::GdalDatasetParameters, #[serde(rename = "resultDescriptor")] - pub result_descriptor: Box, + pub result_descriptor: models::RasterResultDescriptor, #[serde(rename = "time", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")] - pub time: Option>>, + pub time: Option>, #[serde(rename = "type")] pub r#type: Type, } @@ -29,8 +29,8 @@ 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), + params, + result_descriptor, time: None, r#type, } diff --git a/rust/src/models/gdal_metadata_mapping.rs b/rust/src/models/gdal_metadata_mapping.rs index acc126e0..666cc6c0 100644 --- a/rust/src/models/gdal_metadata_mapping.rs +++ b/rust/src/models/gdal_metadata_mapping.rs @@ -14,9 +14,9 @@ use serde::{Deserialize, Serialize}; #[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] pub struct GdalMetadataMapping { #[serde(rename = "source_key")] - pub source_key: Box, + pub source_key: models::RasterPropertiesKey, #[serde(rename = "target_key")] - pub target_key: Box, + pub target_key: models::RasterPropertiesKey, #[serde(rename = "target_type")] pub target_type: models::RasterPropertiesEntryType, } @@ -24,8 +24,8 @@ pub struct GdalMetadataMapping { 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), + source_key, + 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 index 93ffd89a..a0538b30 100644 --- a/rust/src/models/gdal_metadata_net_cdf_cf.rs +++ b/rust/src/models/gdal_metadata_net_cdf_cf.rs @@ -23,13 +23,13 @@ pub struct GdalMetadataNetCdfCf { #[serde(rename = "end")] pub end: i64, #[serde(rename = "params")] - pub params: Box, + pub params: models::GdalDatasetParameters, #[serde(rename = "resultDescriptor")] - pub result_descriptor: Box, + pub result_descriptor: models::RasterResultDescriptor, #[serde(rename = "start")] pub start: i64, #[serde(rename = "step")] - pub step: Box, + pub step: models::TimeStep, #[serde(rename = "type")] pub r#type: Type, } @@ -41,10 +41,10 @@ impl GdalMetadataNetCdfCf { band_offset, cache_ttl: None, end, - params: Box::new(params), - result_descriptor: Box::new(result_descriptor), + params, + result_descriptor, start, - step: Box::new(step), + step, r#type, } } diff --git a/rust/src/models/gdal_multi_band.rs b/rust/src/models/gdal_multi_band.rs index bb441213..71042d35 100644 --- a/rust/src/models/gdal_multi_band.rs +++ b/rust/src/models/gdal_multi_band.rs @@ -14,7 +14,7 @@ use serde::{Deserialize, Serialize}; #[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] pub struct GdalMultiBand { #[serde(rename = "resultDescriptor")] - pub result_descriptor: Box, + pub result_descriptor: models::RasterResultDescriptor, #[serde(rename = "type")] pub r#type: Type, } @@ -22,7 +22,7 @@ pub struct GdalMultiBand { impl GdalMultiBand { pub fn new(result_descriptor: models::RasterResultDescriptor, r#type: Type) -> GdalMultiBand { GdalMultiBand { - result_descriptor: Box::new(result_descriptor), + result_descriptor, r#type, } } diff --git a/rust/src/models/gdal_source.rs b/rust/src/models/gdal_source.rs index 8a006e23..a9db42c2 100644 --- a/rust/src/models/gdal_source.rs +++ b/rust/src/models/gdal_source.rs @@ -15,7 +15,7 @@ use serde::{Deserialize, Serialize}; #[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] pub struct GdalSource { #[serde(rename = "params")] - pub params: Box, + pub params: models::GdalSourceParameters, #[serde(rename = "type")] pub r#type: Type, } @@ -24,7 +24,7 @@ impl GdalSource { /// # 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. ## Example JSON ```json { \"type\": \"GdalSource\", \"params\": { \"data\": \"ndvi\" } } ``` pub fn new(params: models::GdalSourceParameters, r#type: Type) -> GdalSource { GdalSource { - params: Box::new(params), + params, r#type, } } diff --git a/rust/src/models/geo_transform.rs b/rust/src/models/geo_transform.rs index 25702ff2..13ee2e9f 100644 --- a/rust/src/models/geo_transform.rs +++ b/rust/src/models/geo_transform.rs @@ -14,7 +14,7 @@ use serde::{Deserialize, Serialize}; #[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] pub struct GeoTransform { #[serde(rename = "originCoordinate")] - pub origin_coordinate: Box, + pub origin_coordinate: models::Coordinate2D, #[serde(rename = "xPixelSize")] pub x_pixel_size: f64, #[serde(rename = "yPixelSize")] @@ -24,7 +24,7 @@ pub struct GeoTransform { 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), + origin_coordinate, x_pixel_size, y_pixel_size, } diff --git a/rust/src/models/gfbio_abcd_data_provider_definition.rs b/rust/src/models/gfbio_abcd_data_provider_definition.rs index d47ce4da..93ec2255 100644 --- a/rust/src/models/gfbio_abcd_data_provider_definition.rs +++ b/rust/src/models/gfbio_abcd_data_provider_definition.rs @@ -16,7 +16,7 @@ pub struct GfbioAbcdDataProviderDefinition { #[serde(rename = "cacheTtl", skip_serializing_if = "Option::is_none")] pub cache_ttl: Option, #[serde(rename = "dbConfig")] - pub db_config: Box, + pub db_config: models::DatabaseConnectionConfig, #[serde(rename = "description")] pub description: String, #[serde(rename = "name")] @@ -31,7 +31,7 @@ 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), + db_config, description, name, priority: None, diff --git a/rust/src/models/gfbio_collections_data_provider_definition.rs b/rust/src/models/gfbio_collections_data_provider_definition.rs index f996b250..6cf82433 100644 --- a/rust/src/models/gfbio_collections_data_provider_definition.rs +++ b/rust/src/models/gfbio_collections_data_provider_definition.rs @@ -14,7 +14,7 @@ use serde::{Deserialize, Serialize}; #[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] pub struct GfbioCollectionsDataProviderDefinition { #[serde(rename = "abcdDbConfig")] - pub abcd_db_config: Box, + pub abcd_db_config: models::DatabaseConnectionConfig, #[serde(rename = "cacheTtl", skip_serializing_if = "Option::is_none")] pub cache_ttl: Option, #[serde(rename = "collectionApiAuthToken")] @@ -36,7 +36,7 @@ pub struct GfbioCollectionsDataProviderDefinition { 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), + abcd_db_config, cache_ttl: None, collection_api_auth_token, collection_api_url, diff --git a/rust/src/models/grid_bounding_box2_d.rs b/rust/src/models/grid_bounding_box2_d.rs index 4eaf4912..06940b0f 100644 --- a/rust/src/models/grid_bounding_box2_d.rs +++ b/rust/src/models/grid_bounding_box2_d.rs @@ -14,16 +14,16 @@ use serde::{Deserialize, Serialize}; #[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] pub struct GridBoundingBox2D { #[serde(rename = "bottomRightIdx")] - pub bottom_right_idx: Box, + pub bottom_right_idx: models::GridIdx2D, #[serde(rename = "topLeftIdx")] - pub top_left_idx: Box, + pub top_left_idx: models::GridIdx2D, } 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), + bottom_right_idx, + top_left_idx, } } } diff --git a/rust/src/models/layer.rs b/rust/src/models/layer.rs index ff55dd2d..35df6646 100644 --- a/rust/src/models/layer.rs +++ b/rust/src/models/layer.rs @@ -16,7 +16,7 @@ pub struct Layer { #[serde(rename = "description")] pub description: String, #[serde(rename = "id")] - pub id: Box, + pub id: models::ProviderLayerId, /// metadata used for loading the data #[serde(rename = "metadata", skip_serializing_if = "Option::is_none")] pub metadata: Option>, @@ -26,21 +26,21 @@ pub struct Layer { #[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>>, + pub symbology: Option>, #[serde(rename = "workflow")] - pub workflow: Box, + pub workflow: models::Workflow, } impl Layer { pub fn new(description: String, id: models::ProviderLayerId, name: String, workflow: models::Workflow) -> Layer { Layer { description, - id: Box::new(id), + id, metadata: None, name, properties: None, symbology: None, - workflow: Box::new(workflow), + workflow, } } } diff --git a/rust/src/models/layer_collection.rs b/rust/src/models/layer_collection.rs index 1141c0cd..8a563e73 100644 --- a/rust/src/models/layer_collection.rs +++ b/rust/src/models/layer_collection.rs @@ -19,7 +19,7 @@ pub struct LayerCollection { #[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, + pub id: models::ProviderLayerCollectionId, #[serde(rename = "items")] pub items: Vec, #[serde(rename = "name")] @@ -33,7 +33,7 @@ impl LayerCollection { LayerCollection { description, entry_label: None, - id: Box::new(id), + id, items, name, properties, diff --git a/rust/src/models/layer_collection_listing.rs b/rust/src/models/layer_collection_listing.rs index 6c1c5938..638f6c74 100644 --- a/rust/src/models/layer_collection_listing.rs +++ b/rust/src/models/layer_collection_listing.rs @@ -16,7 +16,7 @@ pub struct LayerCollectionListing { #[serde(rename = "description")] pub description: String, #[serde(rename = "id")] - pub id: Box, + pub id: models::ProviderLayerCollectionId, #[serde(rename = "name")] pub name: String, #[serde(rename = "properties", skip_serializing_if = "Option::is_none")] @@ -29,7 +29,7 @@ impl LayerCollectionListing { pub fn new(description: String, id: models::ProviderLayerCollectionId, name: String, r#type: Type) -> LayerCollectionListing { LayerCollectionListing { description, - id: Box::new(id), + id, name, properties: None, r#type, diff --git a/rust/src/models/layer_listing.rs b/rust/src/models/layer_listing.rs index 239152cf..6383a678 100644 --- a/rust/src/models/layer_listing.rs +++ b/rust/src/models/layer_listing.rs @@ -16,7 +16,7 @@ pub struct LayerListing { #[serde(rename = "description")] pub description: String, #[serde(rename = "id")] - pub id: Box, + pub id: models::ProviderLayerId, #[serde(rename = "name")] pub name: String, /// properties, for instance, to be rendered in the UI @@ -30,7 +30,7 @@ impl LayerListing { pub fn new(description: String, id: models::ProviderLayerId, name: String, r#type: Type) -> LayerListing { LayerListing { description, - id: Box::new(id), + id, name, properties: None, r#type, diff --git a/rust/src/models/line_symbology.rs b/rust/src/models/line_symbology.rs index 7985696d..7eaa467a 100644 --- a/rust/src/models/line_symbology.rs +++ b/rust/src/models/line_symbology.rs @@ -16,9 +16,9 @@ pub struct LineSymbology { #[serde(rename = "autoSimplified")] pub auto_simplified: bool, #[serde(rename = "stroke")] - pub stroke: Box, + pub stroke: models::StrokeParam, #[serde(rename = "text", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")] - pub text: Option>>, + pub text: Option>, #[serde(rename = "type")] pub r#type: Type, } @@ -27,7 +27,7 @@ impl LineSymbology { pub fn new(auto_simplified: bool, stroke: models::StrokeParam, r#type: Type) -> LineSymbology { LineSymbology { auto_simplified, - stroke: Box::new(stroke), + stroke, text: None, r#type, } diff --git a/rust/src/models/measurement.rs b/rust/src/models/measurement.rs index dabc9995..63a4e39a 100644 --- a/rust/src/models/measurement.rs +++ b/rust/src/models/measurement.rs @@ -15,11 +15,11 @@ use serde::{Deserialize, Serialize}; #[serde(tag = "type")] pub enum Measurement { #[serde(rename="unitless")] - Unitless(Box), + Unitless(models::UnitlessMeasurement), #[serde(rename="continuous")] - Continuous(Box), + Continuous(models::ContinuousMeasurement), #[serde(rename="classification")] - Classification(Box), + Classification(models::ClassificationMeasurement), } impl Default for Measurement { diff --git a/rust/src/models/meta_data_definition.rs b/rust/src/models/meta_data_definition.rs index 814d18d9..6c9554f4 100644 --- a/rust/src/models/meta_data_definition.rs +++ b/rust/src/models/meta_data_definition.rs @@ -15,19 +15,19 @@ use serde::{Deserialize, Serialize}; #[serde(tag = "type")] pub enum MetaDataDefinition { #[serde(rename="MockMetaData")] - MockMetaData(Box), + MockMetaData(models::MockMetaData), #[serde(rename="OgrMetaData")] - OgrMetaData(Box), + OgrMetaData(models::OgrMetaData), #[serde(rename="GdalMetaDataRegular")] - GdalMetaDataRegular(Box), + GdalMetaDataRegular(models::GdalMetaDataRegular), #[serde(rename="GdalStatic")] - GdalStatic(Box), + GdalStatic(models::GdalMetaDataStatic), #[serde(rename="GdalMetaDataNetCdfCf")] - GdalMetaDataNetCdfCf(Box), + GdalMetaDataNetCdfCf(models::GdalMetadataNetCdfCf), #[serde(rename="GdalMetaDataList")] - GdalMetaDataList(Box), + GdalMetaDataList(models::GdalMetaDataList), #[serde(rename="GdalMultiBand")] - GdalMultiBand(Box), + GdalMultiBand(models::GdalMultiBand), } impl Default for MetaDataDefinition { diff --git a/rust/src/models/meta_data_suggestion.rs b/rust/src/models/meta_data_suggestion.rs index e4dabecd..63174734 100644 --- a/rust/src/models/meta_data_suggestion.rs +++ b/rust/src/models/meta_data_suggestion.rs @@ -18,7 +18,7 @@ pub struct MetaDataSuggestion { #[serde(rename = "mainFile")] pub main_file: String, #[serde(rename = "metaData")] - pub meta_data: Box, + pub meta_data: models::MetaDataDefinition, } impl MetaDataSuggestion { @@ -26,7 +26,7 @@ impl MetaDataSuggestion { MetaDataSuggestion { layer_name, main_file, - meta_data: Box::new(meta_data), + meta_data, } } } diff --git a/rust/src/models/ml_model.rs b/rust/src/models/ml_model.rs index 6d5cda51..4d2ae715 100644 --- a/rust/src/models/ml_model.rs +++ b/rust/src/models/ml_model.rs @@ -20,7 +20,7 @@ pub struct MlModel { #[serde(rename = "fileName")] pub file_name: String, #[serde(rename = "metadata")] - pub metadata: Box, + pub metadata: models::MlModelMetadata, #[serde(rename = "name")] pub name: String, #[serde(rename = "upload")] @@ -33,7 +33,7 @@ impl MlModel { description, display_name, file_name, - metadata: Box::new(metadata), + metadata, name, upload, } diff --git a/rust/src/models/ml_model_metadata.rs b/rust/src/models/ml_model_metadata.rs index e3755403..c73d4c8d 100644 --- a/rust/src/models/ml_model_metadata.rs +++ b/rust/src/models/ml_model_metadata.rs @@ -14,15 +14,15 @@ use serde::{Deserialize, Serialize}; #[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] pub struct MlModelMetadata { #[serde(rename = "inputNoDataHandling")] - pub input_no_data_handling: Box, + pub input_no_data_handling: models::MlModelInputNoDataHandling, #[serde(rename = "inputShape")] - pub input_shape: Box, + pub input_shape: models::MlTensorShape3D, #[serde(rename = "inputType")] pub input_type: models::RasterDataType, #[serde(rename = "outputNoDataHandling")] - pub output_no_data_handling: Box, + pub output_no_data_handling: models::MlModelOutputNoDataHandling, #[serde(rename = "outputShape")] - pub output_shape: Box, + pub output_shape: models::MlTensorShape3D, #[serde(rename = "outputType")] pub output_type: models::RasterDataType, } @@ -30,11 +30,11 @@ pub struct MlModelMetadata { 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_no_data_handling, + input_shape, input_type, - output_no_data_handling: Box::new(output_no_data_handling), - output_shape: Box::new(output_shape), + output_no_data_handling, + output_shape, output_type, } } diff --git a/rust/src/models/mock_meta_data.rs b/rust/src/models/mock_meta_data.rs index c75d0959..53f81adc 100644 --- a/rust/src/models/mock_meta_data.rs +++ b/rust/src/models/mock_meta_data.rs @@ -14,9 +14,9 @@ use serde::{Deserialize, Serialize}; #[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] pub struct MockMetaData { #[serde(rename = "loadingInfo")] - pub loading_info: Box, + pub loading_info: models::MockDatasetDataSourceLoadingInfo, #[serde(rename = "resultDescriptor")] - pub result_descriptor: Box, + pub result_descriptor: models::VectorResultDescriptor, #[serde(rename = "type")] pub r#type: Type, } @@ -24,8 +24,8 @@ pub struct MockMetaData { 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), + loading_info, + result_descriptor, r#type, } } diff --git a/rust/src/models/mock_point_source.rs b/rust/src/models/mock_point_source.rs index df0c7b53..3577faa5 100644 --- a/rust/src/models/mock_point_source.rs +++ b/rust/src/models/mock_point_source.rs @@ -15,7 +15,7 @@ use serde::{Deserialize, Serialize}; #[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] pub struct MockPointSource { #[serde(rename = "params")] - pub params: Box, + pub params: models::MockPointSourceParameters, #[serde(rename = "type")] pub r#type: Type, } @@ -24,7 +24,7 @@ impl MockPointSource { /// # MockPointSource The [`MockPointSource`] is a source operator that provides mock vector point data for testing and development purposes. ## Example JSON ```json { \"type\": \"MockPointSource\", \"params\": { \"points\": [ { \"x\": 1.0, \"y\": 2.0 }, { \"x\": 3.0, \"y\": 4.0 } ] } } ``` pub fn new(params: models::MockPointSourceParameters, r#type: Type) -> MockPointSource { MockPointSource { - params: Box::new(params), + params, r#type, } } diff --git a/rust/src/models/mock_point_source_parameters.rs b/rust/src/models/mock_point_source_parameters.rs index 35f4f496..b9f8217d 100644 --- a/rust/src/models/mock_point_source_parameters.rs +++ b/rust/src/models/mock_point_source_parameters.rs @@ -19,7 +19,7 @@ pub struct MockPointSourceParameters { pub points: Vec, /// Defines how the spatial bounds of the source are derived. Defaults to `None`. #[serde(rename = "spatialBounds")] - pub spatial_bounds: Box, + pub spatial_bounds: models::SpatialBoundsDerive, } impl MockPointSourceParameters { @@ -27,7 +27,7 @@ impl MockPointSourceParameters { pub fn new(points: Vec, spatial_bounds: models::SpatialBoundsDerive) -> MockPointSourceParameters { MockPointSourceParameters { points, - spatial_bounds: Box::new(spatial_bounds), + spatial_bounds, } } } diff --git a/rust/src/models/number_param.rs b/rust/src/models/number_param.rs index 486589a0..0291c3cc 100644 --- a/rust/src/models/number_param.rs +++ b/rust/src/models/number_param.rs @@ -15,9 +15,9 @@ use serde::{Deserialize, Serialize}; #[serde(tag = "type")] pub enum NumberParam { #[serde(rename="static")] - Static(Box), + Static(models::StaticNumber), #[serde(rename="derived")] - Derived(Box), + Derived(models::DerivedNumber), } impl Default for NumberParam { diff --git a/rust/src/models/ogr_meta_data.rs b/rust/src/models/ogr_meta_data.rs index 692e31e7..10be2372 100644 --- a/rust/src/models/ogr_meta_data.rs +++ b/rust/src/models/ogr_meta_data.rs @@ -14,9 +14,9 @@ use serde::{Deserialize, Serialize}; #[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] pub struct OgrMetaData { #[serde(rename = "loadingInfo")] - pub loading_info: Box, + pub loading_info: models::OgrSourceDataset, #[serde(rename = "resultDescriptor")] - pub result_descriptor: Box, + pub result_descriptor: models::VectorResultDescriptor, #[serde(rename = "type")] pub r#type: Type, } @@ -24,8 +24,8 @@ pub struct OgrMetaData { 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), + loading_info, + result_descriptor, r#type, } } diff --git a/rust/src/models/ogr_source_column_spec.rs b/rust/src/models/ogr_source_column_spec.rs index d729a698..6ffb04a5 100644 --- a/rust/src/models/ogr_source_column_spec.rs +++ b/rust/src/models/ogr_source_column_spec.rs @@ -20,7 +20,7 @@ pub struct OgrSourceColumnSpec { #[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>>, + 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")] diff --git a/rust/src/models/ogr_source_dataset.rs b/rust/src/models/ogr_source_dataset.rs index 4717bc10..043c36b2 100644 --- a/rust/src/models/ogr_source_dataset.rs +++ b/rust/src/models/ogr_source_dataset.rs @@ -18,11 +18,11 @@ pub struct OgrSourceDataset { #[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>>, + 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>>, + pub default_geometry: Option>, #[serde(rename = "fileName")] pub file_name: String, #[serde(rename = "forceOgrSpatialFilter", skip_serializing_if = "Option::is_none")] @@ -36,7 +36,7 @@ pub struct OgrSourceDataset { #[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>, + pub time: Option, } impl OgrSourceDataset { diff --git a/rust/src/models/ogr_source_dataset_time_type.rs b/rust/src/models/ogr_source_dataset_time_type.rs index 7cd03da9..6f73f789 100644 --- a/rust/src/models/ogr_source_dataset_time_type.rs +++ b/rust/src/models/ogr_source_dataset_time_type.rs @@ -15,13 +15,13 @@ use serde::{Deserialize, Serialize}; #[serde(tag = "type")] pub enum OgrSourceDatasetTimeType { #[serde(rename="none")] - None(Box), + None(models::OgrSourceDatasetTimeTypeNone), #[serde(rename="start")] - Start(Box), + Start(models::OgrSourceDatasetTimeTypeStart), #[serde(rename="start+end")] - StartPlusEnd(Box), + StartPlusEnd(models::OgrSourceDatasetTimeTypeStartEnd), #[serde(rename="start+duration")] - StartPlusDuration(Box), + StartPlusDuration(models::OgrSourceDatasetTimeTypeStartDuration), } impl Default for OgrSourceDatasetTimeType { diff --git a/rust/src/models/ogr_source_dataset_time_type_start.rs b/rust/src/models/ogr_source_dataset_time_type_start.rs index 051399de..4534a05d 100644 --- a/rust/src/models/ogr_source_dataset_time_type_start.rs +++ b/rust/src/models/ogr_source_dataset_time_type_start.rs @@ -14,11 +14,11 @@ use serde::{Deserialize, Serialize}; #[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] pub struct OgrSourceDatasetTimeTypeStart { #[serde(rename = "duration")] - pub duration: Box, + pub duration: models::OgrSourceDurationSpec, #[serde(rename = "startField")] pub start_field: String, #[serde(rename = "startFormat")] - pub start_format: Box, + pub start_format: models::OgrSourceTimeFormat, #[serde(rename = "type")] pub r#type: Type, } @@ -26,9 +26,9 @@ pub struct OgrSourceDatasetTimeTypeStart { impl OgrSourceDatasetTimeTypeStart { pub fn new(duration: models::OgrSourceDurationSpec, start_field: String, start_format: models::OgrSourceTimeFormat, r#type: Type) -> OgrSourceDatasetTimeTypeStart { OgrSourceDatasetTimeTypeStart { - duration: Box::new(duration), + duration, start_field, - start_format: Box::new(start_format), + start_format, r#type, } } 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 index 51d9ce65..bc11b303 100644 --- a/rust/src/models/ogr_source_dataset_time_type_start_duration.rs +++ b/rust/src/models/ogr_source_dataset_time_type_start_duration.rs @@ -18,7 +18,7 @@ pub struct OgrSourceDatasetTimeTypeStartDuration { #[serde(rename = "startField")] pub start_field: String, #[serde(rename = "startFormat")] - pub start_format: Box, + pub start_format: models::OgrSourceTimeFormat, #[serde(rename = "type")] pub r#type: Type, } @@ -28,7 +28,7 @@ impl OgrSourceDatasetTimeTypeStartDuration { OgrSourceDatasetTimeTypeStartDuration { duration_field, start_field, - start_format: Box::new(start_format), + start_format, r#type, } } 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 index fdd0b161..3e74a332 100644 --- a/rust/src/models/ogr_source_dataset_time_type_start_end.rs +++ b/rust/src/models/ogr_source_dataset_time_type_start_end.rs @@ -16,11 +16,11 @@ pub struct OgrSourceDatasetTimeTypeStartEnd { #[serde(rename = "endField")] pub end_field: String, #[serde(rename = "endFormat")] - pub end_format: Box, + pub end_format: models::OgrSourceTimeFormat, #[serde(rename = "startField")] pub start_field: String, #[serde(rename = "startFormat")] - pub start_format: Box, + pub start_format: models::OgrSourceTimeFormat, #[serde(rename = "type")] pub r#type: Type, } @@ -29,9 +29,9 @@ 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), + end_format, start_field, - start_format: Box::new(start_format), + start_format, r#type, } } diff --git a/rust/src/models/ogr_source_duration_spec.rs b/rust/src/models/ogr_source_duration_spec.rs index 4e8ab26d..99c0d364 100644 --- a/rust/src/models/ogr_source_duration_spec.rs +++ b/rust/src/models/ogr_source_duration_spec.rs @@ -15,11 +15,11 @@ use serde::{Deserialize, Serialize}; #[serde(tag = "type")] pub enum OgrSourceDurationSpec { #[serde(rename="infinite")] - Infinite(Box), + Infinite(models::OgrSourceDurationSpecInfinite), #[serde(rename="zero")] - Zero(Box), + Zero(models::OgrSourceDurationSpecZero), #[serde(rename="value")] - Value(Box), + Value(models::OgrSourceDurationSpecValue), } impl Default for OgrSourceDurationSpec { diff --git a/rust/src/models/ogr_source_time_format.rs b/rust/src/models/ogr_source_time_format.rs index da56fad7..02aa0fbb 100644 --- a/rust/src/models/ogr_source_time_format.rs +++ b/rust/src/models/ogr_source_time_format.rs @@ -15,11 +15,11 @@ use serde::{Deserialize, Serialize}; #[serde(tag = "format")] pub enum OgrSourceTimeFormat { #[serde(rename="custom")] - Custom(Box), + Custom(models::OgrSourceTimeFormatCustom), #[serde(rename="unixTimeStamp")] - UnixTimeStamp(Box), + UnixTimeStamp(models::OgrSourceTimeFormatUnixTimeStamp), #[serde(rename="auto")] - Auto(Box), + Auto(models::OgrSourceTimeFormatAuto), } impl Default for OgrSourceTimeFormat { diff --git a/rust/src/models/permission_listing.rs b/rust/src/models/permission_listing.rs index 582ec8c7..8110a3a6 100644 --- a/rust/src/models/permission_listing.rs +++ b/rust/src/models/permission_listing.rs @@ -16,17 +16,17 @@ pub struct PermissionListing { #[serde(rename = "permission")] pub permission: models::Permission, #[serde(rename = "resource")] - pub resource: Box, + pub resource: models::Resource, #[serde(rename = "role")] - pub role: Box, + pub role: models::Role, } 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), + resource, + role, } } } diff --git a/rust/src/models/permission_request.rs b/rust/src/models/permission_request.rs index 4f38633b..bb8dcf82 100644 --- a/rust/src/models/permission_request.rs +++ b/rust/src/models/permission_request.rs @@ -17,7 +17,7 @@ pub struct PermissionRequest { #[serde(rename = "permission")] pub permission: models::Permission, #[serde(rename = "resource")] - pub resource: Box, + pub resource: models::Resource, #[serde(rename = "roleId")] pub role_id: uuid::Uuid, } @@ -27,7 +27,7 @@ impl PermissionRequest { pub fn new(permission: models::Permission, resource: models::Resource, role_id: uuid::Uuid) -> PermissionRequest { PermissionRequest { permission, - resource: Box::new(resource), + resource, role_id, } } diff --git a/rust/src/models/plot_result_descriptor.rs b/rust/src/models/plot_result_descriptor.rs index a774ad2b..5417771e 100644 --- a/rust/src/models/plot_result_descriptor.rs +++ b/rust/src/models/plot_result_descriptor.rs @@ -15,11 +15,11 @@ use serde::{Deserialize, Serialize}; #[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>>, + 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>>, + pub time: Option>, } impl PlotResultDescriptor { diff --git a/rust/src/models/point_symbology.rs b/rust/src/models/point_symbology.rs index 0c2940f0..cbfb8aaf 100644 --- a/rust/src/models/point_symbology.rs +++ b/rust/src/models/point_symbology.rs @@ -14,13 +14,13 @@ use serde::{Deserialize, Serialize}; #[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] pub struct PointSymbology { #[serde(rename = "fillColor")] - pub fill_color: Box, + pub fill_color: models::ColorParam, #[serde(rename = "radius")] - pub radius: Box, + pub radius: models::NumberParam, #[serde(rename = "stroke")] - pub stroke: Box, + pub stroke: models::StrokeParam, #[serde(rename = "text", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")] - pub text: Option>>, + pub text: Option>, #[serde(rename = "type")] pub r#type: Type, } @@ -28,9 +28,9 @@ pub struct PointSymbology { 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), + fill_color, + radius, + stroke, text: None, r#type, } diff --git a/rust/src/models/polygon_symbology.rs b/rust/src/models/polygon_symbology.rs index e9518815..fcf3324f 100644 --- a/rust/src/models/polygon_symbology.rs +++ b/rust/src/models/polygon_symbology.rs @@ -16,11 +16,11 @@ pub struct PolygonSymbology { #[serde(rename = "autoSimplified")] pub auto_simplified: bool, #[serde(rename = "fillColor")] - pub fill_color: Box, + pub fill_color: models::ColorParam, #[serde(rename = "stroke")] - pub stroke: Box, + pub stroke: models::StrokeParam, #[serde(rename = "text", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")] - pub text: Option>>, + pub text: Option>, #[serde(rename = "type")] pub r#type: Type, } @@ -29,8 +29,8 @@ 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), + fill_color, + stroke, text: None, r#type, } diff --git a/rust/src/models/project.rs b/rust/src/models/project.rs index 6cbd7fcf..e4d68c16 100644 --- a/rust/src/models/project.rs +++ b/rust/src/models/project.rs @@ -14,7 +14,7 @@ use serde::{Deserialize, Serialize}; #[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] pub struct Project { #[serde(rename = "bounds")] - pub bounds: Box, + pub bounds: models::StRectangle, #[serde(rename = "description")] pub description: String, #[serde(rename = "id")] @@ -26,22 +26,22 @@ pub struct Project { #[serde(rename = "plots")] pub plots: Vec, #[serde(rename = "timeStep")] - pub time_step: Box, + pub time_step: models::TimeStep, #[serde(rename = "version")] - pub version: Box, + pub version: models::ProjectVersion, } 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), + bounds, description, id, layers, name, plots, - time_step: Box::new(time_step), - version: Box::new(version), + time_step, + version, } } } diff --git a/rust/src/models/project_layer.rs b/rust/src/models/project_layer.rs index 2914f94a..33a18730 100644 --- a/rust/src/models/project_layer.rs +++ b/rust/src/models/project_layer.rs @@ -16,9 +16,9 @@ pub struct ProjectLayer { #[serde(rename = "name")] pub name: String, #[serde(rename = "symbology")] - pub symbology: Box, + pub symbology: models::Symbology, #[serde(rename = "visibility")] - pub visibility: Box, + pub visibility: models::LayerVisibility, #[serde(rename = "workflow")] pub workflow: uuid::Uuid, } @@ -27,8 +27,8 @@ 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), + symbology, + visibility, workflow, } } diff --git a/rust/src/models/provenance_entry.rs b/rust/src/models/provenance_entry.rs index 1a6b6637..9e6bf475 100644 --- a/rust/src/models/provenance_entry.rs +++ b/rust/src/models/provenance_entry.rs @@ -16,14 +16,14 @@ pub struct ProvenanceEntry { #[serde(rename = "data")] pub data: Vec, #[serde(rename = "provenance")] - pub provenance: Box, + pub provenance: models::Provenance, } impl ProvenanceEntry { pub fn new(data: Vec, provenance: models::Provenance) -> ProvenanceEntry { ProvenanceEntry { data, - provenance: Box::new(provenance), + provenance, } } } diff --git a/rust/src/models/provenance_output.rs b/rust/src/models/provenance_output.rs index deff6eb2..c33bb9ac 100644 --- a/rust/src/models/provenance_output.rs +++ b/rust/src/models/provenance_output.rs @@ -14,7 +14,7 @@ use serde::{Deserialize, Serialize}; #[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] pub struct ProvenanceOutput { #[serde(rename = "data")] - pub data: Box, + pub data: models::DataId, #[serde(rename = "provenance", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")] pub provenance: Option>>, } @@ -22,7 +22,7 @@ pub struct ProvenanceOutput { impl ProvenanceOutput { pub fn new(data: models::DataId) -> ProvenanceOutput { ProvenanceOutput { - data: Box::new(data), + data, provenance: None, } } diff --git a/rust/src/models/provider_capabilities.rs b/rust/src/models/provider_capabilities.rs index f6e46656..63b6e103 100644 --- a/rust/src/models/provider_capabilities.rs +++ b/rust/src/models/provider_capabilities.rs @@ -16,14 +16,14 @@ pub struct ProviderCapabilities { #[serde(rename = "listing")] pub listing: bool, #[serde(rename = "search")] - pub search: Box, + pub search: models::SearchCapabilities, } impl ProviderCapabilities { pub fn new(listing: bool, search: models::SearchCapabilities) -> ProviderCapabilities { ProviderCapabilities { listing, - search: Box::new(search), + search, } } } diff --git a/rust/src/models/raster_band_descriptor.rs b/rust/src/models/raster_band_descriptor.rs index 699a4ffb..c2080772 100644 --- a/rust/src/models/raster_band_descriptor.rs +++ b/rust/src/models/raster_band_descriptor.rs @@ -14,7 +14,7 @@ use serde::{Deserialize, Serialize}; #[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] pub struct RasterBandDescriptor { #[serde(rename = "measurement")] - pub measurement: Box, + pub measurement: models::Measurement, #[serde(rename = "name")] pub name: String, } @@ -22,7 +22,7 @@ pub struct RasterBandDescriptor { impl RasterBandDescriptor { pub fn new(measurement: models::Measurement, name: String) -> RasterBandDescriptor { RasterBandDescriptor { - measurement: Box::new(measurement), + measurement, name, } } diff --git a/rust/src/models/raster_colorizer.rs b/rust/src/models/raster_colorizer.rs index cf4839a8..336663f8 100644 --- a/rust/src/models/raster_colorizer.rs +++ b/rust/src/models/raster_colorizer.rs @@ -15,9 +15,9 @@ use serde::{Deserialize, Serialize}; #[serde(tag = "type")] pub enum RasterColorizer { #[serde(rename="singleBand")] - SingleBand(Box), + SingleBand(models::SingleBandRasterColorizer), #[serde(rename="multiBand")] - MultiBand(Box), + MultiBand(models::MultiBandRasterColorizer), } impl Default for RasterColorizer { diff --git a/rust/src/models/raster_dataset_from_workflow.rs b/rust/src/models/raster_dataset_from_workflow.rs index dc066ddb..0860f63c 100644 --- a/rust/src/models/raster_dataset_from_workflow.rs +++ b/rust/src/models/raster_dataset_from_workflow.rs @@ -23,7 +23,7 @@ pub struct RasterDatasetFromWorkflow { #[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, + pub query: models::RasterToDatasetQueryRectangle, } impl RasterDatasetFromWorkflow { @@ -34,7 +34,7 @@ impl RasterDatasetFromWorkflow { description: None, display_name, name: None, - query: Box::new(query), + query, } } } diff --git a/rust/src/models/raster_operator.rs b/rust/src/models/raster_operator.rs index 53caf36b..4e6c49b6 100644 --- a/rust/src/models/raster_operator.rs +++ b/rust/src/models/raster_operator.rs @@ -16,9 +16,9 @@ use serde::{Deserialize, Serialize}; #[serde(tag = "type")] pub enum RasterOperator { #[serde(rename="Expression")] - Expression(Box), + Expression(models::Expression), #[serde(rename="GdalSource")] - GdalSource(Box), + GdalSource(models::GdalSource), } impl Default for RasterOperator { diff --git a/rust/src/models/raster_result_descriptor.rs b/rust/src/models/raster_result_descriptor.rs index d9423ab4..16214a46 100644 --- a/rust/src/models/raster_result_descriptor.rs +++ b/rust/src/models/raster_result_descriptor.rs @@ -19,11 +19,11 @@ pub struct RasterResultDescriptor { #[serde(rename = "dataType")] pub data_type: models::RasterDataType, #[serde(rename = "spatialGrid")] - pub spatial_grid: Box, + pub spatial_grid: models::SpatialGridDescriptor, #[serde(rename = "spatialReference")] pub spatial_reference: String, #[serde(rename = "time")] - pub time: Box, + pub time: models::TimeDescriptor, } impl RasterResultDescriptor { @@ -32,9 +32,9 @@ impl RasterResultDescriptor { RasterResultDescriptor { bands, data_type, - spatial_grid: Box::new(spatial_grid), + spatial_grid, spatial_reference, - time: Box::new(time), + time, } } } diff --git a/rust/src/models/raster_symbology.rs b/rust/src/models/raster_symbology.rs index 215bef4d..024f91e8 100644 --- a/rust/src/models/raster_symbology.rs +++ b/rust/src/models/raster_symbology.rs @@ -16,7 +16,7 @@ pub struct RasterSymbology { #[serde(rename = "opacity")] pub opacity: f64, #[serde(rename = "rasterColorizer")] - pub raster_colorizer: Box, + pub raster_colorizer: models::RasterColorizer, #[serde(rename = "type")] pub r#type: Type, } @@ -25,7 +25,7 @@ impl RasterSymbology { pub fn new(opacity: f64, raster_colorizer: models::RasterColorizer, r#type: Type) -> RasterSymbology { RasterSymbology { opacity, - raster_colorizer: Box::new(raster_colorizer), + raster_colorizer, r#type, } } diff --git a/rust/src/models/raster_to_dataset_query_rectangle.rs b/rust/src/models/raster_to_dataset_query_rectangle.rs index 259a9711..dd1f9cbb 100644 --- a/rust/src/models/raster_to_dataset_query_rectangle.rs +++ b/rust/src/models/raster_to_dataset_query_rectangle.rs @@ -15,17 +15,17 @@ use serde::{Deserialize, Serialize}; #[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] pub struct RasterToDatasetQueryRectangle { #[serde(rename = "spatialBounds")] - pub spatial_bounds: Box, + pub spatial_bounds: models::SpatialPartition2D, #[serde(rename = "timeInterval")] - pub time_interval: Box, + pub time_interval: models::TimeInterval, } 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), + spatial_bounds, + time_interval, } } } diff --git a/rust/src/models/raster_vector_join.rs b/rust/src/models/raster_vector_join.rs index 51419f13..0ec29ed5 100644 --- a/rust/src/models/raster_vector_join.rs +++ b/rust/src/models/raster_vector_join.rs @@ -15,9 +15,9 @@ use serde::{Deserialize, Serialize}; #[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] pub struct RasterVectorJoin { #[serde(rename = "params")] - pub params: Box, + pub params: models::RasterVectorJoinParameters, #[serde(rename = "sources")] - pub sources: Box, + pub sources: models::SingleVectorMultipleRasterSources, #[serde(rename = "type")] pub r#type: Type, } @@ -26,8 +26,8 @@ impl RasterVectorJoin { /// # 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. ## Example JSON ```json { \"type\": \"RasterVectorJoin\", \"params\": { \"names\": [\"NDVI\"], \"featureAggregation\": \"first\", \"temporalAggregation\": \"mean\", \"temporalAggregationIgnoreNoData\": true }, \"sources\": { \"vector\": { \"type\": \"OgrSource\", \"params\": { \"data\": \"places\" } }, \"rasters\": [ { \"type\": \"GdalSource\", \"params\": { \"data\": \"ndvi\" } } ] } } ``` pub fn new(params: models::RasterVectorJoinParameters, sources: models::SingleVectorMultipleRasterSources, r#type: Type) -> RasterVectorJoin { RasterVectorJoin { - params: Box::new(params), - sources: Box::new(sources), + params, + sources, r#type, } } diff --git a/rust/src/models/raster_vector_join_parameters.rs b/rust/src/models/raster_vector_join_parameters.rs index 03e0f986..59036336 100644 --- a/rust/src/models/raster_vector_join_parameters.rs +++ b/rust/src/models/raster_vector_join_parameters.rs @@ -21,7 +21,7 @@ pub struct RasterVectorJoinParameters { 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. | Value | Description | | ---------------------------------------- | ---------------------------------------------------------------------------- | | `{\"type\": \"default\"}` | Appends \" (n)\" to the band name with the smallest `n` that avoids a conflict | | `{\"type\": \"suffix\", \"values\": [string]}` | Specifies a suffix for each input, to be appended to the band names | | `{\"type\": \"rename\", \"values\": [string]}` | A list of names for each new column | #[serde(rename = "names")] - pub names: Box, + pub names: models::ColumnNames, /// The aggregation function to use for features covering multiple (raster) time steps. #[serde(rename = "temporalAggregation")] pub temporal_aggregation: models::TemporalAggregationMethod, @@ -35,7 +35,7 @@ impl RasterVectorJoinParameters { RasterVectorJoinParameters { feature_aggregation, feature_aggregation_ignore_no_data: None, - names: Box::new(names), + 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 index 973478c5..f4cc8bca 100644 --- a/rust/src/models/regular_time_dimension.rs +++ b/rust/src/models/regular_time_dimension.rs @@ -16,14 +16,14 @@ pub struct RegularTimeDimension { #[serde(rename = "origin")] pub origin: i64, #[serde(rename = "step")] - pub step: Box, + pub step: models::TimeStep, } impl RegularTimeDimension { pub fn new(origin: i64, step: models::TimeStep) -> RegularTimeDimension { RegularTimeDimension { origin, - step: Box::new(step), + step, } } } diff --git a/rust/src/models/resource.rs b/rust/src/models/resource.rs index bf13fb82..cf746946 100644 --- a/rust/src/models/resource.rs +++ b/rust/src/models/resource.rs @@ -16,17 +16,17 @@ use serde::{Deserialize, Serialize}; #[serde(tag = "type")] pub enum Resource { #[serde(rename="layer")] - Layer(Box), + Layer(models::LayerResource), #[serde(rename="layerCollection")] - LayerCollection(Box), + LayerCollection(models::LayerCollectionResource), #[serde(rename="project")] - Project(Box), + Project(models::ProjectResource), #[serde(rename="dataset")] - Dataset(Box), + Dataset(models::DatasetResource), #[serde(rename="mlModel")] - MlModel(Box), + MlModel(models::MlModelResource), #[serde(rename="provider")] - Provider(Box), + Provider(models::DataProviderResource), } impl Default for Resource { diff --git a/rust/src/models/role_description.rs b/rust/src/models/role_description.rs index e0f5b063..458f6159 100644 --- a/rust/src/models/role_description.rs +++ b/rust/src/models/role_description.rs @@ -16,14 +16,14 @@ pub struct RoleDescription { #[serde(rename = "individual")] pub individual: bool, #[serde(rename = "role")] - pub role: Box, + pub role: models::Role, } impl RoleDescription { pub fn new(individual: bool, role: models::Role) -> RoleDescription { RoleDescription { individual, - role: Box::new(role), + role, } } } diff --git a/rust/src/models/search_capabilities.rs b/rust/src/models/search_capabilities.rs index 88f86535..a5708103 100644 --- a/rust/src/models/search_capabilities.rs +++ b/rust/src/models/search_capabilities.rs @@ -18,7 +18,7 @@ pub struct SearchCapabilities { #[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, + pub search_types: models::SearchTypes, } impl SearchCapabilities { @@ -26,7 +26,7 @@ impl SearchCapabilities { SearchCapabilities { autocomplete, filters: None, - search_types: Box::new(search_types), + search_types, } } } 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 index 85a1a8ee..1236a79f 100644 --- a/rust/src/models/sentinel_s2_l2_a_cogs_provider_definition.rs +++ b/rust/src/models/sentinel_s2_l2_a_cogs_provider_definition.rs @@ -28,9 +28,9 @@ pub struct SentinelS2L2ACogsProviderDefinition { #[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>, + pub query_buffer: Option, #[serde(rename = "stacApiRetries", skip_serializing_if = "Option::is_none")] - pub stac_api_retries: Option>, + pub stac_api_retries: Option, #[serde(rename = "type")] pub r#type: Type, } diff --git a/rust/src/models/single_band_raster_colorizer.rs b/rust/src/models/single_band_raster_colorizer.rs index 27278e76..61ad4810 100644 --- a/rust/src/models/single_band_raster_colorizer.rs +++ b/rust/src/models/single_band_raster_colorizer.rs @@ -16,7 +16,7 @@ pub struct SingleBandRasterColorizer { #[serde(rename = "band")] pub band: i32, #[serde(rename = "bandColorizer")] - pub band_colorizer: Box, + pub band_colorizer: models::Colorizer, #[serde(rename = "type")] pub r#type: Type, } @@ -25,7 +25,7 @@ impl SingleBandRasterColorizer { pub fn new(band: i32, band_colorizer: models::Colorizer, r#type: Type) -> SingleBandRasterColorizer { SingleBandRasterColorizer { band, - band_colorizer: Box::new(band_colorizer), + band_colorizer, r#type, } } diff --git a/rust/src/models/single_raster_source.rs b/rust/src/models/single_raster_source.rs index 3d23f2df..d3f64fa5 100644 --- a/rust/src/models/single_raster_source.rs +++ b/rust/src/models/single_raster_source.rs @@ -14,13 +14,13 @@ use serde::{Deserialize, Serialize}; #[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] pub struct SingleRasterSource { #[serde(rename = "raster")] - pub raster: Box, + pub raster: models::RasterOperator, } impl SingleRasterSource { pub fn new(raster: models::RasterOperator) -> SingleRasterSource { SingleRasterSource { - raster: Box::new(raster), + raster, } } } diff --git a/rust/src/models/single_vector_multiple_raster_sources.rs b/rust/src/models/single_vector_multiple_raster_sources.rs index e5cd72f9..4252cd29 100644 --- a/rust/src/models/single_vector_multiple_raster_sources.rs +++ b/rust/src/models/single_vector_multiple_raster_sources.rs @@ -16,14 +16,14 @@ pub struct SingleVectorMultipleRasterSources { #[serde(rename = "rasters")] pub rasters: Vec, #[serde(rename = "vector")] - pub vector: Box, + pub vector: models::VectorOperator, } impl SingleVectorMultipleRasterSources { pub fn new(rasters: Vec, vector: models::VectorOperator) -> SingleVectorMultipleRasterSources { SingleVectorMultipleRasterSources { rasters, - vector: Box::new(vector), + vector, } } } diff --git a/rust/src/models/spatial_bounds_derive.rs b/rust/src/models/spatial_bounds_derive.rs index 10f9f192..76656a9c 100644 --- a/rust/src/models/spatial_bounds_derive.rs +++ b/rust/src/models/spatial_bounds_derive.rs @@ -16,11 +16,11 @@ use serde::{Deserialize, Serialize}; #[serde(tag = "type")] pub enum SpatialBoundsDerive { #[serde(rename="derive")] - Derive(Box), + Derive(models::SpatialBoundsDeriveDerive), #[serde(rename="bounds")] - Bounds(Box), + Bounds(models::SpatialBoundsDeriveBounds), #[serde(rename="none")] - None(Box), + None(models::SpatialBoundsDeriveNone), } impl Default for SpatialBoundsDerive { diff --git a/rust/src/models/spatial_bounds_derive_bounds.rs b/rust/src/models/spatial_bounds_derive_bounds.rs index 9c169d99..9f87fe98 100644 --- a/rust/src/models/spatial_bounds_derive_bounds.rs +++ b/rust/src/models/spatial_bounds_derive_bounds.rs @@ -14,9 +14,9 @@ use serde::{Deserialize, Serialize}; #[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] pub struct SpatialBoundsDeriveBounds { #[serde(rename = "lowerLeftCoordinate")] - pub lower_left_coordinate: Box, + pub lower_left_coordinate: models::Coordinate2D, #[serde(rename = "upperRightCoordinate")] - pub upper_right_coordinate: Box, + pub upper_right_coordinate: models::Coordinate2D, #[serde(rename = "type")] pub r#type: Type, } @@ -24,8 +24,8 @@ pub struct SpatialBoundsDeriveBounds { 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), + lower_left_coordinate, + upper_right_coordinate, r#type, } } diff --git a/rust/src/models/spatial_grid_definition.rs b/rust/src/models/spatial_grid_definition.rs index f02ddf90..43c7e29f 100644 --- a/rust/src/models/spatial_grid_definition.rs +++ b/rust/src/models/spatial_grid_definition.rs @@ -14,16 +14,16 @@ use serde::{Deserialize, Serialize}; #[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] pub struct SpatialGridDefinition { #[serde(rename = "geoTransform")] - pub geo_transform: Box, + pub geo_transform: models::GeoTransform, #[serde(rename = "gridBounds")] - pub grid_bounds: Box, + pub grid_bounds: models::GridBoundingBox2D, } 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), + geo_transform, + grid_bounds, } } } diff --git a/rust/src/models/spatial_grid_descriptor.rs b/rust/src/models/spatial_grid_descriptor.rs index ff777b67..94cec766 100644 --- a/rust/src/models/spatial_grid_descriptor.rs +++ b/rust/src/models/spatial_grid_descriptor.rs @@ -16,14 +16,14 @@ pub struct SpatialGridDescriptor { #[serde(rename = "descriptor")] pub descriptor: models::SpatialGridDescriptorState, #[serde(rename = "spatialGrid")] - pub spatial_grid: Box, + pub spatial_grid: models::SpatialGridDefinition, } impl SpatialGridDescriptor { pub fn new(descriptor: models::SpatialGridDescriptorState, spatial_grid: models::SpatialGridDefinition) -> SpatialGridDescriptor { SpatialGridDescriptor { descriptor, - spatial_grid: Box::new(spatial_grid), + spatial_grid, } } } diff --git a/rust/src/models/spatial_partition2_d.rs b/rust/src/models/spatial_partition2_d.rs index 74a4331d..572d5309 100644 --- a/rust/src/models/spatial_partition2_d.rs +++ b/rust/src/models/spatial_partition2_d.rs @@ -15,17 +15,17 @@ use serde::{Deserialize, Serialize}; #[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] pub struct SpatialPartition2D { #[serde(rename = "lowerRightCoordinate")] - pub lower_right_coordinate: Box, + pub lower_right_coordinate: models::Coordinate2D, #[serde(rename = "upperLeftCoordinate")] - pub upper_left_coordinate: Box, + pub upper_left_coordinate: models::Coordinate2D, } 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), + lower_right_coordinate, + upper_left_coordinate, } } } diff --git a/rust/src/models/spatial_reference_specification.rs b/rust/src/models/spatial_reference_specification.rs index 6f4df8c6..fbd24c50 100644 --- a/rust/src/models/spatial_reference_specification.rs +++ b/rust/src/models/spatial_reference_specification.rs @@ -19,7 +19,7 @@ pub struct SpatialReferenceSpecification { #[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, + pub extent: models::BoundingBox2D, #[serde(rename = "name")] pub name: String, #[serde(rename = "projString")] @@ -34,7 +34,7 @@ impl SpatialReferenceSpecification { SpatialReferenceSpecification { axis_labels: None, axis_order: None, - extent: Box::new(extent), + extent, name, proj_string, spatial_reference, diff --git a/rust/src/models/st_rectangle.rs b/rust/src/models/st_rectangle.rs index 45045a90..7704cf83 100644 --- a/rust/src/models/st_rectangle.rs +++ b/rust/src/models/st_rectangle.rs @@ -14,19 +14,19 @@ use serde::{Deserialize, Serialize}; #[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] pub struct StRectangle { #[serde(rename = "boundingBox")] - pub bounding_box: Box, + pub bounding_box: models::BoundingBox2D, #[serde(rename = "spatialReference")] pub spatial_reference: String, #[serde(rename = "timeInterval")] - pub time_interval: Box, + pub time_interval: models::TimeInterval, } impl StRectangle { pub fn new(bounding_box: models::BoundingBox2D, spatial_reference: String, time_interval: models::TimeInterval) -> StRectangle { StRectangle { - bounding_box: Box::new(bounding_box), + bounding_box, spatial_reference, - time_interval: Box::new(time_interval), + time_interval, } } } diff --git a/rust/src/models/stroke_param.rs b/rust/src/models/stroke_param.rs index 6f9cbadd..db07d3fc 100644 --- a/rust/src/models/stroke_param.rs +++ b/rust/src/models/stroke_param.rs @@ -14,16 +14,16 @@ use serde::{Deserialize, Serialize}; #[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] pub struct StrokeParam { #[serde(rename = "color")] - pub color: Box, + pub color: models::ColorParam, #[serde(rename = "width")] - pub width: Box, + pub width: models::NumberParam, } impl StrokeParam { pub fn new(color: models::ColorParam, width: models::NumberParam) -> StrokeParam { StrokeParam { - color: Box::new(color), - width: Box::new(width), + color, + width, } } } diff --git a/rust/src/models/suggest_meta_data.rs b/rust/src/models/suggest_meta_data.rs index 2dc3ecb2..404710fe 100644 --- a/rust/src/models/suggest_meta_data.rs +++ b/rust/src/models/suggest_meta_data.rs @@ -14,7 +14,7 @@ use serde::{Deserialize, Serialize}; #[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] pub struct SuggestMetaData { #[serde(rename = "dataPath")] - pub data_path: Box, + pub data_path: models::DataPath, #[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")] @@ -24,7 +24,7 @@ pub struct SuggestMetaData { impl SuggestMetaData { pub fn new(data_path: models::DataPath) -> SuggestMetaData { SuggestMetaData { - data_path: Box::new(data_path), + data_path, layer_name: None, main_file: None, } diff --git a/rust/src/models/symbology.rs b/rust/src/models/symbology.rs index 9ed3be3f..7a22d0e8 100644 --- a/rust/src/models/symbology.rs +++ b/rust/src/models/symbology.rs @@ -15,13 +15,13 @@ use serde::{Deserialize, Serialize}; #[serde(tag = "type")] pub enum Symbology { #[serde(rename="raster")] - Raster(Box), + Raster(models::RasterSymbology), #[serde(rename="point")] - Point(Box), + Point(models::PointSymbology), #[serde(rename="line")] - Line(Box), + Line(models::LineSymbology), #[serde(rename="polygon")] - Polygon(Box), + Polygon(models::PolygonSymbology), } impl Default for Symbology { diff --git a/rust/src/models/task_status.rs b/rust/src/models/task_status.rs index 732572dc..de6acba7 100644 --- a/rust/src/models/task_status.rs +++ b/rust/src/models/task_status.rs @@ -15,13 +15,13 @@ use serde::{Deserialize, Serialize}; #[serde(tag = "status")] pub enum TaskStatus { #[serde(rename="TaskStatusRunning")] - TaskStatusRunning(Box), + TaskStatusRunning(models::TaskStatusRunning), #[serde(rename="TaskStatusCompleted")] - TaskStatusCompleted(Box), + TaskStatusCompleted(models::TaskStatusCompleted), #[serde(rename="TaskStatusAborted")] - TaskStatusAborted(Box), + TaskStatusAborted(models::TaskStatusAborted), #[serde(rename="TaskStatusFailed")] - TaskStatusFailed(Box), + TaskStatusFailed(models::TaskStatusFailed), } impl Default for TaskStatus { diff --git a/rust/src/models/text_symbology.rs b/rust/src/models/text_symbology.rs index bab27bf4..35f53734 100644 --- a/rust/src/models/text_symbology.rs +++ b/rust/src/models/text_symbology.rs @@ -16,17 +16,17 @@ pub struct TextSymbology { #[serde(rename = "attribute")] pub attribute: String, #[serde(rename = "fillColor")] - pub fill_color: Box, + pub fill_color: models::ColorParam, #[serde(rename = "stroke")] - pub stroke: Box, + pub stroke: models::StrokeParam, } 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), + fill_color, + stroke, } } } diff --git a/rust/src/models/time_descriptor.rs b/rust/src/models/time_descriptor.rs index 3e7591c7..3e0bf97a 100644 --- a/rust/src/models/time_descriptor.rs +++ b/rust/src/models/time_descriptor.rs @@ -14,16 +14,16 @@ 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>>, + pub bounds: Option>, #[serde(rename = "dimension")] - pub dimension: Box, + pub dimension: models::TimeDimension, } impl TimeDescriptor { pub fn new(dimension: models::TimeDimension) -> TimeDescriptor { TimeDescriptor { bounds: None, - dimension: Box::new(dimension), + dimension, } } } diff --git a/rust/src/models/time_dimension.rs b/rust/src/models/time_dimension.rs index cc543a79..56f52be6 100644 --- a/rust/src/models/time_dimension.rs +++ b/rust/src/models/time_dimension.rs @@ -14,8 +14,8 @@ use serde::{Deserialize, Serialize}; #[derive(Clone, Debug, PartialEq, Serialize, Deserialize)] #[serde(untagged)] pub enum TimeDimension { - TimeDimensionOneOf(Box), - TimeDimensionOneOf1(Box), + TimeDimensionOneOf(models::TimeDimensionOneOf), + TimeDimensionOneOf1(models::TimeDimensionOneOf1), } impl Default for TimeDimension { diff --git a/rust/src/models/time_dimension_one_of.rs b/rust/src/models/time_dimension_one_of.rs index a94131b2..bd298142 100644 --- a/rust/src/models/time_dimension_one_of.rs +++ b/rust/src/models/time_dimension_one_of.rs @@ -16,7 +16,7 @@ pub struct TimeDimensionOneOf { #[serde(rename = "origin")] pub origin: i64, #[serde(rename = "step")] - pub step: Box, + pub step: models::TimeStep, #[serde(rename = "type")] pub r#type: Type, } @@ -25,7 +25,7 @@ impl TimeDimensionOneOf { pub fn new(origin: i64, step: models::TimeStep, r#type: Type) -> TimeDimensionOneOf { TimeDimensionOneOf { origin, - step: Box::new(step), + step, r#type, } } diff --git a/rust/src/models/typed_data_provider_definition.rs b/rust/src/models/typed_data_provider_definition.rs index 9b47fa8e..3f5240fe 100644 --- a/rust/src/models/typed_data_provider_definition.rs +++ b/rust/src/models/typed_data_provider_definition.rs @@ -15,29 +15,29 @@ use serde::{Deserialize, Serialize}; #[serde(tag = "type")] pub enum TypedDataProviderDefinition { #[serde(rename="Aruna")] - Aruna(Box), + Aruna(models::ArunaDataProviderDefinition), #[serde(rename="CopernicusDataspace")] - CopernicusDataspace(Box), + CopernicusDataspace(models::CopernicusDataspaceDataProviderDefinition), #[serde(rename="DatasetLayerListing")] - DatasetLayerListing(Box), + DatasetLayerListing(models::DatasetLayerListingProviderDefinition), #[serde(rename="EbvPortal")] - EbvPortal(Box), + EbvPortal(models::EbvPortalDataProviderDefinition), #[serde(rename="Edr")] - Edr(Box), + Edr(models::EdrDataProviderDefinition), #[serde(rename="Gbif")] - Gbif(Box), + Gbif(models::GbifDataProviderDefinition), #[serde(rename="GfbioAbcd")] - GfbioAbcd(Box), + GfbioAbcd(models::GfbioAbcdDataProviderDefinition), #[serde(rename="GfbioCollections")] - GfbioCollections(Box), + GfbioCollections(models::GfbioCollectionsDataProviderDefinition), #[serde(rename="NetCdfCf")] - NetCdfCf(Box), + NetCdfCf(models::NetCdfCfDataProviderDefinition), #[serde(rename="Pangaea")] - Pangaea(Box), + Pangaea(models::PangaeaDataProviderDefinition), #[serde(rename="SentinelS2L2ACogs")] - SentinelS2L2ACogs(Box), + SentinelS2L2ACogs(models::SentinelS2L2ACogsProviderDefinition), #[serde(rename="WildLIVE!")] - WildLiveExclamation(Box), + WildLiveExclamation(models::WildliveDataConnectorDefinition), } impl Default for TypedDataProviderDefinition { diff --git a/rust/src/models/typed_geometry.rs b/rust/src/models/typed_geometry.rs index 8618607c..117b534c 100644 --- a/rust/src/models/typed_geometry.rs +++ b/rust/src/models/typed_geometry.rs @@ -14,10 +14,10 @@ use serde::{Deserialize, Serialize}; #[derive(Clone, Debug, PartialEq, Serialize, Deserialize)] #[serde(untagged)] pub enum TypedGeometry { - TypedGeometryOneOf(Box), - TypedGeometryOneOf1(Box), - TypedGeometryOneOf2(Box), - TypedGeometryOneOf3(Box), + TypedGeometryOneOf(models::TypedGeometryOneOf), + TypedGeometryOneOf1(models::TypedGeometryOneOf1), + TypedGeometryOneOf2(models::TypedGeometryOneOf2), + TypedGeometryOneOf3(models::TypedGeometryOneOf3), } impl Default for TypedGeometry { diff --git a/rust/src/models/typed_geometry_one_of_1.rs b/rust/src/models/typed_geometry_one_of_1.rs index 2a4b9ab0..8e0055c8 100644 --- a/rust/src/models/typed_geometry_one_of_1.rs +++ b/rust/src/models/typed_geometry_one_of_1.rs @@ -14,13 +14,13 @@ use serde::{Deserialize, Serialize}; #[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] pub struct TypedGeometryOneOf1 { #[serde(rename = "MultiPoint")] - pub multi_point: Box, + pub multi_point: models::MultiPoint, } impl TypedGeometryOneOf1 { pub fn new(multi_point: models::MultiPoint) -> TypedGeometryOneOf1 { TypedGeometryOneOf1 { - multi_point: Box::new(multi_point), + multi_point, } } } diff --git a/rust/src/models/typed_geometry_one_of_2.rs b/rust/src/models/typed_geometry_one_of_2.rs index 5442dbde..07f7da10 100644 --- a/rust/src/models/typed_geometry_one_of_2.rs +++ b/rust/src/models/typed_geometry_one_of_2.rs @@ -14,13 +14,13 @@ use serde::{Deserialize, Serialize}; #[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] pub struct TypedGeometryOneOf2 { #[serde(rename = "MultiLineString")] - pub multi_line_string: Box, + pub multi_line_string: models::MultiLineString, } impl TypedGeometryOneOf2 { pub fn new(multi_line_string: models::MultiLineString) -> TypedGeometryOneOf2 { TypedGeometryOneOf2 { - multi_line_string: Box::new(multi_line_string), + 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 index 2c75585c..c2047633 100644 --- a/rust/src/models/typed_geometry_one_of_3.rs +++ b/rust/src/models/typed_geometry_one_of_3.rs @@ -14,13 +14,13 @@ use serde::{Deserialize, Serialize}; #[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] pub struct TypedGeometryOneOf3 { #[serde(rename = "MultiPolygon")] - pub multi_polygon: Box, + pub multi_polygon: models::MultiPolygon, } impl TypedGeometryOneOf3 { pub fn new(multi_polygon: models::MultiPolygon) -> TypedGeometryOneOf3 { TypedGeometryOneOf3 { - multi_polygon: Box::new(multi_polygon), + multi_polygon, } } } diff --git a/rust/src/models/typed_operator.rs b/rust/src/models/typed_operator.rs index c4247e69..8bb88815 100644 --- a/rust/src/models/typed_operator.rs +++ b/rust/src/models/typed_operator.rs @@ -15,7 +15,7 @@ use serde::{Deserialize, Serialize}; #[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] pub struct TypedOperator { #[serde(rename = "operator")] - pub operator: Box, + pub operator: models::TypedOperatorOperator, #[serde(rename = "type")] pub r#type: Type, } @@ -24,7 +24,7 @@ impl TypedOperator { /// An enum to differentiate between `Operator` variants pub fn new(operator: models::TypedOperatorOperator, r#type: Type) -> TypedOperator { TypedOperator { - operator: Box::new(operator), + operator, r#type, } } diff --git a/rust/src/models/typed_plot_result_descriptor.rs b/rust/src/models/typed_plot_result_descriptor.rs index 2d793fcc..8efe0286 100644 --- a/rust/src/models/typed_plot_result_descriptor.rs +++ b/rust/src/models/typed_plot_result_descriptor.rs @@ -14,11 +14,11 @@ 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>, + pub bbox: Option, #[serde(rename = "spatialReference")] pub spatial_reference: String, #[serde(rename = "time", skip_serializing_if = "Option::is_none")] - pub time: Option>, + pub time: Option, #[serde(rename = "type")] pub r#type: Type, } diff --git a/rust/src/models/typed_raster_result_descriptor.rs b/rust/src/models/typed_raster_result_descriptor.rs index 84a8b8bb..f6c9cf62 100644 --- a/rust/src/models/typed_raster_result_descriptor.rs +++ b/rust/src/models/typed_raster_result_descriptor.rs @@ -18,11 +18,11 @@ pub struct TypedRasterResultDescriptor { #[serde(rename = "dataType")] pub data_type: models::RasterDataType, #[serde(rename = "spatialGrid")] - pub spatial_grid: Box, + pub spatial_grid: models::SpatialGridDescriptor, #[serde(rename = "spatialReference")] pub spatial_reference: String, #[serde(rename = "time")] - pub time: Box, + pub time: models::TimeDescriptor, #[serde(rename = "type")] pub r#type: Type, } @@ -32,9 +32,9 @@ impl TypedRasterResultDescriptor { TypedRasterResultDescriptor { bands, data_type, - spatial_grid: Box::new(spatial_grid), + spatial_grid, spatial_reference, - time: Box::new(time), + time, r#type, } } diff --git a/rust/src/models/typed_result_descriptor.rs b/rust/src/models/typed_result_descriptor.rs index b12b53d1..329187b9 100644 --- a/rust/src/models/typed_result_descriptor.rs +++ b/rust/src/models/typed_result_descriptor.rs @@ -15,11 +15,11 @@ use serde::{Deserialize, Serialize}; #[serde(tag = "type")] pub enum TypedResultDescriptor { #[serde(rename="plot")] - Plot(Box), + Plot(models::TypedPlotResultDescriptor), #[serde(rename="raster")] - Raster(Box), + Raster(models::TypedRasterResultDescriptor), #[serde(rename="vector")] - Vector(Box), + Vector(models::TypedVectorResultDescriptor), } impl Default for TypedResultDescriptor { diff --git a/rust/src/models/typed_vector_result_descriptor.rs b/rust/src/models/typed_vector_result_descriptor.rs index ae470eb3..6bf66ff8 100644 --- a/rust/src/models/typed_vector_result_descriptor.rs +++ b/rust/src/models/typed_vector_result_descriptor.rs @@ -14,7 +14,7 @@ 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>, + pub bbox: Option, #[serde(rename = "columns")] pub columns: std::collections::HashMap, #[serde(rename = "dataType")] @@ -22,7 +22,7 @@ pub struct TypedVectorResultDescriptor { #[serde(rename = "spatialReference")] pub spatial_reference: String, #[serde(rename = "time", skip_serializing_if = "Option::is_none")] - pub time: Option>, + pub time: Option, #[serde(rename = "type")] pub r#type: Type, } diff --git a/rust/src/models/update_layer.rs b/rust/src/models/update_layer.rs index 0c6251d5..8514ab73 100644 --- a/rust/src/models/update_layer.rs +++ b/rust/src/models/update_layer.rs @@ -24,9 +24,9 @@ pub struct UpdateLayer { #[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>>, + pub symbology: Option>, #[serde(rename = "workflow")] - pub workflow: Box, + pub workflow: models::Workflow, } impl UpdateLayer { @@ -37,7 +37,7 @@ impl UpdateLayer { name, properties: None, symbology: None, - workflow: Box::new(workflow), + workflow, } } } diff --git a/rust/src/models/update_project.rs b/rust/src/models/update_project.rs index 3f907a6f..eff2bd1b 100644 --- a/rust/src/models/update_project.rs +++ b/rust/src/models/update_project.rs @@ -14,7 +14,7 @@ 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>>, + 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")] @@ -26,7 +26,7 @@ pub struct UpdateProject { #[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>>, + pub time_step: Option>, } impl UpdateProject { diff --git a/rust/src/models/user_session.rs b/rust/src/models/user_session.rs index 8d4d1b20..97021c6c 100644 --- a/rust/src/models/user_session.rs +++ b/rust/src/models/user_session.rs @@ -22,11 +22,11 @@ pub struct UserSession { #[serde(rename = "roles")] pub roles: Vec, #[serde(rename = "user")] - pub user: Box, + pub user: models::UserInfo, #[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>>, + pub view: Option>, } impl UserSession { @@ -36,7 +36,7 @@ impl UserSession { id, project: None, roles, - user: Box::new(user), + user, valid_until, view: None, } diff --git a/rust/src/models/vec_update.rs b/rust/src/models/vec_update.rs index 65681cea..156a3493 100644 --- a/rust/src/models/vec_update.rs +++ b/rust/src/models/vec_update.rs @@ -15,7 +15,7 @@ use serde::{Deserialize, Serialize}; #[serde(untagged)] pub enum VecUpdate { ProjectUpdateToken(models::ProjectUpdateToken), - Plot(Box), + Plot(models::Plot), } impl Default for VecUpdate { diff --git a/rust/src/models/vector_column_info.rs b/rust/src/models/vector_column_info.rs index b4976185..9c8e7e03 100644 --- a/rust/src/models/vector_column_info.rs +++ b/rust/src/models/vector_column_info.rs @@ -16,14 +16,14 @@ pub struct VectorColumnInfo { #[serde(rename = "dataType")] pub data_type: models::FeatureDataType, #[serde(rename = "measurement")] - pub measurement: Box, + pub measurement: models::Measurement, } impl VectorColumnInfo { pub fn new(data_type: models::FeatureDataType, measurement: models::Measurement) -> VectorColumnInfo { VectorColumnInfo { data_type, - measurement: Box::new(measurement), + measurement, } } } diff --git a/rust/src/models/vector_operator.rs b/rust/src/models/vector_operator.rs index a070d4fd..82ed2ed4 100644 --- a/rust/src/models/vector_operator.rs +++ b/rust/src/models/vector_operator.rs @@ -16,9 +16,9 @@ use serde::{Deserialize, Serialize}; #[serde(tag = "type")] pub enum VectorOperator { #[serde(rename="MockPointSource")] - MockPointSource(Box), + MockPointSource(models::MockPointSource), #[serde(rename="RasterVectorJoin")] - RasterVectorJoin(Box), + RasterVectorJoin(models::RasterVectorJoin), } impl Default for VectorOperator { diff --git a/rust/src/models/vector_result_descriptor.rs b/rust/src/models/vector_result_descriptor.rs index 8508b0b2..42f9a48e 100644 --- a/rust/src/models/vector_result_descriptor.rs +++ b/rust/src/models/vector_result_descriptor.rs @@ -14,7 +14,7 @@ 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>>, + pub bbox: Option>, #[serde(rename = "columns")] pub columns: std::collections::HashMap, #[serde(rename = "dataType")] @@ -22,7 +22,7 @@ pub struct VectorResultDescriptor { #[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>>, + pub time: Option>, } impl VectorResultDescriptor { diff --git a/rust/src/models/workflow.rs b/rust/src/models/workflow.rs index a53ebd15..2c9b3222 100644 --- a/rust/src/models/workflow.rs +++ b/rust/src/models/workflow.rs @@ -14,7 +14,7 @@ use serde::{Deserialize, Serialize}; #[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] pub struct Workflow { #[serde(rename = "operator")] - pub operator: Box, + pub operator: models::TypedOperatorOperator, #[serde(rename = "type")] pub r#type: Type, } @@ -22,7 +22,7 @@ pub struct Workflow { impl Workflow { pub fn new(operator: models::TypedOperatorOperator, r#type: Type) -> Workflow { Workflow { - operator: Box::new(operator), + operator, r#type, } } From 9456bef4a3113234baeeafa08b81cf3ce5a03ea2 Mon Sep 17 00:00:00 2001 From: Christian Beilschmidt Date: Thu, 5 Feb 2026 10:39:08 +0100 Subject: [PATCH 14/19] boxes due to recursion --- .generation/generate.py | 1 - rust/src/models/add_dataset.rs | 2 +- rust/src/models/add_dataset_tile.rs | 12 +++++----- rust/src/models/add_layer.rs | 6 ++--- rust/src/models/bounding_box2_d.rs | 8 +++---- rust/src/models/collection_item.rs | 4 ++-- rust/src/models/color_param.rs | 4 ++-- rust/src/models/colorizer.rs | 6 ++--- rust/src/models/column_names.rs | 6 ++--- rust/src/models/create_dataset.rs | 8 +++---- rust/src/models/create_project.rs | 6 ++--- rust/src/models/data_id.rs | 4 ++-- rust/src/models/data_path.rs | 4 ++-- rust/src/models/dataset.rs | 8 +++---- rust/src/models/dataset_definition.rs | 8 +++---- rust/src/models/dataset_listing.rs | 6 ++--- rust/src/models/derived_color.rs | 4 ++-- .../models/edr_data_provider_definition.rs | 2 +- rust/src/models/expression.rs | 8 +++---- rust/src/models/expression_parameters.rs | 2 +- rust/src/models/format_specifics.rs | 4 ++-- .../models/gbif_data_provider_definition.rs | 4 ++-- rust/src/models/gdal_dataset_parameters.rs | 4 ++-- .../gdal_loading_info_temporal_slice.rs | 6 ++--- rust/src/models/gdal_meta_data_list.rs | 4 ++-- rust/src/models/gdal_meta_data_regular.rs | 16 ++++++------- rust/src/models/gdal_meta_data_static.rs | 10 ++++---- rust/src/models/gdal_metadata_mapping.rs | 8 +++---- rust/src/models/gdal_metadata_net_cdf_cf.rs | 12 +++++----- rust/src/models/gdal_multi_band.rs | 4 ++-- rust/src/models/gdal_source.rs | 4 ++-- rust/src/models/geo_transform.rs | 4 ++-- .../gfbio_abcd_data_provider_definition.rs | 4 ++-- ...io_collections_data_provider_definition.rs | 4 ++-- rust/src/models/grid_bounding_box2_d.rs | 8 +++---- rust/src/models/layer.rs | 10 ++++---- rust/src/models/layer_collection.rs | 4 ++-- rust/src/models/layer_collection_listing.rs | 4 ++-- rust/src/models/layer_listing.rs | 4 ++-- rust/src/models/line_symbology.rs | 6 ++--- rust/src/models/measurement.rs | 6 ++--- rust/src/models/meta_data_definition.rs | 14 +++++------ rust/src/models/meta_data_suggestion.rs | 4 ++-- rust/src/models/ml_model.rs | 4 ++-- rust/src/models/ml_model_metadata.rs | 16 ++++++------- rust/src/models/mock_meta_data.rs | 8 +++---- rust/src/models/mock_point_source.rs | 4 ++-- .../models/mock_point_source_parameters.rs | 4 ++-- rust/src/models/number_param.rs | 4 ++-- rust/src/models/ogr_meta_data.rs | 8 +++---- rust/src/models/ogr_source_column_spec.rs | 2 +- rust/src/models/ogr_source_dataset.rs | 6 ++--- .../models/ogr_source_dataset_time_type.rs | 8 +++---- .../ogr_source_dataset_time_type_start.rs | 8 +++---- ...source_dataset_time_type_start_duration.rs | 4 ++-- .../ogr_source_dataset_time_type_start_end.rs | 8 +++---- rust/src/models/ogr_source_duration_spec.rs | 6 ++--- rust/src/models/ogr_source_time_format.rs | 6 ++--- rust/src/models/permission_listing.rs | 8 +++---- rust/src/models/permission_request.rs | 4 ++-- rust/src/models/plot_result_descriptor.rs | 4 ++-- rust/src/models/point_symbology.rs | 14 +++++------ rust/src/models/polygon_symbology.rs | 10 ++++---- rust/src/models/project.rs | 12 +++++----- rust/src/models/project_layer.rs | 8 +++---- rust/src/models/provenance_entry.rs | 4 ++-- rust/src/models/provenance_output.rs | 4 ++-- rust/src/models/provider_capabilities.rs | 4 ++-- rust/src/models/raster_band_descriptor.rs | 4 ++-- rust/src/models/raster_colorizer.rs | 4 ++-- .../models/raster_dataset_from_workflow.rs | 4 ++-- rust/src/models/raster_operator.rs | 4 ++-- rust/src/models/raster_result_descriptor.rs | 8 +++---- rust/src/models/raster_symbology.rs | 4 ++-- .../raster_to_dataset_query_rectangle.rs | 8 +++---- rust/src/models/raster_vector_join.rs | 8 +++---- .../models/raster_vector_join_parameters.rs | 4 ++-- rust/src/models/regular_time_dimension.rs | 4 ++-- rust/src/models/resource.rs | 12 +++++----- rust/src/models/role_description.rs | 4 ++-- rust/src/models/search_capabilities.rs | 4 ++-- ...ntinel_s2_l2_a_cogs_provider_definition.rs | 4 ++-- .../models/single_band_raster_colorizer.rs | 4 ++-- rust/src/models/single_raster_source.rs | 4 ++-- .../single_vector_multiple_raster_sources.rs | 4 ++-- rust/src/models/spatial_bounds_derive.rs | 6 ++--- .../models/spatial_bounds_derive_bounds.rs | 8 +++---- rust/src/models/spatial_grid_definition.rs | 8 +++---- rust/src/models/spatial_grid_descriptor.rs | 4 ++-- rust/src/models/spatial_partition2_d.rs | 8 +++---- .../models/spatial_reference_specification.rs | 4 ++-- rust/src/models/st_rectangle.rs | 8 +++---- rust/src/models/stroke_param.rs | 8 +++---- rust/src/models/suggest_meta_data.rs | 4 ++-- rust/src/models/symbology.rs | 8 +++---- rust/src/models/task_status.rs | 8 +++---- rust/src/models/text_symbology.rs | 8 +++---- rust/src/models/time_descriptor.rs | 6 ++--- rust/src/models/time_dimension.rs | 4 ++-- rust/src/models/time_dimension_one_of.rs | 4 ++-- .../models/typed_data_provider_definition.rs | 24 +++++++++---------- rust/src/models/typed_geometry.rs | 8 +++---- rust/src/models/typed_geometry_one_of_1.rs | 4 ++-- rust/src/models/typed_geometry_one_of_2.rs | 4 ++-- rust/src/models/typed_geometry_one_of_3.rs | 4 ++-- rust/src/models/typed_operator.rs | 4 ++-- .../models/typed_plot_result_descriptor.rs | 4 ++-- .../models/typed_raster_result_descriptor.rs | 8 +++---- rust/src/models/typed_result_descriptor.rs | 6 ++--- .../models/typed_vector_result_descriptor.rs | 4 ++-- rust/src/models/update_layer.rs | 6 ++--- rust/src/models/update_project.rs | 4 ++-- rust/src/models/user_session.rs | 6 ++--- rust/src/models/vec_update.rs | 2 +- rust/src/models/vector_column_info.rs | 4 ++-- rust/src/models/vector_operator.rs | 4 ++-- rust/src/models/vector_result_descriptor.rs | 4 ++-- rust/src/models/workflow.rs | 4 ++-- 118 files changed, 356 insertions(+), 357 deletions(-) diff --git a/.generation/generate.py b/.generation/generate.py index bbe2aa55..c02e62bd 100755 --- a/.generation/generate.py +++ b/.generation/generate.py @@ -283,7 +283,6 @@ def generate_rust_code( f"packageVersion={package_version}", f"homePageUrl={homepage_url}", f"repositoryUrl={git_repo.url()}", - "avoidBoxedModels=true", ] ), "--git-host", diff --git a/rust/src/models/add_dataset.rs b/rust/src/models/add_dataset.rs index 13760b58..8849a80a 100644 --- a/rust/src/models/add_dataset.rs +++ b/rust/src/models/add_dataset.rs @@ -24,7 +24,7 @@ pub struct AddDataset { #[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>, + pub symbology: Option>>, #[serde(rename = "tags", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")] pub tags: Option>>, } diff --git a/rust/src/models/add_dataset_tile.rs b/rust/src/models/add_dataset_tile.rs index 834ebe3b..6ea406d1 100644 --- a/rust/src/models/add_dataset_tile.rs +++ b/rust/src/models/add_dataset_tile.rs @@ -16,11 +16,11 @@ pub struct AddDatasetTile { #[serde(rename = "band")] pub band: i32, #[serde(rename = "params")] - pub params: models::GdalDatasetParameters, + pub params: Box, #[serde(rename = "spatial_partition")] - pub spatial_partition: models::SpatialPartition2D, + pub spatial_partition: Box, #[serde(rename = "time")] - pub time: models::TimeInterval, + pub time: Box, #[serde(rename = "z_index")] pub z_index: i32, } @@ -29,9 +29,9 @@ impl AddDatasetTile { pub fn new(band: i32, params: models::GdalDatasetParameters, spatial_partition: models::SpatialPartition2D, time: models::TimeInterval, z_index: i32) -> AddDatasetTile { AddDatasetTile { band, - params, - spatial_partition, - time, + params: Box::new(params), + spatial_partition: Box::new(spatial_partition), + time: Box::new(time), z_index, } } diff --git a/rust/src/models/add_layer.rs b/rust/src/models/add_layer.rs index 23f2c5d7..7ffa1c7e 100644 --- a/rust/src/models/add_layer.rs +++ b/rust/src/models/add_layer.rs @@ -24,9 +24,9 @@ pub struct AddLayer { #[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>, + pub symbology: Option>>, #[serde(rename = "workflow")] - pub workflow: models::Workflow, + pub workflow: Box, } impl AddLayer { @@ -37,7 +37,7 @@ impl AddLayer { name, properties: None, symbology: None, - workflow, + workflow: Box::new(workflow), } } } diff --git a/rust/src/models/bounding_box2_d.rs b/rust/src/models/bounding_box2_d.rs index 5ce26e45..b1e338ab 100644 --- a/rust/src/models/bounding_box2_d.rs +++ b/rust/src/models/bounding_box2_d.rs @@ -15,17 +15,17 @@ use serde::{Deserialize, Serialize}; #[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] pub struct BoundingBox2D { #[serde(rename = "lowerLeftCoordinate")] - pub lower_left_coordinate: models::Coordinate2D, + pub lower_left_coordinate: Box, #[serde(rename = "upperRightCoordinate")] - pub upper_right_coordinate: models::Coordinate2D, + 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, - upper_right_coordinate, + lower_left_coordinate: Box::new(lower_left_coordinate), + upper_right_coordinate: Box::new(upper_right_coordinate), } } } diff --git a/rust/src/models/collection_item.rs b/rust/src/models/collection_item.rs index f02a19f4..08ae737b 100644 --- a/rust/src/models/collection_item.rs +++ b/rust/src/models/collection_item.rs @@ -15,9 +15,9 @@ use serde::{Deserialize, Serialize}; #[serde(tag = "type")] pub enum CollectionItem { #[serde(rename="collection")] - Collection(models::LayerCollectionListing), + Collection(Box), #[serde(rename="layer")] - Layer(models::LayerListing), + Layer(Box), } impl Default for CollectionItem { diff --git a/rust/src/models/color_param.rs b/rust/src/models/color_param.rs index 79ece967..19fc8338 100644 --- a/rust/src/models/color_param.rs +++ b/rust/src/models/color_param.rs @@ -15,9 +15,9 @@ use serde::{Deserialize, Serialize}; #[serde(tag = "type")] pub enum ColorParam { #[serde(rename="static")] - Static(models::StaticColor), + Static(Box), #[serde(rename="derived")] - Derived(models::DerivedColor), + Derived(Box), } impl Default for ColorParam { diff --git a/rust/src/models/colorizer.rs b/rust/src/models/colorizer.rs index 598ac64f..c7b6602e 100644 --- a/rust/src/models/colorizer.rs +++ b/rust/src/models/colorizer.rs @@ -16,11 +16,11 @@ use serde::{Deserialize, Serialize}; #[serde(tag = "type")] pub enum Colorizer { #[serde(rename="linearGradient")] - LinearGradient(models::LinearGradient), + LinearGradient(Box), #[serde(rename="logarithmicGradient")] - LogarithmicGradient(models::LogarithmicGradient), + LogarithmicGradient(Box), #[serde(rename="palette")] - Palette(models::PaletteColorizer), + Palette(Box), } impl Default for Colorizer { diff --git a/rust/src/models/column_names.rs b/rust/src/models/column_names.rs index 04784667..ac088233 100644 --- a/rust/src/models/column_names.rs +++ b/rust/src/models/column_names.rs @@ -14,9 +14,9 @@ use serde::{Deserialize, Serialize}; #[derive(Clone, Debug, PartialEq, Serialize, Deserialize)] #[serde(untagged)] pub enum ColumnNames { - ColumnNamesOneOf(models::ColumnNamesOneOf), - ColumnNamesOneOf1(models::ColumnNamesOneOf1), - ColumnNamesOneOf2(models::ColumnNamesOneOf2), + ColumnNamesOneOf(Box), + ColumnNamesOneOf1(Box), + ColumnNamesOneOf2(Box), } impl Default for ColumnNames { diff --git a/rust/src/models/create_dataset.rs b/rust/src/models/create_dataset.rs index 84cbc1c6..03ede841 100644 --- a/rust/src/models/create_dataset.rs +++ b/rust/src/models/create_dataset.rs @@ -14,16 +14,16 @@ use serde::{Deserialize, Serialize}; #[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] pub struct CreateDataset { #[serde(rename = "dataPath")] - pub data_path: models::DataPath, + pub data_path: Box, #[serde(rename = "definition")] - pub definition: models::DatasetDefinition, + pub definition: Box, } impl CreateDataset { pub fn new(data_path: models::DataPath, definition: models::DatasetDefinition) -> CreateDataset { CreateDataset { - data_path, - definition, + 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 index b47b98e3..80d4910b 100644 --- a/rust/src/models/create_project.rs +++ b/rust/src/models/create_project.rs @@ -14,19 +14,19 @@ use serde::{Deserialize, Serialize}; #[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] pub struct CreateProject { #[serde(rename = "bounds")] - pub bounds: models::StRectangle, + 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>, + pub time_step: Option>>, } impl CreateProject { pub fn new(bounds: models::StRectangle, description: String, name: String) -> CreateProject { CreateProject { - bounds, + bounds: Box::new(bounds), description, name, time_step: None, diff --git a/rust/src/models/data_id.rs b/rust/src/models/data_id.rs index 7effb53a..28b81598 100644 --- a/rust/src/models/data_id.rs +++ b/rust/src/models/data_id.rs @@ -16,9 +16,9 @@ use serde::{Deserialize, Serialize}; #[serde(tag = "type")] pub enum DataId { #[serde(rename="internal")] - Internal(models::InternalDataId), + Internal(Box), #[serde(rename="external")] - External(models::ExternalDataId), + External(Box), } impl Default for DataId { diff --git a/rust/src/models/data_path.rs b/rust/src/models/data_path.rs index 52f192f7..8418f1b5 100644 --- a/rust/src/models/data_path.rs +++ b/rust/src/models/data_path.rs @@ -14,8 +14,8 @@ use serde::{Deserialize, Serialize}; #[derive(Clone, Debug, PartialEq, Serialize, Deserialize)] #[serde(untagged)] pub enum DataPath { - DataPathOneOf(models::DataPathOneOf), - DataPathOneOf1(models::DataPathOneOf1), + DataPathOneOf(Box), + DataPathOneOf1(Box), } impl Default for DataPath { diff --git a/rust/src/models/dataset.rs b/rust/src/models/dataset.rs index 32b97536..d2cb2f20 100644 --- a/rust/src/models/dataset.rs +++ b/rust/src/models/dataset.rs @@ -14,7 +14,7 @@ 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>, + pub data_path: Option>>, #[serde(rename = "description")] pub description: String, #[serde(rename = "displayName")] @@ -26,11 +26,11 @@ pub struct Dataset { #[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: models::TypedResultDescriptor, + 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>, + pub symbology: Option>>, #[serde(rename = "tags", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")] pub tags: Option>>, } @@ -44,7 +44,7 @@ impl Dataset { id, name, provenance: None, - result_descriptor, + 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 index 10bf60fb..4a164cf8 100644 --- a/rust/src/models/dataset_definition.rs +++ b/rust/src/models/dataset_definition.rs @@ -14,16 +14,16 @@ use serde::{Deserialize, Serialize}; #[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] pub struct DatasetDefinition { #[serde(rename = "metaData")] - pub meta_data: models::MetaDataDefinition, + pub meta_data: Box, #[serde(rename = "properties")] - pub properties: models::AddDataset, + pub properties: Box, } impl DatasetDefinition { pub fn new(meta_data: models::MetaDataDefinition, properties: models::AddDataset) -> DatasetDefinition { DatasetDefinition { - meta_data, - properties, + meta_data: Box::new(meta_data), + properties: Box::new(properties), } } } diff --git a/rust/src/models/dataset_listing.rs b/rust/src/models/dataset_listing.rs index f64d1d52..5d6c702a 100644 --- a/rust/src/models/dataset_listing.rs +++ b/rust/src/models/dataset_listing.rs @@ -22,11 +22,11 @@ pub struct DatasetListing { #[serde(rename = "name")] pub name: String, #[serde(rename = "resultDescriptor")] - pub result_descriptor: models::TypedResultDescriptor, + 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>, + pub symbology: Option>>, #[serde(rename = "tags")] pub tags: Vec, } @@ -38,7 +38,7 @@ impl DatasetListing { display_name, id, name, - result_descriptor, + result_descriptor: Box::new(result_descriptor), source_operator, symbology: None, tags, diff --git a/rust/src/models/derived_color.rs b/rust/src/models/derived_color.rs index d8058142..5537e1ce 100644 --- a/rust/src/models/derived_color.rs +++ b/rust/src/models/derived_color.rs @@ -16,7 +16,7 @@ pub struct DerivedColor { #[serde(rename = "attribute")] pub attribute: String, #[serde(rename = "colorizer")] - pub colorizer: models::Colorizer, + pub colorizer: Box, #[serde(rename = "type")] pub r#type: Type, } @@ -25,7 +25,7 @@ impl DerivedColor { pub fn new(attribute: String, colorizer: models::Colorizer, r#type: Type) -> DerivedColor { DerivedColor { attribute, - colorizer, + colorizer: Box::new(colorizer), r#type, } } diff --git a/rust/src/models/edr_data_provider_definition.rs b/rust/src/models/edr_data_provider_definition.rs index a6379225..49046aa6 100644 --- a/rust/src/models/edr_data_provider_definition.rs +++ b/rust/src/models/edr_data_provider_definition.rs @@ -33,7 +33,7 @@ pub struct EdrDataProviderDefinition { #[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>, + pub vector_spec: Option>>, } impl EdrDataProviderDefinition { diff --git a/rust/src/models/expression.rs b/rust/src/models/expression.rs index c538cd82..e293ea89 100644 --- a/rust/src/models/expression.rs +++ b/rust/src/models/expression.rs @@ -15,9 +15,9 @@ use serde::{Deserialize, Serialize}; #[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] pub struct Expression { #[serde(rename = "params")] - pub params: models::ExpressionParameters, + pub params: Box, #[serde(rename = "sources")] - pub sources: models::SingleRasterSource, + pub sources: Box, #[serde(rename = "type")] pub r#type: Type, } @@ -26,8 +26,8 @@ impl Expression { /// # Raster 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, - sources, + params: Box::new(params), + sources: Box::new(sources), r#type, } } diff --git a/rust/src/models/expression_parameters.rs b/rust/src/models/expression_parameters.rs index 24d2995d..edfa6443 100644 --- a/rust/src/models/expression_parameters.rs +++ b/rust/src/models/expression_parameters.rs @@ -22,7 +22,7 @@ pub struct ExpressionParameters { pub map_no_data: bool, /// Description about the output #[serde(rename = "outputBand", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")] - pub output_band: Option>, + pub output_band: Option>>, /// A raster data type for the output #[serde(rename = "outputType")] pub output_type: models::RasterDataType, diff --git a/rust/src/models/format_specifics.rs b/rust/src/models/format_specifics.rs index ec7e2bce..61efcd33 100644 --- a/rust/src/models/format_specifics.rs +++ b/rust/src/models/format_specifics.rs @@ -14,13 +14,13 @@ use serde::{Deserialize, Serialize}; #[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] pub struct FormatSpecifics { #[serde(rename = "csv")] - pub csv: models::FormatSpecificsCsv, + pub csv: Box, } impl FormatSpecifics { pub fn new(csv: models::FormatSpecificsCsv) -> FormatSpecifics { FormatSpecifics { - csv, + csv: Box::new(csv), } } } diff --git a/rust/src/models/gbif_data_provider_definition.rs b/rust/src/models/gbif_data_provider_definition.rs index 20bce814..63a78904 100644 --- a/rust/src/models/gbif_data_provider_definition.rs +++ b/rust/src/models/gbif_data_provider_definition.rs @@ -20,7 +20,7 @@ pub struct GbifDataProviderDefinition { #[serde(rename = "columns")] pub columns: Vec, #[serde(rename = "dbConfig")] - pub db_config: models::DatabaseConnectionConfig, + pub db_config: Box, #[serde(rename = "description")] pub description: String, #[serde(rename = "name")] @@ -37,7 +37,7 @@ impl GbifDataProviderDefinition { autocomplete_timeout, cache_ttl: None, columns, - db_config, + db_config: Box::new(db_config), description, name, priority: None, diff --git a/rust/src/models/gdal_dataset_parameters.rs b/rust/src/models/gdal_dataset_parameters.rs index 752615f6..9f2b3504 100644 --- a/rust/src/models/gdal_dataset_parameters.rs +++ b/rust/src/models/gdal_dataset_parameters.rs @@ -25,7 +25,7 @@ pub struct GdalDatasetParameters { #[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: models::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")] @@ -47,7 +47,7 @@ impl GdalDatasetParameters { file_path, gdal_config_options: None, gdal_open_options: None, - geo_transform, + geo_transform: Box::new(geo_transform), height, no_data_value: None, properties_mapping: None, diff --git a/rust/src/models/gdal_loading_info_temporal_slice.rs b/rust/src/models/gdal_loading_info_temporal_slice.rs index b5567682..3a530258 100644 --- a/rust/src/models/gdal_loading_info_temporal_slice.rs +++ b/rust/src/models/gdal_loading_info_temporal_slice.rs @@ -17,9 +17,9 @@ 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>, + pub params: Option>>, #[serde(rename = "time")] - pub time: models::TimeInterval, + pub time: Box, } impl GdalLoadingInfoTemporalSlice { @@ -28,7 +28,7 @@ impl GdalLoadingInfoTemporalSlice { GdalLoadingInfoTemporalSlice { cache_ttl: None, params: None, - time, + time: Box::new(time), } } } diff --git a/rust/src/models/gdal_meta_data_list.rs b/rust/src/models/gdal_meta_data_list.rs index da95daaf..fe3b948e 100644 --- a/rust/src/models/gdal_meta_data_list.rs +++ b/rust/src/models/gdal_meta_data_list.rs @@ -16,7 +16,7 @@ pub struct GdalMetaDataList { #[serde(rename = "params")] pub params: Vec, #[serde(rename = "resultDescriptor")] - pub result_descriptor: models::RasterResultDescriptor, + pub result_descriptor: Box, #[serde(rename = "type")] pub r#type: Type, } @@ -25,7 +25,7 @@ impl GdalMetaDataList { pub fn new(params: Vec, result_descriptor: models::RasterResultDescriptor, r#type: Type) -> GdalMetaDataList { GdalMetaDataList { params, - result_descriptor, + result_descriptor: Box::new(result_descriptor), r#type, } } diff --git a/rust/src/models/gdal_meta_data_regular.rs b/rust/src/models/gdal_meta_data_regular.rs index 100a0c52..97e4b6aa 100644 --- a/rust/src/models/gdal_meta_data_regular.rs +++ b/rust/src/models/gdal_meta_data_regular.rs @@ -16,13 +16,13 @@ pub struct GdalMetaDataRegular { #[serde(rename = "cacheTtl", skip_serializing_if = "Option::is_none")] pub cache_ttl: Option, #[serde(rename = "dataTime")] - pub data_time: models::TimeInterval, + pub data_time: Box, #[serde(rename = "params")] - pub params: models::GdalDatasetParameters, + pub params: Box, #[serde(rename = "resultDescriptor")] - pub result_descriptor: models::RasterResultDescriptor, + pub result_descriptor: Box, #[serde(rename = "step")] - pub step: models::TimeStep, + pub step: Box, #[serde(rename = "timePlaceholders")] pub time_placeholders: std::collections::HashMap, #[serde(rename = "type")] @@ -33,10 +33,10 @@ 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, - params, - result_descriptor, - step, + data_time: Box::new(data_time), + params: Box::new(params), + result_descriptor: Box::new(result_descriptor), + step: Box::new(step), time_placeholders, r#type, } diff --git a/rust/src/models/gdal_meta_data_static.rs b/rust/src/models/gdal_meta_data_static.rs index 4287084b..0cb98bd4 100644 --- a/rust/src/models/gdal_meta_data_static.rs +++ b/rust/src/models/gdal_meta_data_static.rs @@ -16,11 +16,11 @@ pub struct GdalMetaDataStatic { #[serde(rename = "cacheTtl", skip_serializing_if = "Option::is_none")] pub cache_ttl: Option, #[serde(rename = "params")] - pub params: models::GdalDatasetParameters, + pub params: Box, #[serde(rename = "resultDescriptor")] - pub result_descriptor: models::RasterResultDescriptor, + pub result_descriptor: Box, #[serde(rename = "time", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")] - pub time: Option>, + pub time: Option>>, #[serde(rename = "type")] pub r#type: Type, } @@ -29,8 +29,8 @@ impl GdalMetaDataStatic { pub fn new(params: models::GdalDatasetParameters, result_descriptor: models::RasterResultDescriptor, r#type: Type) -> GdalMetaDataStatic { GdalMetaDataStatic { cache_ttl: None, - params, - result_descriptor, + params: Box::new(params), + result_descriptor: Box::new(result_descriptor), time: None, r#type, } diff --git a/rust/src/models/gdal_metadata_mapping.rs b/rust/src/models/gdal_metadata_mapping.rs index 666cc6c0..acc126e0 100644 --- a/rust/src/models/gdal_metadata_mapping.rs +++ b/rust/src/models/gdal_metadata_mapping.rs @@ -14,9 +14,9 @@ use serde::{Deserialize, Serialize}; #[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] pub struct GdalMetadataMapping { #[serde(rename = "source_key")] - pub source_key: models::RasterPropertiesKey, + pub source_key: Box, #[serde(rename = "target_key")] - pub target_key: models::RasterPropertiesKey, + pub target_key: Box, #[serde(rename = "target_type")] pub target_type: models::RasterPropertiesEntryType, } @@ -24,8 +24,8 @@ pub struct GdalMetadataMapping { impl GdalMetadataMapping { pub fn new(source_key: models::RasterPropertiesKey, target_key: models::RasterPropertiesKey, target_type: models::RasterPropertiesEntryType) -> GdalMetadataMapping { GdalMetadataMapping { - source_key, - target_key, + 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 index a0538b30..93ffd89a 100644 --- a/rust/src/models/gdal_metadata_net_cdf_cf.rs +++ b/rust/src/models/gdal_metadata_net_cdf_cf.rs @@ -23,13 +23,13 @@ pub struct GdalMetadataNetCdfCf { #[serde(rename = "end")] pub end: i64, #[serde(rename = "params")] - pub params: models::GdalDatasetParameters, + pub params: Box, #[serde(rename = "resultDescriptor")] - pub result_descriptor: models::RasterResultDescriptor, + pub result_descriptor: Box, #[serde(rename = "start")] pub start: i64, #[serde(rename = "step")] - pub step: models::TimeStep, + pub step: Box, #[serde(rename = "type")] pub r#type: Type, } @@ -41,10 +41,10 @@ impl GdalMetadataNetCdfCf { band_offset, cache_ttl: None, end, - params, - result_descriptor, + params: Box::new(params), + result_descriptor: Box::new(result_descriptor), start, - step, + step: Box::new(step), r#type, } } diff --git a/rust/src/models/gdal_multi_band.rs b/rust/src/models/gdal_multi_band.rs index 71042d35..bb441213 100644 --- a/rust/src/models/gdal_multi_band.rs +++ b/rust/src/models/gdal_multi_band.rs @@ -14,7 +14,7 @@ use serde::{Deserialize, Serialize}; #[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] pub struct GdalMultiBand { #[serde(rename = "resultDescriptor")] - pub result_descriptor: models::RasterResultDescriptor, + pub result_descriptor: Box, #[serde(rename = "type")] pub r#type: Type, } @@ -22,7 +22,7 @@ pub struct GdalMultiBand { impl GdalMultiBand { pub fn new(result_descriptor: models::RasterResultDescriptor, r#type: Type) -> GdalMultiBand { GdalMultiBand { - result_descriptor, + result_descriptor: Box::new(result_descriptor), r#type, } } diff --git a/rust/src/models/gdal_source.rs b/rust/src/models/gdal_source.rs index a9db42c2..8a006e23 100644 --- a/rust/src/models/gdal_source.rs +++ b/rust/src/models/gdal_source.rs @@ -15,7 +15,7 @@ use serde::{Deserialize, Serialize}; #[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] pub struct GdalSource { #[serde(rename = "params")] - pub params: models::GdalSourceParameters, + pub params: Box, #[serde(rename = "type")] pub r#type: Type, } @@ -24,7 +24,7 @@ impl GdalSource { /// # 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. ## Example JSON ```json { \"type\": \"GdalSource\", \"params\": { \"data\": \"ndvi\" } } ``` pub fn new(params: models::GdalSourceParameters, r#type: Type) -> GdalSource { GdalSource { - params, + params: Box::new(params), r#type, } } diff --git a/rust/src/models/geo_transform.rs b/rust/src/models/geo_transform.rs index 13ee2e9f..25702ff2 100644 --- a/rust/src/models/geo_transform.rs +++ b/rust/src/models/geo_transform.rs @@ -14,7 +14,7 @@ use serde::{Deserialize, Serialize}; #[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] pub struct GeoTransform { #[serde(rename = "originCoordinate")] - pub origin_coordinate: models::Coordinate2D, + pub origin_coordinate: Box, #[serde(rename = "xPixelSize")] pub x_pixel_size: f64, #[serde(rename = "yPixelSize")] @@ -24,7 +24,7 @@ pub struct GeoTransform { impl GeoTransform { pub fn new(origin_coordinate: models::Coordinate2D, x_pixel_size: f64, y_pixel_size: f64) -> GeoTransform { GeoTransform { - origin_coordinate, + origin_coordinate: Box::new(origin_coordinate), x_pixel_size, y_pixel_size, } diff --git a/rust/src/models/gfbio_abcd_data_provider_definition.rs b/rust/src/models/gfbio_abcd_data_provider_definition.rs index 93ec2255..d47ce4da 100644 --- a/rust/src/models/gfbio_abcd_data_provider_definition.rs +++ b/rust/src/models/gfbio_abcd_data_provider_definition.rs @@ -16,7 +16,7 @@ pub struct GfbioAbcdDataProviderDefinition { #[serde(rename = "cacheTtl", skip_serializing_if = "Option::is_none")] pub cache_ttl: Option, #[serde(rename = "dbConfig")] - pub db_config: models::DatabaseConnectionConfig, + pub db_config: Box, #[serde(rename = "description")] pub description: String, #[serde(rename = "name")] @@ -31,7 +31,7 @@ impl GfbioAbcdDataProviderDefinition { pub fn new(db_config: models::DatabaseConnectionConfig, description: String, name: String, r#type: Type) -> GfbioAbcdDataProviderDefinition { GfbioAbcdDataProviderDefinition { cache_ttl: None, - db_config, + db_config: Box::new(db_config), description, name, priority: None, diff --git a/rust/src/models/gfbio_collections_data_provider_definition.rs b/rust/src/models/gfbio_collections_data_provider_definition.rs index 6cf82433..f996b250 100644 --- a/rust/src/models/gfbio_collections_data_provider_definition.rs +++ b/rust/src/models/gfbio_collections_data_provider_definition.rs @@ -14,7 +14,7 @@ use serde::{Deserialize, Serialize}; #[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] pub struct GfbioCollectionsDataProviderDefinition { #[serde(rename = "abcdDbConfig")] - pub abcd_db_config: models::DatabaseConnectionConfig, + pub abcd_db_config: Box, #[serde(rename = "cacheTtl", skip_serializing_if = "Option::is_none")] pub cache_ttl: Option, #[serde(rename = "collectionApiAuthToken")] @@ -36,7 +36,7 @@ pub struct GfbioCollectionsDataProviderDefinition { 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, + abcd_db_config: Box::new(abcd_db_config), cache_ttl: None, collection_api_auth_token, collection_api_url, diff --git a/rust/src/models/grid_bounding_box2_d.rs b/rust/src/models/grid_bounding_box2_d.rs index 06940b0f..4eaf4912 100644 --- a/rust/src/models/grid_bounding_box2_d.rs +++ b/rust/src/models/grid_bounding_box2_d.rs @@ -14,16 +14,16 @@ use serde::{Deserialize, Serialize}; #[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] pub struct GridBoundingBox2D { #[serde(rename = "bottomRightIdx")] - pub bottom_right_idx: models::GridIdx2D, + pub bottom_right_idx: Box, #[serde(rename = "topLeftIdx")] - pub top_left_idx: models::GridIdx2D, + 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, - top_left_idx, + bottom_right_idx: Box::new(bottom_right_idx), + top_left_idx: Box::new(top_left_idx), } } } diff --git a/rust/src/models/layer.rs b/rust/src/models/layer.rs index 35df6646..ff55dd2d 100644 --- a/rust/src/models/layer.rs +++ b/rust/src/models/layer.rs @@ -16,7 +16,7 @@ pub struct Layer { #[serde(rename = "description")] pub description: String, #[serde(rename = "id")] - pub id: models::ProviderLayerId, + pub id: Box, /// metadata used for loading the data #[serde(rename = "metadata", skip_serializing_if = "Option::is_none")] pub metadata: Option>, @@ -26,21 +26,21 @@ pub struct Layer { #[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>, + pub symbology: Option>>, #[serde(rename = "workflow")] - pub workflow: models::Workflow, + pub workflow: Box, } impl Layer { pub fn new(description: String, id: models::ProviderLayerId, name: String, workflow: models::Workflow) -> Layer { Layer { description, - id, + id: Box::new(id), metadata: None, name, properties: None, symbology: None, - workflow, + workflow: Box::new(workflow), } } } diff --git a/rust/src/models/layer_collection.rs b/rust/src/models/layer_collection.rs index 8a563e73..1141c0cd 100644 --- a/rust/src/models/layer_collection.rs +++ b/rust/src/models/layer_collection.rs @@ -19,7 +19,7 @@ pub struct LayerCollection { #[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: models::ProviderLayerCollectionId, + pub id: Box, #[serde(rename = "items")] pub items: Vec, #[serde(rename = "name")] @@ -33,7 +33,7 @@ impl LayerCollection { LayerCollection { description, entry_label: None, - id, + 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 index 638f6c74..6c1c5938 100644 --- a/rust/src/models/layer_collection_listing.rs +++ b/rust/src/models/layer_collection_listing.rs @@ -16,7 +16,7 @@ pub struct LayerCollectionListing { #[serde(rename = "description")] pub description: String, #[serde(rename = "id")] - pub id: models::ProviderLayerCollectionId, + pub id: Box, #[serde(rename = "name")] pub name: String, #[serde(rename = "properties", skip_serializing_if = "Option::is_none")] @@ -29,7 +29,7 @@ impl LayerCollectionListing { pub fn new(description: String, id: models::ProviderLayerCollectionId, name: String, r#type: Type) -> LayerCollectionListing { LayerCollectionListing { description, - id, + id: Box::new(id), name, properties: None, r#type, diff --git a/rust/src/models/layer_listing.rs b/rust/src/models/layer_listing.rs index 6383a678..239152cf 100644 --- a/rust/src/models/layer_listing.rs +++ b/rust/src/models/layer_listing.rs @@ -16,7 +16,7 @@ pub struct LayerListing { #[serde(rename = "description")] pub description: String, #[serde(rename = "id")] - pub id: models::ProviderLayerId, + pub id: Box, #[serde(rename = "name")] pub name: String, /// properties, for instance, to be rendered in the UI @@ -30,7 +30,7 @@ impl LayerListing { pub fn new(description: String, id: models::ProviderLayerId, name: String, r#type: Type) -> LayerListing { LayerListing { description, - id, + id: Box::new(id), name, properties: None, r#type, diff --git a/rust/src/models/line_symbology.rs b/rust/src/models/line_symbology.rs index 7eaa467a..7985696d 100644 --- a/rust/src/models/line_symbology.rs +++ b/rust/src/models/line_symbology.rs @@ -16,9 +16,9 @@ pub struct LineSymbology { #[serde(rename = "autoSimplified")] pub auto_simplified: bool, #[serde(rename = "stroke")] - pub stroke: models::StrokeParam, + pub stroke: Box, #[serde(rename = "text", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")] - pub text: Option>, + pub text: Option>>, #[serde(rename = "type")] pub r#type: Type, } @@ -27,7 +27,7 @@ impl LineSymbology { pub fn new(auto_simplified: bool, stroke: models::StrokeParam, r#type: Type) -> LineSymbology { LineSymbology { auto_simplified, - stroke, + stroke: Box::new(stroke), text: None, r#type, } diff --git a/rust/src/models/measurement.rs b/rust/src/models/measurement.rs index 63a4e39a..dabc9995 100644 --- a/rust/src/models/measurement.rs +++ b/rust/src/models/measurement.rs @@ -15,11 +15,11 @@ use serde::{Deserialize, Serialize}; #[serde(tag = "type")] pub enum Measurement { #[serde(rename="unitless")] - Unitless(models::UnitlessMeasurement), + Unitless(Box), #[serde(rename="continuous")] - Continuous(models::ContinuousMeasurement), + Continuous(Box), #[serde(rename="classification")] - Classification(models::ClassificationMeasurement), + Classification(Box), } impl Default for Measurement { diff --git a/rust/src/models/meta_data_definition.rs b/rust/src/models/meta_data_definition.rs index 6c9554f4..814d18d9 100644 --- a/rust/src/models/meta_data_definition.rs +++ b/rust/src/models/meta_data_definition.rs @@ -15,19 +15,19 @@ use serde::{Deserialize, Serialize}; #[serde(tag = "type")] pub enum MetaDataDefinition { #[serde(rename="MockMetaData")] - MockMetaData(models::MockMetaData), + MockMetaData(Box), #[serde(rename="OgrMetaData")] - OgrMetaData(models::OgrMetaData), + OgrMetaData(Box), #[serde(rename="GdalMetaDataRegular")] - GdalMetaDataRegular(models::GdalMetaDataRegular), + GdalMetaDataRegular(Box), #[serde(rename="GdalStatic")] - GdalStatic(models::GdalMetaDataStatic), + GdalStatic(Box), #[serde(rename="GdalMetaDataNetCdfCf")] - GdalMetaDataNetCdfCf(models::GdalMetadataNetCdfCf), + GdalMetaDataNetCdfCf(Box), #[serde(rename="GdalMetaDataList")] - GdalMetaDataList(models::GdalMetaDataList), + GdalMetaDataList(Box), #[serde(rename="GdalMultiBand")] - GdalMultiBand(models::GdalMultiBand), + GdalMultiBand(Box), } impl Default for MetaDataDefinition { diff --git a/rust/src/models/meta_data_suggestion.rs b/rust/src/models/meta_data_suggestion.rs index 63174734..e4dabecd 100644 --- a/rust/src/models/meta_data_suggestion.rs +++ b/rust/src/models/meta_data_suggestion.rs @@ -18,7 +18,7 @@ pub struct MetaDataSuggestion { #[serde(rename = "mainFile")] pub main_file: String, #[serde(rename = "metaData")] - pub meta_data: models::MetaDataDefinition, + pub meta_data: Box, } impl MetaDataSuggestion { @@ -26,7 +26,7 @@ impl MetaDataSuggestion { MetaDataSuggestion { layer_name, main_file, - meta_data, + meta_data: Box::new(meta_data), } } } diff --git a/rust/src/models/ml_model.rs b/rust/src/models/ml_model.rs index 4d2ae715..6d5cda51 100644 --- a/rust/src/models/ml_model.rs +++ b/rust/src/models/ml_model.rs @@ -20,7 +20,7 @@ pub struct MlModel { #[serde(rename = "fileName")] pub file_name: String, #[serde(rename = "metadata")] - pub metadata: models::MlModelMetadata, + pub metadata: Box, #[serde(rename = "name")] pub name: String, #[serde(rename = "upload")] @@ -33,7 +33,7 @@ impl MlModel { description, display_name, file_name, - metadata, + metadata: Box::new(metadata), name, upload, } diff --git a/rust/src/models/ml_model_metadata.rs b/rust/src/models/ml_model_metadata.rs index c73d4c8d..e3755403 100644 --- a/rust/src/models/ml_model_metadata.rs +++ b/rust/src/models/ml_model_metadata.rs @@ -14,15 +14,15 @@ use serde::{Deserialize, Serialize}; #[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] pub struct MlModelMetadata { #[serde(rename = "inputNoDataHandling")] - pub input_no_data_handling: models::MlModelInputNoDataHandling, + pub input_no_data_handling: Box, #[serde(rename = "inputShape")] - pub input_shape: models::MlTensorShape3D, + pub input_shape: Box, #[serde(rename = "inputType")] pub input_type: models::RasterDataType, #[serde(rename = "outputNoDataHandling")] - pub output_no_data_handling: models::MlModelOutputNoDataHandling, + pub output_no_data_handling: Box, #[serde(rename = "outputShape")] - pub output_shape: models::MlTensorShape3D, + pub output_shape: Box, #[serde(rename = "outputType")] pub output_type: models::RasterDataType, } @@ -30,11 +30,11 @@ pub struct MlModelMetadata { 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, - input_shape, + input_no_data_handling: Box::new(input_no_data_handling), + input_shape: Box::new(input_shape), input_type, - output_no_data_handling, - output_shape, + output_no_data_handling: Box::new(output_no_data_handling), + output_shape: Box::new(output_shape), output_type, } } diff --git a/rust/src/models/mock_meta_data.rs b/rust/src/models/mock_meta_data.rs index 53f81adc..c75d0959 100644 --- a/rust/src/models/mock_meta_data.rs +++ b/rust/src/models/mock_meta_data.rs @@ -14,9 +14,9 @@ use serde::{Deserialize, Serialize}; #[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] pub struct MockMetaData { #[serde(rename = "loadingInfo")] - pub loading_info: models::MockDatasetDataSourceLoadingInfo, + pub loading_info: Box, #[serde(rename = "resultDescriptor")] - pub result_descriptor: models::VectorResultDescriptor, + pub result_descriptor: Box, #[serde(rename = "type")] pub r#type: Type, } @@ -24,8 +24,8 @@ pub struct MockMetaData { impl MockMetaData { pub fn new(loading_info: models::MockDatasetDataSourceLoadingInfo, result_descriptor: models::VectorResultDescriptor, r#type: Type) -> MockMetaData { MockMetaData { - loading_info, - result_descriptor, + loading_info: Box::new(loading_info), + result_descriptor: Box::new(result_descriptor), r#type, } } diff --git a/rust/src/models/mock_point_source.rs b/rust/src/models/mock_point_source.rs index 3577faa5..df0c7b53 100644 --- a/rust/src/models/mock_point_source.rs +++ b/rust/src/models/mock_point_source.rs @@ -15,7 +15,7 @@ use serde::{Deserialize, Serialize}; #[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] pub struct MockPointSource { #[serde(rename = "params")] - pub params: models::MockPointSourceParameters, + pub params: Box, #[serde(rename = "type")] pub r#type: Type, } @@ -24,7 +24,7 @@ impl MockPointSource { /// # MockPointSource The [`MockPointSource`] is a source operator that provides mock vector point data for testing and development purposes. ## Example JSON ```json { \"type\": \"MockPointSource\", \"params\": { \"points\": [ { \"x\": 1.0, \"y\": 2.0 }, { \"x\": 3.0, \"y\": 4.0 } ] } } ``` pub fn new(params: models::MockPointSourceParameters, r#type: Type) -> MockPointSource { MockPointSource { - params, + params: Box::new(params), r#type, } } diff --git a/rust/src/models/mock_point_source_parameters.rs b/rust/src/models/mock_point_source_parameters.rs index b9f8217d..35f4f496 100644 --- a/rust/src/models/mock_point_source_parameters.rs +++ b/rust/src/models/mock_point_source_parameters.rs @@ -19,7 +19,7 @@ pub struct MockPointSourceParameters { pub points: Vec, /// Defines how the spatial bounds of the source are derived. Defaults to `None`. #[serde(rename = "spatialBounds")] - pub spatial_bounds: models::SpatialBoundsDerive, + pub spatial_bounds: Box, } impl MockPointSourceParameters { @@ -27,7 +27,7 @@ impl MockPointSourceParameters { pub fn new(points: Vec, spatial_bounds: models::SpatialBoundsDerive) -> MockPointSourceParameters { MockPointSourceParameters { points, - spatial_bounds, + spatial_bounds: Box::new(spatial_bounds), } } } diff --git a/rust/src/models/number_param.rs b/rust/src/models/number_param.rs index 0291c3cc..486589a0 100644 --- a/rust/src/models/number_param.rs +++ b/rust/src/models/number_param.rs @@ -15,9 +15,9 @@ use serde::{Deserialize, Serialize}; #[serde(tag = "type")] pub enum NumberParam { #[serde(rename="static")] - Static(models::StaticNumber), + Static(Box), #[serde(rename="derived")] - Derived(models::DerivedNumber), + Derived(Box), } impl Default for NumberParam { diff --git a/rust/src/models/ogr_meta_data.rs b/rust/src/models/ogr_meta_data.rs index 10be2372..692e31e7 100644 --- a/rust/src/models/ogr_meta_data.rs +++ b/rust/src/models/ogr_meta_data.rs @@ -14,9 +14,9 @@ use serde::{Deserialize, Serialize}; #[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] pub struct OgrMetaData { #[serde(rename = "loadingInfo")] - pub loading_info: models::OgrSourceDataset, + pub loading_info: Box, #[serde(rename = "resultDescriptor")] - pub result_descriptor: models::VectorResultDescriptor, + pub result_descriptor: Box, #[serde(rename = "type")] pub r#type: Type, } @@ -24,8 +24,8 @@ pub struct OgrMetaData { impl OgrMetaData { pub fn new(loading_info: models::OgrSourceDataset, result_descriptor: models::VectorResultDescriptor, r#type: Type) -> OgrMetaData { OgrMetaData { - loading_info, - result_descriptor, + loading_info: Box::new(loading_info), + result_descriptor: Box::new(result_descriptor), r#type, } } diff --git a/rust/src/models/ogr_source_column_spec.rs b/rust/src/models/ogr_source_column_spec.rs index 6ffb04a5..d729a698 100644 --- a/rust/src/models/ogr_source_column_spec.rs +++ b/rust/src/models/ogr_source_column_spec.rs @@ -20,7 +20,7 @@ pub struct OgrSourceColumnSpec { #[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>, + 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")] diff --git a/rust/src/models/ogr_source_dataset.rs b/rust/src/models/ogr_source_dataset.rs index 043c36b2..4717bc10 100644 --- a/rust/src/models/ogr_source_dataset.rs +++ b/rust/src/models/ogr_source_dataset.rs @@ -18,11 +18,11 @@ pub struct OgrSourceDataset { #[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>, + 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>, + pub default_geometry: Option>>, #[serde(rename = "fileName")] pub file_name: String, #[serde(rename = "forceOgrSpatialFilter", skip_serializing_if = "Option::is_none")] @@ -36,7 +36,7 @@ pub struct OgrSourceDataset { #[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, + pub time: Option>, } impl OgrSourceDataset { diff --git a/rust/src/models/ogr_source_dataset_time_type.rs b/rust/src/models/ogr_source_dataset_time_type.rs index 6f73f789..7cd03da9 100644 --- a/rust/src/models/ogr_source_dataset_time_type.rs +++ b/rust/src/models/ogr_source_dataset_time_type.rs @@ -15,13 +15,13 @@ use serde::{Deserialize, Serialize}; #[serde(tag = "type")] pub enum OgrSourceDatasetTimeType { #[serde(rename="none")] - None(models::OgrSourceDatasetTimeTypeNone), + None(Box), #[serde(rename="start")] - Start(models::OgrSourceDatasetTimeTypeStart), + Start(Box), #[serde(rename="start+end")] - StartPlusEnd(models::OgrSourceDatasetTimeTypeStartEnd), + StartPlusEnd(Box), #[serde(rename="start+duration")] - StartPlusDuration(models::OgrSourceDatasetTimeTypeStartDuration), + StartPlusDuration(Box), } impl Default for OgrSourceDatasetTimeType { diff --git a/rust/src/models/ogr_source_dataset_time_type_start.rs b/rust/src/models/ogr_source_dataset_time_type_start.rs index 4534a05d..051399de 100644 --- a/rust/src/models/ogr_source_dataset_time_type_start.rs +++ b/rust/src/models/ogr_source_dataset_time_type_start.rs @@ -14,11 +14,11 @@ use serde::{Deserialize, Serialize}; #[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] pub struct OgrSourceDatasetTimeTypeStart { #[serde(rename = "duration")] - pub duration: models::OgrSourceDurationSpec, + pub duration: Box, #[serde(rename = "startField")] pub start_field: String, #[serde(rename = "startFormat")] - pub start_format: models::OgrSourceTimeFormat, + pub start_format: Box, #[serde(rename = "type")] pub r#type: Type, } @@ -26,9 +26,9 @@ pub struct OgrSourceDatasetTimeTypeStart { impl OgrSourceDatasetTimeTypeStart { pub fn new(duration: models::OgrSourceDurationSpec, start_field: String, start_format: models::OgrSourceTimeFormat, r#type: Type) -> OgrSourceDatasetTimeTypeStart { OgrSourceDatasetTimeTypeStart { - duration, + duration: Box::new(duration), start_field, - start_format, + start_format: Box::new(start_format), r#type, } } 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 index bc11b303..51d9ce65 100644 --- a/rust/src/models/ogr_source_dataset_time_type_start_duration.rs +++ b/rust/src/models/ogr_source_dataset_time_type_start_duration.rs @@ -18,7 +18,7 @@ pub struct OgrSourceDatasetTimeTypeStartDuration { #[serde(rename = "startField")] pub start_field: String, #[serde(rename = "startFormat")] - pub start_format: models::OgrSourceTimeFormat, + pub start_format: Box, #[serde(rename = "type")] pub r#type: Type, } @@ -28,7 +28,7 @@ impl OgrSourceDatasetTimeTypeStartDuration { OgrSourceDatasetTimeTypeStartDuration { duration_field, start_field, - start_format, + start_format: Box::new(start_format), r#type, } } 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 index 3e74a332..fdd0b161 100644 --- a/rust/src/models/ogr_source_dataset_time_type_start_end.rs +++ b/rust/src/models/ogr_source_dataset_time_type_start_end.rs @@ -16,11 +16,11 @@ pub struct OgrSourceDatasetTimeTypeStartEnd { #[serde(rename = "endField")] pub end_field: String, #[serde(rename = "endFormat")] - pub end_format: models::OgrSourceTimeFormat, + pub end_format: Box, #[serde(rename = "startField")] pub start_field: String, #[serde(rename = "startFormat")] - pub start_format: models::OgrSourceTimeFormat, + pub start_format: Box, #[serde(rename = "type")] pub r#type: Type, } @@ -29,9 +29,9 @@ 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, + end_format: Box::new(end_format), start_field, - start_format, + start_format: Box::new(start_format), r#type, } } diff --git a/rust/src/models/ogr_source_duration_spec.rs b/rust/src/models/ogr_source_duration_spec.rs index 99c0d364..4e8ab26d 100644 --- a/rust/src/models/ogr_source_duration_spec.rs +++ b/rust/src/models/ogr_source_duration_spec.rs @@ -15,11 +15,11 @@ use serde::{Deserialize, Serialize}; #[serde(tag = "type")] pub enum OgrSourceDurationSpec { #[serde(rename="infinite")] - Infinite(models::OgrSourceDurationSpecInfinite), + Infinite(Box), #[serde(rename="zero")] - Zero(models::OgrSourceDurationSpecZero), + Zero(Box), #[serde(rename="value")] - Value(models::OgrSourceDurationSpecValue), + Value(Box), } impl Default for OgrSourceDurationSpec { diff --git a/rust/src/models/ogr_source_time_format.rs b/rust/src/models/ogr_source_time_format.rs index 02aa0fbb..da56fad7 100644 --- a/rust/src/models/ogr_source_time_format.rs +++ b/rust/src/models/ogr_source_time_format.rs @@ -15,11 +15,11 @@ use serde::{Deserialize, Serialize}; #[serde(tag = "format")] pub enum OgrSourceTimeFormat { #[serde(rename="custom")] - Custom(models::OgrSourceTimeFormatCustom), + Custom(Box), #[serde(rename="unixTimeStamp")] - UnixTimeStamp(models::OgrSourceTimeFormatUnixTimeStamp), + UnixTimeStamp(Box), #[serde(rename="auto")] - Auto(models::OgrSourceTimeFormatAuto), + Auto(Box), } impl Default for OgrSourceTimeFormat { diff --git a/rust/src/models/permission_listing.rs b/rust/src/models/permission_listing.rs index 8110a3a6..582ec8c7 100644 --- a/rust/src/models/permission_listing.rs +++ b/rust/src/models/permission_listing.rs @@ -16,17 +16,17 @@ pub struct PermissionListing { #[serde(rename = "permission")] pub permission: models::Permission, #[serde(rename = "resource")] - pub resource: models::Resource, + pub resource: Box, #[serde(rename = "role")] - pub role: models::Role, + pub role: Box, } impl PermissionListing { pub fn new(permission: models::Permission, resource: models::Resource, role: models::Role) -> PermissionListing { PermissionListing { permission, - resource, - role, + resource: Box::new(resource), + role: Box::new(role), } } } diff --git a/rust/src/models/permission_request.rs b/rust/src/models/permission_request.rs index bb8dcf82..4f38633b 100644 --- a/rust/src/models/permission_request.rs +++ b/rust/src/models/permission_request.rs @@ -17,7 +17,7 @@ pub struct PermissionRequest { #[serde(rename = "permission")] pub permission: models::Permission, #[serde(rename = "resource")] - pub resource: models::Resource, + pub resource: Box, #[serde(rename = "roleId")] pub role_id: uuid::Uuid, } @@ -27,7 +27,7 @@ impl PermissionRequest { pub fn new(permission: models::Permission, resource: models::Resource, role_id: uuid::Uuid) -> PermissionRequest { PermissionRequest { permission, - resource, + resource: Box::new(resource), role_id, } } diff --git a/rust/src/models/plot_result_descriptor.rs b/rust/src/models/plot_result_descriptor.rs index 5417771e..a774ad2b 100644 --- a/rust/src/models/plot_result_descriptor.rs +++ b/rust/src/models/plot_result_descriptor.rs @@ -15,11 +15,11 @@ use serde::{Deserialize, Serialize}; #[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>, + 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>, + pub time: Option>>, } impl PlotResultDescriptor { diff --git a/rust/src/models/point_symbology.rs b/rust/src/models/point_symbology.rs index cbfb8aaf..0c2940f0 100644 --- a/rust/src/models/point_symbology.rs +++ b/rust/src/models/point_symbology.rs @@ -14,13 +14,13 @@ use serde::{Deserialize, Serialize}; #[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] pub struct PointSymbology { #[serde(rename = "fillColor")] - pub fill_color: models::ColorParam, + pub fill_color: Box, #[serde(rename = "radius")] - pub radius: models::NumberParam, + pub radius: Box, #[serde(rename = "stroke")] - pub stroke: models::StrokeParam, + pub stroke: Box, #[serde(rename = "text", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")] - pub text: Option>, + pub text: Option>>, #[serde(rename = "type")] pub r#type: Type, } @@ -28,9 +28,9 @@ pub struct PointSymbology { impl PointSymbology { pub fn new(fill_color: models::ColorParam, radius: models::NumberParam, stroke: models::StrokeParam, r#type: Type) -> PointSymbology { PointSymbology { - fill_color, - radius, - stroke, + fill_color: Box::new(fill_color), + radius: Box::new(radius), + stroke: Box::new(stroke), text: None, r#type, } diff --git a/rust/src/models/polygon_symbology.rs b/rust/src/models/polygon_symbology.rs index fcf3324f..e9518815 100644 --- a/rust/src/models/polygon_symbology.rs +++ b/rust/src/models/polygon_symbology.rs @@ -16,11 +16,11 @@ pub struct PolygonSymbology { #[serde(rename = "autoSimplified")] pub auto_simplified: bool, #[serde(rename = "fillColor")] - pub fill_color: models::ColorParam, + pub fill_color: Box, #[serde(rename = "stroke")] - pub stroke: models::StrokeParam, + pub stroke: Box, #[serde(rename = "text", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")] - pub text: Option>, + pub text: Option>>, #[serde(rename = "type")] pub r#type: Type, } @@ -29,8 +29,8 @@ impl PolygonSymbology { pub fn new(auto_simplified: bool, fill_color: models::ColorParam, stroke: models::StrokeParam, r#type: Type) -> PolygonSymbology { PolygonSymbology { auto_simplified, - fill_color, - stroke, + fill_color: Box::new(fill_color), + stroke: Box::new(stroke), text: None, r#type, } diff --git a/rust/src/models/project.rs b/rust/src/models/project.rs index e4d68c16..6cbd7fcf 100644 --- a/rust/src/models/project.rs +++ b/rust/src/models/project.rs @@ -14,7 +14,7 @@ use serde::{Deserialize, Serialize}; #[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] pub struct Project { #[serde(rename = "bounds")] - pub bounds: models::StRectangle, + pub bounds: Box, #[serde(rename = "description")] pub description: String, #[serde(rename = "id")] @@ -26,22 +26,22 @@ pub struct Project { #[serde(rename = "plots")] pub plots: Vec, #[serde(rename = "timeStep")] - pub time_step: models::TimeStep, + pub time_step: Box, #[serde(rename = "version")] - pub version: models::ProjectVersion, + 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, + bounds: Box::new(bounds), description, id, layers, name, plots, - time_step, - version, + 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 index 33a18730..2914f94a 100644 --- a/rust/src/models/project_layer.rs +++ b/rust/src/models/project_layer.rs @@ -16,9 +16,9 @@ pub struct ProjectLayer { #[serde(rename = "name")] pub name: String, #[serde(rename = "symbology")] - pub symbology: models::Symbology, + pub symbology: Box, #[serde(rename = "visibility")] - pub visibility: models::LayerVisibility, + pub visibility: Box, #[serde(rename = "workflow")] pub workflow: uuid::Uuid, } @@ -27,8 +27,8 @@ impl ProjectLayer { pub fn new(name: String, symbology: models::Symbology, visibility: models::LayerVisibility, workflow: uuid::Uuid) -> ProjectLayer { ProjectLayer { name, - symbology, - visibility, + symbology: Box::new(symbology), + visibility: Box::new(visibility), workflow, } } diff --git a/rust/src/models/provenance_entry.rs b/rust/src/models/provenance_entry.rs index 9e6bf475..1a6b6637 100644 --- a/rust/src/models/provenance_entry.rs +++ b/rust/src/models/provenance_entry.rs @@ -16,14 +16,14 @@ pub struct ProvenanceEntry { #[serde(rename = "data")] pub data: Vec, #[serde(rename = "provenance")] - pub provenance: models::Provenance, + pub provenance: Box, } impl ProvenanceEntry { pub fn new(data: Vec, provenance: models::Provenance) -> ProvenanceEntry { ProvenanceEntry { data, - provenance, + provenance: Box::new(provenance), } } } diff --git a/rust/src/models/provenance_output.rs b/rust/src/models/provenance_output.rs index c33bb9ac..deff6eb2 100644 --- a/rust/src/models/provenance_output.rs +++ b/rust/src/models/provenance_output.rs @@ -14,7 +14,7 @@ use serde::{Deserialize, Serialize}; #[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] pub struct ProvenanceOutput { #[serde(rename = "data")] - pub data: models::DataId, + pub data: Box, #[serde(rename = "provenance", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")] pub provenance: Option>>, } @@ -22,7 +22,7 @@ pub struct ProvenanceOutput { impl ProvenanceOutput { pub fn new(data: models::DataId) -> ProvenanceOutput { ProvenanceOutput { - data, + data: Box::new(data), provenance: None, } } diff --git a/rust/src/models/provider_capabilities.rs b/rust/src/models/provider_capabilities.rs index 63b6e103..f6e46656 100644 --- a/rust/src/models/provider_capabilities.rs +++ b/rust/src/models/provider_capabilities.rs @@ -16,14 +16,14 @@ pub struct ProviderCapabilities { #[serde(rename = "listing")] pub listing: bool, #[serde(rename = "search")] - pub search: models::SearchCapabilities, + pub search: Box, } impl ProviderCapabilities { pub fn new(listing: bool, search: models::SearchCapabilities) -> ProviderCapabilities { ProviderCapabilities { listing, - search, + search: Box::new(search), } } } diff --git a/rust/src/models/raster_band_descriptor.rs b/rust/src/models/raster_band_descriptor.rs index c2080772..699a4ffb 100644 --- a/rust/src/models/raster_band_descriptor.rs +++ b/rust/src/models/raster_band_descriptor.rs @@ -14,7 +14,7 @@ use serde::{Deserialize, Serialize}; #[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] pub struct RasterBandDescriptor { #[serde(rename = "measurement")] - pub measurement: models::Measurement, + pub measurement: Box, #[serde(rename = "name")] pub name: String, } @@ -22,7 +22,7 @@ pub struct RasterBandDescriptor { impl RasterBandDescriptor { pub fn new(measurement: models::Measurement, name: String) -> RasterBandDescriptor { RasterBandDescriptor { - measurement, + measurement: Box::new(measurement), name, } } diff --git a/rust/src/models/raster_colorizer.rs b/rust/src/models/raster_colorizer.rs index 336663f8..cf4839a8 100644 --- a/rust/src/models/raster_colorizer.rs +++ b/rust/src/models/raster_colorizer.rs @@ -15,9 +15,9 @@ use serde::{Deserialize, Serialize}; #[serde(tag = "type")] pub enum RasterColorizer { #[serde(rename="singleBand")] - SingleBand(models::SingleBandRasterColorizer), + SingleBand(Box), #[serde(rename="multiBand")] - MultiBand(models::MultiBandRasterColorizer), + MultiBand(Box), } impl Default for RasterColorizer { diff --git a/rust/src/models/raster_dataset_from_workflow.rs b/rust/src/models/raster_dataset_from_workflow.rs index 0860f63c..dc066ddb 100644 --- a/rust/src/models/raster_dataset_from_workflow.rs +++ b/rust/src/models/raster_dataset_from_workflow.rs @@ -23,7 +23,7 @@ pub struct RasterDatasetFromWorkflow { #[serde(rename = "name", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")] pub name: Option>, #[serde(rename = "query")] - pub query: models::RasterToDatasetQueryRectangle, + pub query: Box, } impl RasterDatasetFromWorkflow { @@ -34,7 +34,7 @@ impl RasterDatasetFromWorkflow { description: None, display_name, name: None, - query, + query: Box::new(query), } } } diff --git a/rust/src/models/raster_operator.rs b/rust/src/models/raster_operator.rs index 4e6c49b6..53caf36b 100644 --- a/rust/src/models/raster_operator.rs +++ b/rust/src/models/raster_operator.rs @@ -16,9 +16,9 @@ use serde::{Deserialize, Serialize}; #[serde(tag = "type")] pub enum RasterOperator { #[serde(rename="Expression")] - Expression(models::Expression), + Expression(Box), #[serde(rename="GdalSource")] - GdalSource(models::GdalSource), + GdalSource(Box), } impl Default for RasterOperator { diff --git a/rust/src/models/raster_result_descriptor.rs b/rust/src/models/raster_result_descriptor.rs index 16214a46..d9423ab4 100644 --- a/rust/src/models/raster_result_descriptor.rs +++ b/rust/src/models/raster_result_descriptor.rs @@ -19,11 +19,11 @@ pub struct RasterResultDescriptor { #[serde(rename = "dataType")] pub data_type: models::RasterDataType, #[serde(rename = "spatialGrid")] - pub spatial_grid: models::SpatialGridDescriptor, + pub spatial_grid: Box, #[serde(rename = "spatialReference")] pub spatial_reference: String, #[serde(rename = "time")] - pub time: models::TimeDescriptor, + pub time: Box, } impl RasterResultDescriptor { @@ -32,9 +32,9 @@ impl RasterResultDescriptor { RasterResultDescriptor { bands, data_type, - spatial_grid, + spatial_grid: Box::new(spatial_grid), spatial_reference, - time, + time: Box::new(time), } } } diff --git a/rust/src/models/raster_symbology.rs b/rust/src/models/raster_symbology.rs index 024f91e8..215bef4d 100644 --- a/rust/src/models/raster_symbology.rs +++ b/rust/src/models/raster_symbology.rs @@ -16,7 +16,7 @@ pub struct RasterSymbology { #[serde(rename = "opacity")] pub opacity: f64, #[serde(rename = "rasterColorizer")] - pub raster_colorizer: models::RasterColorizer, + pub raster_colorizer: Box, #[serde(rename = "type")] pub r#type: Type, } @@ -25,7 +25,7 @@ impl RasterSymbology { pub fn new(opacity: f64, raster_colorizer: models::RasterColorizer, r#type: Type) -> RasterSymbology { RasterSymbology { opacity, - raster_colorizer, + raster_colorizer: Box::new(raster_colorizer), r#type, } } diff --git a/rust/src/models/raster_to_dataset_query_rectangle.rs b/rust/src/models/raster_to_dataset_query_rectangle.rs index dd1f9cbb..259a9711 100644 --- a/rust/src/models/raster_to_dataset_query_rectangle.rs +++ b/rust/src/models/raster_to_dataset_query_rectangle.rs @@ -15,17 +15,17 @@ use serde::{Deserialize, Serialize}; #[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] pub struct RasterToDatasetQueryRectangle { #[serde(rename = "spatialBounds")] - pub spatial_bounds: models::SpatialPartition2D, + pub spatial_bounds: Box, #[serde(rename = "timeInterval")] - pub time_interval: models::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, - time_interval, + 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 index 0ec29ed5..51419f13 100644 --- a/rust/src/models/raster_vector_join.rs +++ b/rust/src/models/raster_vector_join.rs @@ -15,9 +15,9 @@ use serde::{Deserialize, Serialize}; #[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] pub struct RasterVectorJoin { #[serde(rename = "params")] - pub params: models::RasterVectorJoinParameters, + pub params: Box, #[serde(rename = "sources")] - pub sources: models::SingleVectorMultipleRasterSources, + pub sources: Box, #[serde(rename = "type")] pub r#type: Type, } @@ -26,8 +26,8 @@ impl RasterVectorJoin { /// # 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. ## Example JSON ```json { \"type\": \"RasterVectorJoin\", \"params\": { \"names\": [\"NDVI\"], \"featureAggregation\": \"first\", \"temporalAggregation\": \"mean\", \"temporalAggregationIgnoreNoData\": true }, \"sources\": { \"vector\": { \"type\": \"OgrSource\", \"params\": { \"data\": \"places\" } }, \"rasters\": [ { \"type\": \"GdalSource\", \"params\": { \"data\": \"ndvi\" } } ] } } ``` pub fn new(params: models::RasterVectorJoinParameters, sources: models::SingleVectorMultipleRasterSources, r#type: Type) -> RasterVectorJoin { RasterVectorJoin { - params, - sources, + params: Box::new(params), + sources: Box::new(sources), r#type, } } diff --git a/rust/src/models/raster_vector_join_parameters.rs b/rust/src/models/raster_vector_join_parameters.rs index 59036336..03e0f986 100644 --- a/rust/src/models/raster_vector_join_parameters.rs +++ b/rust/src/models/raster_vector_join_parameters.rs @@ -21,7 +21,7 @@ pub struct RasterVectorJoinParameters { 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. | Value | Description | | ---------------------------------------- | ---------------------------------------------------------------------------- | | `{\"type\": \"default\"}` | Appends \" (n)\" to the band name with the smallest `n` that avoids a conflict | | `{\"type\": \"suffix\", \"values\": [string]}` | Specifies a suffix for each input, to be appended to the band names | | `{\"type\": \"rename\", \"values\": [string]}` | A list of names for each new column | #[serde(rename = "names")] - pub names: models::ColumnNames, + pub names: Box, /// The aggregation function to use for features covering multiple (raster) time steps. #[serde(rename = "temporalAggregation")] pub temporal_aggregation: models::TemporalAggregationMethod, @@ -35,7 +35,7 @@ impl RasterVectorJoinParameters { RasterVectorJoinParameters { feature_aggregation, feature_aggregation_ignore_no_data: None, - names, + 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 index f4cc8bca..973478c5 100644 --- a/rust/src/models/regular_time_dimension.rs +++ b/rust/src/models/regular_time_dimension.rs @@ -16,14 +16,14 @@ pub struct RegularTimeDimension { #[serde(rename = "origin")] pub origin: i64, #[serde(rename = "step")] - pub step: models::TimeStep, + pub step: Box, } impl RegularTimeDimension { pub fn new(origin: i64, step: models::TimeStep) -> RegularTimeDimension { RegularTimeDimension { origin, - step, + step: Box::new(step), } } } diff --git a/rust/src/models/resource.rs b/rust/src/models/resource.rs index cf746946..bf13fb82 100644 --- a/rust/src/models/resource.rs +++ b/rust/src/models/resource.rs @@ -16,17 +16,17 @@ use serde::{Deserialize, Serialize}; #[serde(tag = "type")] pub enum Resource { #[serde(rename="layer")] - Layer(models::LayerResource), + Layer(Box), #[serde(rename="layerCollection")] - LayerCollection(models::LayerCollectionResource), + LayerCollection(Box), #[serde(rename="project")] - Project(models::ProjectResource), + Project(Box), #[serde(rename="dataset")] - Dataset(models::DatasetResource), + Dataset(Box), #[serde(rename="mlModel")] - MlModel(models::MlModelResource), + MlModel(Box), #[serde(rename="provider")] - Provider(models::DataProviderResource), + Provider(Box), } impl Default for Resource { diff --git a/rust/src/models/role_description.rs b/rust/src/models/role_description.rs index 458f6159..e0f5b063 100644 --- a/rust/src/models/role_description.rs +++ b/rust/src/models/role_description.rs @@ -16,14 +16,14 @@ pub struct RoleDescription { #[serde(rename = "individual")] pub individual: bool, #[serde(rename = "role")] - pub role: models::Role, + pub role: Box, } impl RoleDescription { pub fn new(individual: bool, role: models::Role) -> RoleDescription { RoleDescription { individual, - role, + role: Box::new(role), } } } diff --git a/rust/src/models/search_capabilities.rs b/rust/src/models/search_capabilities.rs index a5708103..88f86535 100644 --- a/rust/src/models/search_capabilities.rs +++ b/rust/src/models/search_capabilities.rs @@ -18,7 +18,7 @@ pub struct SearchCapabilities { #[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: models::SearchTypes, + pub search_types: Box, } impl SearchCapabilities { @@ -26,7 +26,7 @@ impl SearchCapabilities { SearchCapabilities { autocomplete, filters: None, - search_types, + search_types: Box::new(search_types), } } } 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 index 1236a79f..85a1a8ee 100644 --- a/rust/src/models/sentinel_s2_l2_a_cogs_provider_definition.rs +++ b/rust/src/models/sentinel_s2_l2_a_cogs_provider_definition.rs @@ -28,9 +28,9 @@ pub struct SentinelS2L2ACogsProviderDefinition { #[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, + pub query_buffer: Option>, #[serde(rename = "stacApiRetries", skip_serializing_if = "Option::is_none")] - pub stac_api_retries: Option, + pub stac_api_retries: Option>, #[serde(rename = "type")] pub r#type: Type, } diff --git a/rust/src/models/single_band_raster_colorizer.rs b/rust/src/models/single_band_raster_colorizer.rs index 61ad4810..27278e76 100644 --- a/rust/src/models/single_band_raster_colorizer.rs +++ b/rust/src/models/single_band_raster_colorizer.rs @@ -16,7 +16,7 @@ pub struct SingleBandRasterColorizer { #[serde(rename = "band")] pub band: i32, #[serde(rename = "bandColorizer")] - pub band_colorizer: models::Colorizer, + pub band_colorizer: Box, #[serde(rename = "type")] pub r#type: Type, } @@ -25,7 +25,7 @@ impl SingleBandRasterColorizer { pub fn new(band: i32, band_colorizer: models::Colorizer, r#type: Type) -> SingleBandRasterColorizer { SingleBandRasterColorizer { band, - band_colorizer, + band_colorizer: Box::new(band_colorizer), r#type, } } diff --git a/rust/src/models/single_raster_source.rs b/rust/src/models/single_raster_source.rs index d3f64fa5..3d23f2df 100644 --- a/rust/src/models/single_raster_source.rs +++ b/rust/src/models/single_raster_source.rs @@ -14,13 +14,13 @@ use serde::{Deserialize, Serialize}; #[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] pub struct SingleRasterSource { #[serde(rename = "raster")] - pub raster: models::RasterOperator, + pub raster: Box, } impl SingleRasterSource { pub fn new(raster: models::RasterOperator) -> SingleRasterSource { SingleRasterSource { - raster, + 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 index 4252cd29..e5cd72f9 100644 --- a/rust/src/models/single_vector_multiple_raster_sources.rs +++ b/rust/src/models/single_vector_multiple_raster_sources.rs @@ -16,14 +16,14 @@ pub struct SingleVectorMultipleRasterSources { #[serde(rename = "rasters")] pub rasters: Vec, #[serde(rename = "vector")] - pub vector: models::VectorOperator, + pub vector: Box, } impl SingleVectorMultipleRasterSources { pub fn new(rasters: Vec, vector: models::VectorOperator) -> SingleVectorMultipleRasterSources { SingleVectorMultipleRasterSources { rasters, - vector, + vector: Box::new(vector), } } } diff --git a/rust/src/models/spatial_bounds_derive.rs b/rust/src/models/spatial_bounds_derive.rs index 76656a9c..10f9f192 100644 --- a/rust/src/models/spatial_bounds_derive.rs +++ b/rust/src/models/spatial_bounds_derive.rs @@ -16,11 +16,11 @@ use serde::{Deserialize, Serialize}; #[serde(tag = "type")] pub enum SpatialBoundsDerive { #[serde(rename="derive")] - Derive(models::SpatialBoundsDeriveDerive), + Derive(Box), #[serde(rename="bounds")] - Bounds(models::SpatialBoundsDeriveBounds), + Bounds(Box), #[serde(rename="none")] - None(models::SpatialBoundsDeriveNone), + None(Box), } impl Default for SpatialBoundsDerive { diff --git a/rust/src/models/spatial_bounds_derive_bounds.rs b/rust/src/models/spatial_bounds_derive_bounds.rs index 9f87fe98..9c169d99 100644 --- a/rust/src/models/spatial_bounds_derive_bounds.rs +++ b/rust/src/models/spatial_bounds_derive_bounds.rs @@ -14,9 +14,9 @@ use serde::{Deserialize, Serialize}; #[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] pub struct SpatialBoundsDeriveBounds { #[serde(rename = "lowerLeftCoordinate")] - pub lower_left_coordinate: models::Coordinate2D, + pub lower_left_coordinate: Box, #[serde(rename = "upperRightCoordinate")] - pub upper_right_coordinate: models::Coordinate2D, + pub upper_right_coordinate: Box, #[serde(rename = "type")] pub r#type: Type, } @@ -24,8 +24,8 @@ pub struct SpatialBoundsDeriveBounds { impl SpatialBoundsDeriveBounds { pub fn new(lower_left_coordinate: models::Coordinate2D, upper_right_coordinate: models::Coordinate2D, r#type: Type) -> SpatialBoundsDeriveBounds { SpatialBoundsDeriveBounds { - lower_left_coordinate, - upper_right_coordinate, + lower_left_coordinate: Box::new(lower_left_coordinate), + upper_right_coordinate: Box::new(upper_right_coordinate), r#type, } } diff --git a/rust/src/models/spatial_grid_definition.rs b/rust/src/models/spatial_grid_definition.rs index 43c7e29f..f02ddf90 100644 --- a/rust/src/models/spatial_grid_definition.rs +++ b/rust/src/models/spatial_grid_definition.rs @@ -14,16 +14,16 @@ use serde::{Deserialize, Serialize}; #[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] pub struct SpatialGridDefinition { #[serde(rename = "geoTransform")] - pub geo_transform: models::GeoTransform, + pub geo_transform: Box, #[serde(rename = "gridBounds")] - pub grid_bounds: models::GridBoundingBox2D, + pub grid_bounds: Box, } impl SpatialGridDefinition { pub fn new(geo_transform: models::GeoTransform, grid_bounds: models::GridBoundingBox2D) -> SpatialGridDefinition { SpatialGridDefinition { - geo_transform, - grid_bounds, + 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 index 94cec766..ff777b67 100644 --- a/rust/src/models/spatial_grid_descriptor.rs +++ b/rust/src/models/spatial_grid_descriptor.rs @@ -16,14 +16,14 @@ pub struct SpatialGridDescriptor { #[serde(rename = "descriptor")] pub descriptor: models::SpatialGridDescriptorState, #[serde(rename = "spatialGrid")] - pub spatial_grid: models::SpatialGridDefinition, + pub spatial_grid: Box, } impl SpatialGridDescriptor { pub fn new(descriptor: models::SpatialGridDescriptorState, spatial_grid: models::SpatialGridDefinition) -> SpatialGridDescriptor { SpatialGridDescriptor { descriptor, - spatial_grid, + spatial_grid: Box::new(spatial_grid), } } } diff --git a/rust/src/models/spatial_partition2_d.rs b/rust/src/models/spatial_partition2_d.rs index 572d5309..74a4331d 100644 --- a/rust/src/models/spatial_partition2_d.rs +++ b/rust/src/models/spatial_partition2_d.rs @@ -15,17 +15,17 @@ use serde::{Deserialize, Serialize}; #[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] pub struct SpatialPartition2D { #[serde(rename = "lowerRightCoordinate")] - pub lower_right_coordinate: models::Coordinate2D, + pub lower_right_coordinate: Box, #[serde(rename = "upperLeftCoordinate")] - pub upper_left_coordinate: models::Coordinate2D, + 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, - upper_left_coordinate, + lower_right_coordinate: Box::new(lower_right_coordinate), + upper_left_coordinate: Box::new(upper_left_coordinate), } } } diff --git a/rust/src/models/spatial_reference_specification.rs b/rust/src/models/spatial_reference_specification.rs index fbd24c50..6f4df8c6 100644 --- a/rust/src/models/spatial_reference_specification.rs +++ b/rust/src/models/spatial_reference_specification.rs @@ -19,7 +19,7 @@ pub struct SpatialReferenceSpecification { #[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: models::BoundingBox2D, + pub extent: Box, #[serde(rename = "name")] pub name: String, #[serde(rename = "projString")] @@ -34,7 +34,7 @@ impl SpatialReferenceSpecification { SpatialReferenceSpecification { axis_labels: None, axis_order: None, - extent, + 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 index 7704cf83..45045a90 100644 --- a/rust/src/models/st_rectangle.rs +++ b/rust/src/models/st_rectangle.rs @@ -14,19 +14,19 @@ use serde::{Deserialize, Serialize}; #[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] pub struct StRectangle { #[serde(rename = "boundingBox")] - pub bounding_box: models::BoundingBox2D, + pub bounding_box: Box, #[serde(rename = "spatialReference")] pub spatial_reference: String, #[serde(rename = "timeInterval")] - pub time_interval: models::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, + bounding_box: Box::new(bounding_box), spatial_reference, - time_interval, + time_interval: Box::new(time_interval), } } } diff --git a/rust/src/models/stroke_param.rs b/rust/src/models/stroke_param.rs index db07d3fc..6f9cbadd 100644 --- a/rust/src/models/stroke_param.rs +++ b/rust/src/models/stroke_param.rs @@ -14,16 +14,16 @@ use serde::{Deserialize, Serialize}; #[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] pub struct StrokeParam { #[serde(rename = "color")] - pub color: models::ColorParam, + pub color: Box, #[serde(rename = "width")] - pub width: models::NumberParam, + pub width: Box, } impl StrokeParam { pub fn new(color: models::ColorParam, width: models::NumberParam) -> StrokeParam { StrokeParam { - color, - width, + color: Box::new(color), + width: Box::new(width), } } } diff --git a/rust/src/models/suggest_meta_data.rs b/rust/src/models/suggest_meta_data.rs index 404710fe..2dc3ecb2 100644 --- a/rust/src/models/suggest_meta_data.rs +++ b/rust/src/models/suggest_meta_data.rs @@ -14,7 +14,7 @@ use serde::{Deserialize, Serialize}; #[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] pub struct SuggestMetaData { #[serde(rename = "dataPath")] - pub data_path: models::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")] @@ -24,7 +24,7 @@ pub struct SuggestMetaData { impl SuggestMetaData { pub fn new(data_path: models::DataPath) -> SuggestMetaData { SuggestMetaData { - data_path, + 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 index 7a22d0e8..9ed3be3f 100644 --- a/rust/src/models/symbology.rs +++ b/rust/src/models/symbology.rs @@ -15,13 +15,13 @@ use serde::{Deserialize, Serialize}; #[serde(tag = "type")] pub enum Symbology { #[serde(rename="raster")] - Raster(models::RasterSymbology), + Raster(Box), #[serde(rename="point")] - Point(models::PointSymbology), + Point(Box), #[serde(rename="line")] - Line(models::LineSymbology), + Line(Box), #[serde(rename="polygon")] - Polygon(models::PolygonSymbology), + Polygon(Box), } impl Default for Symbology { diff --git a/rust/src/models/task_status.rs b/rust/src/models/task_status.rs index de6acba7..732572dc 100644 --- a/rust/src/models/task_status.rs +++ b/rust/src/models/task_status.rs @@ -15,13 +15,13 @@ use serde::{Deserialize, Serialize}; #[serde(tag = "status")] pub enum TaskStatus { #[serde(rename="TaskStatusRunning")] - TaskStatusRunning(models::TaskStatusRunning), + TaskStatusRunning(Box), #[serde(rename="TaskStatusCompleted")] - TaskStatusCompleted(models::TaskStatusCompleted), + TaskStatusCompleted(Box), #[serde(rename="TaskStatusAborted")] - TaskStatusAborted(models::TaskStatusAborted), + TaskStatusAborted(Box), #[serde(rename="TaskStatusFailed")] - TaskStatusFailed(models::TaskStatusFailed), + TaskStatusFailed(Box), } impl Default for TaskStatus { diff --git a/rust/src/models/text_symbology.rs b/rust/src/models/text_symbology.rs index 35f53734..bab27bf4 100644 --- a/rust/src/models/text_symbology.rs +++ b/rust/src/models/text_symbology.rs @@ -16,17 +16,17 @@ pub struct TextSymbology { #[serde(rename = "attribute")] pub attribute: String, #[serde(rename = "fillColor")] - pub fill_color: models::ColorParam, + pub fill_color: Box, #[serde(rename = "stroke")] - pub stroke: models::StrokeParam, + pub stroke: Box, } impl TextSymbology { pub fn new(attribute: String, fill_color: models::ColorParam, stroke: models::StrokeParam) -> TextSymbology { TextSymbology { attribute, - fill_color, - stroke, + 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 index 3e0bf97a..3e7591c7 100644 --- a/rust/src/models/time_descriptor.rs +++ b/rust/src/models/time_descriptor.rs @@ -14,16 +14,16 @@ 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>, + pub bounds: Option>>, #[serde(rename = "dimension")] - pub dimension: models::TimeDimension, + pub dimension: Box, } impl TimeDescriptor { pub fn new(dimension: models::TimeDimension) -> TimeDescriptor { TimeDescriptor { bounds: None, - dimension, + dimension: Box::new(dimension), } } } diff --git a/rust/src/models/time_dimension.rs b/rust/src/models/time_dimension.rs index 56f52be6..cc543a79 100644 --- a/rust/src/models/time_dimension.rs +++ b/rust/src/models/time_dimension.rs @@ -14,8 +14,8 @@ use serde::{Deserialize, Serialize}; #[derive(Clone, Debug, PartialEq, Serialize, Deserialize)] #[serde(untagged)] pub enum TimeDimension { - TimeDimensionOneOf(models::TimeDimensionOneOf), - TimeDimensionOneOf1(models::TimeDimensionOneOf1), + TimeDimensionOneOf(Box), + TimeDimensionOneOf1(Box), } impl Default for TimeDimension { diff --git a/rust/src/models/time_dimension_one_of.rs b/rust/src/models/time_dimension_one_of.rs index bd298142..a94131b2 100644 --- a/rust/src/models/time_dimension_one_of.rs +++ b/rust/src/models/time_dimension_one_of.rs @@ -16,7 +16,7 @@ pub struct TimeDimensionOneOf { #[serde(rename = "origin")] pub origin: i64, #[serde(rename = "step")] - pub step: models::TimeStep, + pub step: Box, #[serde(rename = "type")] pub r#type: Type, } @@ -25,7 +25,7 @@ impl TimeDimensionOneOf { pub fn new(origin: i64, step: models::TimeStep, r#type: Type) -> TimeDimensionOneOf { TimeDimensionOneOf { origin, - step, + step: Box::new(step), r#type, } } diff --git a/rust/src/models/typed_data_provider_definition.rs b/rust/src/models/typed_data_provider_definition.rs index 3f5240fe..9b47fa8e 100644 --- a/rust/src/models/typed_data_provider_definition.rs +++ b/rust/src/models/typed_data_provider_definition.rs @@ -15,29 +15,29 @@ use serde::{Deserialize, Serialize}; #[serde(tag = "type")] pub enum TypedDataProviderDefinition { #[serde(rename="Aruna")] - Aruna(models::ArunaDataProviderDefinition), + Aruna(Box), #[serde(rename="CopernicusDataspace")] - CopernicusDataspace(models::CopernicusDataspaceDataProviderDefinition), + CopernicusDataspace(Box), #[serde(rename="DatasetLayerListing")] - DatasetLayerListing(models::DatasetLayerListingProviderDefinition), + DatasetLayerListing(Box), #[serde(rename="EbvPortal")] - EbvPortal(models::EbvPortalDataProviderDefinition), + EbvPortal(Box), #[serde(rename="Edr")] - Edr(models::EdrDataProviderDefinition), + Edr(Box), #[serde(rename="Gbif")] - Gbif(models::GbifDataProviderDefinition), + Gbif(Box), #[serde(rename="GfbioAbcd")] - GfbioAbcd(models::GfbioAbcdDataProviderDefinition), + GfbioAbcd(Box), #[serde(rename="GfbioCollections")] - GfbioCollections(models::GfbioCollectionsDataProviderDefinition), + GfbioCollections(Box), #[serde(rename="NetCdfCf")] - NetCdfCf(models::NetCdfCfDataProviderDefinition), + NetCdfCf(Box), #[serde(rename="Pangaea")] - Pangaea(models::PangaeaDataProviderDefinition), + Pangaea(Box), #[serde(rename="SentinelS2L2ACogs")] - SentinelS2L2ACogs(models::SentinelS2L2ACogsProviderDefinition), + SentinelS2L2ACogs(Box), #[serde(rename="WildLIVE!")] - WildLiveExclamation(models::WildliveDataConnectorDefinition), + WildLiveExclamation(Box), } impl Default for TypedDataProviderDefinition { diff --git a/rust/src/models/typed_geometry.rs b/rust/src/models/typed_geometry.rs index 117b534c..8618607c 100644 --- a/rust/src/models/typed_geometry.rs +++ b/rust/src/models/typed_geometry.rs @@ -14,10 +14,10 @@ use serde::{Deserialize, Serialize}; #[derive(Clone, Debug, PartialEq, Serialize, Deserialize)] #[serde(untagged)] pub enum TypedGeometry { - TypedGeometryOneOf(models::TypedGeometryOneOf), - TypedGeometryOneOf1(models::TypedGeometryOneOf1), - TypedGeometryOneOf2(models::TypedGeometryOneOf2), - TypedGeometryOneOf3(models::TypedGeometryOneOf3), + TypedGeometryOneOf(Box), + TypedGeometryOneOf1(Box), + TypedGeometryOneOf2(Box), + TypedGeometryOneOf3(Box), } impl Default for TypedGeometry { diff --git a/rust/src/models/typed_geometry_one_of_1.rs b/rust/src/models/typed_geometry_one_of_1.rs index 8e0055c8..2a4b9ab0 100644 --- a/rust/src/models/typed_geometry_one_of_1.rs +++ b/rust/src/models/typed_geometry_one_of_1.rs @@ -14,13 +14,13 @@ use serde::{Deserialize, Serialize}; #[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] pub struct TypedGeometryOneOf1 { #[serde(rename = "MultiPoint")] - pub multi_point: models::MultiPoint, + pub multi_point: Box, } impl TypedGeometryOneOf1 { pub fn new(multi_point: models::MultiPoint) -> TypedGeometryOneOf1 { TypedGeometryOneOf1 { - multi_point, + 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 index 07f7da10..5442dbde 100644 --- a/rust/src/models/typed_geometry_one_of_2.rs +++ b/rust/src/models/typed_geometry_one_of_2.rs @@ -14,13 +14,13 @@ use serde::{Deserialize, Serialize}; #[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] pub struct TypedGeometryOneOf2 { #[serde(rename = "MultiLineString")] - pub multi_line_string: models::MultiLineString, + pub multi_line_string: Box, } impl TypedGeometryOneOf2 { pub fn new(multi_line_string: models::MultiLineString) -> TypedGeometryOneOf2 { TypedGeometryOneOf2 { - multi_line_string, + 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 index c2047633..2c75585c 100644 --- a/rust/src/models/typed_geometry_one_of_3.rs +++ b/rust/src/models/typed_geometry_one_of_3.rs @@ -14,13 +14,13 @@ use serde::{Deserialize, Serialize}; #[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] pub struct TypedGeometryOneOf3 { #[serde(rename = "MultiPolygon")] - pub multi_polygon: models::MultiPolygon, + pub multi_polygon: Box, } impl TypedGeometryOneOf3 { pub fn new(multi_polygon: models::MultiPolygon) -> TypedGeometryOneOf3 { TypedGeometryOneOf3 { - multi_polygon, + multi_polygon: Box::new(multi_polygon), } } } diff --git a/rust/src/models/typed_operator.rs b/rust/src/models/typed_operator.rs index 8bb88815..c4247e69 100644 --- a/rust/src/models/typed_operator.rs +++ b/rust/src/models/typed_operator.rs @@ -15,7 +15,7 @@ use serde::{Deserialize, Serialize}; #[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] pub struct TypedOperator { #[serde(rename = "operator")] - pub operator: models::TypedOperatorOperator, + pub operator: Box, #[serde(rename = "type")] pub r#type: Type, } @@ -24,7 +24,7 @@ impl TypedOperator { /// An enum to differentiate between `Operator` variants pub fn new(operator: models::TypedOperatorOperator, r#type: Type) -> TypedOperator { TypedOperator { - operator, + operator: Box::new(operator), r#type, } } diff --git a/rust/src/models/typed_plot_result_descriptor.rs b/rust/src/models/typed_plot_result_descriptor.rs index 8efe0286..2d793fcc 100644 --- a/rust/src/models/typed_plot_result_descriptor.rs +++ b/rust/src/models/typed_plot_result_descriptor.rs @@ -14,11 +14,11 @@ 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, + pub bbox: Option>, #[serde(rename = "spatialReference")] pub spatial_reference: String, #[serde(rename = "time", skip_serializing_if = "Option::is_none")] - pub time: Option, + pub time: Option>, #[serde(rename = "type")] pub r#type: Type, } diff --git a/rust/src/models/typed_raster_result_descriptor.rs b/rust/src/models/typed_raster_result_descriptor.rs index f6c9cf62..84a8b8bb 100644 --- a/rust/src/models/typed_raster_result_descriptor.rs +++ b/rust/src/models/typed_raster_result_descriptor.rs @@ -18,11 +18,11 @@ pub struct TypedRasterResultDescriptor { #[serde(rename = "dataType")] pub data_type: models::RasterDataType, #[serde(rename = "spatialGrid")] - pub spatial_grid: models::SpatialGridDescriptor, + pub spatial_grid: Box, #[serde(rename = "spatialReference")] pub spatial_reference: String, #[serde(rename = "time")] - pub time: models::TimeDescriptor, + pub time: Box, #[serde(rename = "type")] pub r#type: Type, } @@ -32,9 +32,9 @@ impl TypedRasterResultDescriptor { TypedRasterResultDescriptor { bands, data_type, - spatial_grid, + spatial_grid: Box::new(spatial_grid), spatial_reference, - time, + time: Box::new(time), r#type, } } diff --git a/rust/src/models/typed_result_descriptor.rs b/rust/src/models/typed_result_descriptor.rs index 329187b9..b12b53d1 100644 --- a/rust/src/models/typed_result_descriptor.rs +++ b/rust/src/models/typed_result_descriptor.rs @@ -15,11 +15,11 @@ use serde::{Deserialize, Serialize}; #[serde(tag = "type")] pub enum TypedResultDescriptor { #[serde(rename="plot")] - Plot(models::TypedPlotResultDescriptor), + Plot(Box), #[serde(rename="raster")] - Raster(models::TypedRasterResultDescriptor), + Raster(Box), #[serde(rename="vector")] - Vector(models::TypedVectorResultDescriptor), + Vector(Box), } impl Default for TypedResultDescriptor { diff --git a/rust/src/models/typed_vector_result_descriptor.rs b/rust/src/models/typed_vector_result_descriptor.rs index 6bf66ff8..ae470eb3 100644 --- a/rust/src/models/typed_vector_result_descriptor.rs +++ b/rust/src/models/typed_vector_result_descriptor.rs @@ -14,7 +14,7 @@ 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, + pub bbox: Option>, #[serde(rename = "columns")] pub columns: std::collections::HashMap, #[serde(rename = "dataType")] @@ -22,7 +22,7 @@ pub struct TypedVectorResultDescriptor { #[serde(rename = "spatialReference")] pub spatial_reference: String, #[serde(rename = "time", skip_serializing_if = "Option::is_none")] - pub time: Option, + pub time: Option>, #[serde(rename = "type")] pub r#type: Type, } diff --git a/rust/src/models/update_layer.rs b/rust/src/models/update_layer.rs index 8514ab73..0c6251d5 100644 --- a/rust/src/models/update_layer.rs +++ b/rust/src/models/update_layer.rs @@ -24,9 +24,9 @@ pub struct UpdateLayer { #[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>, + pub symbology: Option>>, #[serde(rename = "workflow")] - pub workflow: models::Workflow, + pub workflow: Box, } impl UpdateLayer { @@ -37,7 +37,7 @@ impl UpdateLayer { name, properties: None, symbology: None, - workflow, + workflow: Box::new(workflow), } } } diff --git a/rust/src/models/update_project.rs b/rust/src/models/update_project.rs index eff2bd1b..3f907a6f 100644 --- a/rust/src/models/update_project.rs +++ b/rust/src/models/update_project.rs @@ -14,7 +14,7 @@ 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>, + 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")] @@ -26,7 +26,7 @@ pub struct UpdateProject { #[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>, + pub time_step: Option>>, } impl UpdateProject { diff --git a/rust/src/models/user_session.rs b/rust/src/models/user_session.rs index 97021c6c..8d4d1b20 100644 --- a/rust/src/models/user_session.rs +++ b/rust/src/models/user_session.rs @@ -22,11 +22,11 @@ pub struct UserSession { #[serde(rename = "roles")] pub roles: Vec, #[serde(rename = "user")] - pub user: models::UserInfo, + 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>, + pub view: Option>>, } impl UserSession { @@ -36,7 +36,7 @@ impl UserSession { id, project: None, roles, - user, + user: Box::new(user), valid_until, view: None, } diff --git a/rust/src/models/vec_update.rs b/rust/src/models/vec_update.rs index 156a3493..65681cea 100644 --- a/rust/src/models/vec_update.rs +++ b/rust/src/models/vec_update.rs @@ -15,7 +15,7 @@ use serde::{Deserialize, Serialize}; #[serde(untagged)] pub enum VecUpdate { ProjectUpdateToken(models::ProjectUpdateToken), - Plot(models::Plot), + Plot(Box), } impl Default for VecUpdate { diff --git a/rust/src/models/vector_column_info.rs b/rust/src/models/vector_column_info.rs index 9c8e7e03..b4976185 100644 --- a/rust/src/models/vector_column_info.rs +++ b/rust/src/models/vector_column_info.rs @@ -16,14 +16,14 @@ pub struct VectorColumnInfo { #[serde(rename = "dataType")] pub data_type: models::FeatureDataType, #[serde(rename = "measurement")] - pub measurement: models::Measurement, + pub measurement: Box, } impl VectorColumnInfo { pub fn new(data_type: models::FeatureDataType, measurement: models::Measurement) -> VectorColumnInfo { VectorColumnInfo { data_type, - measurement, + measurement: Box::new(measurement), } } } diff --git a/rust/src/models/vector_operator.rs b/rust/src/models/vector_operator.rs index 82ed2ed4..a070d4fd 100644 --- a/rust/src/models/vector_operator.rs +++ b/rust/src/models/vector_operator.rs @@ -16,9 +16,9 @@ use serde::{Deserialize, Serialize}; #[serde(tag = "type")] pub enum VectorOperator { #[serde(rename="MockPointSource")] - MockPointSource(models::MockPointSource), + MockPointSource(Box), #[serde(rename="RasterVectorJoin")] - RasterVectorJoin(models::RasterVectorJoin), + RasterVectorJoin(Box), } impl Default for VectorOperator { diff --git a/rust/src/models/vector_result_descriptor.rs b/rust/src/models/vector_result_descriptor.rs index 42f9a48e..8508b0b2 100644 --- a/rust/src/models/vector_result_descriptor.rs +++ b/rust/src/models/vector_result_descriptor.rs @@ -14,7 +14,7 @@ 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>, + pub bbox: Option>>, #[serde(rename = "columns")] pub columns: std::collections::HashMap, #[serde(rename = "dataType")] @@ -22,7 +22,7 @@ pub struct VectorResultDescriptor { #[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>, + pub time: Option>>, } impl VectorResultDescriptor { diff --git a/rust/src/models/workflow.rs b/rust/src/models/workflow.rs index 2c9b3222..a53ebd15 100644 --- a/rust/src/models/workflow.rs +++ b/rust/src/models/workflow.rs @@ -14,7 +14,7 @@ use serde::{Deserialize, Serialize}; #[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] pub struct Workflow { #[serde(rename = "operator")] - pub operator: models::TypedOperatorOperator, + pub operator: Box, #[serde(rename = "type")] pub r#type: Type, } @@ -22,7 +22,7 @@ pub struct Workflow { impl Workflow { pub fn new(operator: models::TypedOperatorOperator, r#type: Type) -> Workflow { Workflow { - operator, + operator: Box::new(operator), r#type, } } From 5140789d86bb2f7487ded92e1ebcabe1fc49f780 Mon Sep 17 00:00:00 2001 From: Christian Beilschmidt Date: Thu, 5 Feb 2026 11:23:33 +0100 Subject: [PATCH 15/19] feat: Refactor ColumnNames model and add Default, Names, and Suffix models with corresponding documentation --- .generation/config.ini | 2 +- .generation/input/openapi.json | 3 +++ rust/.openapi-generator/FILES | 12 +++++----- rust/README.md | 6 ++--- rust/docs/ColumnNames.md | 6 ++--- rust/docs/Default.md | 11 +++++++++ rust/docs/Names.md | 12 ++++++++++ rust/docs/Suffix.md | 12 ++++++++++ rust/src/models/column_names.rs | 8 +++---- rust/src/models/default.rs | 39 ++++++++++++++++++++++++++++++ rust/src/models/mod.rs | 12 +++++----- rust/src/models/names.rs | 42 +++++++++++++++++++++++++++++++++ rust/src/models/suffix.rs | 42 +++++++++++++++++++++++++++++++++ 13 files changed, 184 insertions(+), 23 deletions(-) create mode 100644 rust/docs/Default.md create mode 100644 rust/docs/Names.md create mode 100644 rust/docs/Suffix.md create mode 100644 rust/src/models/default.rs create mode 100644 rust/src/models/names.rs create mode 100644 rust/src/models/suffix.rs diff --git a/.generation/config.ini b/.generation/config.ini index 8c19ff91..d5d07b00 100644 --- a/.generation/config.ini +++ b/.generation/config.ini @@ -1,5 +1,5 @@ [input] -backendCommit = 126f71e6fcb449701885fb5d7984d6c4022c0b5a +backendCommit = 9d0869cc4281aad7c2d761f11909cf292ba9e111 [general] githubUrl = https://github.com/geo-engine/openapi-client diff --git a/.generation/input/openapi.json b/.generation/input/openapi.json index aa7eb7eb..6828b60e 100644 --- a/.generation/input/openapi.json +++ b/.generation/input/openapi.json @@ -5645,6 +5645,7 @@ "oneOf": [ { "type": "object", + "title": "Default", "required": [ "type" ], @@ -5659,6 +5660,7 @@ }, { "type": "object", + "title": "Suffix", "required": [ "values", "type" @@ -5680,6 +5682,7 @@ }, { "type": "object", + "title": "Names", "required": [ "values", "type" diff --git a/rust/.openapi-generator/FILES b/rust/.openapi-generator/FILES index abb5f6c6..4f5b086a 100644 --- a/rust/.openapi-generator/FILES +++ b/rust/.openapi-generator/FILES @@ -20,9 +20,6 @@ docs/CollectionType.md docs/ColorParam.md docs/Colorizer.md docs/ColumnNames.md -docs/ColumnNamesOneOf.md -docs/ColumnNamesOneOf1.md -docs/ColumnNamesOneOf2.md docs/ComputationQuota.md docs/ContinuousMeasurement.md docs/Coordinate2D.md @@ -46,6 +43,7 @@ docs/DatasetListing.md docs/DatasetNameResponse.md docs/DatasetResource.md docs/DatasetsApi.md +docs/Default.md docs/DerivedColor.md docs/DerivedNumber.md docs/EbvPortalDataProviderDefinition.md @@ -116,6 +114,7 @@ docs/MultiBandRasterColorizer.md docs/MultiLineString.md docs/MultiPoint.md docs/MultiPolygon.md +docs/Names.md docs/NetCdfCfDataProviderDefinition.md docs/NumberParam.md docs/OgcwcsApi.md @@ -213,6 +212,7 @@ docs/StacQueryBuffer.md docs/StaticColor.md docs/StaticNumber.md docs/StrokeParam.md +docs/Suffix.md docs/SuggestMetaData.md docs/Symbology.md docs/TaskAbortOptions.md @@ -324,9 +324,6 @@ src/models/collection_type.rs src/models/color_param.rs src/models/colorizer.rs src/models/column_names.rs -src/models/column_names_one_of.rs -src/models/column_names_one_of_1.rs -src/models/column_names_one_of_2.rs src/models/computation_quota.rs src/models/continuous_measurement.rs src/models/coordinate2_d.rs @@ -349,6 +346,7 @@ 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 @@ -417,6 +415,7 @@ 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/names.rs src/models/net_cdf_cf_data_provider_definition.rs src/models/number_param.rs src/models/ogr_meta_data.rs @@ -506,6 +505,7 @@ src/models/stac_query_buffer.rs src/models/static_color.rs src/models/static_number.rs src/models/stroke_param.rs +src/models/suffix.rs src/models/suggest_meta_data.rs src/models/symbology.rs src/models/task_abort_options.rs diff --git a/rust/README.md b/rust/README.md index cc762b6a..0c1603cf 100644 --- a/rust/README.md +++ b/rust/README.md @@ -140,9 +140,6 @@ Class | Method | HTTP request | Description - [ColorParam](docs/ColorParam.md) - [Colorizer](docs/Colorizer.md) - [ColumnNames](docs/ColumnNames.md) - - [ColumnNamesOneOf](docs/ColumnNamesOneOf.md) - - [ColumnNamesOneOf1](docs/ColumnNamesOneOf1.md) - - [ColumnNamesOneOf2](docs/ColumnNamesOneOf2.md) - [ComputationQuota](docs/ComputationQuota.md) - [ContinuousMeasurement](docs/ContinuousMeasurement.md) - [Coordinate2D](docs/Coordinate2D.md) @@ -165,6 +162,7 @@ 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) @@ -232,6 +230,7 @@ Class | Method | HTTP request | Description - [MultiLineString](docs/MultiLineString.md) - [MultiPoint](docs/MultiPoint.md) - [MultiPolygon](docs/MultiPolygon.md) + - [Names](docs/Names.md) - [NetCdfCfDataProviderDefinition](docs/NetCdfCfDataProviderDefinition.md) - [NumberParam](docs/NumberParam.md) - [OgrMetaData](docs/OgrMetaData.md) @@ -321,6 +320,7 @@ Class | Method | HTTP request | Description - [StaticColor](docs/StaticColor.md) - [StaticNumber](docs/StaticNumber.md) - [StrokeParam](docs/StrokeParam.md) + - [Suffix](docs/Suffix.md) - [SuggestMetaData](docs/SuggestMetaData.md) - [Symbology](docs/Symbology.md) - [TaskAbortOptions](docs/TaskAbortOptions.md) diff --git a/rust/docs/ColumnNames.md b/rust/docs/ColumnNames.md index 9cfd665c..b4ab5344 100644 --- a/rust/docs/ColumnNames.md +++ b/rust/docs/ColumnNames.md @@ -4,9 +4,9 @@ | Name | Description | |---- | -----| -| ColumnNamesOneOf | | -| ColumnNamesOneOf1 | | -| ColumnNamesOneOf2 | | +| 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/Default.md b/rust/docs/Default.md new file mode 100644 index 00000000..591f4f35 --- /dev/null +++ b/rust/docs/Default.md @@ -0,0 +1,11 @@ +# Default + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**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/Names.md b/rust/docs/Names.md new file mode 100644 index 00000000..92e0fac3 --- /dev/null +++ b/rust/docs/Names.md @@ -0,0 +1,12 @@ +# Names + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**r#type** | **String** | | +**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/Suffix.md b/rust/docs/Suffix.md new file mode 100644 index 00000000..af14484d --- /dev/null +++ b/rust/docs/Suffix.md @@ -0,0 +1,12 @@ +# Suffix + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**r#type** | **String** | | +**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/src/models/column_names.rs b/rust/src/models/column_names.rs index ac088233..167b4ba5 100644 --- a/rust/src/models/column_names.rs +++ b/rust/src/models/column_names.rs @@ -14,14 +14,14 @@ use serde::{Deserialize, Serialize}; #[derive(Clone, Debug, PartialEq, Serialize, Deserialize)] #[serde(untagged)] pub enum ColumnNames { - ColumnNamesOneOf(Box), - ColumnNamesOneOf1(Box), - ColumnNamesOneOf2(Box), + Default(Box), + Suffix(Box), + Names(Box), } impl Default for ColumnNames { fn default() -> Self { - Self::ColumnNamesOneOf(Default::default()) + Self::Default(Default::default()) } } /// diff --git a/rust/src/models/default.rs b/rust/src/models/default.rs new file mode 100644 index 00000000..8c8caab4 --- /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 Default for Type { + fn default() -> Type { + Self::Default + } +} + diff --git a/rust/src/models/mod.rs b/rust/src/models/mod.rs index c11f1b8b..79d05f89 100644 --- a/rust/src/models/mod.rs +++ b/rust/src/models/mod.rs @@ -34,12 +34,6 @@ pub mod colorizer; pub use self::colorizer::Colorizer; pub mod column_names; pub use self::column_names::ColumnNames; -pub mod column_names_one_of; -pub use self::column_names_one_of::ColumnNamesOneOf; -pub mod column_names_one_of_1; -pub use self::column_names_one_of_1::ColumnNamesOneOf1; -pub mod column_names_one_of_2; -pub use self::column_names_one_of_2::ColumnNamesOneOf2; pub mod computation_quota; pub use self::computation_quota::ComputationQuota; pub mod continuous_measurement; @@ -84,6 +78,8 @@ 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; @@ -218,6 +214,8 @@ pub mod multi_point; pub use self::multi_point::MultiPoint; pub mod multi_polygon; pub use self::multi_polygon::MultiPolygon; +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; @@ -396,6 +394,8 @@ pub mod static_number; pub use self::static_number::StaticNumber; 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; 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/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 + } +} + From 1fc5fb8b0646409d13033da54aca0ab3ee497bae Mon Sep 17 00:00:00 2001 From: Christian Beilschmidt Date: Thu, 5 Feb 2026 11:29:56 +0100 Subject: [PATCH 16/19] feat: Add default.rs modifications and update Default implementation for Type --- .generation/generate.py | 1 + .generation/post-process/rust.py | 10 ++++++++++ rust/src/models/default.rs | 2 +- 3 files changed, 12 insertions(+), 1 deletion(-) diff --git a/.generation/generate.py b/.generation/generate.py index c02e62bd..96663fa6 100755 --- a/.generation/generate.py +++ b/.generation/generate.py @@ -308,6 +308,7 @@ def generate_rust_code( "src/apis/projects_api.rs", "src/apis/tasks_api.rs", "src/apis/uploads_api.rs", + "src/models/default.rs", "src/models/spatial_partition2_d.rs", "src/models/spatial_resolution.rs", ]: diff --git a/.generation/post-process/rust.py b/.generation/post-process/rust.py index 4d903bdf..d5a18752 100644 --- a/.generation/post-process/rust.py +++ b/.generation/post-process/rust.py @@ -190,10 +190,20 @@ def cargo_toml(file_contents: List[str]) -> Generator[str, None, None]: 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 + + input_file = Path(sys.argv[1]) file_modifications = { "Cargo.toml": cargo_toml, + "default.rs": default_rs, "ogcwfs_api.rs": ogcwfs_api_rs, "ogcwms_api.rs": ogcwms_api_rs, "projects_api.rs": projects_api_rs, diff --git a/rust/src/models/default.rs b/rust/src/models/default.rs index 8c8caab4..6abd0133 100644 --- a/rust/src/models/default.rs +++ b/rust/src/models/default.rs @@ -31,7 +31,7 @@ pub enum Type { Default, } -impl Default for Type { +impl std::default::Default for Type { fn default() -> Type { Self::Default } From 33110d06635f2bb68c4c3c403aba3823a6632840 Mon Sep 17 00:00:00 2001 From: Christian Beilschmidt Date: Thu, 5 Feb 2026 11:52:19 +0100 Subject: [PATCH 17/19] feat: Update backendCommit in config.ini and refine outputBand structure in expression_parameters.rs --- .generation/config.ini | 2 +- .generation/input/openapi.json | 11 ++--------- rust/src/models/expression_parameters.rs | 4 ++-- 3 files changed, 5 insertions(+), 12 deletions(-) diff --git a/.generation/config.ini b/.generation/config.ini index d5d07b00..6445f3b7 100644 --- a/.generation/config.ini +++ b/.generation/config.ini @@ -1,5 +1,5 @@ [input] -backendCommit = 9d0869cc4281aad7c2d761f11909cf292ba9e111 +backendCommit = 9d1255a7a1c42d2133f3ccb6b07a987631154da5 [general] githubUrl = https://github.com/geo-engine/openapi-client diff --git a/.generation/input/openapi.json b/.generation/input/openapi.json index 6828b60e..0dc075de 100644 --- a/.generation/input/openapi.json +++ b/.generation/input/openapi.json @@ -6540,15 +6540,8 @@ "description": "Should NO DATA values be mapped with the `expression`? Otherwise, they are mapped automatically to NO DATA." }, "outputBand": { - "oneOf": [ - { - "type": "null" - }, - { - "$ref": "#/components/schemas/RasterBandDescriptor", - "description": "Description about the output" - } - ] + "$ref": "#/components/schemas/RasterBandDescriptor", + "description": "Description about the output" }, "outputType": { "$ref": "#/components/schemas/RasterDataType", diff --git a/rust/src/models/expression_parameters.rs b/rust/src/models/expression_parameters.rs index edfa6443..8c3d65ce 100644 --- a/rust/src/models/expression_parameters.rs +++ b/rust/src/models/expression_parameters.rs @@ -21,8 +21,8 @@ pub struct ExpressionParameters { #[serde(rename = "mapNoData")] pub map_no_data: bool, /// Description about the output - #[serde(rename = "outputBand", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")] - pub output_band: Option>>, + #[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, From 65dd9ab43e9d49a41096efd9dd5455992a4d0342 Mon Sep 17 00:00:00 2001 From: Christian Beilschmidt Date: Thu, 5 Feb 2026 12:12:00 +0100 Subject: [PATCH 18/19] python and typescript code --- python/.openapi-generator/FILES | 66 +++++++ python/README.md | 22 +++ python/geoengine_openapi_client/__init__.py | 44 +++++ .../models/__init__.py | 22 +++ .../models/bounding_box2_d.py | 13 +- .../models/column_names.py | 152 ++++++++++++++ .../models/default.py | 95 +++++++++ .../models/expression.py | 109 +++++++++++ .../models/expression_parameters.py | 99 ++++++++++ .../models/feature_aggregation_method.py | 38 ++++ .../models/gdal_source.py | 101 ++++++++++ .../models/gdal_source_parameters.py | 96 +++++++++ .../models/mock_point_source.py | 101 ++++++++++ .../models/mock_point_source_parameters.py | 102 ++++++++++ .../geoengine_openapi_client/models/names.py | 97 +++++++++ .../models/raster_operator.py | 158 +++++++++++++++ .../models/raster_vector_join.py | 109 +++++++++++ .../models/raster_vector_join_parameters.py | 102 ++++++++++ .../models/single_raster_source.py | 94 +++++++++ .../single_vector_multiple_raster_sources.py | 104 ++++++++++ .../models/spatial_bounds_derive.py | 175 +++++++++++++++++ .../models/spatial_bounds_derive_bounds.py | 105 ++++++++++ .../models/spatial_bounds_derive_derive.py | 95 +++++++++ .../models/spatial_bounds_derive_none.py | 95 +++++++++ .../geoengine_openapi_client/models/suffix.py | 97 +++++++++ .../models/temporal_aggregation_method.py | 39 ++++ .../models/vector_operator.py | 158 +++++++++++++++ python/test/test_column_names.py | 59 ++++++ python/test/test_default.py | 53 +++++ python/test/test_expression.py | 67 +++++++ python/test/test_expression_parameters.py | 60 ++++++ .../test/test_feature_aggregation_method.py | 34 ++++ python/test/test_gdal_source.py | 59 ++++++ python/test/test_gdal_source_parameters.py | 54 +++++ python/test/test_mock_point_source.py | 67 +++++++ .../test/test_mock_point_source_parameters.py | 63 ++++++ python/test/test_names.py | 59 ++++++ python/test/test_raster_operator.py | 63 ++++++ python/test/test_raster_vector_join.py | 75 +++++++ .../test_raster_vector_join_parameters.py | 59 ++++++ python/test/test_single_raster_source.py | 53 +++++ ...t_single_vector_multiple_raster_sources.py | 59 ++++++ python/test/test_spatial_bounds_derive.py | 53 +++++ .../test/test_spatial_bounds_derive_bounds.py | 53 +++++ .../test/test_spatial_bounds_derive_derive.py | 53 +++++ .../test/test_spatial_bounds_derive_none.py | 53 +++++ python/test/test_suffix.py | 59 ++++++ .../test/test_temporal_aggregation_method.py | 34 ++++ python/test/test_vector_operator.py | 75 +++++++ typescript/README.md | 22 +++ typescript/dist/esm/models/ColumnNames.d.ts | 24 +++ typescript/dist/esm/models/ColumnNames.js | 58 ++++++ typescript/dist/esm/models/Default.d.ts | 39 ++++ typescript/dist/esm/models/Default.js | 49 +++++ typescript/dist/esm/models/Expression.d.ts | 129 ++++++++++++ typescript/dist/esm/models/Expression.js | 59 ++++++ .../dist/esm/models/ExpressionParameters.d.ts | 56 ++++++ .../dist/esm/models/ExpressionParameters.js | 55 ++++++ .../esm/models/FeatureAggregationMethod.d.ts | 25 +++ .../esm/models/FeatureAggregationMethod.js | 43 ++++ typescript/dist/esm/models/GdalSource.d.ts | 64 ++++++ typescript/dist/esm/models/GdalSource.js | 54 +++++ .../dist/esm/models/GdalSourceParameters.d.ts | 43 ++++ .../dist/esm/models/GdalSourceParameters.js | 45 +++++ .../dist/esm/models/MockPointSource.d.ts | 58 ++++++ typescript/dist/esm/models/MockPointSource.js | 54 +++++ .../esm/models/MockPointSourceParameters.d.ts | 45 +++++ .../esm/models/MockPointSourceParameters.js | 49 +++++ typescript/dist/esm/models/Names.d.ts | 45 +++++ typescript/dist/esm/models/Names.js | 53 +++++ .../dist/esm/models/RasterOperator.d.ts | 27 +++ typescript/dist/esm/models/RasterOperator.js | 47 +++++ .../dist/esm/models/RasterVectorJoin.d.ts | 113 +++++++++++ .../dist/esm/models/RasterVectorJoin.js | 59 ++++++ .../models/RasterVectorJoinParameters.d.ts | 68 +++++++ .../esm/models/RasterVectorJoinParameters.js | 58 ++++++ .../dist/esm/models/SingleRasterSource.d.ts | 33 ++++ .../dist/esm/models/SingleRasterSource.js | 44 +++++ .../SingleVectorMultipleRasterSources.d.ts | 40 ++++ .../SingleVectorMultipleRasterSources.js | 49 +++++ .../dist/esm/models/SpatialBoundsDerive.d.ts | 30 +++ .../dist/esm/models/SpatialBoundsDerive.js | 52 +++++ .../esm/models/SpatialBoundsDeriveBounds.d.ts | 40 ++++ .../esm/models/SpatialBoundsDeriveBounds.js | 46 +++++ .../esm/models/SpatialBoundsDeriveDerive.d.ts | 39 ++++ .../esm/models/SpatialBoundsDeriveDerive.js | 49 +++++ .../esm/models/SpatialBoundsDeriveNone.d.ts | 39 ++++ .../esm/models/SpatialBoundsDeriveNone.js | 49 +++++ typescript/dist/esm/models/Suffix.d.ts | 45 +++++ typescript/dist/esm/models/Suffix.js | 53 +++++ .../esm/models/TemporalAggregationMethod.d.ts | 26 +++ .../esm/models/TemporalAggregationMethod.js | 44 +++++ .../dist/esm/models/VectorOperator.d.ts | 27 +++ typescript/dist/esm/models/VectorOperator.js | 47 +++++ typescript/dist/esm/models/index.d.ts | 22 +++ typescript/dist/esm/models/index.js | 22 +++ typescript/dist/models/ColumnNames.d.ts | 24 +++ typescript/dist/models/ColumnNames.js | 64 ++++++ typescript/dist/models/Default.d.ts | 39 ++++ typescript/dist/models/Default.js | 57 ++++++ typescript/dist/models/Expression.d.ts | 129 ++++++++++++ typescript/dist/models/Expression.js | 67 +++++++ .../dist/models/ExpressionParameters.d.ts | 56 ++++++ .../dist/models/ExpressionParameters.js | 62 ++++++ .../dist/models/FeatureAggregationMethod.d.ts | 25 +++ .../dist/models/FeatureAggregationMethod.js | 51 +++++ typescript/dist/models/GdalSource.d.ts | 64 ++++++ typescript/dist/models/GdalSource.js | 62 ++++++ .../dist/models/GdalSourceParameters.d.ts | 43 ++++ .../dist/models/GdalSourceParameters.js | 52 +++++ typescript/dist/models/MockPointSource.d.ts | 58 ++++++ typescript/dist/models/MockPointSource.js | 62 ++++++ .../models/MockPointSourceParameters.d.ts | 45 +++++ .../dist/models/MockPointSourceParameters.js | 56 ++++++ typescript/dist/models/Names.d.ts | 45 +++++ typescript/dist/models/Names.js | 61 ++++++ typescript/dist/models/RasterOperator.d.ts | 27 +++ typescript/dist/models/RasterOperator.js | 53 +++++ typescript/dist/models/RasterVectorJoin.d.ts | 113 +++++++++++ typescript/dist/models/RasterVectorJoin.js | 67 +++++++ .../models/RasterVectorJoinParameters.d.ts | 68 +++++++ .../dist/models/RasterVectorJoinParameters.js | 65 ++++++ .../dist/models/SingleRasterSource.d.ts | 33 ++++ typescript/dist/models/SingleRasterSource.js | 51 +++++ .../SingleVectorMultipleRasterSources.d.ts | 40 ++++ .../SingleVectorMultipleRasterSources.js | 56 ++++++ .../dist/models/SpatialBoundsDerive.d.ts | 30 +++ typescript/dist/models/SpatialBoundsDerive.js | 58 ++++++ .../models/SpatialBoundsDeriveBounds.d.ts | 40 ++++ .../dist/models/SpatialBoundsDeriveBounds.js | 54 +++++ .../models/SpatialBoundsDeriveDerive.d.ts | 39 ++++ .../dist/models/SpatialBoundsDeriveDerive.js | 57 ++++++ .../dist/models/SpatialBoundsDeriveNone.d.ts | 39 ++++ .../dist/models/SpatialBoundsDeriveNone.js | 57 ++++++ typescript/dist/models/Suffix.d.ts | 45 +++++ typescript/dist/models/Suffix.js | 61 ++++++ .../models/TemporalAggregationMethod.d.ts | 26 +++ .../dist/models/TemporalAggregationMethod.js | 52 +++++ typescript/dist/models/VectorOperator.d.ts | 27 +++ typescript/dist/models/VectorOperator.js | 53 +++++ typescript/dist/models/index.d.ts | 22 +++ typescript/dist/models/index.js | 22 +++ typescript/docs/ColumnNames.md | 36 ++++ typescript/docs/Default.md | 34 ++++ typescript/docs/Expression.md | 39 ++++ typescript/docs/ExpressionParameters.md | 41 ++++ typescript/docs/FeatureAggregationMethod.md | 32 +++ typescript/docs/GdalSource.md | 37 ++++ typescript/docs/GdalSourceParameters.md | 37 ++++ typescript/docs/MockPointSource.md | 37 ++++ typescript/docs/MockPointSourceParameters.md | 37 ++++ typescript/docs/Names.md | 36 ++++ typescript/docs/RasterOperator.md | 39 ++++ typescript/docs/RasterVectorJoin.md | 39 ++++ typescript/docs/RasterVectorJoinParameters.md | 42 ++++ typescript/docs/SingleRasterSource.md | 34 ++++ .../docs/SingleVectorMultipleRasterSources.md | 36 ++++ typescript/docs/SpatialBoundsDerive.md | 35 ++++ typescript/docs/SpatialBoundsDeriveBounds.md | 34 ++++ typescript/docs/SpatialBoundsDeriveDerive.md | 34 ++++ typescript/docs/SpatialBoundsDeriveNone.md | 34 ++++ typescript/docs/Suffix.md | 36 ++++ typescript/docs/TemporalAggregationMethod.md | 32 +++ typescript/docs/VectorOperator.md | 39 ++++ typescript/src/models/ColumnNames.ts | 89 +++++++++ typescript/src/models/Default.ts | 76 +++++++ typescript/src/models/Expression.ts | 185 ++++++++++++++++++ typescript/src/models/ExpressionParameters.ts | 113 +++++++++++ .../src/models/FeatureAggregationMethod.ts | 53 +++++ typescript/src/models/GdalSource.ts | 111 +++++++++++ typescript/src/models/GdalSourceParameters.ts | 79 ++++++++ typescript/src/models/MockPointSource.ts | 105 ++++++++++ .../src/models/MockPointSourceParameters.ts | 95 +++++++++ typescript/src/models/Names.ts | 85 ++++++++ typescript/src/models/RasterOperator.ts | 72 +++++++ typescript/src/models/RasterVectorJoin.ts | 169 ++++++++++++++++ .../src/models/RasterVectorJoinParameters.ts | 133 +++++++++++++ typescript/src/models/SingleRasterSource.ts | 74 +++++++ .../SingleVectorMultipleRasterSources.ts | 90 +++++++++ typescript/src/models/SpatialBoundsDerive.ts | 83 ++++++++ .../src/models/SpatialBoundsDeriveBounds.ts | 91 +++++++++ .../src/models/SpatialBoundsDeriveDerive.ts | 76 +++++++ .../src/models/SpatialBoundsDeriveNone.ts | 76 +++++++ typescript/src/models/Suffix.ts | 85 ++++++++ .../src/models/TemporalAggregationMethod.ts | 54 +++++ typescript/src/models/VectorOperator.ts | 72 +++++++ typescript/src/models/index.ts | 22 +++ 187 files changed, 11242 insertions(+), 12 deletions(-) create mode 100644 python/geoengine_openapi_client/models/column_names.py create mode 100644 python/geoengine_openapi_client/models/default.py create mode 100644 python/geoengine_openapi_client/models/expression.py create mode 100644 python/geoengine_openapi_client/models/expression_parameters.py create mode 100644 python/geoengine_openapi_client/models/feature_aggregation_method.py create mode 100644 python/geoengine_openapi_client/models/gdal_source.py create mode 100644 python/geoengine_openapi_client/models/gdal_source_parameters.py create mode 100644 python/geoengine_openapi_client/models/mock_point_source.py create mode 100644 python/geoengine_openapi_client/models/mock_point_source_parameters.py create mode 100644 python/geoengine_openapi_client/models/names.py create mode 100644 python/geoengine_openapi_client/models/raster_operator.py create mode 100644 python/geoengine_openapi_client/models/raster_vector_join.py create mode 100644 python/geoengine_openapi_client/models/raster_vector_join_parameters.py create mode 100644 python/geoengine_openapi_client/models/single_raster_source.py create mode 100644 python/geoengine_openapi_client/models/single_vector_multiple_raster_sources.py create mode 100644 python/geoengine_openapi_client/models/spatial_bounds_derive.py create mode 100644 python/geoengine_openapi_client/models/spatial_bounds_derive_bounds.py create mode 100644 python/geoengine_openapi_client/models/spatial_bounds_derive_derive.py create mode 100644 python/geoengine_openapi_client/models/spatial_bounds_derive_none.py create mode 100644 python/geoengine_openapi_client/models/suffix.py create mode 100644 python/geoengine_openapi_client/models/temporal_aggregation_method.py create mode 100644 python/geoengine_openapi_client/models/vector_operator.py create mode 100644 python/test/test_column_names.py create mode 100644 python/test/test_default.py create mode 100644 python/test/test_expression.py create mode 100644 python/test/test_expression_parameters.py create mode 100644 python/test/test_feature_aggregation_method.py create mode 100644 python/test/test_gdal_source.py create mode 100644 python/test/test_gdal_source_parameters.py create mode 100644 python/test/test_mock_point_source.py create mode 100644 python/test/test_mock_point_source_parameters.py create mode 100644 python/test/test_names.py create mode 100644 python/test/test_raster_operator.py create mode 100644 python/test/test_raster_vector_join.py create mode 100644 python/test/test_raster_vector_join_parameters.py create mode 100644 python/test/test_single_raster_source.py create mode 100644 python/test/test_single_vector_multiple_raster_sources.py create mode 100644 python/test/test_spatial_bounds_derive.py create mode 100644 python/test/test_spatial_bounds_derive_bounds.py create mode 100644 python/test/test_spatial_bounds_derive_derive.py create mode 100644 python/test/test_spatial_bounds_derive_none.py create mode 100644 python/test/test_suffix.py create mode 100644 python/test/test_temporal_aggregation_method.py create mode 100644 python/test/test_vector_operator.py create mode 100644 typescript/dist/esm/models/ColumnNames.d.ts create mode 100644 typescript/dist/esm/models/ColumnNames.js create mode 100644 typescript/dist/esm/models/Default.d.ts create mode 100644 typescript/dist/esm/models/Default.js create mode 100644 typescript/dist/esm/models/Expression.d.ts create mode 100644 typescript/dist/esm/models/Expression.js create mode 100644 typescript/dist/esm/models/ExpressionParameters.d.ts create mode 100644 typescript/dist/esm/models/ExpressionParameters.js create mode 100644 typescript/dist/esm/models/FeatureAggregationMethod.d.ts create mode 100644 typescript/dist/esm/models/FeatureAggregationMethod.js create mode 100644 typescript/dist/esm/models/GdalSource.d.ts create mode 100644 typescript/dist/esm/models/GdalSource.js create mode 100644 typescript/dist/esm/models/GdalSourceParameters.d.ts create mode 100644 typescript/dist/esm/models/GdalSourceParameters.js create mode 100644 typescript/dist/esm/models/MockPointSource.d.ts create mode 100644 typescript/dist/esm/models/MockPointSource.js create mode 100644 typescript/dist/esm/models/MockPointSourceParameters.d.ts create mode 100644 typescript/dist/esm/models/MockPointSourceParameters.js create mode 100644 typescript/dist/esm/models/Names.d.ts create mode 100644 typescript/dist/esm/models/Names.js create mode 100644 typescript/dist/esm/models/RasterOperator.d.ts create mode 100644 typescript/dist/esm/models/RasterOperator.js create mode 100644 typescript/dist/esm/models/RasterVectorJoin.d.ts create mode 100644 typescript/dist/esm/models/RasterVectorJoin.js create mode 100644 typescript/dist/esm/models/RasterVectorJoinParameters.d.ts create mode 100644 typescript/dist/esm/models/RasterVectorJoinParameters.js create mode 100644 typescript/dist/esm/models/SingleRasterSource.d.ts create mode 100644 typescript/dist/esm/models/SingleRasterSource.js create mode 100644 typescript/dist/esm/models/SingleVectorMultipleRasterSources.d.ts create mode 100644 typescript/dist/esm/models/SingleVectorMultipleRasterSources.js create mode 100644 typescript/dist/esm/models/SpatialBoundsDerive.d.ts create mode 100644 typescript/dist/esm/models/SpatialBoundsDerive.js create mode 100644 typescript/dist/esm/models/SpatialBoundsDeriveBounds.d.ts create mode 100644 typescript/dist/esm/models/SpatialBoundsDeriveBounds.js create mode 100644 typescript/dist/esm/models/SpatialBoundsDeriveDerive.d.ts create mode 100644 typescript/dist/esm/models/SpatialBoundsDeriveDerive.js create mode 100644 typescript/dist/esm/models/SpatialBoundsDeriveNone.d.ts create mode 100644 typescript/dist/esm/models/SpatialBoundsDeriveNone.js create mode 100644 typescript/dist/esm/models/Suffix.d.ts create mode 100644 typescript/dist/esm/models/Suffix.js create mode 100644 typescript/dist/esm/models/TemporalAggregationMethod.d.ts create mode 100644 typescript/dist/esm/models/TemporalAggregationMethod.js create mode 100644 typescript/dist/esm/models/VectorOperator.d.ts create mode 100644 typescript/dist/esm/models/VectorOperator.js create mode 100644 typescript/dist/models/ColumnNames.d.ts create mode 100644 typescript/dist/models/ColumnNames.js create mode 100644 typescript/dist/models/Default.d.ts create mode 100644 typescript/dist/models/Default.js create mode 100644 typescript/dist/models/Expression.d.ts create mode 100644 typescript/dist/models/Expression.js create mode 100644 typescript/dist/models/ExpressionParameters.d.ts create mode 100644 typescript/dist/models/ExpressionParameters.js create mode 100644 typescript/dist/models/FeatureAggregationMethod.d.ts create mode 100644 typescript/dist/models/FeatureAggregationMethod.js create mode 100644 typescript/dist/models/GdalSource.d.ts create mode 100644 typescript/dist/models/GdalSource.js create mode 100644 typescript/dist/models/GdalSourceParameters.d.ts create mode 100644 typescript/dist/models/GdalSourceParameters.js create mode 100644 typescript/dist/models/MockPointSource.d.ts create mode 100644 typescript/dist/models/MockPointSource.js create mode 100644 typescript/dist/models/MockPointSourceParameters.d.ts create mode 100644 typescript/dist/models/MockPointSourceParameters.js create mode 100644 typescript/dist/models/Names.d.ts create mode 100644 typescript/dist/models/Names.js create mode 100644 typescript/dist/models/RasterOperator.d.ts create mode 100644 typescript/dist/models/RasterOperator.js create mode 100644 typescript/dist/models/RasterVectorJoin.d.ts create mode 100644 typescript/dist/models/RasterVectorJoin.js create mode 100644 typescript/dist/models/RasterVectorJoinParameters.d.ts create mode 100644 typescript/dist/models/RasterVectorJoinParameters.js create mode 100644 typescript/dist/models/SingleRasterSource.d.ts create mode 100644 typescript/dist/models/SingleRasterSource.js create mode 100644 typescript/dist/models/SingleVectorMultipleRasterSources.d.ts create mode 100644 typescript/dist/models/SingleVectorMultipleRasterSources.js create mode 100644 typescript/dist/models/SpatialBoundsDerive.d.ts create mode 100644 typescript/dist/models/SpatialBoundsDerive.js create mode 100644 typescript/dist/models/SpatialBoundsDeriveBounds.d.ts create mode 100644 typescript/dist/models/SpatialBoundsDeriveBounds.js create mode 100644 typescript/dist/models/SpatialBoundsDeriveDerive.d.ts create mode 100644 typescript/dist/models/SpatialBoundsDeriveDerive.js create mode 100644 typescript/dist/models/SpatialBoundsDeriveNone.d.ts create mode 100644 typescript/dist/models/SpatialBoundsDeriveNone.js create mode 100644 typescript/dist/models/Suffix.d.ts create mode 100644 typescript/dist/models/Suffix.js create mode 100644 typescript/dist/models/TemporalAggregationMethod.d.ts create mode 100644 typescript/dist/models/TemporalAggregationMethod.js create mode 100644 typescript/dist/models/VectorOperator.d.ts create mode 100644 typescript/dist/models/VectorOperator.js create mode 100644 typescript/docs/ColumnNames.md create mode 100644 typescript/docs/Default.md create mode 100644 typescript/docs/Expression.md create mode 100644 typescript/docs/ExpressionParameters.md create mode 100644 typescript/docs/FeatureAggregationMethod.md create mode 100644 typescript/docs/GdalSource.md create mode 100644 typescript/docs/GdalSourceParameters.md create mode 100644 typescript/docs/MockPointSource.md create mode 100644 typescript/docs/MockPointSourceParameters.md create mode 100644 typescript/docs/Names.md create mode 100644 typescript/docs/RasterOperator.md create mode 100644 typescript/docs/RasterVectorJoin.md create mode 100644 typescript/docs/RasterVectorJoinParameters.md create mode 100644 typescript/docs/SingleRasterSource.md create mode 100644 typescript/docs/SingleVectorMultipleRasterSources.md create mode 100644 typescript/docs/SpatialBoundsDerive.md create mode 100644 typescript/docs/SpatialBoundsDeriveBounds.md create mode 100644 typescript/docs/SpatialBoundsDeriveDerive.md create mode 100644 typescript/docs/SpatialBoundsDeriveNone.md create mode 100644 typescript/docs/Suffix.md create mode 100644 typescript/docs/TemporalAggregationMethod.md create mode 100644 typescript/docs/VectorOperator.md create mode 100644 typescript/src/models/ColumnNames.ts create mode 100644 typescript/src/models/Default.ts create mode 100644 typescript/src/models/Expression.ts create mode 100644 typescript/src/models/ExpressionParameters.ts create mode 100644 typescript/src/models/FeatureAggregationMethod.ts create mode 100644 typescript/src/models/GdalSource.ts create mode 100644 typescript/src/models/GdalSourceParameters.ts create mode 100644 typescript/src/models/MockPointSource.ts create mode 100644 typescript/src/models/MockPointSourceParameters.ts create mode 100644 typescript/src/models/Names.ts create mode 100644 typescript/src/models/RasterOperator.ts create mode 100644 typescript/src/models/RasterVectorJoin.ts create mode 100644 typescript/src/models/RasterVectorJoinParameters.ts create mode 100644 typescript/src/models/SingleRasterSource.ts create mode 100644 typescript/src/models/SingleVectorMultipleRasterSources.ts create mode 100644 typescript/src/models/SpatialBoundsDerive.ts create mode 100644 typescript/src/models/SpatialBoundsDeriveBounds.ts create mode 100644 typescript/src/models/SpatialBoundsDeriveDerive.ts create mode 100644 typescript/src/models/SpatialBoundsDeriveNone.ts create mode 100644 typescript/src/models/Suffix.ts create mode 100644 typescript/src/models/TemporalAggregationMethod.ts create mode 100644 typescript/src/models/VectorOperator.ts diff --git a/python/.openapi-generator/FILES b/python/.openapi-generator/FILES index 1efe6238..71eaf35b 100644 --- a/python/.openapi-generator/FILES +++ b/python/.openapi-generator/FILES @@ -20,6 +20,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 +44,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 +68,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 @@ -102,10 +109,13 @@ 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/Names.md docs/NetCdfCfDataProviderDefinition.md docs/NumberParam.md docs/OGCWCSApi.md @@ -163,12 +173,15 @@ 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,6 +194,12 @@ docs/SentinelS2L2ACogsProviderDefinition.md docs/ServerInfo.md docs/SessionApi.md docs/SingleBandRasterColorizer.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 @@ -194,6 +213,7 @@ docs/StacQueryBuffer.md docs/StaticColor.md docs/StaticNumber.md docs/StrokeParam.md +docs/Suffix.md docs/SuggestMetaData.md docs/Symbology.md docs/TaskAbortOptions.md @@ -207,6 +227,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 @@ -247,6 +268,7 @@ docs/UserSession.md docs/VecUpdate.md docs/VectorColumnInfo.md docs/VectorDataType.md +docs/VectorOperator.md docs/VectorResultDescriptor.md docs/Volume.md docs/VolumeFileLayersResponse.md @@ -305,6 +327,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 +350,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 +374,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 @@ -383,10 +412,13 @@ 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/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 @@ -438,12 +470,15 @@ 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,6 +489,12 @@ 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_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 @@ -467,6 +508,7 @@ 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/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 @@ -479,6 +521,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 @@ -517,6 +560,7 @@ 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 @@ -560,6 +604,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 +628,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 +652,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 @@ -642,10 +693,13 @@ 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_names.py test/test_net_cdf_cf_data_provider_definition.py test/test_number_param.py test/test_ogcwcs_api.py @@ -703,12 +757,15 @@ 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,6 +777,12 @@ 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_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 @@ -734,6 +797,7 @@ test/test_stac_query_buffer.py test/test_static_color.py test/test_static_number.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 @@ -747,6 +811,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 @@ -787,6 +852,7 @@ 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 diff --git a/python/README.md b/python/README.md index e3855eb4..d0184a15 100644 --- a/python/README.md +++ b/python/README.md @@ -206,6 +206,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 +229,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 +253,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) @@ -284,10 +291,13 @@ 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) + - [Names](docs/Names.md) - [NetCdfCfDataProviderDefinition](docs/NetCdfCfDataProviderDefinition.md) - [NumberParam](docs/NumberParam.md) - [OgrMetaData](docs/OgrMetaData.md) @@ -339,12 +349,15 @@ Class | Method | HTTP request | Description - [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,6 +369,12 @@ Class | Method | HTTP request | Description - [SentinelS2L2ACogsProviderDefinition](docs/SentinelS2L2ACogsProviderDefinition.md) - [ServerInfo](docs/ServerInfo.md) - [SingleBandRasterColorizer](docs/SingleBandRasterColorizer.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) @@ -368,6 +387,7 @@ Class | Method | HTTP request | Description - [StaticColor](docs/StaticColor.md) - [StaticNumber](docs/StaticNumber.md) - [StrokeParam](docs/StrokeParam.md) + - [Suffix](docs/Suffix.md) - [SuggestMetaData](docs/SuggestMetaData.md) - [Symbology](docs/Symbology.md) - [TaskAbortOptions](docs/TaskAbortOptions.md) @@ -380,6 +400,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) @@ -418,6 +439,7 @@ 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) diff --git a/python/geoengine_openapi_client/__init__.py b/python/geoengine_openapi_client/__init__.py index 93120cd0..4344538c 100644 --- a/python/geoengine_openapi_client/__init__.py +++ b/python/geoengine_openapi_client/__init__.py @@ -61,6 +61,7 @@ "CollectionType", "ColorParam", "Colorizer", + "ColumnNames", "ComputationQuota", "ContinuousMeasurement", "Coordinate2D", @@ -83,13 +84,17 @@ "DatasetListing", "DatasetNameResponse", "DatasetResource", + "Default", "DerivedColor", "DerivedNumber", "EbvPortalDataProviderDefinition", "EdrDataProviderDefinition", "EdrVectorSpec", "ErrorResponse", + "Expression", + "ExpressionParameters", "ExternalDataId", + "FeatureAggregationMethod", "FeatureDataType", "FileNotFoundHandling", "FormatSpecifics", @@ -103,6 +108,8 @@ "GdalMetadataMapping", "GdalMetadataNetCdfCf", "GdalMultiBand", + "GdalSource", + "GdalSourceParameters", "GdalSourceTimePlaceholder", "GeoJson", "GeoTransform", @@ -139,10 +146,13 @@ "MlTensorShape3D", "MockDatasetDataSourceLoadingInfo", "MockMetaData", + "MockPointSource", + "MockPointSourceParameters", "MultiBandRasterColorizer", "MultiLineString", "MultiPoint", "MultiPolygon", + "Names", "NetCdfCfDataProviderDefinition", "NumberParam", "OgrMetaData", @@ -194,12 +204,15 @@ "RasterDataType", "RasterDatasetFromWorkflow", "RasterDatasetFromWorkflowResult", + "RasterOperator", "RasterPropertiesEntryType", "RasterPropertiesKey", "RasterResultDescriptor", "RasterStreamWebsocketResultType", "RasterSymbology", "RasterToDatasetQueryRectangle", + "RasterVectorJoin", + "RasterVectorJoinParameters", "RegularTimeDimension", "Resource", "Role", @@ -211,6 +224,12 @@ "SentinelS2L2ACogsProviderDefinition", "ServerInfo", "SingleBandRasterColorizer", + "SingleRasterSource", + "SingleVectorMultipleRasterSources", + "SpatialBoundsDerive", + "SpatialBoundsDeriveBounds", + "SpatialBoundsDeriveDerive", + "SpatialBoundsDeriveNone", "SpatialGridDefinition", "SpatialGridDescriptor", "SpatialGridDescriptorState", @@ -223,6 +242,7 @@ "StaticColor", "StaticNumber", "StrokeParam", + "Suffix", "SuggestMetaData", "Symbology", "TaskAbortOptions", @@ -235,6 +255,7 @@ "TaskStatusFailed", "TaskStatusRunning", "TaskStatusWithId", + "TemporalAggregationMethod", "TextSymbology", "TimeDescriptor", "TimeDimension", @@ -273,6 +294,7 @@ "VecUpdate", "VectorColumnInfo", "VectorDataType", + "VectorOperator", "VectorResultDescriptor", "Volume", "VolumeFileLayersResponse", @@ -339,6 +361,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 +384,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 +408,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 @@ -417,10 +446,13 @@ 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.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 @@ -472,12 +504,15 @@ 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,6 +524,12 @@ 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_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 @@ -501,6 +542,7 @@ 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.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 @@ -513,6 +555,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 @@ -551,6 +594,7 @@ 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 diff --git a/python/geoengine_openapi_client/models/__init__.py b/python/geoengine_openapi_client/models/__init__.py index 0d03d5ae..b410e747 100644 --- a/python/geoengine_openapi_client/models/__init__.py +++ b/python/geoengine_openapi_client/models/__init__.py @@ -31,6 +31,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 +54,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 +78,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 @@ -109,10 +116,13 @@ 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.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 @@ -164,12 +174,15 @@ 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,6 +194,12 @@ 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_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 @@ -193,6 +212,7 @@ from geoengine_openapi_client.models.static_color import StaticColor from geoengine_openapi_client.models.static_number import StaticNumber 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 @@ -205,6 +225,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 @@ -243,6 +264,7 @@ 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 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/default.py b/python/geoengine_openapi_client/models/default.py new file mode 100644 index 00000000..438ac1bd --- /dev/null +++ b/python/geoengine_openapi_client/models/default.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 Default(BaseModel): + """ + Default + """ # 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(['default']): + raise ValueError("must be one of enum values ('default')") + 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 Default 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 Default 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/expression.py b/python/geoengine_openapi_client/models/expression.py new file mode 100644 index 00000000..31cc1e71 --- /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): + """ + # Raster 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. + """ # 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..a47456d0 --- /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): + """ + # 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. ## Example JSON ```json { \"type\": \"GdalSource\", \"params\": { \"data\": \"ndvi\" } } ``` + """ # 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..00c309d7 --- /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. ### Example `\"ndvi\"`") + 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/mock_point_source.py b/python/geoengine_openapi_client/models/mock_point_source.py new file mode 100644 index 00000000..2351bd17 --- /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): + """ + # MockPointSource The [`MockPointSource`] is a source operator that provides mock vector point data for testing and development purposes. ## Example JSON ```json { \"type\": \"MockPointSource\", \"params\": { \"points\": [ { \"x\": 1.0, \"y\": 2.0 }, { \"x\": 3.0, \"y\": 4.0 } ] } } ``` + """ # 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/mock_point_source_parameters.py b/python/geoengine_openapi_client/models/mock_point_source_parameters.py new file mode 100644 index 00000000..123c2a84 --- /dev/null +++ b/python/geoengine_openapi_client/models/mock_point_source_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 +from typing import Any, ClassVar, Dict, List +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 MockPointSourceParameters(BaseModel): + """ + Parameters for the [`MockPointSource`] operator. + """ # noqa: E501 + points: List[Coordinate2D] = Field(description="Points to be output by the mock point source. ### Example `[{\"x\": 1.0, \"y\": 2.0}, {\"x\": 3.0, \"y\": 4.0}]`") + 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, + 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 MockPointSourceParameters 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 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 MockPointSourceParameters from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "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/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/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..cddc182e --- /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): + """ + # 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. ## Example JSON ```json { \"type\": \"RasterVectorJoin\", \"params\": { \"names\": [\"NDVI\"], \"featureAggregation\": \"first\", \"temporalAggregation\": \"mean\", \"temporalAggregationIgnoreNoData\": true }, \"sources\": { \"vector\": { \"type\": \"OgrSource\", \"params\": { \"data\": \"places\" } }, \"rasters\": [ { \"type\": \"GdalSource\", \"params\": { \"data\": \"ndvi\" } } ] } } ``` + """ # 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..d89892c5 --- /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. | Value | Description | | ---------------------------------------- | ---------------------------------------------------------------------------- | | `{\"type\": \"default\"}` | Appends \" (n)\" to the band name with the smallest `n` that avoids a conflict | | `{\"type\": \"suffix\", \"values\": [string]}` | Specifies a suffix for each input, to be appended to the band names | | `{\"type\": \"rename\", \"values\": [string]}` | 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_source.py b/python/geoengine_openapi_client/models/single_raster_source.py new file mode 100644 index 00000000..a331a825 --- /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): + """ + SingleRasterSource + """ # 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/single_vector_multiple_raster_sources.py b/python/geoengine_openapi_client/models/single_vector_multiple_raster_sources.py new file mode 100644 index 00000000..e91c1c6f --- /dev/null +++ b/python/geoengine_openapi_client/models/single_vector_multiple_raster_sources.py @@ -0,0 +1,104 @@ +# 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.raster_operator import RasterOperator +from typing import Optional, Set +from typing_extensions import Self + +class SingleVectorMultipleRasterSources(BaseModel): + """ + SingleVectorMultipleRasterSources + """ # noqa: E501 + rasters: List[RasterOperator] + vector: VectorOperator + __properties: ClassVar[List[str]] = ["rasters", "vector"] + + 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 SingleVectorMultipleRasterSources 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 each item in rasters (list) + _items = [] + 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 SingleVectorMultipleRasterSources from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "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/spatial_bounds_derive_none.py b/python/geoengine_openapi_client/models/spatial_bounds_derive_none.py new file mode 100644 index 00000000..8a33cb9c --- /dev/null +++ b/python/geoengine_openapi_client/models/spatial_bounds_derive_none.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 SpatialBoundsDeriveNone(BaseModel): + """ + SpatialBoundsDeriveNone + """ # 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(['none']): + raise ValueError("must be one of enum values ('none')") + 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 SpatialBoundsDeriveNone 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 SpatialBoundsDeriveNone 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/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/temporal_aggregation_method.py b/python/geoengine_openapi_client/models/temporal_aggregation_method.py new file mode 100644 index 00000000..e68266b9 --- /dev/null +++ b/python/geoengine_openapi_client/models/temporal_aggregation_method.py @@ -0,0 +1,39 @@ +# 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 TemporalAggregationMethod(str, Enum): + """ + TemporalAggregationMethod + """ + + """ + allowed enum values + """ + NONE = 'none' + FIRST = 'first' + MEAN = 'mean' + + @classmethod + def from_json(cls, json_str: str) -> Self: + """Create an instance of TemporalAggregationMethod from a JSON string""" + return cls(json.loads(json_str)) + + 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/test/test_column_names.py b/python/test/test_column_names.py new file mode 100644 index 00000000..20cacd15 --- /dev/null +++ b/python/test/test_column_names.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.column_names import ColumnNames + +class TestColumnNames(unittest.TestCase): + """ColumnNames unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + 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 `ColumnNames` + """ + model = ColumnNames() + if include_optional: + return ColumnNames( + type = 'default', + values = [ + '' + ] + ) + else: + return ColumnNames( + type = 'default', + values = [ + '' + ], + ) + """ + + def testColumnNames(self): + """Test ColumnNames""" + # 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_default.py b/python/test/test_default.py new file mode 100644 index 00000000..494d8153 --- /dev/null +++ b/python/test/test_default.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.default import Default + +class TestDefault(unittest.TestCase): + """Default unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + 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 `Default` + """ + model = Default() + if include_optional: + return Default( + type = 'default' + ) + else: + return Default( + type = 'default', + ) + """ + + def testDefault(self): + """Test Default""" + # 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.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_feature_aggregation_method.py b/python/test/test_feature_aggregation_method.py new file mode 100644 index 00000000..daf196cf --- /dev/null +++ b/python/test/test_feature_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.feature_aggregation_method import FeatureAggregationMethod + +class TestFeatureAggregationMethod(unittest.TestCase): + """FeatureAggregationMethod unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def testFeatureAggregationMethod(self): + """Test FeatureAggregationMethod""" + # inst = FeatureAggregationMethod() + +if __name__ == '__main__': + unittest.main() diff --git a/python/test/test_gdal_source.py b/python/test/test_gdal_source.py new file mode 100644 index 00000000..4acffdcc --- /dev/null +++ b/python/test/test_gdal_source.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.gdal_source import GdalSource + +class TestGdalSource(unittest.TestCase): + """GdalSource unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + 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 `GdalSource` + """ + model = GdalSource() + if include_optional: + return GdalSource( + params = geoengine_openapi_client.models.gdal_source_parameters.GdalSourceParameters( + data = '', + overview_level = 0, ), + type = 'GdalSource' + ) + else: + return GdalSource( + params = geoengine_openapi_client.models.gdal_source_parameters.GdalSourceParameters( + data = '', + overview_level = 0, ), + type = 'GdalSource', + ) + """ + + def testGdalSource(self): + """Test GdalSource""" + # 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_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_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_names.py b/python/test/test_names.py new file mode 100644 index 00000000..40c7bae9 --- /dev/null +++ b/python/test/test_names.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.names import Names + +class TestNames(unittest.TestCase): + """Names unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + 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 `Names` + """ + model = Names() + if include_optional: + return Names( + type = 'names', + values = [ + '' + ] + ) + else: + return Names( + type = 'names', + values = [ + '' + ], + ) + """ + + def testNames(self): + """Test Names""" + # 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_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_spatial_bounds_derive_bounds.py b/python/test/test_spatial_bounds_derive_bounds.py new file mode 100644 index 00000000..35d2a7bd --- /dev/null +++ b/python/test/test_spatial_bounds_derive_bounds.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_bounds import SpatialBoundsDeriveBounds + +class TestSpatialBoundsDeriveBounds(unittest.TestCase): + """SpatialBoundsDeriveBounds unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + 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 `SpatialBoundsDeriveBounds` + """ + model = SpatialBoundsDeriveBounds() + if include_optional: + return SpatialBoundsDeriveBounds( + type = 'bounds' + ) + else: + return SpatialBoundsDeriveBounds( + type = 'bounds', + ) + """ + + def testSpatialBoundsDeriveBounds(self): + """Test SpatialBoundsDeriveBounds""" + # 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_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_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_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/typescript/README.md b/typescript/README.md index cbda93d4..16337303 100644 --- a/typescript/README.md +++ b/typescript/README.md @@ -169,6 +169,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 +192,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 +216,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) @@ -247,10 +254,13 @@ 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) +- [Names](docs/Names.md) - [NetCdfCfDataProviderDefinition](docs/NetCdfCfDataProviderDefinition.md) - [NumberParam](docs/NumberParam.md) - [OgrMetaData](docs/OgrMetaData.md) @@ -302,12 +312,15 @@ All URIs are relative to *https://geoengine.io/api* - [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,6 +332,12 @@ All URIs are relative to *https://geoengine.io/api* - [SentinelS2L2ACogsProviderDefinition](docs/SentinelS2L2ACogsProviderDefinition.md) - [ServerInfo](docs/ServerInfo.md) - [SingleBandRasterColorizer](docs/SingleBandRasterColorizer.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) @@ -331,6 +350,7 @@ All URIs are relative to *https://geoengine.io/api* - [StaticColor](docs/StaticColor.md) - [StaticNumber](docs/StaticNumber.md) - [StrokeParam](docs/StrokeParam.md) +- [Suffix](docs/Suffix.md) - [SuggestMetaData](docs/SuggestMetaData.md) - [Symbology](docs/Symbology.md) - [TaskAbortOptions](docs/TaskAbortOptions.md) @@ -343,6 +363,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) @@ -381,6 +402,7 @@ 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) 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..67775af5 --- /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 {string} + * @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..35e95473 --- /dev/null +++ b/typescript/dist/esm/models/Expression.d.ts @@ -0,0 +1,129 @@ +/** + * Geo Engine API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.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'; +/** + * # Raster 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. + * @export + * @interface Expression + */ +export interface Expression { + /** + * + * @type {ExpressionParameters} + * @memberof Expression + */ + params: ExpressionParameters; + /** + * + * @type {SingleRasterSource} + * @memberof Expression + */ + sources: SingleRasterSource; + /** + * + * @type {string} + * @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..32a1680d --- /dev/null +++ b/typescript/dist/esm/models/GdalSource.d.ts @@ -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 + * + * 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'; +/** + * # 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. + * + * ## Example JSON + * + * ```json + * { + * "type": "GdalSource", + * "params": { + * "data": "ndvi" + * } + * } + * ``` + * @export + * @interface GdalSource + */ +export interface GdalSource { + /** + * + * @type {GdalSourceParameters} + * @memberof GdalSource + */ + params: GdalSourceParameters; + /** + * + * @type {string} + * @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..eb4bc9be --- /dev/null +++ b/typescript/dist/esm/models/GdalSourceParameters.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. + */ +/** + * Parameters for the [`GdalSource`] operator. + * @export + * @interface GdalSourceParameters + */ +export interface GdalSourceParameters { + /** + * Dataset name or identifier to be loaded. + * + * ### Example + * `"ndvi"` + * @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/MockPointSource.d.ts b/typescript/dist/esm/models/MockPointSource.d.ts new file mode 100644 index 00000000..775ec0bf --- /dev/null +++ b/typescript/dist/esm/models/MockPointSource.d.ts @@ -0,0 +1,58 @@ +/** + * Geo Engine API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.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'; +/** + * # MockPointSource + * + * The [`MockPointSource`] is a source operator that provides mock vector point data for testing and development purposes. + * + * ## Example JSON + * ```json + * { + * "type": "MockPointSource", + * "params": { + * "points": [ { "x": 1.0, "y": 2.0 }, { "x": 3.0, "y": 4.0 } ] + * } + * } + * ``` + * @export + * @interface MockPointSource + */ +export interface MockPointSource { + /** + * + * @type {MockPointSourceParameters} + * @memberof MockPointSource + */ + params: MockPointSourceParameters; + /** + * + * @type {string} + * @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..0a7a7d2b --- /dev/null +++ b/typescript/dist/esm/models/MockPointSourceParameters.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. + */ +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. + * + * ### Example + * `[{"x": 1.0, "y": 2.0}, {"x": 3.0, "y": 4.0}]` + * @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/Names.d.ts b/typescript/dist/esm/models/Names.d.ts new file mode 100644 index 00000000..e9d3e398 --- /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 {string} + * @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/RasterOperator.d.ts b/typescript/dist/esm/models/RasterOperator.d.ts new file mode 100644 index 00000000..6c5110c2 --- /dev/null +++ b/typescript/dist/esm/models/RasterOperator.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 { 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; diff --git a/typescript/dist/esm/models/RasterOperator.js b/typescript/dist/esm/models/RasterOperator.js new file mode 100644 index 00000000..b786ee23 --- /dev/null +++ b/typescript/dist/esm/models/RasterOperator.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 { ExpressionFromJSONTyped, ExpressionToJSON, } from './Expression'; +import { 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; + } +} diff --git a/typescript/dist/esm/models/RasterVectorJoin.d.ts b/typescript/dist/esm/models/RasterVectorJoin.d.ts new file mode 100644 index 00000000..d4ead466 --- /dev/null +++ b/typescript/dist/esm/models/RasterVectorJoin.d.ts @@ -0,0 +1,113 @@ +/** + * Geo Engine API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.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'; +/** + * # 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. + * + * ## Example JSON + * + * ```json + * { + * "type": "RasterVectorJoin", + * "params": { + * "names": ["NDVI"], + * "featureAggregation": "first", + * "temporalAggregation": "mean", + * "temporalAggregationIgnoreNoData": true + * }, + * "sources": { + * "vector": { + * "type": "OgrSource", + * "params": { + * "data": "places" + * } + * }, + * "rasters": [ + * { + * "type": "GdalSource", + * "params": { + * "data": "ndvi" + * } + * } + * ] + * } + * } + * ``` + * @export + * @interface RasterVectorJoin + */ +export interface RasterVectorJoin { + /** + * + * @type {RasterVectorJoinParameters} + * @memberof RasterVectorJoin + */ + params: RasterVectorJoinParameters; + /** + * + * @type {SingleVectorMultipleRasterSources} + * @memberof RasterVectorJoin + */ + sources: SingleVectorMultipleRasterSources; + /** + * + * @type {string} + * @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..40f8e280 --- /dev/null +++ b/typescript/dist/esm/models/RasterVectorJoinParameters.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 { 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. + * + * | Value | Description | + * | ---------------------------------------- | ---------------------------------------------------------------------------- | + * | `{"type": "default"}` | Appends " (n)" to the band name with the smallest `n` that avoids a conflict | + * | `{"type": "suffix", "values": [string]}` | Specifies a suffix for each input, to be appended to the band names | + * | `{"type": "rename", "values": [string]}` | 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/SingleRasterSource.d.ts b/typescript/dist/esm/models/SingleRasterSource.d.ts new file mode 100644 index 00000000..0cb7068c --- /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'; +/** + * + * @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..c2cdfbe2 --- /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'; +/** + * + * @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..b35ecbb5 --- /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 {string} + * @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..82aadbac --- /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 {string} + * @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..8da863cc --- /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 {string} + * @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/Suffix.d.ts b/typescript/dist/esm/models/Suffix.d.ts new file mode 100644 index 00000000..1809ad17 --- /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 {string} + * @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/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/VectorOperator.d.ts b/typescript/dist/esm/models/VectorOperator.d.ts new file mode 100644 index 00000000..4b9ec009 --- /dev/null +++ b/typescript/dist/esm/models/VectorOperator.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 { 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; diff --git a/typescript/dist/esm/models/VectorOperator.js b/typescript/dist/esm/models/VectorOperator.js new file mode 100644 index 00000000..1f4ce390 --- /dev/null +++ b/typescript/dist/esm/models/VectorOperator.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 { MockPointSourceFromJSONTyped, MockPointSourceToJSON, } from './MockPointSource'; +import { 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; + } +} diff --git a/typescript/dist/esm/models/index.d.ts b/typescript/dist/esm/models/index.d.ts index c4acc3ac..bc2f7b9b 100644 --- a/typescript/dist/esm/models/index.d.ts +++ b/typescript/dist/esm/models/index.d.ts @@ -15,6 +15,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 +38,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 +62,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'; @@ -93,10 +100,13 @@ 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 './Names'; export * from './NetCdfCfDataProviderDefinition'; export * from './NumberParam'; export * from './OgrMetaData'; @@ -148,12 +158,15 @@ 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,6 +178,12 @@ export * from './SearchTypes'; export * from './SentinelS2L2ACogsProviderDefinition'; export * from './ServerInfo'; export * from './SingleBandRasterColorizer'; +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'; @@ -177,6 +196,7 @@ export * from './StacQueryBuffer'; export * from './StaticColor'; export * from './StaticNumber'; export * from './StrokeParam'; +export * from './Suffix'; export * from './SuggestMetaData'; export * from './Symbology'; export * from './TaskAbortOptions'; @@ -189,6 +209,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'; @@ -227,6 +248,7 @@ export * from './UserSession'; export * from './VecUpdate'; export * from './VectorColumnInfo'; export * from './VectorDataType'; +export * from './VectorOperator'; export * from './VectorResultDescriptor'; export * from './Volume'; export * from './VolumeFileLayersResponse'; diff --git a/typescript/dist/esm/models/index.js b/typescript/dist/esm/models/index.js index cc760b5e..bc4b6f59 100644 --- a/typescript/dist/esm/models/index.js +++ b/typescript/dist/esm/models/index.js @@ -17,6 +17,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 +40,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 +64,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'; @@ -95,10 +102,13 @@ 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 './Names'; export * from './NetCdfCfDataProviderDefinition'; export * from './NumberParam'; export * from './OgrMetaData'; @@ -150,12 +160,15 @@ 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,6 +180,12 @@ export * from './SearchTypes'; export * from './SentinelS2L2ACogsProviderDefinition'; export * from './ServerInfo'; export * from './SingleBandRasterColorizer'; +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'; @@ -179,6 +198,7 @@ export * from './StacQueryBuffer'; export * from './StaticColor'; export * from './StaticNumber'; export * from './StrokeParam'; +export * from './Suffix'; export * from './SuggestMetaData'; export * from './Symbology'; export * from './TaskAbortOptions'; @@ -191,6 +211,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'; @@ -229,6 +250,7 @@ export * from './UserSession'; export * from './VecUpdate'; export * from './VectorColumnInfo'; export * from './VectorDataType'; +export * from './VectorOperator'; export * from './VectorResultDescriptor'; export * from './Volume'; export * from './VolumeFileLayersResponse'; 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..67775af5 --- /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 {string} + * @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..35e95473 --- /dev/null +++ b/typescript/dist/models/Expression.d.ts @@ -0,0 +1,129 @@ +/** + * Geo Engine API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.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'; +/** + * # Raster 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. + * @export + * @interface Expression + */ +export interface Expression { + /** + * + * @type {ExpressionParameters} + * @memberof Expression + */ + params: ExpressionParameters; + /** + * + * @type {SingleRasterSource} + * @memberof Expression + */ + sources: SingleRasterSource; + /** + * + * @type {string} + * @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..32a1680d --- /dev/null +++ b/typescript/dist/models/GdalSource.d.ts @@ -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 + * + * 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'; +/** + * # 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. + * + * ## Example JSON + * + * ```json + * { + * "type": "GdalSource", + * "params": { + * "data": "ndvi" + * } + * } + * ``` + * @export + * @interface GdalSource + */ +export interface GdalSource { + /** + * + * @type {GdalSourceParameters} + * @memberof GdalSource + */ + params: GdalSourceParameters; + /** + * + * @type {string} + * @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..eb4bc9be --- /dev/null +++ b/typescript/dist/models/GdalSourceParameters.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. + */ +/** + * Parameters for the [`GdalSource`] operator. + * @export + * @interface GdalSourceParameters + */ +export interface GdalSourceParameters { + /** + * Dataset name or identifier to be loaded. + * + * ### Example + * `"ndvi"` + * @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/MockPointSource.d.ts b/typescript/dist/models/MockPointSource.d.ts new file mode 100644 index 00000000..775ec0bf --- /dev/null +++ b/typescript/dist/models/MockPointSource.d.ts @@ -0,0 +1,58 @@ +/** + * Geo Engine API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.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'; +/** + * # MockPointSource + * + * The [`MockPointSource`] is a source operator that provides mock vector point data for testing and development purposes. + * + * ## Example JSON + * ```json + * { + * "type": "MockPointSource", + * "params": { + * "points": [ { "x": 1.0, "y": 2.0 }, { "x": 3.0, "y": 4.0 } ] + * } + * } + * ``` + * @export + * @interface MockPointSource + */ +export interface MockPointSource { + /** + * + * @type {MockPointSourceParameters} + * @memberof MockPointSource + */ + params: MockPointSourceParameters; + /** + * + * @type {string} + * @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..0a7a7d2b --- /dev/null +++ b/typescript/dist/models/MockPointSourceParameters.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. + */ +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. + * + * ### Example + * `[{"x": 1.0, "y": 2.0}, {"x": 3.0, "y": 4.0}]` + * @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/Names.d.ts b/typescript/dist/models/Names.d.ts new file mode 100644 index 00000000..e9d3e398 --- /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 {string} + * @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/RasterOperator.d.ts b/typescript/dist/models/RasterOperator.d.ts new file mode 100644 index 00000000..6c5110c2 --- /dev/null +++ b/typescript/dist/models/RasterOperator.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 { 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; diff --git a/typescript/dist/models/RasterOperator.js b/typescript/dist/models/RasterOperator.js new file mode 100644 index 00000000..41de888f --- /dev/null +++ b/typescript/dist/models/RasterOperator.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.RasterOperatorFromJSON = RasterOperatorFromJSON; +exports.RasterOperatorFromJSONTyped = RasterOperatorFromJSONTyped; +exports.RasterOperatorToJSON = RasterOperatorToJSON; +exports.RasterOperatorToJSONTyped = RasterOperatorToJSONTyped; +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; + } +} diff --git a/typescript/dist/models/RasterVectorJoin.d.ts b/typescript/dist/models/RasterVectorJoin.d.ts new file mode 100644 index 00000000..d4ead466 --- /dev/null +++ b/typescript/dist/models/RasterVectorJoin.d.ts @@ -0,0 +1,113 @@ +/** + * Geo Engine API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.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'; +/** + * # 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. + * + * ## Example JSON + * + * ```json + * { + * "type": "RasterVectorJoin", + * "params": { + * "names": ["NDVI"], + * "featureAggregation": "first", + * "temporalAggregation": "mean", + * "temporalAggregationIgnoreNoData": true + * }, + * "sources": { + * "vector": { + * "type": "OgrSource", + * "params": { + * "data": "places" + * } + * }, + * "rasters": [ + * { + * "type": "GdalSource", + * "params": { + * "data": "ndvi" + * } + * } + * ] + * } + * } + * ``` + * @export + * @interface RasterVectorJoin + */ +export interface RasterVectorJoin { + /** + * + * @type {RasterVectorJoinParameters} + * @memberof RasterVectorJoin + */ + params: RasterVectorJoinParameters; + /** + * + * @type {SingleVectorMultipleRasterSources} + * @memberof RasterVectorJoin + */ + sources: SingleVectorMultipleRasterSources; + /** + * + * @type {string} + * @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..40f8e280 --- /dev/null +++ b/typescript/dist/models/RasterVectorJoinParameters.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 { 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. + * + * | Value | Description | + * | ---------------------------------------- | ---------------------------------------------------------------------------- | + * | `{"type": "default"}` | Appends " (n)" to the band name with the smallest `n` that avoids a conflict | + * | `{"type": "suffix", "values": [string]}` | Specifies a suffix for each input, to be appended to the band names | + * | `{"type": "rename", "values": [string]}` | 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/SingleRasterSource.d.ts b/typescript/dist/models/SingleRasterSource.d.ts new file mode 100644 index 00000000..0cb7068c --- /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'; +/** + * + * @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..c2cdfbe2 --- /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'; +/** + * + * @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..b35ecbb5 --- /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 {string} + * @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..82aadbac --- /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 {string} + * @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..8da863cc --- /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 {string} + * @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/Suffix.d.ts b/typescript/dist/models/Suffix.d.ts new file mode 100644 index 00000000..1809ad17 --- /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 {string} + * @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/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/VectorOperator.d.ts b/typescript/dist/models/VectorOperator.d.ts new file mode 100644 index 00000000..4b9ec009 --- /dev/null +++ b/typescript/dist/models/VectorOperator.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 { 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; diff --git a/typescript/dist/models/VectorOperator.js b/typescript/dist/models/VectorOperator.js new file mode 100644 index 00000000..f9fa52e0 --- /dev/null +++ b/typescript/dist/models/VectorOperator.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.VectorOperatorFromJSON = VectorOperatorFromJSON; +exports.VectorOperatorFromJSONTyped = VectorOperatorFromJSONTyped; +exports.VectorOperatorToJSON = VectorOperatorToJSON; +exports.VectorOperatorToJSONTyped = VectorOperatorToJSONTyped; +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; + } +} diff --git a/typescript/dist/models/index.d.ts b/typescript/dist/models/index.d.ts index c4acc3ac..bc2f7b9b 100644 --- a/typescript/dist/models/index.d.ts +++ b/typescript/dist/models/index.d.ts @@ -15,6 +15,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 +38,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 +62,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'; @@ -93,10 +100,13 @@ 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 './Names'; export * from './NetCdfCfDataProviderDefinition'; export * from './NumberParam'; export * from './OgrMetaData'; @@ -148,12 +158,15 @@ 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,6 +178,12 @@ export * from './SearchTypes'; export * from './SentinelS2L2ACogsProviderDefinition'; export * from './ServerInfo'; export * from './SingleBandRasterColorizer'; +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'; @@ -177,6 +196,7 @@ export * from './StacQueryBuffer'; export * from './StaticColor'; export * from './StaticNumber'; export * from './StrokeParam'; +export * from './Suffix'; export * from './SuggestMetaData'; export * from './Symbology'; export * from './TaskAbortOptions'; @@ -189,6 +209,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'; @@ -227,6 +248,7 @@ export * from './UserSession'; export * from './VecUpdate'; export * from './VectorColumnInfo'; export * from './VectorDataType'; +export * from './VectorOperator'; export * from './VectorResultDescriptor'; export * from './Volume'; export * from './VolumeFileLayersResponse'; diff --git a/typescript/dist/models/index.js b/typescript/dist/models/index.js index 9d65404e..dac013ce 100644 --- a/typescript/dist/models/index.js +++ b/typescript/dist/models/index.js @@ -33,6 +33,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 +56,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 +80,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); @@ -111,10 +118,13 @@ __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("./Names"), exports); __exportStar(require("./NetCdfCfDataProviderDefinition"), exports); __exportStar(require("./NumberParam"), exports); __exportStar(require("./OgrMetaData"), exports); @@ -166,12 +176,15 @@ __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,6 +196,12 @@ __exportStar(require("./SearchTypes"), exports); __exportStar(require("./SentinelS2L2ACogsProviderDefinition"), exports); __exportStar(require("./ServerInfo"), exports); __exportStar(require("./SingleBandRasterColorizer"), 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); @@ -195,6 +214,7 @@ __exportStar(require("./StacQueryBuffer"), exports); __exportStar(require("./StaticColor"), exports); __exportStar(require("./StaticNumber"), exports); __exportStar(require("./StrokeParam"), exports); +__exportStar(require("./Suffix"), exports); __exportStar(require("./SuggestMetaData"), exports); __exportStar(require("./Symbology"), exports); __exportStar(require("./TaskAbortOptions"), exports); @@ -207,6 +227,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); @@ -245,6 +266,7 @@ __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); 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..0ae395a0 --- /dev/null +++ b/typescript/docs/Expression.md @@ -0,0 +1,39 @@ + +# Expression + +# Raster 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..940cdc12 --- /dev/null +++ b/typescript/docs/GdalSource.md @@ -0,0 +1,37 @@ + +# GdalSource + +# 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. ## Example JSON ```json { \"type\": \"GdalSource\", \"params\": { \"data\": \"ndvi\" } } ``` + +## 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/MockPointSource.md b/typescript/docs/MockPointSource.md new file mode 100644 index 00000000..e3c15a78 --- /dev/null +++ b/typescript/docs/MockPointSource.md @@ -0,0 +1,37 @@ + +# MockPointSource + +# MockPointSource The [`MockPointSource`] is a source operator that provides mock vector point data for testing and development purposes. ## Example JSON ```json { \"type\": \"MockPointSource\", \"params\": { \"points\": [ { \"x\": 1.0, \"y\": 2.0 }, { \"x\": 3.0, \"y\": 4.0 } ] } } ``` + +## 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/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/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..553f7da4 --- /dev/null +++ b/typescript/docs/RasterVectorJoin.md @@ -0,0 +1,39 @@ + +# RasterVectorJoin + +# 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. ## Example JSON ```json { \"type\": \"RasterVectorJoin\", \"params\": { \"names\": [\"NDVI\"], \"featureAggregation\": \"first\", \"temporalAggregation\": \"mean\", \"temporalAggregationIgnoreNoData\": true }, \"sources\": { \"vector\": { \"type\": \"OgrSource\", \"params\": { \"data\": \"places\" } }, \"rasters\": [ { \"type\": \"GdalSource\", \"params\": { \"data\": \"ndvi\" } } ] } } ``` + +## 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/SingleRasterSource.md b/typescript/docs/SingleRasterSource.md new file mode 100644 index 00000000..70e87f96 --- /dev/null +++ b/typescript/docs/SingleRasterSource.md @@ -0,0 +1,34 @@ + +# SingleRasterSource + + +## 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..6bb02e77 --- /dev/null +++ b/typescript/docs/SingleVectorMultipleRasterSources.md @@ -0,0 +1,36 @@ + +# SingleVectorMultipleRasterSources + + +## 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/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/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/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..cd7ad394 --- /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 {string} + * @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..15026b2b --- /dev/null +++ b/typescript/src/models/Expression.ts @@ -0,0 +1,185 @@ +/* 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'; + +/** + * # Raster 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. + * @export + * @interface Expression + */ +export interface Expression { + /** + * + * @type {ExpressionParameters} + * @memberof Expression + */ + params: ExpressionParameters; + /** + * + * @type {SingleRasterSource} + * @memberof Expression + */ + sources: SingleRasterSource; + /** + * + * @type {string} + * @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..3410280a --- /dev/null +++ b/typescript/src/models/GdalSource.ts @@ -0,0 +1,111 @@ +/* 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'; + +/** + * # 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. + * + * ## Example JSON + * + * ```json + * { + * "type": "GdalSource", + * "params": { + * "data": "ndvi" + * } + * } + * ``` + * @export + * @interface GdalSource + */ +export interface GdalSource { + /** + * + * @type {GdalSourceParameters} + * @memberof GdalSource + */ + params: GdalSourceParameters; + /** + * + * @type {string} + * @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..f9c8ef00 --- /dev/null +++ b/typescript/src/models/GdalSourceParameters.ts @@ -0,0 +1,79 @@ +/* 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. + * + * ### Example + * `"ndvi"` + * @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/MockPointSource.ts b/typescript/src/models/MockPointSource.ts new file mode 100644 index 00000000..4bc0f1fc --- /dev/null +++ b/typescript/src/models/MockPointSource.ts @@ -0,0 +1,105 @@ +/* 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'; + +/** + * # MockPointSource + * + * The [`MockPointSource`] is a source operator that provides mock vector point data for testing and development purposes. + * + * ## Example JSON + * ```json + * { + * "type": "MockPointSource", + * "params": { + * "points": [ { "x": 1.0, "y": 2.0 }, { "x": 3.0, "y": 4.0 } ] + * } + * } + * ``` + * @export + * @interface MockPointSource + */ +export interface MockPointSource { + /** + * + * @type {MockPointSourceParameters} + * @memberof MockPointSource + */ + params: MockPointSourceParameters; + /** + * + * @type {string} + * @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..c96be848 --- /dev/null +++ b/typescript/src/models/MockPointSourceParameters.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 { 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. + * + * ### Example + * `[{"x": 1.0, "y": 2.0}, {"x": 3.0, "y": 4.0}]` + * @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/Names.ts b/typescript/src/models/Names.ts new file mode 100644 index 00000000..b0e1f3fb --- /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 {string} + * @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/RasterOperator.ts b/typescript/src/models/RasterOperator.ts new file mode 100644 index 00000000..fb0f60e2 --- /dev/null +++ b/typescript/src/models/RasterOperator.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 { 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; + } +} + diff --git a/typescript/src/models/RasterVectorJoin.ts b/typescript/src/models/RasterVectorJoin.ts new file mode 100644 index 00000000..cdeac3d1 --- /dev/null +++ b/typescript/src/models/RasterVectorJoin.ts @@ -0,0 +1,169 @@ +/* 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'; + +/** + * # 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. + * + * ## Example JSON + * + * ```json + * { + * "type": "RasterVectorJoin", + * "params": { + * "names": ["NDVI"], + * "featureAggregation": "first", + * "temporalAggregation": "mean", + * "temporalAggregationIgnoreNoData": true + * }, + * "sources": { + * "vector": { + * "type": "OgrSource", + * "params": { + * "data": "places" + * } + * }, + * "rasters": [ + * { + * "type": "GdalSource", + * "params": { + * "data": "ndvi" + * } + * } + * ] + * } + * } + * ``` + * @export + * @interface RasterVectorJoin + */ +export interface RasterVectorJoin { + /** + * + * @type {RasterVectorJoinParameters} + * @memberof RasterVectorJoin + */ + params: RasterVectorJoinParameters; + /** + * + * @type {SingleVectorMultipleRasterSources} + * @memberof RasterVectorJoin + */ + sources: SingleVectorMultipleRasterSources; + /** + * + * @type {string} + * @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..56aa025b --- /dev/null +++ b/typescript/src/models/RasterVectorJoinParameters.ts @@ -0,0 +1,133 @@ +/* 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. + * + * | Value | Description | + * | ---------------------------------------- | ---------------------------------------------------------------------------- | + * | `{"type": "default"}` | Appends " (n)" to the band name with the smallest `n` that avoids a conflict | + * | `{"type": "suffix", "values": [string]}` | Specifies a suffix for each input, to be appended to the band names | + * | `{"type": "rename", "values": [string]}` | 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/SingleRasterSource.ts b/typescript/src/models/SingleRasterSource.ts new file mode 100644 index 00000000..3eee80c0 --- /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'; + +/** + * + * @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..3575cfb2 --- /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'; + +/** + * + * @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..89a13872 --- /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 {string} + * @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..1c9c8ac4 --- /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 {string} + * @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..30189b1e --- /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 {string} + * @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/Suffix.ts b/typescript/src/models/Suffix.ts new file mode 100644 index 00000000..dfbb6432 --- /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 {string} + * @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/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/VectorOperator.ts b/typescript/src/models/VectorOperator.ts new file mode 100644 index 00000000..b89e73d2 --- /dev/null +++ b/typescript/src/models/VectorOperator.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 { 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; + } +} + diff --git a/typescript/src/models/index.ts b/typescript/src/models/index.ts index cc760b5e..bc4b6f59 100644 --- a/typescript/src/models/index.ts +++ b/typescript/src/models/index.ts @@ -17,6 +17,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 +40,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 +64,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'; @@ -95,10 +102,13 @@ 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 './Names'; export * from './NetCdfCfDataProviderDefinition'; export * from './NumberParam'; export * from './OgrMetaData'; @@ -150,12 +160,15 @@ 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,6 +180,12 @@ export * from './SearchTypes'; export * from './SentinelS2L2ACogsProviderDefinition'; export * from './ServerInfo'; export * from './SingleBandRasterColorizer'; +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'; @@ -179,6 +198,7 @@ export * from './StacQueryBuffer'; export * from './StaticColor'; export * from './StaticNumber'; export * from './StrokeParam'; +export * from './Suffix'; export * from './SuggestMetaData'; export * from './Symbology'; export * from './TaskAbortOptions'; @@ -191,6 +211,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'; @@ -229,6 +250,7 @@ export * from './UserSession'; export * from './VecUpdate'; export * from './VectorColumnInfo'; export * from './VectorDataType'; +export * from './VectorOperator'; export * from './VectorResultDescriptor'; export * from './Volume'; export * from './VolumeFileLayersResponse'; From bf69675a8077d11c406fe10690a1b7aeb699233e Mon Sep 17 00:00:00 2001 From: Christian Beilschmidt Date: Thu, 5 Feb 2026 14:38:26 +0100 Subject: [PATCH 19/19] adjust schema --- .generation/config.ini | 2 +- .generation/input/openapi.json | 134 ++++++++++++++++-- .../models/expression.py | 2 +- .../models/gdal_source.py | 2 +- .../models/gdal_source_parameters.py | 2 +- .../models/mock_point_source.py | 2 +- .../models/mock_point_source_parameters.py | 2 +- .../models/raster_vector_join.py | 2 +- .../models/raster_vector_join_parameters.py | 2 +- rust/docs/GdalSourceParameters.md | 2 +- rust/docs/MockPointSourceParameters.md | 2 +- rust/docs/RasterVectorJoinParameters.md | 2 +- rust/src/models/expression.rs | 4 +- rust/src/models/gdal_source.rs | 4 +- rust/src/models/gdal_source_parameters.rs | 2 +- rust/src/models/mock_point_source.rs | 4 +- .../models/mock_point_source_parameters.rs | 2 +- rust/src/models/raster_vector_join.rs | 4 +- .../models/raster_vector_join_parameters.rs | 2 +- typescript/dist/esm/models/Expression.d.ts | 2 - typescript/dist/esm/models/GdalSource.d.ts | 12 -- .../dist/esm/models/GdalSourceParameters.d.ts | 3 - .../dist/esm/models/MockPointSource.d.ts | 11 -- .../esm/models/MockPointSourceParameters.d.ts | 2 - .../dist/esm/models/RasterVectorJoin.d.ts | 31 ---- .../models/RasterVectorJoinParameters.d.ts | 8 +- typescript/dist/models/Expression.d.ts | 2 - typescript/dist/models/GdalSource.d.ts | 12 -- .../dist/models/GdalSourceParameters.d.ts | 3 - typescript/dist/models/MockPointSource.d.ts | 11 -- .../models/MockPointSourceParameters.d.ts | 2 - typescript/dist/models/RasterVectorJoin.d.ts | 31 ---- .../models/RasterVectorJoinParameters.d.ts | 8 +- typescript/docs/Expression.md | 2 +- typescript/docs/GdalSource.md | 2 +- typescript/docs/MockPointSource.md | 2 +- typescript/docs/RasterVectorJoin.md | 2 +- typescript/src/models/Expression.ts | 2 - typescript/src/models/GdalSource.ts | 12 -- typescript/src/models/GdalSourceParameters.ts | 3 - typescript/src/models/MockPointSource.ts | 11 -- .../src/models/MockPointSourceParameters.ts | 2 - typescript/src/models/RasterVectorJoin.ts | 31 ---- .../src/models/RasterVectorJoinParameters.ts | 8 +- 44 files changed, 154 insertions(+), 239 deletions(-) diff --git a/.generation/config.ini b/.generation/config.ini index 6445f3b7..55bc554b 100644 --- a/.generation/config.ini +++ b/.generation/config.ini @@ -1,5 +1,5 @@ [input] -backendCommit = 9d1255a7a1c42d2133f3ccb6b07a987631154da5 +backendCommit = 4bd6c476d0f534a5457a928844e640ab35d62203 [general] githubUrl = https://github.com/geo-engine/openapi-client diff --git a/.generation/input/openapi.json b/.generation/input/openapi.json index 0dc075de..37eaa3da 100644 --- a/.generation/input/openapi.json +++ b/.generation/input/openapi.json @@ -6501,7 +6501,8 @@ }, "Expression": { "type": "object", - "description": "# Raster Expression\n\nThe `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.", + "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", @@ -6520,7 +6521,31 @@ "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", @@ -6533,11 +6558,17 @@ "properties": { "expression": { "type": "string", - "description": "Expression script\n\nExample: `\"(A - B) / (A + B)\"`" + "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." + "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", @@ -6951,7 +6982,8 @@ }, "GdalSource": { "type": "object", - "description": "# GdalSource\n\nThe [`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\n## Example JSON\n\n```json\n{\n \"type\": \"GdalSource\",\n \"params\": {\n \"data\": \"ndvi\"\n }\n}\n```", + "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" @@ -6966,7 +6998,16 @@ "GdalSource" ] } - } + }, + "examples": [ + { + "type": "GdalSource", + "params": { + "data": "ndvi", + "overviewLevel": null + } + } + ] }, "GdalSourceParameters": { "type": "object", @@ -6977,7 +7018,10 @@ "properties": { "data": { "type": "string", - "description": "Dataset name or identifier to be loaded.\n\n### Example\n`\"ndvi\"`" + "description": "Dataset name or identifier to be loaded.", + "examples": [ + "ndvi" + ] }, "overviewLevel": { "type": [ @@ -6986,6 +7030,9 @@ ], "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 } } @@ -7808,7 +7855,8 @@ }, "MockPointSource": { "type": "object", - "description": "# MockPointSource\n\nThe [`MockPointSource`] is a source operator that provides mock vector point data for testing and development purposes.\n\n## Example JSON\n```json\n{\n \"type\": \"MockPointSource\",\n \"params\": {\n \"points\": [ { \"x\": 1.0, \"y\": 2.0 }, { \"x\": 3.0, \"y\": 4.0 } ]\n }\n}\n```", + "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" @@ -7823,7 +7871,27 @@ "MockPointSource" ] } - } + }, + "examples": [ + { + "type": "MockPointSource", + "params": { + "points": [ + { + "x": 1.0, + "y": 2.0 + }, + { + "x": 3.0, + "y": 4.0 + } + ], + "spatialBounds": { + "type": "derive" + } + } + } + ] }, "MockPointSourceParameters": { "type": "object", @@ -7838,7 +7906,7 @@ "items": { "$ref": "#/components/schemas/Coordinate2D" }, - "description": "Points to be output by the mock point source.\n\n### Example\n`[{\"x\": 1.0, \"y\": 2.0}, {\"x\": 3.0, \"y\": 4.0}]`" + "description": "Points to be output by the mock point source.\n" }, "spatialBounds": { "$ref": "#/components/schemas/SpatialBoundsDerive", @@ -9329,7 +9397,8 @@ }, "RasterVectorJoin": { "type": "object", - "description": "# RasterVectorJoin\n\nThe `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\n## Example JSON\n\n```json\n{\n \"type\": \"RasterVectorJoin\",\n \"params\": {\n \"names\": [\"NDVI\"],\n \"featureAggregation\": \"first\",\n \"temporalAggregation\": \"mean\",\n \"temporalAggregationIgnoreNoData\": true\n },\n \"sources\": {\n \"vector\": {\n \"type\": \"OgrSource\",\n \"params\": {\n \"data\": \"places\"\n }\n },\n \"rasters\": [\n {\n \"type\": \"GdalSource\",\n \"params\": {\n \"data\": \"ndvi\"\n }\n }\n ]\n }\n}\n```", + "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", @@ -9348,7 +9417,36 @@ "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", @@ -9364,11 +9462,14 @@ }, "featureAggregationIgnoreNoData": { "type": "boolean", - "description": "Whether to ignore no data values in the aggregation. Defaults to `false`." + "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| Value | Description |\n| ---------------------------------------- | ---------------------------------------------------------------------------- |\n| `{\"type\": \"default\"}` | Appends \" (n)\" to the band name with the smallest `n` that avoids a conflict |\n| `{\"type\": \"suffix\", \"values\": [string]}` | Specifies a suffix for each input, to be appended to the band names |\n| `{\"type\": \"rename\", \"values\": [string]}` | A list of names for each new column |\n" + "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", @@ -9376,7 +9477,10 @@ }, "temporalAggregationIgnoreNoData": { "type": "boolean", - "description": "Whether to ignore no data values in the aggregation. Defaults to `false`." + "description": "Whether to ignore no data values in the aggregation. Defaults to `false`.", + "examples": [ + true + ] } } }, diff --git a/python/geoengine_openapi_client/models/expression.py b/python/geoengine_openapi_client/models/expression.py index 31cc1e71..cda72403 100644 --- a/python/geoengine_openapi_client/models/expression.py +++ b/python/geoengine_openapi_client/models/expression.py @@ -26,7 +26,7 @@ class Expression(BaseModel): """ - # Raster 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. + 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 diff --git a/python/geoengine_openapi_client/models/gdal_source.py b/python/geoengine_openapi_client/models/gdal_source.py index a47456d0..99f97ade 100644 --- a/python/geoengine_openapi_client/models/gdal_source.py +++ b/python/geoengine_openapi_client/models/gdal_source.py @@ -26,7 +26,7 @@ class GdalSource(BaseModel): """ - # 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. ## Example JSON ```json { \"type\": \"GdalSource\", \"params\": { \"data\": \"ndvi\" } } ``` + 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 diff --git a/python/geoengine_openapi_client/models/gdal_source_parameters.py b/python/geoengine_openapi_client/models/gdal_source_parameters.py index 00c309d7..44e7c8de 100644 --- a/python/geoengine_openapi_client/models/gdal_source_parameters.py +++ b/python/geoengine_openapi_client/models/gdal_source_parameters.py @@ -28,7 +28,7 @@ class GdalSourceParameters(BaseModel): """ Parameters for the [`GdalSource`] operator. """ # noqa: E501 - data: StrictStr = Field(description="Dataset name or identifier to be loaded. ### Example `\"ndvi\"`") + 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"] diff --git a/python/geoengine_openapi_client/models/mock_point_source.py b/python/geoengine_openapi_client/models/mock_point_source.py index 2351bd17..f505dc24 100644 --- a/python/geoengine_openapi_client/models/mock_point_source.py +++ b/python/geoengine_openapi_client/models/mock_point_source.py @@ -26,7 +26,7 @@ class MockPointSource(BaseModel): """ - # MockPointSource The [`MockPointSource`] is a source operator that provides mock vector point data for testing and development purposes. ## Example JSON ```json { \"type\": \"MockPointSource\", \"params\": { \"points\": [ { \"x\": 1.0, \"y\": 2.0 }, { \"x\": 3.0, \"y\": 4.0 } ] } } ``` + The [`MockPointSource`] is a source operator that provides mock vector point data for testing and development purposes. """ # noqa: E501 params: MockPointSourceParameters type: StrictStr diff --git a/python/geoengine_openapi_client/models/mock_point_source_parameters.py b/python/geoengine_openapi_client/models/mock_point_source_parameters.py index 123c2a84..d5eb0b00 100644 --- a/python/geoengine_openapi_client/models/mock_point_source_parameters.py +++ b/python/geoengine_openapi_client/models/mock_point_source_parameters.py @@ -29,7 +29,7 @@ class MockPointSourceParameters(BaseModel): """ Parameters for the [`MockPointSource`] operator. """ # noqa: E501 - points: List[Coordinate2D] = Field(description="Points to be output by the mock point source. ### Example `[{\"x\": 1.0, \"y\": 2.0}, {\"x\": 3.0, \"y\": 4.0}]`") + 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"] diff --git a/python/geoengine_openapi_client/models/raster_vector_join.py b/python/geoengine_openapi_client/models/raster_vector_join.py index cddc182e..37efc395 100644 --- a/python/geoengine_openapi_client/models/raster_vector_join.py +++ b/python/geoengine_openapi_client/models/raster_vector_join.py @@ -26,7 +26,7 @@ class RasterVectorJoin(BaseModel): """ - # 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. ## Example JSON ```json { \"type\": \"RasterVectorJoin\", \"params\": { \"names\": [\"NDVI\"], \"featureAggregation\": \"first\", \"temporalAggregation\": \"mean\", \"temporalAggregationIgnoreNoData\": true }, \"sources\": { \"vector\": { \"type\": \"OgrSource\", \"params\": { \"data\": \"places\" } }, \"rasters\": [ { \"type\": \"GdalSource\", \"params\": { \"data\": \"ndvi\" } } ] } } ``` + 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 diff --git a/python/geoengine_openapi_client/models/raster_vector_join_parameters.py b/python/geoengine_openapi_client/models/raster_vector_join_parameters.py index d89892c5..8ff5a66b 100644 --- a/python/geoengine_openapi_client/models/raster_vector_join_parameters.py +++ b/python/geoengine_openapi_client/models/raster_vector_join_parameters.py @@ -32,7 +32,7 @@ class RasterVectorJoinParameters(BaseModel): """ # 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. | Value | Description | | ---------------------------------------- | ---------------------------------------------------------------------------- | | `{\"type\": \"default\"}` | Appends \" (n)\" to the band name with the smallest `n` that avoids a conflict | | `{\"type\": \"suffix\", \"values\": [string]}` | Specifies a suffix for each input, to be appended to the band names | | `{\"type\": \"rename\", \"values\": [string]}` | A list of names for each new column | ") + 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"] diff --git a/rust/docs/GdalSourceParameters.md b/rust/docs/GdalSourceParameters.md index 97241fe2..a0448955 100644 --- a/rust/docs/GdalSourceParameters.md +++ b/rust/docs/GdalSourceParameters.md @@ -4,7 +4,7 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- -**data** | **String** | Dataset name or identifier to be loaded. ### Example `\"ndvi\"` | +**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/MockPointSourceParameters.md b/rust/docs/MockPointSourceParameters.md index 359b07f6..3ae6a7d7 100644 --- a/rust/docs/MockPointSourceParameters.md +++ b/rust/docs/MockPointSourceParameters.md @@ -4,7 +4,7 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- -**points** | [**Vec**](Coordinate2D.md) | Points to be output by the mock point source. ### Example `[{\"x\": 1.0, \"y\": 2.0}, {\"x\": 3.0, \"y\": 4.0}]` | +**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/RasterVectorJoinParameters.md b/rust/docs/RasterVectorJoinParameters.md index c7ed60f5..55aa5899 100644 --- a/rust/docs/RasterVectorJoinParameters.md +++ b/rust/docs/RasterVectorJoinParameters.md @@ -6,7 +6,7 @@ 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. | Value | Description | | ---------------------------------------- | ---------------------------------------------------------------------------- | | `{\"type\": \"default\"}` | Appends \" (n)\" to the band name with the smallest `n` that avoids a conflict | | `{\"type\": \"suffix\", \"values\": [string]}` | Specifies a suffix for each input, to be appended to the band names | | `{\"type\": \"rename\", \"values\": [string]}` | A list of names for each new column | | +**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] diff --git a/rust/src/models/expression.rs b/rust/src/models/expression.rs index e293ea89..a44611c4 100644 --- a/rust/src/models/expression.rs +++ b/rust/src/models/expression.rs @@ -11,7 +11,7 @@ use crate::models; use serde::{Deserialize, Serialize}; -/// Expression : # Raster 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. +/// 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")] @@ -23,7 +23,7 @@ pub struct Expression { } impl Expression { - /// # Raster 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. + /// 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), diff --git a/rust/src/models/gdal_source.rs b/rust/src/models/gdal_source.rs index 8a006e23..18760f7b 100644 --- a/rust/src/models/gdal_source.rs +++ b/rust/src/models/gdal_source.rs @@ -11,7 +11,7 @@ use crate::models; use serde::{Deserialize, Serialize}; -/// GdalSource : # 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. ## Example JSON ```json { \"type\": \"GdalSource\", \"params\": { \"data\": \"ndvi\" } } ``` +/// 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")] @@ -21,7 +21,7 @@ pub struct GdalSource { } impl GdalSource { - /// # 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. ## Example JSON ```json { \"type\": \"GdalSource\", \"params\": { \"data\": \"ndvi\" } } ``` + /// 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), diff --git a/rust/src/models/gdal_source_parameters.rs b/rust/src/models/gdal_source_parameters.rs index bc2b08d6..66e512da 100644 --- a/rust/src/models/gdal_source_parameters.rs +++ b/rust/src/models/gdal_source_parameters.rs @@ -14,7 +14,7 @@ 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. ### Example `\"ndvi\"` + /// 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. diff --git a/rust/src/models/mock_point_source.rs b/rust/src/models/mock_point_source.rs index df0c7b53..f7fbbcc7 100644 --- a/rust/src/models/mock_point_source.rs +++ b/rust/src/models/mock_point_source.rs @@ -11,7 +11,7 @@ use crate::models; use serde::{Deserialize, Serialize}; -/// MockPointSource : # MockPointSource The [`MockPointSource`] is a source operator that provides mock vector point data for testing and development purposes. ## Example JSON ```json { \"type\": \"MockPointSource\", \"params\": { \"points\": [ { \"x\": 1.0, \"y\": 2.0 }, { \"x\": 3.0, \"y\": 4.0 } ] } } ``` +/// 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")] @@ -21,7 +21,7 @@ pub struct MockPointSource { } impl MockPointSource { - /// # MockPointSource The [`MockPointSource`] is a source operator that provides mock vector point data for testing and development purposes. ## Example JSON ```json { \"type\": \"MockPointSource\", \"params\": { \"points\": [ { \"x\": 1.0, \"y\": 2.0 }, { \"x\": 3.0, \"y\": 4.0 } ] } } ``` + /// 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), diff --git a/rust/src/models/mock_point_source_parameters.rs b/rust/src/models/mock_point_source_parameters.rs index 35f4f496..6f449aa4 100644 --- a/rust/src/models/mock_point_source_parameters.rs +++ b/rust/src/models/mock_point_source_parameters.rs @@ -14,7 +14,7 @@ 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. ### Example `[{\"x\": 1.0, \"y\": 2.0}, {\"x\": 3.0, \"y\": 4.0}]` + /// 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`. diff --git a/rust/src/models/raster_vector_join.rs b/rust/src/models/raster_vector_join.rs index 51419f13..c7ca94cc 100644 --- a/rust/src/models/raster_vector_join.rs +++ b/rust/src/models/raster_vector_join.rs @@ -11,7 +11,7 @@ use crate::models; use serde::{Deserialize, Serialize}; -/// RasterVectorJoin : # 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. ## Example JSON ```json { \"type\": \"RasterVectorJoin\", \"params\": { \"names\": [\"NDVI\"], \"featureAggregation\": \"first\", \"temporalAggregation\": \"mean\", \"temporalAggregationIgnoreNoData\": true }, \"sources\": { \"vector\": { \"type\": \"OgrSource\", \"params\": { \"data\": \"places\" } }, \"rasters\": [ { \"type\": \"GdalSource\", \"params\": { \"data\": \"ndvi\" } } ] } } ``` +/// 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")] @@ -23,7 +23,7 @@ pub struct RasterVectorJoin { } impl RasterVectorJoin { - /// # 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. ## Example JSON ```json { \"type\": \"RasterVectorJoin\", \"params\": { \"names\": [\"NDVI\"], \"featureAggregation\": \"first\", \"temporalAggregation\": \"mean\", \"temporalAggregationIgnoreNoData\": true }, \"sources\": { \"vector\": { \"type\": \"OgrSource\", \"params\": { \"data\": \"places\" } }, \"rasters\": [ { \"type\": \"GdalSource\", \"params\": { \"data\": \"ndvi\" } } ] } } ``` + /// 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), diff --git a/rust/src/models/raster_vector_join_parameters.rs b/rust/src/models/raster_vector_join_parameters.rs index 03e0f986..5f29f517 100644 --- a/rust/src/models/raster_vector_join_parameters.rs +++ b/rust/src/models/raster_vector_join_parameters.rs @@ -19,7 +19,7 @@ pub struct RasterVectorJoinParameters { /// 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. | Value | Description | | ---------------------------------------- | ---------------------------------------------------------------------------- | | `{\"type\": \"default\"}` | Appends \" (n)\" to the band name with the smallest `n` that avoids a conflict | | `{\"type\": \"suffix\", \"values\": [string]}` | Specifies a suffix for each input, to be appended to the band names | | `{\"type\": \"rename\", \"values\": [string]}` | A list of names for each new column | + /// 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. diff --git a/typescript/dist/esm/models/Expression.d.ts b/typescript/dist/esm/models/Expression.d.ts index 35e95473..e62fcdfe 100644 --- a/typescript/dist/esm/models/Expression.d.ts +++ b/typescript/dist/esm/models/Expression.d.ts @@ -12,8 +12,6 @@ import type { SingleRasterSource } from './SingleRasterSource'; import type { ExpressionParameters } from './ExpressionParameters'; /** - * # Raster 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. diff --git a/typescript/dist/esm/models/GdalSource.d.ts b/typescript/dist/esm/models/GdalSource.d.ts index 32a1680d..a3493a6c 100644 --- a/typescript/dist/esm/models/GdalSource.d.ts +++ b/typescript/dist/esm/models/GdalSource.d.ts @@ -11,8 +11,6 @@ */ import type { GdalSourceParameters } from './GdalSourceParameters'; /** - * # GdalSource - * * The [`GdalSource`] is a source operator that reads raster data using GDAL. * The counterpart for vector data is the [`OgrSource`]. * @@ -20,16 +18,6 @@ import type { GdalSourceParameters } from './GdalSourceParameters'; * * If the given dataset does not exist or is not readable, an error is thrown. * - * ## Example JSON - * - * ```json - * { - * "type": "GdalSource", - * "params": { - * "data": "ndvi" - * } - * } - * ``` * @export * @interface GdalSource */ diff --git a/typescript/dist/esm/models/GdalSourceParameters.d.ts b/typescript/dist/esm/models/GdalSourceParameters.d.ts index eb4bc9be..32d71c9b 100644 --- a/typescript/dist/esm/models/GdalSourceParameters.d.ts +++ b/typescript/dist/esm/models/GdalSourceParameters.d.ts @@ -17,9 +17,6 @@ export interface GdalSourceParameters { /** * Dataset name or identifier to be loaded. - * - * ### Example - * `"ndvi"` * @type {string} * @memberof GdalSourceParameters */ diff --git a/typescript/dist/esm/models/MockPointSource.d.ts b/typescript/dist/esm/models/MockPointSource.d.ts index 775ec0bf..a45ee591 100644 --- a/typescript/dist/esm/models/MockPointSource.d.ts +++ b/typescript/dist/esm/models/MockPointSource.d.ts @@ -11,19 +11,8 @@ */ import type { MockPointSourceParameters } from './MockPointSourceParameters'; /** - * # MockPointSource - * * The [`MockPointSource`] is a source operator that provides mock vector point data for testing and development purposes. * - * ## Example JSON - * ```json - * { - * "type": "MockPointSource", - * "params": { - * "points": [ { "x": 1.0, "y": 2.0 }, { "x": 3.0, "y": 4.0 } ] - * } - * } - * ``` * @export * @interface MockPointSource */ diff --git a/typescript/dist/esm/models/MockPointSourceParameters.d.ts b/typescript/dist/esm/models/MockPointSourceParameters.d.ts index 0a7a7d2b..af6d1a63 100644 --- a/typescript/dist/esm/models/MockPointSourceParameters.d.ts +++ b/typescript/dist/esm/models/MockPointSourceParameters.d.ts @@ -20,8 +20,6 @@ export interface MockPointSourceParameters { /** * Points to be output by the mock point source. * - * ### Example - * `[{"x": 1.0, "y": 2.0}, {"x": 3.0, "y": 4.0}]` * @type {Array} * @memberof MockPointSourceParameters */ diff --git a/typescript/dist/esm/models/RasterVectorJoin.d.ts b/typescript/dist/esm/models/RasterVectorJoin.d.ts index d4ead466..7e95b9e4 100644 --- a/typescript/dist/esm/models/RasterVectorJoin.d.ts +++ b/typescript/dist/esm/models/RasterVectorJoin.d.ts @@ -12,8 +12,6 @@ import type { SingleVectorMultipleRasterSources } from './SingleVectorMultipleRasterSources'; import type { RasterVectorJoinParameters } from './RasterVectorJoinParameters'; /** - * # 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. @@ -44,35 +42,6 @@ import type { RasterVectorJoinParameters } from './RasterVectorJoinParameters'; * * If the length of `names` is not equal to the number of raster inputs, an error is thrown. * - * ## Example JSON - * - * ```json - * { - * "type": "RasterVectorJoin", - * "params": { - * "names": ["NDVI"], - * "featureAggregation": "first", - * "temporalAggregation": "mean", - * "temporalAggregationIgnoreNoData": true - * }, - * "sources": { - * "vector": { - * "type": "OgrSource", - * "params": { - * "data": "places" - * } - * }, - * "rasters": [ - * { - * "type": "GdalSource", - * "params": { - * "data": "ndvi" - * } - * } - * ] - * } - * } - * ``` * @export * @interface RasterVectorJoin */ diff --git a/typescript/dist/esm/models/RasterVectorJoinParameters.d.ts b/typescript/dist/esm/models/RasterVectorJoinParameters.d.ts index 40f8e280..b43e25dc 100644 --- a/typescript/dist/esm/models/RasterVectorJoinParameters.d.ts +++ b/typescript/dist/esm/models/RasterVectorJoinParameters.d.ts @@ -35,11 +35,9 @@ export interface RasterVectorJoinParameters { * * The `ColumnNames` type is used to specify how the new column names are derived from the raster band names. * - * | Value | Description | - * | ---------------------------------------- | ---------------------------------------------------------------------------- | - * | `{"type": "default"}` | Appends " (n)" to the band name with the smallest `n` that avoids a conflict | - * | `{"type": "suffix", "values": [string]}` | Specifies a suffix for each input, to be appended to the band names | - * | `{"type": "rename", "values": [string]}` | A list of names for each new column | + * - **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 diff --git a/typescript/dist/models/Expression.d.ts b/typescript/dist/models/Expression.d.ts index 35e95473..e62fcdfe 100644 --- a/typescript/dist/models/Expression.d.ts +++ b/typescript/dist/models/Expression.d.ts @@ -12,8 +12,6 @@ import type { SingleRasterSource } from './SingleRasterSource'; import type { ExpressionParameters } from './ExpressionParameters'; /** - * # Raster 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. diff --git a/typescript/dist/models/GdalSource.d.ts b/typescript/dist/models/GdalSource.d.ts index 32a1680d..a3493a6c 100644 --- a/typescript/dist/models/GdalSource.d.ts +++ b/typescript/dist/models/GdalSource.d.ts @@ -11,8 +11,6 @@ */ import type { GdalSourceParameters } from './GdalSourceParameters'; /** - * # GdalSource - * * The [`GdalSource`] is a source operator that reads raster data using GDAL. * The counterpart for vector data is the [`OgrSource`]. * @@ -20,16 +18,6 @@ import type { GdalSourceParameters } from './GdalSourceParameters'; * * If the given dataset does not exist or is not readable, an error is thrown. * - * ## Example JSON - * - * ```json - * { - * "type": "GdalSource", - * "params": { - * "data": "ndvi" - * } - * } - * ``` * @export * @interface GdalSource */ diff --git a/typescript/dist/models/GdalSourceParameters.d.ts b/typescript/dist/models/GdalSourceParameters.d.ts index eb4bc9be..32d71c9b 100644 --- a/typescript/dist/models/GdalSourceParameters.d.ts +++ b/typescript/dist/models/GdalSourceParameters.d.ts @@ -17,9 +17,6 @@ export interface GdalSourceParameters { /** * Dataset name or identifier to be loaded. - * - * ### Example - * `"ndvi"` * @type {string} * @memberof GdalSourceParameters */ diff --git a/typescript/dist/models/MockPointSource.d.ts b/typescript/dist/models/MockPointSource.d.ts index 775ec0bf..a45ee591 100644 --- a/typescript/dist/models/MockPointSource.d.ts +++ b/typescript/dist/models/MockPointSource.d.ts @@ -11,19 +11,8 @@ */ import type { MockPointSourceParameters } from './MockPointSourceParameters'; /** - * # MockPointSource - * * The [`MockPointSource`] is a source operator that provides mock vector point data for testing and development purposes. * - * ## Example JSON - * ```json - * { - * "type": "MockPointSource", - * "params": { - * "points": [ { "x": 1.0, "y": 2.0 }, { "x": 3.0, "y": 4.0 } ] - * } - * } - * ``` * @export * @interface MockPointSource */ diff --git a/typescript/dist/models/MockPointSourceParameters.d.ts b/typescript/dist/models/MockPointSourceParameters.d.ts index 0a7a7d2b..af6d1a63 100644 --- a/typescript/dist/models/MockPointSourceParameters.d.ts +++ b/typescript/dist/models/MockPointSourceParameters.d.ts @@ -20,8 +20,6 @@ export interface MockPointSourceParameters { /** * Points to be output by the mock point source. * - * ### Example - * `[{"x": 1.0, "y": 2.0}, {"x": 3.0, "y": 4.0}]` * @type {Array} * @memberof MockPointSourceParameters */ diff --git a/typescript/dist/models/RasterVectorJoin.d.ts b/typescript/dist/models/RasterVectorJoin.d.ts index d4ead466..7e95b9e4 100644 --- a/typescript/dist/models/RasterVectorJoin.d.ts +++ b/typescript/dist/models/RasterVectorJoin.d.ts @@ -12,8 +12,6 @@ import type { SingleVectorMultipleRasterSources } from './SingleVectorMultipleRasterSources'; import type { RasterVectorJoinParameters } from './RasterVectorJoinParameters'; /** - * # 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. @@ -44,35 +42,6 @@ import type { RasterVectorJoinParameters } from './RasterVectorJoinParameters'; * * If the length of `names` is not equal to the number of raster inputs, an error is thrown. * - * ## Example JSON - * - * ```json - * { - * "type": "RasterVectorJoin", - * "params": { - * "names": ["NDVI"], - * "featureAggregation": "first", - * "temporalAggregation": "mean", - * "temporalAggregationIgnoreNoData": true - * }, - * "sources": { - * "vector": { - * "type": "OgrSource", - * "params": { - * "data": "places" - * } - * }, - * "rasters": [ - * { - * "type": "GdalSource", - * "params": { - * "data": "ndvi" - * } - * } - * ] - * } - * } - * ``` * @export * @interface RasterVectorJoin */ diff --git a/typescript/dist/models/RasterVectorJoinParameters.d.ts b/typescript/dist/models/RasterVectorJoinParameters.d.ts index 40f8e280..b43e25dc 100644 --- a/typescript/dist/models/RasterVectorJoinParameters.d.ts +++ b/typescript/dist/models/RasterVectorJoinParameters.d.ts @@ -35,11 +35,9 @@ export interface RasterVectorJoinParameters { * * The `ColumnNames` type is used to specify how the new column names are derived from the raster band names. * - * | Value | Description | - * | ---------------------------------------- | ---------------------------------------------------------------------------- | - * | `{"type": "default"}` | Appends " (n)" to the band name with the smallest `n` that avoids a conflict | - * | `{"type": "suffix", "values": [string]}` | Specifies a suffix for each input, to be appended to the band names | - * | `{"type": "rename", "values": [string]}` | A list of names for each new column | + * - **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 diff --git a/typescript/docs/Expression.md b/typescript/docs/Expression.md index 0ae395a0..a381c627 100644 --- a/typescript/docs/Expression.md +++ b/typescript/docs/Expression.md @@ -1,7 +1,7 @@ # Expression -# Raster 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. +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 diff --git a/typescript/docs/GdalSource.md b/typescript/docs/GdalSource.md index 940cdc12..79ecdd86 100644 --- a/typescript/docs/GdalSource.md +++ b/typescript/docs/GdalSource.md @@ -1,7 +1,7 @@ # GdalSource -# 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. ## Example JSON ```json { \"type\": \"GdalSource\", \"params\": { \"data\": \"ndvi\" } } ``` +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 diff --git a/typescript/docs/MockPointSource.md b/typescript/docs/MockPointSource.md index e3c15a78..12db08da 100644 --- a/typescript/docs/MockPointSource.md +++ b/typescript/docs/MockPointSource.md @@ -1,7 +1,7 @@ # MockPointSource -# MockPointSource The [`MockPointSource`] is a source operator that provides mock vector point data for testing and development purposes. ## Example JSON ```json { \"type\": \"MockPointSource\", \"params\": { \"points\": [ { \"x\": 1.0, \"y\": 2.0 }, { \"x\": 3.0, \"y\": 4.0 } ] } } ``` +The [`MockPointSource`] is a source operator that provides mock vector point data for testing and development purposes. ## Properties diff --git a/typescript/docs/RasterVectorJoin.md b/typescript/docs/RasterVectorJoin.md index 553f7da4..7316f8a8 100644 --- a/typescript/docs/RasterVectorJoin.md +++ b/typescript/docs/RasterVectorJoin.md @@ -1,7 +1,7 @@ # RasterVectorJoin -# 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. ## Example JSON ```json { \"type\": \"RasterVectorJoin\", \"params\": { \"names\": [\"NDVI\"], \"featureAggregation\": \"first\", \"temporalAggregation\": \"mean\", \"temporalAggregationIgnoreNoData\": true }, \"sources\": { \"vector\": { \"type\": \"OgrSource\", \"params\": { \"data\": \"places\" } }, \"rasters\": [ { \"type\": \"GdalSource\", \"params\": { \"data\": \"ndvi\" } } ] } } ``` +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 diff --git a/typescript/src/models/Expression.ts b/typescript/src/models/Expression.ts index 15026b2b..ce76db47 100644 --- a/typescript/src/models/Expression.ts +++ b/typescript/src/models/Expression.ts @@ -29,8 +29,6 @@ import { } from './ExpressionParameters'; /** - * # Raster 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. diff --git a/typescript/src/models/GdalSource.ts b/typescript/src/models/GdalSource.ts index 3410280a..1889c66a 100644 --- a/typescript/src/models/GdalSource.ts +++ b/typescript/src/models/GdalSource.ts @@ -22,8 +22,6 @@ import { } from './GdalSourceParameters'; /** - * # GdalSource - * * The [`GdalSource`] is a source operator that reads raster data using GDAL. * The counterpart for vector data is the [`OgrSource`]. * @@ -31,16 +29,6 @@ import { * * If the given dataset does not exist or is not readable, an error is thrown. * - * ## Example JSON - * - * ```json - * { - * "type": "GdalSource", - * "params": { - * "data": "ndvi" - * } - * } - * ``` * @export * @interface GdalSource */ diff --git a/typescript/src/models/GdalSourceParameters.ts b/typescript/src/models/GdalSourceParameters.ts index f9c8ef00..71623d5b 100644 --- a/typescript/src/models/GdalSourceParameters.ts +++ b/typescript/src/models/GdalSourceParameters.ts @@ -21,9 +21,6 @@ import { mapValues } from '../runtime'; export interface GdalSourceParameters { /** * Dataset name or identifier to be loaded. - * - * ### Example - * `"ndvi"` * @type {string} * @memberof GdalSourceParameters */ diff --git a/typescript/src/models/MockPointSource.ts b/typescript/src/models/MockPointSource.ts index 4bc0f1fc..3149f7e3 100644 --- a/typescript/src/models/MockPointSource.ts +++ b/typescript/src/models/MockPointSource.ts @@ -22,19 +22,8 @@ import { } from './MockPointSourceParameters'; /** - * # MockPointSource - * * The [`MockPointSource`] is a source operator that provides mock vector point data for testing and development purposes. * - * ## Example JSON - * ```json - * { - * "type": "MockPointSource", - * "params": { - * "points": [ { "x": 1.0, "y": 2.0 }, { "x": 3.0, "y": 4.0 } ] - * } - * } - * ``` * @export * @interface MockPointSource */ diff --git a/typescript/src/models/MockPointSourceParameters.ts b/typescript/src/models/MockPointSourceParameters.ts index c96be848..554220a4 100644 --- a/typescript/src/models/MockPointSourceParameters.ts +++ b/typescript/src/models/MockPointSourceParameters.ts @@ -37,8 +37,6 @@ export interface MockPointSourceParameters { /** * Points to be output by the mock point source. * - * ### Example - * `[{"x": 1.0, "y": 2.0}, {"x": 3.0, "y": 4.0}]` * @type {Array} * @memberof MockPointSourceParameters */ diff --git a/typescript/src/models/RasterVectorJoin.ts b/typescript/src/models/RasterVectorJoin.ts index cdeac3d1..c885704a 100644 --- a/typescript/src/models/RasterVectorJoin.ts +++ b/typescript/src/models/RasterVectorJoin.ts @@ -29,8 +29,6 @@ import { } from './RasterVectorJoinParameters'; /** - * # 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. @@ -61,35 +59,6 @@ import { * * If the length of `names` is not equal to the number of raster inputs, an error is thrown. * - * ## Example JSON - * - * ```json - * { - * "type": "RasterVectorJoin", - * "params": { - * "names": ["NDVI"], - * "featureAggregation": "first", - * "temporalAggregation": "mean", - * "temporalAggregationIgnoreNoData": true - * }, - * "sources": { - * "vector": { - * "type": "OgrSource", - * "params": { - * "data": "places" - * } - * }, - * "rasters": [ - * { - * "type": "GdalSource", - * "params": { - * "data": "ndvi" - * } - * } - * ] - * } - * } - * ``` * @export * @interface RasterVectorJoin */ diff --git a/typescript/src/models/RasterVectorJoinParameters.ts b/typescript/src/models/RasterVectorJoinParameters.ts index 56aa025b..213d8136 100644 --- a/typescript/src/models/RasterVectorJoinParameters.ts +++ b/typescript/src/models/RasterVectorJoinParameters.ts @@ -58,11 +58,9 @@ export interface RasterVectorJoinParameters { * * The `ColumnNames` type is used to specify how the new column names are derived from the raster band names. * - * | Value | Description | - * | ---------------------------------------- | ---------------------------------------------------------------------------- | - * | `{"type": "default"}` | Appends " (n)" to the band name with the smallest `n` that avoids a conflict | - * | `{"type": "suffix", "values": [string]}` | Specifies a suffix for each input, to be appended to the band names | - * | `{"type": "rename", "values": [string]}` | A list of names for each new column | + * - **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