Commit fa210f05 authored by Emiliano Balbuena's avatar Emiliano Balbuena
Browse files

Merge remote-tracking branch 'origin/master' into epic/feature-flags

parents c690c251 785576b4
Loading
Loading
Loading
Loading
+8 −1
Original line number Diff line number Diff line
@@ -24,6 +24,7 @@ class entities implements Interfaces\Api
    public function get($pages)
    {
        $asActivities = (bool) ($_GET['as_activities'] ?? false);
        $exportUserCounts = (bool) ($_GET['export_user_counts'] ?? false);
        $urns = array_map([Urn::class, '_'], array_filter(explode(',', $_GET['urns'] ?? ''), [Urn::class, 'isValid']));

        $resolver = new Resolver();
@@ -31,11 +32,17 @@ class entities implements Interfaces\Api
            ->setUser(Session::getLoggedinUser() ?: null)
            ->setUrns($urns)
            ->setOpts([
                'asActivities' => $asActivities
                'asActivities' => $asActivities,
            ]);

        $entities = $resolver->fetch();

        if ($exportUserCounts) {
            foreach ($entities as $user) {
                $user->exportCounts = true;
            }
        }

        // Return
        return Factory::response([
            'entities' => Exportable::_(array_values($entities)),
+16 −4
Original line number Diff line number Diff line
@@ -8,6 +8,7 @@ use Minds\Common\Repository\Response;
use Minds\Core;
use Minds\Core\Di\Di;
use Minds\Entities\Factory as EntitiesFactory;
use Minds\Entities\Group;
use Minds\Entities\User;
use Minds\Interfaces;

@@ -18,7 +19,7 @@ class feeds implements Interfaces\Api
        '24h' => '7d',
        '7d' => '30d',
        '30d' => '1y',
        '1y' => 'all'
        '1y' => 'all',
    ];

    /**
@@ -41,7 +42,7 @@ class feeds implements Interfaces\Api
        if (!$filter) {
            return Factory::response([
                'status' => 'error',
                'message' => 'Invalid filter'
                'message' => 'Invalid filter',
            ]);
        }

@@ -50,7 +51,7 @@ class feeds implements Interfaces\Api
        if (!$algorithm) {
            return Factory::response([
                'status' => 'error',
                'message' => 'Invalid algorithm'
                'message' => 'Invalid algorithm',
            ]);
        }

@@ -84,6 +85,12 @@ class feeds implements Interfaces\Api
            $period = '1y';
        }

        $exportCounts = false;

        if (isset($_GET['export_user_counts'])) {
            $exportCounts = true;
        }

        //

        $hardLimit = 600;
@@ -146,7 +153,7 @@ class feeds implements Interfaces\Api
            if (!$container || !Core\Security\ACL::_()->read($container)) {
                return Factory::response([
                    'status' => 'error',
                    'message' => 'Forbidden'
                    'message' => 'Forbidden',
                ]);
            }
        }
@@ -240,6 +247,11 @@ class feeds implements Interfaces\Api
                    $entities = $entities->map([$elasticEntities, 'cast']);
                }
            }
            if ($type === 'user' && $exportCounts) {
                foreach ($entities as $entity) {
                    $entity->getEntity()->exportCounts = true;
                }
            }

            return Factory::response([
                'status' => 'success',
+4 −2
Original line number Diff line number Diff line
@@ -8,7 +8,7 @@
namespace Minds\Core\Feeds;

use JsonSerializable;
use Minds\Traits\Exportable;
use Minds\Entities\Entity;
use Minds\Traits\MagicAttributes;

/**
@@ -22,6 +22,8 @@ use Minds\Traits\MagicAttributes;
 * @method FeedSyncEntity setTimestamp(int $timestamp)
 * @method string getUrn()
 * @method FeedSyncEntity setUrn(string $urn)
 * @method Entity getEntity()
 * @method void setEntity(Entity $entity)
 */
class FeedSyncEntity implements JsonSerializable
{
+1 −1
Original line number Diff line number Diff line
@@ -29,7 +29,7 @@
        "zendframework/zend-diactoros": "^1.8.6",
        "league/oauth2-server": "7.2.0",
        "lcobucci/jwt": "^3.2.4",
        "sentry/sdk": "^2.0.3",
        "sentry/sdk": "^2.3.0",
        "zendframework/zend-permissions-rbac": "^3.0",
        "php-amqplib/php-amqplib": "^2.10",
        "facebook/graph-sdk": "^5.7",