Commit Graph

132 Commits

Author SHA1 Message Date
Maciej Ziarkowski
899e450eda Add missing API error class exports/imports 2020-01-29 17:24:04 +00:00
Maciej Ziarkowski
92ff5d7172 Add API error classes, parameter parsing functions 2020-01-29 15:59:44 +00:00
Maciej Ziarkowski
4ff64cda79 Rework edit history service, add unit tests 2020-01-27 01:08:32 +00:00
Maciej Ziarkowski
e682cfa074 Add edit history data access mock 2020-01-27 01:06:58 +00:00
Maciej Ziarkowski
52ad759c4d Add edit history data access 2020-01-27 00:57:14 +00:00
Maciej Ziarkowski
88d1032e13 Rename field to revision_timestamp in edit history 2020-01-23 10:31:20 +00:00
Maciej Ziarkowski
fd78724203 Add better error message to parseIntParam 2020-01-23 00:26:46 +00:00
Maciej Ziarkowski
f0e791297e Order bulk extracts in API by date descending 2020-01-21 12:37:14 +00:00
Maciej Ziarkowski
d2a1469b72 Separate out land use data access layer 2020-01-14 22:53:22 +00:00
Maciej Ziarkowski
494ec52afb Move from pg_trgm to full-text search for autofill 2020-01-09 15:35:38 +00:00
Maciej Ziarkowski
4a098ad57c Add autofill dropdown to data entry 2020-01-06 19:48:47 +00:00
Martin-dJ
08cc107388 Fixed issue with database query and implemented review suggestions 2020-01-06 18:10:42 +00:00
Maciej Ziarkowski
aafb81a17b Add autofill backend 2020-01-06 16:15:36 +00:00
Maciej Ziarkowski
5a6091f13f Move int param parsing to common function 2020-01-02 12:56:16 +00:00
Maciej Ziarkowski
f351c87756 Parse building ID in API controller 2020-01-02 12:39:24 +01:00
Martin-dJ
1f2256c721 Implementation of basic leaderboard 2019-12-16 13:26:13 +00:00
Maciej Ziarkowski
817b44515b Change Mixd Use order to capitalised 2019-12-03 18:19:50 +00:00
Maciej Ziarkowski
5170dc7971 Improve land use processing backend 2019-12-03 17:30:51 +00:00
Maciej Ziarkowski
c3b5c51da7 Deep compare array fields 2019-12-03 17:29:08 +00:00
Maciej Ziarkowski
adb620fc77 Plug in domain logic processing into building API 2019-12-03 13:51:16 +00:00
Maciej Ziarkowski
3ea505359a Add land use classification API processing logic 2019-12-03 13:50:24 +00:00
Maciej Ziarkowski
31768a0860 Prevent blocked user from logging in 2019-11-22 18:13:13 +00:00
Maciej Ziarkowski
fe84016e79
Merge pull request #508 from mz8i/feature/499-global-edit-history
Decrease simple edit history time to 1 week
2019-11-18 12:36:29 +00:00
Maciej Ziarkowski
3b35331ead Decrease simple edit history time to 1 week 2019-11-18 11:21:02 +00:00
Maciej Ziarkowski
07c2fe0933
Merge pull request #503 from mz8i/feature/499-global-edit-history
Global edit history
2019-11-14 16:49:12 +00:00
Maciej Ziarkowski
96b4a73573 Add await to catch errors in user service 2019-11-14 16:16:20 +00:00
Maciej Ziarkowski
70fa8725b4 Add global edit history page 2019-11-14 15:28:12 +00:00
Maciej Ziarkowski
b8d5c9f0f6 Add basic global edit history API endpoint 2019-11-14 12:56:03 +00:00
Maciej Ziarkowski
739bcad08a Lint semicolons 2019-11-07 09:13:30 +01:00
Maciej Ziarkowski
b95185d9dd Lint newline at end of file 2019-11-07 08:00:14 +00:00
Maciej Ziarkowski
175d3236eb Organise imports in frontend and API 2019-11-07 07:45:19 +00:00
mz8i
06eb4e53ed
Merge branch 'develop' into feature/84-show-edit-history 2019-10-29 17:58:01 +00:00
mz8i
25029ef153
Load max revision ID on start (#485)
* Load max revision ID on start

* Update revision ID upon mounting MapApp
2019-10-29 16:56:49 +00:00
Maciej Ziarkowski
ab04483479 Sort edit history from new to old 2019-10-24 12:05:52 +01:00
Maciej Ziarkowski
aa59067d9e Add edit history route/controller 2019-10-21 16:29:44 +01:00
mz8i
c63f42f921
Refactor types and await for user/building backend (#476)
* Refactor buildings API for async/await, types

* Return building data after update

* Refactor users API for await, TS types

* Refactor building service to remove repetition

As part of this refactor, these changes in functionality were made:
- tx isolation lvl for save/like/unlike building is always serializable
- both reverse and forward patch updated for like/unlike
- comparing old and new data uses == instead of ===
 (this is because the new data even for numbers comes in as string)
- the checking of no data change in case of building unlike was fixed
 (didn't work because it re-used code for like which is different)

* Improve param order, docs for updateBuildingData
2019-10-21 15:19:35 +01:00
mz8i
606a36ce6c
Activate type category and colour map (#446) 2019-10-02 14:34:44 +01:00
mz8i
fa089f10e1
Feature/435 activate sustainability (#445)
* Add colour scale definition for sustainability DEC

* Add sustainability DEC data render definition

* Activate sustainability category
2019-10-02 13:32:00 +01:00
Maciej Ziarkowski
6614cdfb4b Handle case of no extracts available 2019-10-01 14:46:28 +01:00
Maciej Ziarkowski
6783a00e21 Merge branch 'develop' into feature/342-bulk-extract 2019-09-30 15:06:01 +01:00
mz8i
a83a027f14
Merge pull request #423 from mz8i/feature/tile-server-refactor
Tile server refactor, highlight colour, retina tiles
2019-09-30 14:29:21 +01:00
mz8i
0a5c14762e
Merge pull request #424 from mz8i/feature/286-validate-username
Feature 286: validate username
2019-09-30 12:43:36 +01:00
mz8i
37278fd639
Merge pull request #418 from mz8i/feature/415-no-password-log
Prevent logging passwords in failed login attempts
2019-09-30 12:07:46 +01:00
Maciej Ziarkowski
e2e37d88b8 Set max pass length to 128
OWASP Authentication cheatsheet says 128 is typical max password length
It suggests to not set it too low to let users use complex passwords
2019-09-18 15:17:22 +01:00
Tom Russell
a022d90e59
Merge branch 'develop' into feature/view_edit_refactor 2019-09-17 21:25:50 +01:00
Maciej Ziarkowski
9fd690c1ac Update cache invalidation mechanism 2019-09-17 18:12:18 +01:00
Maciej Ziarkowski
ef4d46e36b Add asyncController 2019-09-17 18:05:05 +01:00
Maciej Ziarkowski
31efae3885 Add username and password validation 2019-09-11 16:28:05 +01:00
Maciej Ziarkowski
d14c4ce671 Prevent logging passwords in failed login attempts 2019-09-10 15:38:01 +01:00
Maciej Ziarkowski
0f30573180 Add comments to non-obvious code 2019-09-09 15:17:44 +01:00
Maciej Ziarkowski
7491d2aa1c Unify imports/export 2019-09-09 15:17:24 +01:00
Tom Russell
1c1e8df704
Merge pull request #402 from mz8i/feature/61-forgotten-password
Introduce env variable for webapp origin
2019-08-30 13:59:38 +01:00
Maciej Ziarkowski
6733d02876 Add data extract controllers and routes 2019-08-29 17:54:08 +01:00
Maciej Ziarkowski
1008c09905 Add data extract service 2019-08-29 17:53:48 +01:00
Maciej Ziarkowski
9e62d4c114 Move asyncController calls to controller files 2019-08-29 17:52:30 +01:00
Tom Russell
b76eb35ade Drop user routes from api.ts 2019-08-23 17:38:22 +01:00
Tom Russell
a35289d9b8
Merge branch 'master' into feature/63-delete-account-frontend 2019-08-23 12:42:03 +01:00
Maciej Ziarkowski
7cc358dcb7 Introduce env variable for webapp origin 2019-08-22 15:56:04 +01:00
Maciej Ziarkowski
6d4c514c00 Remove always failing error commited accidentally 2019-08-22 10:29:40 +01:00
Maciej Ziarkowski
2622269f77 Add global error handler 2019-08-21 14:47:44 +01:00
Maciej Ziarkowski
4d27c3b889 Add controller and route for password reset 2019-08-21 14:47:23 +01:00
Maciej Ziarkowski
fc2666364d Add backend services for password reset 2019-08-21 14:46:14 +01:00
Maciej Ziarkowski
4259778224 Add email service and config template 2019-08-21 14:42:27 +01:00
Maciej Ziarkowski
54bd565cc8 Split /users into routes/controller/service 2019-08-19 14:31:35 +01:00
Maciej Ziarkowski
90da2a1522 Add user delete API endpoint
The deleted user username will be changed to 'deleted_'
plus the 13 initial characters of the standard format user_id.
Email, hashed password and API key are all cleared for the user.
The endpoint is currently only available through /api/users/me
and only allows a logged-in user to delete their own account.
2019-08-16 11:12:18 +01:00
mz8i
b5b72e7152
Switch from express app to router in API
Co-Authored-By: Tom Russell <tomalrussell@gmail.com>
2019-08-16 10:57:15 +01:00
Maciej Ziarkowski
185a94b5cb Add user delete API endpoint
The deleted user username will be changed to 'deleted_'
plus the 13 initial characters of the standard format user_id.
Email, hashed password and API key are all cleared for the user.
The endpoint is currently only available through /api/users/me
and only allows a logged-in user to delete their own account.
2019-08-15 16:12:01 +01:00
Maciej Ziarkowski
be564dccea Add JSON API 404 handler 2019-08-14 14:13:14 +01:00
Maciej Ziarkowski
2c9b5ea3d8 Modify routes, refactor API structure 2019-08-14 14:05:49 +01:00
Maciej Ziarkowski
a2394ef962 Move JSON API into its own directory 2019-08-14 10:54:13 +01:00
Maciej Ziarkowski
4421930942 Squash TypeScript errors and fix bugs
Most errors highglighted by TS were due to a lack of type definitions
and were ignored by settings types to `any`.
Some minor bugs were resolved where the fix was obvious.
TODO marks left where `any` needs to be later removed or bugfix verified
2019-08-09 18:49:43 +01:00
Tom Russell
39be3507a2 Include edit history in building data from API 2019-06-07 14:01:48 +01:00
Tom Russell
1ad7e1de4d Fix transaction mode for likes 2019-05-27 21:28:19 +01:00
Tom Russell
f6e933ff8f Lint empty lines 2019-05-27 18:33:36 +01:00
Tom Russell
9b96872922 Lint prop-types, camelCase 2019-05-27 18:26:29 +01:00
Tom Russell
aef53a0ae0 Lint multi-spaces 2019-05-27 16:46:54 +01:00
Tom Russell
907afa29f0 Lint single quotes 2019-05-27 16:31:48 +01:00
Tom Russell
4362c9c947 Rewrite cache to allow expiry, use promises
- tileserver changes use of cache (slightly simplified from callbacks)
- cache methods return promises
- add 'remove' method to cache, with remove_all_at_bbox helper
- from api/building.js, call remove after successful db updates
2019-04-27 15:56:16 +01:00
Martin-dJ
29f3bff0d5 Revised fix for issue #216 Reduce log noise (my previous attempt was incorrect). Switched to db.oneOrNone 2019-03-14 17:02:26 +00:00
Martin-dJ
c83f2bc0c2 Attempt to fix issue #216-Reduce log noise 2019-03-14 12:32:49 +00:00
Tom Russell
2d8b62fb84 Lint spacing 2019-02-24 19:28:11 +00:00
Tom Russell
961441c5c0 Move api/tiles modules to subfolders 2019-02-24 12:17:59 +00:00