From 3fc0f39a10d4a5895e04bb540d1b47e38f9bab07 Mon Sep 17 00:00:00 2001 From: Christian Beilschmidt Date: Mon, 10 Nov 2025 11:55:08 +0100 Subject: [PATCH 1/8] 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 2/8] 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 3/8] 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 4/8] 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 5/8] 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 6/8] 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 7/8] 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 8/8] 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`