diff options
author | Birte Kristina Friesel <derf@finalrewind.org> | 2023-07-13 21:12:36 +0200 |
---|---|---|
committer | Birte Kristina Friesel <derf@finalrewind.org> | 2023-07-13 21:12:36 +0200 |
commit | 882d1fe16f26918c72898908d42ad2c017991a53 (patch) | |
tree | 985f739c05b11d3a2add66ebcf7fb6b5c3a647fd /lib | |
parent | 6c5caaf242dc5ff689773b1811083005fdb31d71 (diff) | |
parent | ee2d8bd014fdcb119db37c45671c1900ae10c21f (diff) |
Merge branch 'networkException-träwelling-visibility'
Diffstat (limited to 'lib')
-rw-r--r-- | lib/Travelynx/Helper/Traewelling.pm | 30 | ||||
-rw-r--r-- | lib/Travelynx/Model/Traewelling.pm | 13 |
2 files changed, 37 insertions, 6 deletions
diff --git a/lib/Travelynx/Helper/Traewelling.pm b/lib/Travelynx/Helper/Traewelling.pm index bcde1de..23170eb 100644 --- a/lib/Travelynx/Helper/Traewelling.pm +++ b/lib/Travelynx/Helper/Traewelling.pm @@ -1,6 +1,7 @@ package Travelynx::Helper::Traewelling; # Copyright (C) 2020-2023 Birte Kristina Friesel +# Copyright (C) 2023 networkException <git@nwex.de> # # SPDX-License-Identifier: AGPL-3.0-or-later @@ -322,6 +323,33 @@ sub logout_p { return $promise; } +sub convert_travelynx_to_traewelling_visibility { + my ($travelynx_visibility) = @_; + + my %visibilities = ( + + # public => StatusVisibility::PUBLIC + 100 => 0, + + # travelynx => StatusVisibility::AUTHENTICATED + # (only visible for logged in users) + 80 => 4, + + # followers => StatusVisibility::FOLLOWERS + 60 => 2, + + # unlisted => StatusVisibility::PRIVATE + # (there is no träwelling equivalent to unlisted, their + # StatusVisibility::UNLISTED shows the journey on the profile) + 30 => 3, + + # private => StatusVisibility::PRIVATE + 10 => 3, + ); + + return $visibilities{$travelynx_visibility}; +} + sub checkin_p { my ( $self, %opt ) = @_; @@ -352,6 +380,8 @@ sub checkin_p { arrival => $arrival_ts, toot => $opt{data}{toot} ? \1 : \0, tweet => $opt{data}{tweet} ? \1 : \0, + visibility => + convert_travelynx_to_traewelling_visibility( $opt{visibility} ) }; if ( $opt{user_data}{comment} ) { diff --git a/lib/Travelynx/Model/Traewelling.pm b/lib/Travelynx/Model/Traewelling.pm index d320439..1939374 100644 --- a/lib/Travelynx/Model/Traewelling.pm +++ b/lib/Travelynx/Model/Traewelling.pm @@ -213,16 +213,17 @@ sub get_pushable_accounts { my $res = $self->{pg}->db->query( qq{select t.user_id as uid, t.token as token, t.data as data, i.user_data as user_data, - i.checkin_station_id as dep_eva, i.checkout_station_id as arr_eva, + i.dep_eva as dep_eva, i.arr_eva as arr_eva, i.data as journey_data, i.train_type as train_type, i.train_line as train_line, i.train_no as train_no, - extract(epoch from i.checkin_time) as checkin_ts, - extract(epoch from i.sched_departure) as dep_ts, - extract(epoch from i.sched_arrival) as arr_ts + i.checkin_ts as checkin_ts, + i.sched_dep_ts as dep_ts, + i.sched_arr_ts as arr_ts, + i.effective_visibility as visibility from traewelling as t - join in_transit as i on t.user_id = i.user_id + join in_transit_str as i on t.user_id = i.user_id where t.push_sync = True - and i.checkout_station_id is not null + and i.arr_eva is not null and i.cancelled = False } ); |