[ENTITY][Actor] Add is_local, it's common to depend, and this makes it much faster, with a low space cost
This commit is contained in:
@@ -5,6 +5,7 @@ declare(strict_types = 1);
|
||||
namespace Plugin\ActivityPub\Util\Response;
|
||||
|
||||
use App\Entity\Actor;
|
||||
use App\Util\Exception\ClientException;
|
||||
use Exception;
|
||||
use Plugin\ActivityPub\Util\Model\EntityToType\GSActorToType;
|
||||
|
||||
@@ -17,7 +18,10 @@ abstract class ActorResponse
|
||||
*/
|
||||
public static function handle(Actor $gsactor, int $status = 200): TypeResponse
|
||||
{
|
||||
$gsactor->getLocalUser(); // This throws exception if not a local user, which is intended
|
||||
return new TypeResponse(data: GSActorToType::translate($gsactor), status: $status);
|
||||
if ($gsactor->getIsLocal()) {
|
||||
return new TypeResponse(data: GSActorToType::translate($gsactor), status: $status);
|
||||
} else {
|
||||
throw new ClientException('This is a remote actor, you should request it to its source of authority instead.');
|
||||
}
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user