Mercurial > gemma
changeset 4189:2ac52d89619e
Exposed the import to delete sections under POST /api/imports/dsec with a JSON input as '{ "id": 42 }'.
author | Sascha L. Teichmann <sascha.teichmann@intevation.de> |
---|---|
date | Wed, 07 Aug 2019 15:23:41 +0200 |
parents | f8b7db7e392a |
children | 0601143ffd02 e3210c87f497 |
files | pkg/controllers/routes.go pkg/imports/modelconvert.go pkg/models/imports.go |
diffstat | 3 files changed, 22 insertions(+), 12 deletions(-) [+] |
line wrap: on
line diff
--- a/pkg/controllers/routes.go Wed Aug 07 13:11:16 2019 +0200 +++ b/pkg/controllers/routes.go Wed Aug 07 15:23:41 2019 +0200 @@ -247,7 +247,7 @@ kinds := strings.Join([]string{ "bn", "gm", "fa", "wx", "wa", "wg", "dmv", "fd", "dma", - "sec", + "sec", "dsec", }, "|") api.Handle("/imports/{kind:"+kinds+"}", waterwayAdmin(&JSONHandler{
--- a/pkg/imports/modelconvert.go Wed Aug 07 13:11:16 2019 +0200 +++ b/pkg/imports/modelconvert.go Wed Aug 07 15:23:41 2019 +0200 @@ -18,17 +18,18 @@ ) var kindToImportModel = map[JobKind]func() interface{}{ - BNJobKind: func() interface{} { return new(models.BottleneckImport) }, - GMJobKind: func() interface{} { return new(models.GaugeMeasurementImport) }, - FAJobKind: func() interface{} { return new(models.FairwayAvailabilityImport) }, - WXJobKind: func() interface{} { return new(models.WaterwayAxisImport) }, - WAJobKind: func() interface{} { return new(models.WaterwayAreaImport) }, - WGJobKind: func() interface{} { return new(models.WaterwayGaugeImport) }, - DMVJobKind: func() interface{} { return new(models.DistanceMarksVirtualImport) }, - FDJobKind: func() interface{} { return new(models.FairwayDimensionImport) }, - DMAJobKind: func() interface{} { return new(models.DistanceMarksAshoreImport) }, - STJobKind: func() interface{} { return new(models.StretchImport) }, - SECJobKind: func() interface{} { return new(models.SectionImport) }, + BNJobKind: func() interface{} { return new(models.BottleneckImport) }, + GMJobKind: func() interface{} { return new(models.GaugeMeasurementImport) }, + FAJobKind: func() interface{} { return new(models.FairwayAvailabilityImport) }, + WXJobKind: func() interface{} { return new(models.WaterwayAxisImport) }, + WAJobKind: func() interface{} { return new(models.WaterwayAreaImport) }, + WGJobKind: func() interface{} { return new(models.WaterwayGaugeImport) }, + DMVJobKind: func() interface{} { return new(models.DistanceMarksVirtualImport) }, + FDJobKind: func() interface{} { return new(models.FairwayDimensionImport) }, + DMAJobKind: func() interface{} { return new(models.DistanceMarksAshoreImport) }, + STJobKind: func() interface{} { return new(models.StretchImport) }, + SECJobKind: func() interface{} { return new(models.SectionImport) }, + DSECJobKind: func() interface{} { return new(models.SectionDelete) }, } // ImportModelForJobKind returns the constructor function to @@ -161,6 +162,11 @@ Date: seci.Date, } }, + + DSECJobKind: func(input interface{}) interface{} { + ds := input.(*models.SectionDelete) + return &DeleteSection{ID: ds.ID} + }, } func nilString(s *string) string {
--- a/pkg/models/imports.go Wed Aug 07 13:11:16 2019 +0200 +++ b/pkg/models/imports.go Wed Aug 07 15:23:41 2019 +0200 @@ -120,6 +120,10 @@ Source string `json:"source-organization"` Date Date `json:"date-info"` } + + SectionDelete struct { + ID int64 `json:"id"` + } ) func (cui *ConfigurableURLImport) MarshalAttributes(attrs common.Attributes) error {