rename get_privacy_by_name to get_privacy_by, allow requests by uid

This commit is contained in:
Derf Null 2023-05-24 21:36:06 +02:00
parent 68468379e5
commit ac816c09b2
No known key found for this signature in database
GPG key ID: 19E6E524EBB177BA
3 changed files with 18 additions and 16 deletions

View file

@ -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 );

View file

@ -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};

View file

@ -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 {