now profile pictures are federalized as well

This commit is contained in:
Ghostie 2024-12-26 22:41:53 -05:00
parent 9b23a1beba
commit 4f254ed9cf
3 changed files with 27 additions and 1 deletions

View File

@ -57,7 +57,9 @@ class ProfileController extends Controller
Storage::disk ("public")->put ("avatars/" . $fname, $image_data);
$old_avatar = $user->avatar;
$user->avatar = $fname;
$user->actor->icon = env ("APP_URL") . $user->avatar;
$changing_avatar = true;
}
@ -71,6 +73,9 @@ class ProfileController extends Controller
$user->interests_heroes = $incoming_fields["heroes"];
$user->save ();
$user->actor->summary = $user->bio;
$user->actor->save ();
if ($changing_avatar)
{
Storage::disk ("public")->delete (str_replace ("/storage/", "", $old_avatar));

View File

@ -33,6 +33,11 @@ class Actor extends Model
"private_key"
];
public function user ()
{
return $this->belongsTo (User::class);
}
public function create_from_user (User $user)
{
$app_url = Config::get ("app.url");
@ -74,7 +79,7 @@ class Actor extends Model
public static function build_response (Actor $actor)
{
return [
$response = [
"@context" => [
"https://www.w3.org/ns/activitystreams",
"https://w3id.org/security/v1"
@ -96,11 +101,25 @@ class Actor extends Model
"name" => $actor->name,
"summary" => $actor->summary,
"icon" => [
"type" => "Image",
"mediaType" => "image/jpeg",
"url" => $actor->icon
],
"image" => [
"type" => "Image",
"mediaType" => "image/jpeg",
"url" => $actor->icon
],
"publicKey" => [
"id" => $actor->actor_id . "#main-key",
"owner" => $actor->actor_id,
"publicKeyPem" => $actor->public_key
]
];
return $response;
}
}

View File

@ -36,6 +36,8 @@ return new class extends Migration
$table->string ("public_key")->nullable ();
$table->string ("private_key")->nullable ();
$table->string ("icon")->nullable ();
$table->timestamps();
});
}