Mercurial > gemma
comparison pkg/controllers/user.go @ 5330:b1b9b384540d extented-report
Adjust user model and controller to handle reports field.
author | Sascha L. Teichmann <sascha.teichmann@intevation.de> |
---|---|
date | Mon, 31 May 2021 12:56:44 +0200 |
parents | e020e6e34ad7 |
children | 95dafb72a288 |
comparison
equal
deleted
inserted
replaced
5329:795a0a0b5047 | 5330:b1b9b384540d |
---|---|
35 mw "gemma.intevation.de/gemma/pkg/middleware" | 35 mw "gemma.intevation.de/gemma/pkg/middleware" |
36 ) | 36 ) |
37 | 37 |
38 const ( | 38 const ( |
39 createUserSQL = `INSERT INTO users.list_users | 39 createUserSQL = `INSERT INTO users.list_users |
40 VALUES ($1, $2, $3, $4, NULL, $5)` | 40 VALUES ($1, $2, $3, $4, NULL, $5, $6)` |
41 createUserExtentSQL = `INSERT INTO users.list_users | 41 createUserExtentSQL = `INSERT INTO users.list_users |
42 VALUES ($1, $2, $3, $4, | 42 VALUES ($1, $2, $3, $4, |
43 ST_MakeBox2D(ST_Point($5, $6), ST_Point($7, $8)), $9)` | 43 ST_MakeBox2D(ST_Point($5, $6), ST_Point($7, $8)), $9, $10)` |
44 | 44 |
45 updateUserUnprivSQL = `UPDATE users.list_users | 45 updateUserUnprivSQL = `UPDATE users.list_users |
46 SET (pw, map_extent, email_address) | 46 SET (pw, map_extent, email_address) |
47 = ($2, ST_MakeBox2D(ST_Point($3, $4), ST_Point($5, $6)), $7) | 47 = ($2, ST_MakeBox2D(ST_Point($3, $4), ST_Point($5, $6)), $7) |
48 WHERE username = $1` | 48 WHERE username = $1` |
49 updateUserSQL = `UPDATE users.list_users | 49 updateUserSQL = `UPDATE users.list_users |
50 SET (rolname, username, pw, country, map_extent, email_address) | 50 SET (rolname, username, pw, country, map_extent, email_address, report_reciever) |
51 = ($2, $3, $4, $5, NULL, $6) | 51 = ($2, $3, $4, $5, NULL, $6, $7) |
52 WHERE username = $1` | 52 WHERE username = $1` |
53 updateUserExtentSQL = `UPDATE users.list_users | 53 updateUserExtentSQL = `UPDATE users.list_users |
54 SET (rolname, username, pw, country, map_extent, email_address) | 54 SET (rolname, username, pw, country, map_extent, email_address, report_reciever) |
55 = ($2, $3, $4, $5, ST_MakeBox2D(ST_Point($6, $7), ST_Point($8, $9)), $10) | 55 = ($2, $3, $4, $5, ST_MakeBox2D(ST_Point($6, $7), ST_Point($8, $9)), $10, $11) |
56 WHERE username = $1` | 56 WHERE username = $1` |
57 | 57 |
58 deleteUserSQL = `DELETE FROM users.list_users WHERE username = $1` | 58 deleteUserSQL = `DELETE FROM users.list_users WHERE username = $1` |
59 | 59 |
60 listUsersSQL = `SELECT | 60 listUsersSQL = `SELECT |
61 rolname, | 61 rolname, |
62 username, | 62 username, |
63 country, | 63 country, |
64 email_address, | 64 email_address, |
65 ST_XMin(map_extent), ST_YMin(map_extent), | 65 ST_XMin(map_extent), ST_YMin(map_extent), |
66 ST_XMax(map_extent), ST_YMax(map_extent) | 66 ST_XMax(map_extent), ST_YMax(map_extent), |
67 report_reciever | |
67 FROM users.list_users` | 68 FROM users.list_users` |
68 | 69 |
69 listUserSQL = `SELECT | 70 listUserSQL = `SELECT |
70 rolname, | 71 rolname, |
71 country, | 72 country, |
72 email_address, | 73 email_address, |
73 ST_XMin(map_extent), ST_YMin(map_extent), | 74 ST_XMin(map_extent), ST_YMin(map_extent), |
74 ST_XMax(map_extent), ST_YMax(map_extent) | 75 ST_XMax(map_extent), ST_YMax(map_extent), |
76 report_reciever | |
75 FROM users.list_users | 77 FROM users.list_users |
76 WHERE username = $1` | 78 WHERE username = $1` |
77 ) | 79 ) |
78 | 80 |
79 var ( | 81 var ( |
179 newUser.Role, | 181 newUser.Role, |
180 newUser.User, | 182 newUser.User, |
181 newUser.Password, | 183 newUser.Password, |
182 newUser.Country, | 184 newUser.Country, |
183 newUser.Email, | 185 newUser.Email, |
186 newUser.Reports, | |
184 ) | 187 ) |
185 } else { | 188 } else { |
186 res, err = db.ExecContext( | 189 res, err = db.ExecContext( |
187 req.Context(), | 190 req.Context(), |
188 updateUserExtentSQL, | 191 updateUserExtentSQL, |
192 newUser.Password, | 195 newUser.Password, |
193 newUser.Country, | 196 newUser.Country, |
194 newUser.Extent.X1, newUser.Extent.Y1, | 197 newUser.Extent.X1, newUser.Extent.Y1, |
195 newUser.Extent.X2, newUser.Extent.Y2, | 198 newUser.Extent.X2, newUser.Extent.Y2, |
196 newUser.Email, | 199 newUser.Email, |
200 newUser.Reports, | |
197 ) | 201 ) |
198 } | 202 } |
199 } else { | 203 } else { |
200 if newUser.Extent == nil { | 204 if newUser.Extent == nil { |
201 err = mw.JSONError{ | 205 err = mw.JSONError{ |
254 user.Role, | 258 user.Role, |
255 user.User, | 259 user.User, |
256 user.Password, | 260 user.Password, |
257 user.Country, | 261 user.Country, |
258 user.Email, | 262 user.Email, |
263 user.Reports, | |
259 ) | 264 ) |
260 } else { | 265 } else { |
261 _, err = db.ExecContext( | 266 _, err = db.ExecContext( |
262 req.Context(), | 267 req.Context(), |
263 createUserExtentSQL, | 268 createUserExtentSQL, |
266 user.Password, | 271 user.Password, |
267 user.Country, | 272 user.Country, |
268 user.Extent.X1, user.Extent.Y1, | 273 user.Extent.X1, user.Extent.Y1, |
269 user.Extent.X2, user.Extent.Y2, | 274 user.Extent.X2, user.Extent.Y2, |
270 user.Email, | 275 user.Email, |
276 user.Reports, | |
271 ) | 277 ) |
272 } | 278 } |
273 | 279 |
274 if err != nil { | 280 if err != nil { |
275 m, c := pgxutils.ReadableError{Err: err}.MessageAndCode() | 281 m, c := pgxutils.ReadableError{Err: err}.MessageAndCode() |
305 &user.User, | 311 &user.User, |
306 &user.Country, | 312 &user.Country, |
307 &user.Email, | 313 &user.Email, |
308 &user.Extent.X1, &user.Extent.Y1, | 314 &user.Extent.X1, &user.Extent.Y1, |
309 &user.Extent.X2, &user.Extent.Y2, | 315 &user.Extent.X2, &user.Extent.Y2, |
316 &user.Reports, | |
310 ); err != nil { | 317 ); err != nil { |
311 return | 318 return |
312 } | 319 } |
313 users = append(users, user) | 320 users = append(users, user) |
314 } | 321 } |
341 &result.Role, | 348 &result.Role, |
342 &result.Country, | 349 &result.Country, |
343 &result.Email, | 350 &result.Email, |
344 &result.Extent.X1, &result.Extent.Y1, | 351 &result.Extent.X1, &result.Extent.Y1, |
345 &result.Extent.X2, &result.Extent.Y2, | 352 &result.Extent.X2, &result.Extent.Y2, |
353 &result.Reports, | |
346 ) | 354 ) |
347 | 355 |
348 switch { | 356 switch { |
349 case err == sql.ErrNoRows: | 357 case err == sql.ErrNoRows: |
350 err = mw.JSONError{ | 358 err = mw.JSONError{ |
380 &userData.Role, | 388 &userData.Role, |
381 &userData.Country, | 389 &userData.Country, |
382 &userData.Email, | 390 &userData.Email, |
383 &userData.Extent.X1, &userData.Extent.Y1, | 391 &userData.Extent.X1, &userData.Extent.Y1, |
384 &userData.Extent.X2, &userData.Extent.Y2, | 392 &userData.Extent.X2, &userData.Extent.Y2, |
393 &userData.Reports, | |
385 ) | 394 ) |
386 | 395 |
387 switch { | 396 switch { |
388 case err == sql.ErrNoRows: | 397 case err == sql.ErrNoRows: |
389 err = mw.JSONError{ | 398 err = mw.JSONError{ |