comparison pkg/controllers/srimports.go @ 4244:4394daeea96a json-handler-middleware

Moved JSONHandler into middleware package.
author Sascha L. Teichmann <sascha.teichmann@intevation.de>
date Thu, 22 Aug 2019 11:26:48 +0200
parents d776110b4db0
children 6237e6165041
comparison
equal deleted inserted replaced
4243:d776110b4db0 4244:4394daeea96a
32 "gemma.intevation.de/gemma/pkg/common" 32 "gemma.intevation.de/gemma/pkg/common"
33 "gemma.intevation.de/gemma/pkg/config" 33 "gemma.intevation.de/gemma/pkg/config"
34 "gemma.intevation.de/gemma/pkg/imports" 34 "gemma.intevation.de/gemma/pkg/imports"
35 "gemma.intevation.de/gemma/pkg/misc" 35 "gemma.intevation.de/gemma/pkg/misc"
36 "gemma.intevation.de/gemma/pkg/models" 36 "gemma.intevation.de/gemma/pkg/models"
37
38 mw "gemma.intevation.de/gemma/pkg/middleware"
37 ) 39 )
38 40
39 const ( 41 const (
40 soundingResultName = "soundingresult" 42 soundingResultName = "soundingresult"
41 maxSoundingResultSize = 25 * 1024 * 1024 43 maxSoundingResultSize = 25 * 1024 * 1024
174 result := struct { 176 result := struct {
175 ID int64 `json:"id"` 177 ID int64 `json:"id"`
176 }{ 178 }{
177 ID: jobID, 179 ID: jobID,
178 } 180 }
179 SendJSON(rw, http.StatusCreated, &result) 181 mw.SendJSON(rw, http.StatusCreated, &result)
180 } 182 }
181 183
182 func loadMeta(f *zip.File) (*models.SoundingResultMeta, error) { 184 func loadMeta(f *zip.File) (*models.SoundingResultMeta, error) {
183 r, err := f.Open() 185 r, err := f.Open()
184 if err != nil { 186 if err != nil {
187 defer r.Close() 189 defer r.Close()
188 var m models.SoundingResultMeta 190 var m models.SoundingResultMeta
189 return &m, m.Decode(r) 191 return &m, m.Decode(r)
190 } 192 }
191 193
192 func uploadSoundingResult(req *http.Request) (jr JSONResult, err error) { 194 func uploadSoundingResult(req *http.Request) (jr mw.JSONResult, err error) {
193 195
194 var dir string 196 var dir string
195 if dir, err = misc.StoreUploadedFile( 197 if dir, err = misc.StoreUploadedFile(
196 req, 198 req,
197 soundingResultName, 199 soundingResultName,
241 } else { 243 } else {
242 if meta, err := loadMeta(mj); err != nil { 244 if meta, err := loadMeta(mj); err != nil {
243 messages = append(messages, 245 messages = append(messages,
244 fmt.Sprintf("'meta.json' found but invalid: %v", err)) 246 fmt.Sprintf("'meta.json' found but invalid: %v", err))
245 } else { 247 } else {
246 errs := meta.Validate(req.Context(), JSONConn(req)) 248 errs := meta.Validate(req.Context(), mw.JSONConn(req))
247 for _, err := range errs { 249 for _, err := range errs {
248 messages = append(messages, 250 messages = append(messages,
249 fmt.Sprintf("invalid 'meta.json': %v", err)) 251 fmt.Sprintf("invalid 'meta.json': %v", err))
250 } 252 }
251 result.Meta = meta 253 result.Meta = meta
272 return 274 return
273 } 275 }
274 276
275 result.Messages = messages 277 result.Messages = messages
276 278
277 jr = JSONResult{ 279 jr = mw.JSONResult{
278 Code: code, 280 Code: code,
279 Result: &result, 281 Result: &result,
280 } 282 }
281 return 283 return
282 } 284 }
294 result := struct { 296 result := struct {
295 Message string `json:"message"` 297 Message string `json:"message"`
296 }{ 298 }{
297 Message: fmt.Sprintf("Token %s deleted.", token), 299 Message: fmt.Sprintf("Token %s deleted.", token),
298 } 300 }
299 SendJSON(rw, http.StatusOK, &result) 301 mw.SendJSON(rw, http.StatusOK, &result)
300 } 302 }