diff options
author | Birte Kristina Friesel <birte.friesel@uos.de> | 2024-07-26 18:55:58 +0200 |
---|---|---|
committer | Birte Kristina Friesel <birte.friesel@uos.de> | 2024-07-26 18:55:58 +0200 |
commit | 47f76da4f8cc31146d2834dfdf9731d330288c9d (patch) | |
tree | 3597f89cfb6b0c3bd881767c098f616e8ee1f1a5 /lib/Travelynx/Model/Users.pm | |
parent | 7811520a30657e2bc98873f296ae1f8fcff51dc0 (diff) |
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)
Diffstat (limited to 'lib/Travelynx/Model/Users.pm')
-rw-r--r-- | lib/Travelynx/Model/Users.pm | 15 |
1 files changed, 13 insertions, 2 deletions
diff --git a/lib/Travelynx/Model/Users.pm b/lib/Travelynx/Model/Users.pm index 4d90d92..7d3777b 100644 --- a/lib/Travelynx/Model/Users.pm +++ b/lib/Travelynx/Model/Users.pm @@ -205,6 +205,13 @@ sub get_privacy_by { return; } +sub set_backend { + my ( $self, %opt ) = @_; + $opt{db} //= $self->{pg}->db; + + $opt{db}->update('users', {backend_id => $opt{backend_id}}, {id => $opt{uid}}); +} + sub set_privacy { my ( $self, %opt ) = @_; my $db = $opt{db} // $self->{pg}->db; @@ -401,12 +408,13 @@ sub get { my $uid = $opt{uid}; my $user = $db->select( - 'users', + 'users_with_backend', 'id, name, status, public_level, email, ' . 'accept_follows, notifications, ' . 'extract(epoch from registered_at) as registered_at_ts, ' . 'extract(epoch from last_seen) as last_seen_ts, ' - . 'extract(epoch from deletion_requested) as deletion_requested_ts', + . 'extract(epoch from deletion_requested) as deletion_requested_ts, ' + . 'backend_id, backend_name, hafas', { id => $uid } )->hash; if ($user) { @@ -443,6 +451,9 @@ sub get { time_zone => 'Europe/Berlin' ) : undef, + backend_id => $user->{backend_id}, + backend_name => $user->{backend_name}, + backend_hafas => $user->{hafas}, }; } return undef; |