Commit graph

246 commits

Author SHA1 Message Date
Paul Bienkowski 3ef6dcf5d9 Add lean mode (overpass source and no map view in frontend) 2022-02-19 09:27:08 +01:00
Paul Bienkowski 01bde30d0c Add config.overrides.py for development config 2022-02-18 18:34:02 +01:00
Paul Bienkowski 71a04b1611 Fix track comment route 2022-02-18 18:24:28 +01:00
Paul Bienkowski 7fc9558e42 Use custom get_single arg everywhere, remove sanicargs (fixes #193) 2022-02-18 12:15:08 +01:00
Paul Bienkowski 8bb5d71186 Extract utility functions 2022-02-18 12:05:04 +01:00
Dennis Boldt e4e9f921b6 Fix isPath 2022-02-18 11:46:00 +01:00
Dennis Boldt 9df2914b86 Allow env-vars starting with OBS_ to configure the portal 2022-02-18 11:46:00 +01:00
gluap b43f7a2ebb retry: should only modify client on success. 2022-02-18 11:21:04 +01:00
gluap 4505ddd0ee add retry to keycloak connection 2022-02-18 11:21:04 +01:00
gluap b8ab7da1a9 This allows us to recover from the condition with the broken connections. 2022-02-18 11:19:43 +01:00
gluap 5ac2900e63 make pool_size and overflow configurable for worker and portal 2022-02-18 11:19:43 +01:00
gluap 6a34eaf819 Make setup.py consistent with requirements.txt
pyyaml, sqlalchemy asyncpg were missing. I wasn't able to identify where we use pyyaml but left it in to not accidentally break things.
2022-02-18 11:15:00 +01:00
Paul Bienkowski 0d49945018 Fix logging and use coloredlogs for nicer output 2022-02-18 11:15:00 +01:00
Paul Bienkowski 96642d2255 Fix format strings 2022-02-18 11:15:00 +01:00
gluap 530c604623 bump those versions that we can bump 2022-02-08 22:51:15 +01:00
Paul Bienkowski 2ce0338f38 Refactor routes/exports.py 2022-01-19 20:39:05 +01:00
Paul Bienkowski 3da467800d Remove broken duplicate route 2022-01-19 20:36:03 +01:00
Paul Bienkowski 0c256d8923 Add export routes 2022-01-19 09:11:54 +01:00
Paul Bienkowski 057e2bcc6c Remove duplicate events from the same track 2021-12-25 21:22:59 +01:00
Paul Bienkowski 810bd39152 Fix direction of road segments (fixes #142)
BREAKING CHANGE: This changes the tile generation function, please
update your database with `prepare_sql_tiles.py`.
2021-12-19 21:23:01 +01:00
Paul Bienkowski 4e45ec6744 Fix error handling, especially for file uploads 2021-12-06 10:09:37 +01:00
Paul Bienkowski 5395712c3a Release: 0.3.4 2021-12-06 08:53:04 +01:00
Paul Bienkowski 4bf23143e0 feat: Split road statistics by direction (fixes #117) 2021-12-03 19:28:07 +01:00
Paul Bienkowski 776275c52b fix: clicking on road without events should not cause 500 error 2021-12-03 18:12:00 +01:00
Paul Bienkowski 69e8591fae chore: allow explicit configuration of api base url 2021-12-03 17:54:26 +01:00
Paul Bienkowski 09fe1a7ac0 feat: Add optional banner to frontend via config entry (solves #128) 2021-12-03 17:31:43 +01:00
Paul Bienkowski 99f33aa988 chore: Use config.json from API route in development mode 2021-12-03 17:31:03 +01:00
Paul Bienkowski 84683c7789 Set example files map home to cover most of Germany 2021-12-03 17:06:29 +01:00
Paul Bienkowski be4e0055cf chore: Remove auto-generated obsMapSource from example API config 2021-12-03 17:02:08 +01:00
Paul Bienkowski 3aee226630 chore: remove outdated "mapTileset" frontend config section 2021-12-03 17:01:10 +01:00
Paul Bienkowski 456554c1de Release: 0.3.3 2021-12-02 21:03:33 +01:00
Paul Bienkowski 5309527c3e fix: read API key for posting tracks, fixes upload from OBS 2021-12-02 21:00:21 +01:00
Paul Bienkowski 86bbf50ea2 Release: 0.3.2 2021-12-01 09:42:38 +01:00
Paul Bienkowski 4003d5e938 Do not blindly import old API keys 2021-12-01 09:42:27 +01:00
Paul Bienkowski 525004ab15 Release: 0.3.1 2021-11-30 23:32:49 +01:00
Paul Bienkowski 004ad46251 Fix saving profile and add generating new API key 2021-11-30 23:32:42 +01:00
Paul Bienkowski 2f375dc24d Release: 0.3.0 2021-11-30 23:01:58 +01:00
Paul Bienkowski 61efdeb673 Add details for roads when clicking them in the big map 2021-11-30 21:58:05 +01:00
Paul Bienkowski c283bed13c fix: redirect from keycloak to api, not to frontend 2021-11-30 19:53:37 +01:00
Paul Bienkowski 9ade5ecc7a Remove code smells 2021-11-29 00:54:22 +01:00
Paul Bienkowski 8fc755f153 Fix licensing of styles, make tile-generator content our own by removing all OpenMapTiles licensed parts (it is only our config now) 2021-11-28 23:18:02 +01:00
Paul Bienkowski 1c39476ac5 chore: remove unused variables 2021-11-27 23:22:22 +01:00
Paul Bienkowski 40f336336b Fix bad python import 2021-11-27 23:03:55 +01:00
Paul Bienkowski a8a416ca68 Refactor frontend exposing code in API 2021-11-27 22:45:22 +01:00
Paul Bienkowski 8dec4c8262 Fix paths and URLs generated by API, and add note about config for proxying 2021-11-27 22:45:22 +01:00
Paul Bienkowski 9a13631097 api: Do not generate "track" into slugs 2021-11-27 22:45:22 +01:00
Paul Bienkowski 6ed9edf191 Formatting and remove debug prints 2021-11-27 22:45:22 +01:00
Paul Bienkowski a321cff6ea Do not blindly change usernames, track paths will break 2021-11-25 12:21:50 +01:00
Paul Bienkowski 2d8194c7c2 Use FRONTEND_HTTPS for redirect url as well 2021-11-25 00:27:09 +01:00
Paul Bienkowski 2b9bdb6ff1 Always export obsMapSource in config.json from api 2021-11-25 00:12:24 +01:00
Paul Bienkowski fe62af9d97 Allow forcing https for frontend config URLs 2021-11-25 00:11:21 +01:00
Paul Bienkowski 8998ffa10a Do not store all road tags in PostGIS 2021-11-24 23:07:22 +01:00
Paul Bienkowski 16903042bc Fix dependencies 2021-11-24 18:55:21 +01:00
Paul Bienkowski 2762e1f923 fix builtin worker 2021-11-22 18:35:11 +01:00
Paul Bienkowski ea106539c6 Improve docs around tiles, remove old stuff, bump 0.3.0-rc.1 2021-11-22 09:51:18 +01:00
Paul Bienkowski 12ef37392b api: Fix longitude/latitude ordering in track geojson
See: https://macwright.com/lonlat/
2021-11-22 09:51:18 +01:00
Paul Bienkowski 7add8caaa1 Live tiles, API executes openmaptiles-tools 2021-11-22 09:51:18 +01:00
Paul Bienkowski bde1b77b48 fix: proces_track utility 2021-11-22 09:51:18 +01:00
Paul Bienkowski 53e8d3ea45 Improve keycloak user export further 2021-11-22 09:51:18 +01:00
Paul Bienkowski e20b291823 Add ability to migration script to export a users file for keycloak 2021-11-22 09:51:18 +01:00
Paul Bienkowski b541f0b3fe Rename development realm to not contain space 2021-11-22 09:51:18 +01:00
Paul Bienkowski b6aa0cb1c9 Read reset_database config (POSTGRES_URL) from app 2021-11-22 09:51:18 +01:00
Paul Bienkowski 131afd5adc feat: publish tiles from API directly 2021-11-22 09:51:18 +01:00
Paul Bienkowski c85f261292 Single-container API+Frontend+Worker 2021-11-22 09:51:16 +01:00
Paul Bienkowski da33d814ae Move API to python. 2021-11-22 09:50:33 +01:00
Paul Bienkowski 32e86be1d1 Import oneway roads from implicit tags 2021-11-22 09:50:33 +01:00
Paul Bienkowski 07ec5b40a0 api: Add script to queue all tracks for reprocessing, useful after algorithm changes 2021-11-22 09:50:33 +01:00
Paul Bienkowski e3ec5ce1f9 Correct directional road rendering, and include all roads with null data in obs layer 2021-11-22 09:50:33 +01:00
Paul Bienkowski f2fa806cab api: Update to postgis version of scripts 2021-11-22 09:50:33 +01:00
Paul Bienkowski ec60fc3873 Start working on PostGIS supported tile generation 2021-11-22 09:50:33 +01:00
Paul Bienkowski a866eb3ab7 api: Fix track again, using correct filters to get all points 2021-11-22 09:50:33 +01:00
Paul Bienkowski e8a66fa7b9 api: Generate track-settings file and read it in process_track.py 2021-11-22 09:50:33 +01:00
Paul Bienkowski ddeb5f9195 chore: use new filter classes 2021-11-22 09:50:33 +01:00
Paul Bienkowski 4742a6df13 chore: move obs_process_track.py into the API source, as it is very specific to the API 2021-11-22 09:50:33 +01:00
gluap 7901a78754 also update api url here. 2021-11-22 09:23:04 +01:00
Paul Bienkowski 67c6b3a725 api: update scripts (fixes Zero-Zero bug) 2021-09-27 20:50:44 +02:00
Paul Bienkowski 0784f916b6 api: fix more mongoose stuff 2021-09-27 20:35:51 +02:00
Paul Bienkowski 50d6697b5b api: fix mongoose model imports 2021-09-27 20:18:57 +02:00
dependabot[bot] 90a36f8304 chore(deps): bump tmpl from 1.0.4 to 1.0.5 in /api
Bumps [tmpl](https://github.com/daaku/nodejs-tmpl) from 1.0.4 to 1.0.5.
- [Release notes](https://github.com/daaku/nodejs-tmpl/releases)
- [Commits](https://github.com/daaku/nodejs-tmpl/commits/v1.0.5)

---
updated-dependencies:
- dependency-name: tmpl
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2021-09-27 19:37:27 +02:00
dependabot[bot] ee0e77c85b chore(deps): bump path-parse from 1.0.6 to 1.0.7 in /api
Bumps [path-parse](https://github.com/jbgutierrez/path-parse) from 1.0.6 to 1.0.7.
- [Release notes](https://github.com/jbgutierrez/path-parse/releases)
- [Commits](https://github.com/jbgutierrez/path-parse/commits/v1.0.7)

---
updated-dependencies:
- dependency-name: path-parse
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2021-09-27 19:37:13 +02:00
Paul Bienkowski 59651d3cb9 add production setup 2021-09-27 18:54:02 +02:00
gluap 4c28187741 Make optional use of STARTTLS possible if required. 2021-09-27 18:36:40 +02:00
Paul Bienkowski e52575ab87 api: update mongoose 2021-09-27 18:09:48 +02:00
Paul Bienkowski 1705d03683 api: fix redirect using req.session.next when baseUrl is not at root 2021-09-14 19:26:50 +02:00
Paul Bienkowski 4fe6d77a23 api: make semantic-ui URL relative to baseHref 2021-09-14 19:08:00 +02:00
Paul Bienkowski 88937b2f49 add API and Frontend version in frontend footer (fixes #81) 2021-09-12 10:37:40 +02:00
dependabot[bot] f38823d6c5 chore(deps): bump normalize-url from 4.5.0 to 4.5.1 in /api
Bumps [normalize-url](https://github.com/sindresorhus/normalize-url) from 4.5.0 to 4.5.1.
- [Release notes](https://github.com/sindresorhus/normalize-url/releases)
- [Commits](https://github.com/sindresorhus/normalize-url/commits)

---
updated-dependencies:
- dependency-name: normalize-url
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2021-06-22 13:47:04 +02:00
dependabot[bot] 5b676bdc03 chore(deps): bump glob-parent from 5.1.1 to 5.1.2 in /api
Bumps [glob-parent](https://github.com/gulpjs/glob-parent) from 5.1.1 to 5.1.2.
- [Release notes](https://github.com/gulpjs/glob-parent/releases)
- [Changelog](https://github.com/gulpjs/glob-parent/blob/main/CHANGELOG.md)
- [Commits](https://github.com/gulpjs/glob-parent/compare/v5.1.1...v5.1.2)

---
updated-dependencies:
- dependency-name: glob-parent
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2021-06-22 13:46:36 +02:00
dependabot[bot] c143500605 chore(deps): bump ws from 7.4.0 to 7.5.0 in /api
Bumps [ws](https://github.com/websockets/ws) from 7.4.0 to 7.5.0.
- [Release notes](https://github.com/websockets/ws/releases)
- [Commits](https://github.com/websockets/ws/compare/7.4.0...7.5.0)

---
updated-dependencies:
- dependency-name: ws
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2021-06-22 13:45:47 +02:00
Paul Bienkowski dab902aa22 Bump api/scripts 2021-06-22 09:56:06 +02:00
Paul Bienkowski 7162589617 Validate file uniqueness (fixes #78) 2021-06-21 19:36:28 +02:00
Paul Bienkowski e6350cdb66 api: Do not require district for parsing anymore 2021-06-21 18:52:04 +02:00
Paul Bienkowski 3bb87989b2 api: Show privacy policy checkbox in registration, if a URL is provided 2021-05-15 14:03:44 +02:00
Paul Bienkowski fb1d04d98e api: Consider password reset a successful email verification (fixes #77) 2021-05-15 10:21:26 +02:00
Paul Bienkowski 54d0a56b9a Show per-user stats in profile settings 2021-05-14 20:44:36 +02:00
Paul Bienkowski b34fbb1ee7 Add date range to statistics 2021-05-14 20:16:05 +02:00
Paul Bienkowski 5c28f1d344 Make stats calculation more robust, ignore obvious errors 2021-05-14 19:25:27 +02:00
Paul Bienkowski f2e6c062d3 Improve logout mechanism 2021-05-14 19:24:17 +02:00
Paul Bienkowski fb8e622d7c Revert "Moved license back from subfolder to root"
This reverts commit 451abe28b5.
2021-05-14 16:58:52 +02:00
Steffen Genauck 451abe28b5 Moved license back from subfolder to root 2021-05-14 11:24:09 +02:00
Paul Bienkowski 16b89ce08b Disable npm update message when building docker files (resolves #75) 2021-05-14 09:19:45 +02:00
Paul Bienkowski bc682a22a1 Fix .dockerignore by moving them into the actual contexts 2021-05-14 09:19:25 +02:00
Paul Bienkowski 7aee81dcee Improve auto-title generation for tracks, using date from filename if available 2021-05-13 20:52:50 +02:00
Paul Bienkowski ce2a27ed51 Expose all generated JSON files in one endpoint, and use actual track data for rendering the blue line (fixes #72, fixes #64) 2021-05-13 20:32:55 +02:00
dependabot[bot] 5193acd9cd chore(deps): bump underscore from 1.12.0 to 1.12.1 in /api
Bumps [underscore](https://github.com/jashkenas/underscore) from 1.12.0 to 1.12.1.
- [Release notes](https://github.com/jashkenas/underscore/releases)
- [Commits](https://github.com/jashkenas/underscore/compare/1.12.0...1.12.1)

Signed-off-by: dependabot[bot] <support@github.com>
2021-05-13 09:43:20 +02:00
dependabot[bot] 741ee78de3 chore(deps): bump y18n from 4.0.0 to 4.0.3 in /api
Bumps [y18n](https://github.com/yargs/y18n) from 4.0.0 to 4.0.3.
- [Release notes](https://github.com/yargs/y18n/releases)
- [Changelog](https://github.com/yargs/y18n/blob/y18n-v4.0.3/CHANGELOG.md)
- [Commits](https://github.com/yargs/y18n/compare/v4.0.0...y18n-v4.0.3)

Signed-off-by: dependabot[bot] <support@github.com>
2021-05-13 09:43:03 +02:00
dependabot[bot] 5e213b8ea5 chore(deps): bump pug from 3.0.0 to 3.0.1 in /api
Bumps [pug](https://github.com/pugjs/pug) from 3.0.0 to 3.0.1.
- [Release notes](https://github.com/pugjs/pug/releases)
- [Commits](https://github.com/pugjs/pug/compare/pug@3.0.0...pug@3.0.1)

Signed-off-by: dependabot[bot] <support@github.com>
2021-05-13 09:42:05 +02:00
dependabot[bot] ecaf398f3b chore(deps): bump pug-code-gen from 3.0.1 to 3.0.2 in /api
Bumps [pug-code-gen](https://github.com/pugjs/pug) from 3.0.1 to 3.0.2.
- [Release notes](https://github.com/pugjs/pug/releases)
- [Commits](https://github.com/pugjs/pug/compare/pug-code-gen@3.0.1...pug-code-gen@3.0.2)

Signed-off-by: dependabot[bot] <support@github.com>
2021-05-13 09:41:54 +02:00
dependabot[bot] ba0db9a175 chore(deps): bump hosted-git-info from 2.8.8 to 2.8.9 in /api
Bumps [hosted-git-info](https://github.com/npm/hosted-git-info) from 2.8.8 to 2.8.9.
- [Release notes](https://github.com/npm/hosted-git-info/releases)
- [Changelog](https://github.com/npm/hosted-git-info/blob/v2.8.9/CHANGELOG.md)
- [Commits](https://github.com/npm/hosted-git-info/compare/v2.8.8...v2.8.9)

Signed-off-by: dependabot[bot] <support@github.com>
2021-05-13 09:41:33 +02:00
Paul Bienkowski 34042ede54 feat: stop using smiley default avatar, use first letter of name on colored square as fallback 2021-05-07 14:57:54 +02:00
Paul Bienkowski 76620c5e8f api: add client.autoAccept flag to not ask for authorization 2021-05-01 16:20:05 +02:00
Paul Bienkowski 9a7043ea71 api: Use semantic-ui-css for api-rendered views (account pages) 2021-05-01 15:47:22 +02:00
Paul Bienkowski 31af59819e api: Handle views directory better, and disable obsver1 download 2021-05-01 13:29:25 +02:00
Paul Bienkowski 44a18657f6 api: Allow reprocessing of stalled jobs 2021-04-30 16:05:02 +02:00
Dennis Boldt 9002802d70 package-lock.json 2021-04-29 21:58:54 +02:00
Dennis Boldt 4f5177a5fc Bump node to 15.14 + add .nvmrc 2021-04-29 21:43:40 +02:00
Dennis Boldt a00189d56a Fix stats. 2021-04-29 21:30:23 +02:00
Dennis Boldt e9ea0645c9 Small fixes to get started
- docker-compose needs the flag --build to (re)build all containers
- Initially, on an empty database, Track.aggregate returns an empty array,
  which results in an undefined error for /api/stats
2021-04-26 22:12:07 +02:00
Paul Bienkowski 840ecc6d6f Rename track.visible -> track.public 2021-04-19 21:57:40 +02:00
Paul Bienkowski bca3582e30 Add worker, queue, redis, and call python script to import files 2021-04-19 21:38:54 +02:00
Paul Bienkowski 764a711a9e api: Include scripts repo, and add python to docker container 2021-03-27 16:19:46 +01:00
Paul Bienkowski b80b219748 api: Use baseUrl in email links 2021-02-28 22:57:43 +01:00
Paul Bienkowski da7f3fb432 api: Fix baseUrl for templates to have the slash 2021-02-28 22:37:48 +01:00
Paul Bienkowski 46466874da api: Add baseUrl to templates 2021-02-28 22:36:11 +01:00
Paul Bienkowski 5b4ec4d69e api: Add baseUrl to redirects 2021-02-28 22:32:44 +01:00
Paul Bienkowski 4779965377 api: Move OAuth2.0 client definitions to config file, from MongoDB 2021-02-28 20:19:08 +01:00
Paul Bienkowski 470dfe339d api: More configurable options 2021-02-27 13:20:41 +01:00
Paul Bienkowski ccd3d80bae api: Configure jwt and cookie secret separately 2021-02-27 13:06:06 +01:00
Paul Bienkowski ad448efd7c api: Add config parsing from JSON file 2021-02-27 13:03:35 +01:00
Paul Bienkowski d5a1eed27a api: Expose default avatar image to logged-in user themselves 2021-02-26 23:16:49 +01:00
Paul Bienkowski c53796f9b6 api: Auto-generate title if none is passed on upload 2021-02-26 22:50:20 +01:00
Paul Bienkowski 45bbde1037 api: Registration, password recovery, verification flows 2021-02-26 15:20:13 +01:00
Paul Bienkowski 6297fcd56f api: Add some nicer html templates for auth dialogs 2021-02-23 20:20:21 +01:00
Paul Bienkowski 12bd42a3bb Implement and enforce PKCE 2021-02-23 19:32:08 +01:00
Paul Bienkowski 39e1d2a9f4 api: Add Client.maxScope and Client.refreshTokenExpirySeconds options 2021-02-23 18:46:39 +01:00
Paul Bienkowski 768f0f541b api: Add __LOCAL__ as a pattern to Client.validRedirectUris, for OBS local IP installations 2021-02-23 18:33:01 +01:00
Paul Bienkowski 5ce2947fea frontend,api: Expose authorization server metadata and use it 2021-02-23 18:26:37 +01:00
Paul Bienkowski 1e0544802f Oauth code flow in API and frontend 2021-02-21 11:22:22 +01:00
Paul Bienkowski 254b262a72 wip: move all authentication to passport, including JWT and add new AccessToken and RefreshToken (which are not issued yet) 2021-02-21 11:22:20 +01:00
Paul Bienkowski fc99d8a03b api: More npm package cleanup 2021-02-20 20:06:09 +01:00
Paul Bienkowski 108ab1c3b5 api: Run npm update 2021-02-20 20:01:23 +01:00
Paul Bienkowski fe1f62f94a api: Remove newman dependency to solve transitive vulnerability 2021-02-20 19:47:58 +01:00
dependabot[bot] 649a766b84
chore(deps): bump node-notifier from 8.0.0 to 8.0.1 in /api
Bumps [node-notifier](https://github.com/mikaelbr/node-notifier) from 8.0.0 to 8.0.1.
- [Release notes](https://github.com/mikaelbr/node-notifier/releases)
- [Changelog](https://github.com/mikaelbr/node-notifier/blob/v8.0.1/CHANGELOG.md)
- [Commits](https://github.com/mikaelbr/node-notifier/compare/v8.0.0...v8.0.1)

Signed-off-by: dependabot[bot] <support@github.com>
2021-02-18 08:31:12 +00:00
Paul Bienkowski 146c5e8e66 Move and unify readme 2021-02-17 22:58:18 +01:00
Paul Bienkowski 1ab51fa578 Move docker to top level, include frontend 2021-02-17 22:19:42 +01:00
Paul Bienkowski 80ecd73e01 Move everything into "api" folder, for this will be a monorepo 2021-02-17 21:49:50 +01:00