Commit graph

52 commits

Author SHA1 Message Date
Birte Kristina Friesel
47f76da4f8
Multi-backend support
Squashed commit of the following:

commit 92518024ba295456358618c0e8180bd8e996fdf1
Author: Birte Kristina Friesel <birte.friesel@uos.de>
Date:   Fri Jul 26 18:39:46 2024 +0200

    add_or_update station: remove superfluos 'new backend id := old backend id'

commit df21c20c6e4c86454f8a9ac69121404415217f2a
Author: Birte Kristina Friesel <birte.friesel@uos.de>
Date:   Fri Jul 26 18:35:51 2024 +0200

    revert connection targets min_count to 3

commit be335cef07d0b42874f5fc1de4a1d13396e8e807
Author: Birte Kristina Friesel <birte.friesel@uos.de>
Date:   Fri Jul 26 18:20:05 2024 +0200

    mention backend selection in API documentation

commit 9f41828fb4f18fd707e0087def3032e8d4c8d7d8
Author: Birte Kristina Friesel <derf@finalrewind.org>
Date:   Thu Jul 25 20:19:23 2024 +0200

    use_history: not all backends provide route data in departure monitor

commit 09714b4d89684b8331d0e96f564a4c7432318f70
Author: Birte Kristina Friesel <derf@finalrewind.org>
Date:   Thu Jul 25 20:11:44 2024 +0200

    disambiguation: pass correct hafas parameter

commit 8cdf1120fc32155dc6525be64601b7c10a9c7f52
Author: Birte Kristina Friesel <derf@finalrewind.org>
Date:   Thu Jul 25 20:11:28 2024 +0200

    _checked_in: hide Zuglauf link for non-db checkins

commit 7455653f541198e0e0a6d11aed421487ffdb6285
Author: Birte Kristina Friesel <derf@finalrewind.org>
Date:   Thu Jul 25 20:01:47 2024 +0200

    debug output

commit b9cda07f85601a58ea32dbdacdd5399f302db52b
Author: Birte Kristina Friesel <derf@finalrewind.org>
Date:   Thu Jul 25 19:09:07 2024 +0200

    fix remaining get_connection_targets / get_connecting_trains_p invocations

commit 2759d7258c37c7498905cfe19f6b4c4f6d16bd21
Author: Birte Kristina Friesel <derf@finalrewind.org>
Date:   Wed Jul 24 20:50:12 2024 +0200

    support non-DB HAFAS backends (WiP)
2024-07-26 18:55:58 +02:00
Birte Kristina Friesel
f4d71b4d9f
obtain autocompletion from database 2023-08-26 09:17:28 +02:00
Birte Kristina Friesel
b85e8a1e04
API: Support HAFAS checkin (via journeyID) 2023-08-19 12:43:43 +02:00
Birte Kristina Friesel
85022709d7
API: fix checkin with toStation and checkout endpoints
Broken by 38ad42b42c
2023-08-19 10:06:15 +02:00
Birte Kristina Friesel
13277ad770
checkout: remove with_related special case
travelynx now always calls checkout with the database-provided arr_eva,
so the edge case in which it provided a station that is not actually on the
route of a train can no longer appear.
2023-07-23 12:21:37 +02:00
Birte Kristina Friesel
8a422d16f7
Api: use get_departures_p 2023-07-09 19:23:11 +02:00
Birte Kristina Friesel
1074f248cc
use promises for checkin and traewelling_to_travelynx 2023-07-09 14:46:28 +02:00
Derf Null
a608ca6781
update ALL the copyright notices! 2023-07-03 17:59:25 +02:00
Derf Null
085d77a1fa
time to flush the name cache 2023-06-24 18:36:59 +02:00
Derf Null
c1635e24fb
use a separate bad_request page for CSRF errors 2023-06-04 19:25:24 +02:00
Derf Null
dbc5c38968
get_user_status_json_v1: add public flag to hide actionTime 2023-05-21 19:44:43 +02:00
Derf Null
3acee2b285
API: import: fix get_api_token signature 2023-03-26 15:55:33 +02:00
Daniel Friesel
fb3878665b
update ze copyright 2023-02-19 09:35:38 +01:00
Daniel Friesel
8e94fcea5f
move token type to ID map from Travelynx.pm to Model/Users 2023-01-22 12:33:02 +01:00
Daniel Friesel
59e9a24aa6
move get_api_token to users model 2023-01-22 11:34:53 +01:00
Daniel Friesel
3e2491a9bc
API documentation: do not perform database requests from template helpers 2023-01-21 08:36:25 +01:00
Daniel Friesel
04d096014e
Api: Fix 'uninitialized value' warning when no token is set 2023-01-03 10:12:53 +01:00
Daniel Friesel
2f9ba6e017
switch to internal station database; add out-of-service stations for old journeys 2022-12-07 19:42:48 +01:00
Daniel Friesel
aa19f4b00c
Api: section headers for helpers / controllers; perltidy 2022-07-30 10:42:21 +02:00
Daniel Friesel
a4ff5e8ad8 Switch to AGPL3+ 2021-01-29 18:32:13 +01:00
Daniel Friesel
77ecd6d034 move statistics cache to a separate model class 2020-11-28 21:03:51 +01:00
Daniel Friesel
b70ecc7c7c Add a bunch of licensing data 2020-11-27 22:12:56 +01:00
Daniel Friesel
b1348c7d4a move in_transit queries to an InTransit model class 2020-10-11 19:38:01 +02:00
Daniel Friesel
89e709d8d5 Allow linking a Träwelling account, auto-sync Träwelling→travelynx
travelynx→Träwelling is still work-in-progress

Squashed commit of the following:

commit 97faa6e2e6c8d20fba30f2d0f6e78187ceeb72e6
Author: Daniel Friesel <derf@finalrewind.org>
Date:   Wed Sep 30 18:50:05 2020 +0200

    improve traewelling log and tx handling

commit 487d7dd728b9d45b731bdc7098cf3358ea2e206e
Author: Daniel Friesel <derf@finalrewind.org>
Date:   Wed Sep 30 18:02:41 2020 +0200

    add missing traewelling template

commit 0148da2f48d9a52dcddc0ab81f83d8f8ac3062ab
Author: Daniel Friesel <derf@finalrewind.org>
Date:   Wed Sep 30 18:02:35 2020 +0200

    improve traewelling pull sync

commit 4861a9750f9f2d7621043361d0af6b0a8869a0df
Author: Daniel Friesel <derf@finalrewind.org>
Date:   Tue Sep 29 22:14:24 2020 +0200

    wip checkin from traewelling

commit f6aeb6f06998a2a7a80f63a7b1b688b1a26b66bd
Author: Daniel Friesel <derf@finalrewind.org>
Date:   Tue Sep 29 18:37:53 2020 +0200

    refactor traewelling integration. login and logout are less of a hack now.

    checkin and checkout are not supported at the moment.
2020-09-30 19:12:29 +02:00
Daniel Friesel
a3149adddd Fix checkin via API. Broken by 717cc18a40
Closes #44
2020-09-05 21:51:52 +02:00
Daniel Friesel
47b957361e Move most journey code to newly introduced Journey model 2020-08-16 21:20:23 +02:00
Daniel Friesel
cc25a56864 Api: Import: Set correct route key for add_journey 2020-01-26 16:04:08 +01:00
Daniel Friesel
d7c69acf41 import API: route -> intermediateStops 2020-01-26 10:50:21 +01:00
Daniel Friesel
c31254e996 import API: Add deprecated field, remove development check 2020-01-26 10:47:51 +01:00
Daniel Friesel
1723f8c1fb import API: invalidate stats cache after adding a journey 2020-01-26 10:08:46 +01:00
Daniel Friesel
a9a7fa4492 Release Travel API 2019-12-31 13:27:14 +01:00
Daniel Friesel
61889603f7 Checkin API: error out if fromStation / toStation are ambiguous 2019-12-30 01:31:26 +01:00
Daniel Friesel
f9f1eec499 Use EVA IDs instead of travelynx-internal station IDs. Not 100% tested yet. 2019-12-23 22:57:45 +01:00
Daniel Friesel
e7f278574f more travel API documentation 2019-12-20 18:33:59 +01:00
Daniel Friesel
11a2e94a04 travel API: more helpful errors on invalid input 2019-12-20 16:39:15 +01:00
Daniel Friesel
bd372d57e2 Travel API: Add "deprecated" field 2019-12-20 16:23:41 +01:00
Daniel Friesel
ebb7c22a4b checkin api: only set comment if checkin was successful 2019-12-20 16:18:32 +01:00
Daniel Friesel
69f961a23c disable import and checkin API endpoints in production mode 2019-12-19 19:20:06 +01:00
Daniel Friesel
c8695ecb1c travel, import API: Verify that payload is a hash 2019-12-17 20:41:36 +01:00
Daniel Friesel
934a9ac21a api/import: More helpful errors, fix "lax" support 2019-12-17 20:09:02 +01:00
Daniel Friesel
ae21896982 API: Add lax option 2019-12-17 20:01:39 +01:00
Daniel Friesel
7ae60f2ea4 Travel API: comment support 2019-12-14 23:46:36 +01:00
Daniel Friesel
46fc64de48 Add travel (checkin/checkout/undo) API 2019-12-14 21:53:23 +01:00
Daniel Friesel
5fe4174feb Add API entry point for journey import 2019-12-14 20:46:02 +01:00
Daniel Friesel
2ddab75644 basic webhook support, onwards to betatesting 2019-05-06 16:59:48 +02:00
Daniel Friesel
af5c26bf8a Do not error out when receiving UIDs > INT_MAX 2019-05-02 11:34:52 +02:00
Daniel Friesel
be1e5dda23 Public API documentation 2019-05-02 11:29:43 +02:00
Daniel Friesel
438319e63a Bump API to v1 2019-04-24 07:34:41 +02:00
Daniel Friesel
e168d9cd39 Use one row per journey instead of split checkin/checkout entries
Whether a user is in transit or not is now determined by an entry in the
in_transit table instead of a dangling checkin.

All completed journeys are stored in the "journeys" table.

This does most of the work needed for automatic checkout. However, note that
the corresponding worker process is not implemented yet.
2019-04-23 18:08:07 +02:00
Daniel Friesel
2aece36803 Use Mojo::Pg for all remaining Controller and Helper logic 2019-04-22 12:11:22 +02:00