diff options
| author | networkException <git@nwex.de> | 2023-07-13 20:17:51 +0200 | 
|---|---|---|
| committer | networkException <git@nwex.de> | 2023-07-13 20:17:51 +0200 | 
| commit | 0c1993f28ec78b80887c4780a432b070bc441ab1 (patch) | |
| tree | 72640ed73ee63e2127b9b753c9937ae912b3d5f9 | |
| parent | a28db4a4a968b9a40ed01e090367ea81a08b25b1 (diff) | |
Checkin: Use correct visibility when pushing to Träwelling
| -rw-r--r-- | lib/Travelynx/Helper/Traewelling.pm | 16 | ||||
| -rw-r--r-- | lib/Travelynx/Model/Traewelling.pm | 4 | 
2 files changed, 19 insertions, 1 deletions
| diff --git a/lib/Travelynx/Helper/Traewelling.pm b/lib/Travelynx/Helper/Traewelling.pm index bcde1de..f216263 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,20 @@ sub logout_p {  	return $promise;  } +sub convert_travelynx_to_traewelling_visibility { +	my ( $travelynx_visibility ) = @_; + +	my %visibilities = ( +		100 => 0, # public      => StatusVisibility::PUBLIC +		80  => 4, # travelynx   => StatusVisibility::AUTHENTICATED (only visible for logged in users) +		60  => 2, # followers   => StatusVisibility::FOLLOWERS +		30  => 3, # unlisted    => StatusVisibility::PRIVATE (there is no träwelling equivalent to unlisted, their StatusVisibility::UNLISTED shows the journey on the profile) +		10  => 3, # private     => StatusVisibility::PRIVATE +	); + +	return $visibilities{$travelynx_visibility}; +} +  sub checkin_p {  	my ( $self, %opt ) = @_; @@ -352,6 +367,7 @@ 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..a388ae2 100644 --- a/lib/Travelynx/Model/Traewelling.pm +++ b/lib/Travelynx/Model/Traewelling.pm @@ -218,9 +218,11 @@ sub get_pushable_accounts {  			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 +			extract(epoch from i.sched_arrival) as arr_ts, +			i_str.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_str on t.user_id = i_str.user_id  			where t.push_sync = True  			and i.checkout_station_id is not null  			and i.cancelled = False | 
