view pkg/models/imports.go @ 2025:070ac9dd61a1 unify_imports

Bring manual imports to new import modeling.
author Sascha L. Teichmann <sascha.teichmann@intevation.de>
date Thu, 24 Jan 2019 18:19:43 +0100
parents 6d9fbc62c5a6
children 8d006afa7c1b
line wrap: on
line source

// This is Free Software under GNU Affero General Public License v >= 3.0
// without warranty, see README.md and license for details.
//
// SPDX-License-Identifier: AGPL-3.0-or-later
// License-Filename: LICENSES/AGPL-3.0.txt
//
// Copyright (C) 2018 by via donau
//   – Österreichische Wasserstraßen-Gesellschaft mbH
// Software engineering by Intevation GmbH
//
// Author(s):
//  * Sascha L. Teichmann <sascha.teichmann@intevation.de>
package models

type (
	BottleneckImport struct {
		URLType
		QueueConfigurationType
	}

	// GaugeMeasurementImport contains data used to define the endpoint
	GaugeMeasurementImport struct {
		URLType
		QueueConfigurationType
	}

	// FairwayAvailabilityImport contains data used to define the endpoint
	FairwayAvailabilityImport struct {
		URLType
		QueueConfigurationType
	}

	// WaterwayAxisImport specifies an import of the waterway axis.
	WaterwayAxisImport struct {
		URLType
		QueueConfigurationType

		// FeatureType is the layer to use.
		FeatureType string `json:"feature-type"`
		// SortBy sorts the feature by this key.
		SortBy string `json:"sort-by"`
	}

	// WaterwayAreaImport specifies an import of the waterway area.
	WaterwayAreaImport struct {
		URLType
		QueueConfigurationType

		// FeatureType is the layer to use.
		FeatureType string `json:"feature-type"`
		// SortBy sorts the feature by this key.
		SortBy string `json:"sort-by"`
	}

	// WaterwayAxisImport specifies an import of waterway gauges.
	WaterwayGaugeImport struct {
		URLType
		QueueConfigurationType
	}

	// DistanceMarksVirtualImport specifies an import of distance marks virtual.
	DistanceMarksVirtualImport struct {
		URLType
		QueueConfigurationType
	}

	// FairwayDimensionImport specifies an import of the waterway axis.
	FairwayDimensionImport struct {
		URLType
		QueueConfigurationType

		// FeatureType is the layer to use.
		FeatureType string `json:"feature-type"`
		// SortBy sorts the feature by this key.
		SortBy string `json:"sort-by"`
		// LOS is the level of service provided by the wfs
		LOS int `json:"los"`
		// MinWidth is the minimum width of the fairway for the specified LOS
		MinWidth int `json:"min-width"`
		// MaxWidth is the maximum width of the fairway for the specified LOS
		MaxWidth int `json:"max-width"`
		// Depth is the minimum depth of the fairway for the specified LOS
		Depth int `json:"depth"`
		// SourceOrganization specifies the source of the entry
		SourceOrganization string `json:"source-organization"`
	}

	// DistanceMarksAshoreImport specifies an import of the distance marks.
	DistanceMarksAshoreImport struct {
		URLType
		QueueConfigurationType

		// FeatureType is the layer to use.
		FeatureType string `json:"feature-type"`
		// SortBy sorts the feature by this key.
		SortBy string `json:"sort-by"`
	}

	StretchImport struct {
		QueueConfigurationType

		Name      string          `json:"name"`
		From      Isrs            `json:"from"`
		To        Isrs            `json:"to"`
		ObjNam    string          `json:"objnam"`
		NObjNam   *string         `json:"nobjnam"`
		Source    string          `json:"source-organization"`
		Date      Date            `json:"date-info"`
		Countries UniqueCountries `json:"countries"`
	}
)