소스 검색

Add UndoAnnounce transformer

Daniel Supernault 4 년 전
부모
커밋
3ba31bdc7c
1개의 변경된 파일31개의 추가작업 그리고 0개의 파일을 삭제
  1. 31 0
      app/Transformer/ActivityPub/Verb/UndoAnnounce.php

+ 31 - 0
app/Transformer/ActivityPub/Verb/UndoAnnounce.php

@@ -0,0 +1,31 @@
+<?php
+
+namespace App\Transformer\ActivityPub\Verb;
+
+use App\Status;
+use League\Fractal;
+
+class UndoAnnounce extends Fractal\TransformerAbstract
+{
+	public function transform(Status $status)
+	{
+		return [
+			'@context'  => 'https://www.w3.org/ns/activitystreams',
+			'id'		=> $status->permalink('/undo'),
+			'actor'		=> $status->profile->permalink(),
+			'type'		=> 'Undo',
+			'object' 	=> [
+				'id'		=> $status->permalink(),
+				'type' 		=> 'Announce',
+				'actor'		=> $status->profile->permalink(),
+				'to' 		=> ['https://www.w3.org/ns/activitystreams#Public'],
+				'cc' 		=> [
+					$status->profile->permalink(),
+					$status->profile->follower_url ?? $status->profile->permalink('/followers')
+				],
+				'published' => $status->created_at->format(DATE_ISO8601),
+				'object'	=> $status->parent()->url(),
+			]
+		];
+	}
+}