summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDerf Null <derf@finalrewind.org>2023-05-24 21:36:06 +0200
committerDerf Null <derf@finalrewind.org>2023-05-24 21:36:06 +0200
commitac816c09b23233c9e3de0f1b12cc905a921ca85a (patch)
tree4295ea2e8a148e07af3db5f79894acfb106c66b0
parent68468379e5f60e257f7276d08251d93db4af6ea2 (diff)
rename get_privacy_by_name to get_privacy_by, allow requests by uid
-rw-r--r--lib/Travelynx/Controller/Account.pm2
-rwxr-xr-xlib/Travelynx/Controller/Profile.pm8
-rw-r--r--lib/Travelynx/Model/Users.pm24
3 files changed, 18 insertions, 16 deletions
diff --git a/lib/Travelynx/Controller/Account.pm b/lib/Travelynx/Controller/Account.pm
index a799ba1..1fa762a 100644
--- a/lib/Travelynx/Controller/Account.pm
+++ b/lib/Travelynx/Controller/Account.pm
@@ -994,7 +994,7 @@ sub webfinger {
}
my $name = $+{name};
- my $user = $self->users->get_privacy_by_name( name => $name );
+ my $user = $self->users->get_privacy_by( name => $name );
if ( not $user ) {
$self->render( 'not_found', status => 404 );
diff --git a/lib/Travelynx/Controller/Profile.pm b/lib/Travelynx/Controller/Profile.pm
index dcd4075..6754159 100755
--- a/lib/Travelynx/Controller/Profile.pm
+++ b/lib/Travelynx/Controller/Profile.pm
@@ -63,7 +63,7 @@ sub profile {
my ($self) = @_;
my $name = $self->stash('name');
- my $user = $self->users->get_privacy_by_name( name => $name );
+ my $user = $self->users->get_privacy_by( name => $name );
if ( not $user ) {
$self->render('not_found');
@@ -157,7 +157,7 @@ sub journey_details {
my ($self) = @_;
my $name = $self->stash('name');
my $journey_id = $self->stash('id');
- my $user = $self->users->get_privacy_by_name( name => $name );
+ my $user = $self->users->get_privacy_by( name => $name );
$self->param( journey_id => $journey_id );
@@ -290,7 +290,7 @@ sub user_status {
my $name = $self->stash('name');
my $ts = $self->stash('ts') // 0;
- my $user = $self->users->get_privacy_by_name( name => $name );
+ my $user = $self->users->get_privacy_by( name => $name );
if ( not $user ) {
$self->render('not_found');
@@ -434,7 +434,7 @@ sub status_card {
my $name = $self->stash('name');
$name =~ s{[.]html$}{};
- my $user = $self->users->get_privacy_by_name( name => $name );
+ my $user = $self->users->get_privacy_by( name => $name );
delete $self->stash->{layout};
diff --git a/lib/Travelynx/Model/Users.pm b/lib/Travelynx/Model/Users.pm
index af2a6dc..67296ca 100644
--- a/lib/Travelynx/Model/Users.pm
+++ b/lib/Travelynx/Model/Users.pm
@@ -154,19 +154,21 @@ sub get_uid_by_name_and_mail {
return;
}
-sub get_privacy_by_name {
+sub get_privacy_by {
my ( $self, %opt ) = @_;
- my $db = $opt{db} // $self->{pg}->db;
- my $name = $opt{name};
+ my $db = $opt{db} // $self->{pg}->db;
- my $res = $db->select(
- 'users',
- [ 'id', 'public_level' ],
- {
- name => $name,
- status => 1
- }
- );
+ my %where;
+
+ if ( $opt{name} ) {
+ $where{name} = $opt{name};
+ }
+ else {
+ $where{id} = $opt{uid};
+ }
+
+ my $res = $db->select( 'users', [ 'id', 'public_level' ],
+ { %where, status => 1 } );
if ( my $user = $res->hash ) {
return {