Commit 8ec42c33 authored by Yassine Doghri's avatar Yassine Doghri
Browse files

fix(fediverse): add is_private field to posts to flag private posts and hide them from public views

parent 346c00e7
Loading
Loading
Loading
Loading
Loading
+1 −3
Original line number Diff line number Diff line
@@ -5,13 +5,11 @@ declare(strict_types=1);
use CodeIgniter\Router\RouteCollection;

/**
 * @var RouteCollection
 *
 * --------------------------------------------------------------------
 * Placeholder definitions
 * --------------------------------------------------------------------
 */

/** @var RouteCollection $routes */
$routes->addPlaceholder('podcastHandle', '[a-zA-Z0-9\_]{1,32}');
$routes->addPlaceholder('slug', '[a-zA-Z0-9\-]{1,128}');
$routes->addPlaceholder('base64', '[A-Za-z0-9\.\_]+\-{0,2}');
+6 −0
Original line number Diff line number Diff line
@@ -69,6 +69,11 @@ class PostController extends FediversePostController

        $this->post = $post;

        // show 404 if post is private
        if ($this->post->is_private && ! can_user_interact()) {
            throw PageNotFoundException::forPageNotFound();
        }

        unset($params[0]);
        unset($params[1]);

@@ -185,6 +190,7 @@ class PostController extends FediversePostController
            'actor_id'       => interact_as_actor_id(),
            'in_reply_to_id' => $this->post->id,
            'message'        => $validData['message'],
            'is_private'     => $this->post->is_private,
            'published_at'   => Time::now(),
            'created_by'     => user_id(),
        ]);
+1 −0
Original line number Diff line number Diff line
@@ -34,6 +34,7 @@ class Post extends FediversePost
        'episode_id'       => '?integer',
        'message'          => 'string',
        'message_html'     => 'string',
        'is_private'       => 'boolean',
        'favourites_count' => 'integer',
        'reblogs_count'    => 'integer',
        'replies_count'    => 'integer',
Loading