* 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
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.
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.
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
- 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