41 lines
1.2 KiB
Go
41 lines
1.2 KiB
Go
package files
|
|
|
|
import "time"
|
|
|
|
type FileType string
|
|
|
|
const (
|
|
FileTypeVectorWithTable FileType = "vector_with_table"
|
|
FileTypeVector FileType = "vector"
|
|
FileTypeRaster FileType = "raster"
|
|
)
|
|
|
|
type ValidationStatus string
|
|
|
|
const (
|
|
ValidationStatusPending ValidationStatus = "pending"
|
|
ValidationStatusValid ValidationStatus = "valid"
|
|
ValidationStatusFailed ValidationStatus = "failed"
|
|
)
|
|
|
|
type GeoFile struct {
|
|
ID string `json:"id"`
|
|
Filename string `json:"filename"`
|
|
FileType FileType `json:"file_type"`
|
|
ValidationStatus ValidationStatus `json:"validation_status"`
|
|
ValidationError *string `json:"validation_error"`
|
|
KatoColumn *string `json:"kato_column"`
|
|
CRS *string `json:"crs"`
|
|
FeatureCount *int `json:"feature_count"`
|
|
UploadedAt time.Time `json:"uploaded_at"`
|
|
UpdatedAt time.Time `json:"updated_at"`
|
|
}
|
|
|
|
var allowedExtensions = map[string]FileType{
|
|
".zip": FileTypeVectorWithTable,
|
|
".geojson": FileTypeVectorWithTable,
|
|
".gpkg": FileTypeVectorWithTable,
|
|
".tif": FileTypeRaster,
|
|
".tiff": FileTypeRaster,
|
|
}
|