Commit a1379dea authored by Brian Hatchet's avatar Brian Hatchet :speech_balloon:

Refactor and fixing up unit tests

1 merge request!335WIP: (WIP) Feat/permissions on entities 737
Pipeline #85817722 failed with stages
in 4 minutes and 40 seconds
......@@ -104,7 +104,6 @@ class Exportable implements \JsonSerializable
$exported = $item->export(...$this->exportArgs);
if ($item && Di::_()->get('Features\Manager')->has('permissions')) {
$userGuid = $user ? $user->getGuid() : null;
$permissionsManager = Di::_()->get('Permissions\Manager');
$permissions = $permissionsManager->getList(['user_guid' => Session::getLoggedinUser(),
'entities' => [$item]]);
......
......@@ -224,8 +224,6 @@ class Factory
$entities[$k] = $entity->export();
//Calculate new permissions object with the entities
if ($entity && Di::_()->get('Features\Manager')->has('permissions')) {
$userGuid = $user ? $user->getGuid() : null;
$permissions = $permissionsManager->getList(['user_guid' => Session::getLoggedinUser(),
'entities' => [$entity]]);
$entities[$k]['permissions'] = $permissions->export();
......
<?php
namespace Minds\Controllers\Cli;
use Minds\Cli;
use Minds\Core;
use Minds\Core\Data\ElasticSearch;
use Minds\Core\Di\Di;
use Minds\Interfaces;
class Test extends Cli\Controller implements Interfaces\CliControllerInterface
{
public function __construct()
{
define('__MINDS_INSTALLING__', true);
}
public function help($command = null)
{
$this->out('TBD');
}
public function exec()
{
$client = Di::_()->get('Database\ElasticSearch');
$query = [
'index' => 'minds-boost-campaigns',
//'type' => 'activity',
'_source' => true,
'size' => 100,
'body' => [
'query' => [
'bool' => [
'must_not' => [
[
'exists' => [
'field' => '@completed',
],
],
[
'exists' => [
'field' => '@rejected',
],
],
[
'exists' => [
'field' => '@revoked',
],
],
],
'filter' => [
'script' => [
'script' => [
"inline" => "
if(doc._index.value == 'minds-boost')
return true;
ZonedDateTime start = ZonedDateTime.ofInstant(doc.start.value.toInstant(), ZoneId.systemDefault());
ZonedDateTime end = ZonedDateTime.ofInstant(doc.end.value.toInstant(), ZoneId.systemDefault());
def totalAmountOfDays = ChronoUnit.DAYS.between(start, end);
def impressionsPerDay = doc.impressions.value / totalAmountOfDays;
ZonedDateTime now = ZonedDateTime.ofInstant(Instant.ofEpochMilli(params.nowMillis), ZoneId.systemDefault());
def passedDays = ChronoUnit.DAYS.between(now, end);
def impressionsMetPerDay = (doc.impressions_met.value ?: doc.impressions.value) / passedDays;
Debug.explain(impressionsPerDay);
return impressionsMetPerDay <= impressionsPerDay;
",
'lang' => 'painless',
'params' => [
'nowMillis' => time() * 1000,
],
],
],
],
],
],
],
];
$prepared = new ElasticSearch\Prepared\Search();
$prepared->query($query);
try {
$result = $client->request($prepared);
var_dump($result);
} catch (\Exception $e) {
var_dump(str_replace("\\n", "\r\n", $e->getMessage()));
}
<<<<<<< Updated upstream
$this->out($namespace);
=======
// var_dump($result);
// die();
>>>>>>> Stashed changes
}
private function getTrendingActivities()
{
$result = Core\Di\Di::_()->get('Trending\Repository')->getList([
'type' => 'newsfeed',
'limit' => 12,
]);
ksort($result['guids']);
$options['guids'] = $result['guids'];
$activities = Core\Entities::get(array_merge([
<<<<<<< Updated upstream
'type' => 'activity'
], $options));
=======
'type' => 'activity',
]
, $options));
>>>>>>> Stashed changes
$activities = array_filter($activities, function ($activity) {
if ($activity->paywall) {
return false;
}
if ($activity->remind_object && $activity->remind_object['paywall']) {
return false;
}
return true;
});
return $activities;
}
}
......@@ -91,14 +91,6 @@ class channel implements Interfaces\Api
$block = Core\Security\ACL\Block::_();
$response['channel']['blocked'] = $block->isBlocked($user);
//Calculate new permissions object with the entities
if ($user && Di::_()->get('Features\Manager')->has('permissions')) {
$permissionsManager = Core\Di\Di::_()->get('Permissions\Manager');
$permissions = $permissionsManager->getList(['user_guid' => Core\Session::getLoggedInUserGuid(),
'entities' => [$user]]);
$response['permissions'] = $permissions;
}
if ($user->isPro()) {
/** @var Core\Pro\Manager $manager */
......
......@@ -77,13 +77,6 @@ class groups implements Interfaces\Api
$response['groups'] = Factory::exportable($groups);
$response['entities'] = Factory::exportable($groups);
if ($groups && Di::_()->get('Features\Manager')->has('permissions')) {
$permissionsManager = Core\Di\Di::_()->get('Permissions\Manager');
$permissions = $permissionsManager->getList(['user_guid' => Core\Session::getLoggedInUserGuid(),
'entities' => $groups]);
$response['permissions'] = $permissions;
}
if (!isset($response['load-next']) && $groups) {
$response['load-next'] = (string) end($groups)->getGuid();
......
......@@ -73,7 +73,7 @@ class media implements Interfaces\Api, Interfaces\ApiIgnorePam
Security\ACL::$ignore = $ignore;
}
/* No break */
/* no break */
default:
$entity->fullExport = true;
$response['entity'] = $entity->export();
......@@ -97,15 +97,6 @@ class media implements Interfaces\Api, Interfaces\ApiIgnorePam
}
}
$currentUser = Core\Session::getLoggedinUser();
//Calculate new permissions object with the entities
if (Di::_()->get('Features\Manager')->has('permissions')) {
$permissionsManager = Core\Di\Di::_()->get('Permissions\Manager');
$permissions = $permissionsManager->getList(['user_guid' => $currentUser,
'entities' => [$entity]]);
$response['permissions'] = $permissions->export();
}
return Factory::response($response);
}
......
......@@ -215,14 +215,6 @@ class newsfeed implements Interfaces\Api
}
}
}
//Calculate new permissions object with the entities
if ($activity && Di::_()->get('Features\Manager')->has('permissions')) {
$permissionsManager = Core\Di\Di::_()->get('Permissions\Manager');
$permissions = $permissionsManager->getList(['user_guid' => Core\Session::getLoggedInUserGuid(),
'entities' => $activity]);
$response['permissions'] = $permissions;
}
if ($activity) {
if (!$loadNext) {
......
......@@ -45,17 +45,9 @@ class newsfeed implements Interfaces\Api
}
$response = [
'activtiy' => $activity->export()
'activity' => $activity->export()
];
//Calculate new permissions object with the entities
if ($activity && Di::_()->get('Features\Manager')->has('permissions')) {
$permissionsManager = Core\Di\Di::_()->get('Permissions\Manager');
$permissions = $permissionsManager->getList(['user_guid' => Core\Session::getLoggedInUserGuid(),
'entities' => [$activity]]);
$response['permissions'] = $permissions;
}
return Factory::response($response);
}
......
......@@ -151,15 +151,6 @@ class feed implements Interfaces\Api
]);
}
$permissions = null;
//Calculate new permissions object with the entities
if ($boosts && Di::_()->get('Features\Manager')->has('permissions')) {
$permissionsManager = Core\Di\Di::_()->get('Permissions\Manager');
$permissions = $permissionsManager->getList(['user_guid' => Core\Session::getLoggedInUserGuid(),
'entities' => $boosts]);
}
return Factory::response([
'entities' => Exportable::_($boosts),
'permissions' => $permissions,
......
......@@ -39,14 +39,6 @@ class entities implements Interfaces\Api
$entities = $resolver->fetch();
$permissions = null;
//Calculate new permissions object with the entities
if (Di::_()->get('Features\Manager')->has('permissions')) {
$permissionsManager = Di::_()->get('Permissions\Manager');
$permissions = $permissionsManager->getList(['user_guid' => Session::getLoggedInUserGuid(),
'entities' => $entities]);
}
// Return
return Factory::response([
'entities' => Exportable::_(array_values($entities)),
......
......@@ -196,14 +196,6 @@ class feeds implements Interfaces\Api
}
}
$permissions = null;
//Calculate new permissions object with the entities
if (Di::_()->get('Features\Manager')->has('permissions')) {
$permissionsManager = Core\Di\Di::_()->get('Permissions\Manager');
$permissions = $permissionsManager->getList(['user_guid' => $currentUser,
'entities' => $result->toArray(), ]);
}
return Factory::response([
'status' => 'success',
'entities' => Exportable::_($result),
......
......@@ -154,14 +154,6 @@ class container implements Interfaces\Api
}
}
$permissions = null;
//Calculate new permissions object with the entities
if (Di::_()->get('Features\Manager')->has('permissions')) {
$permissionsManager = Core\Di\Di::_()->get('Permissions\Manager');
$permissions = $permissionsManager->getList(['user_guid' => Core\Session::getLoggedInUserGuid(),
'entities' => $result->toArray(), ]);
}
return Factory::response([
'status' => 'success',
'entities' => Exportable::_($result),
......
......@@ -120,14 +120,6 @@ class subscribed implements Interfaces\Api
}
}
$permissions = null;
//Calculate new permissions object with the entities
if (Di::_()->get('Features\Manager')->has('permissions')) {
$permissionsManager = Core\Di\Di::_()->get('Permissions\Manager');
$permissions = $permissionsManager->getList(['user_guid' => $currentUser,
'entities' => $result->toArray()]);
}
return Factory::response([
'status' => 'success',
'entities' => Exportable::_($result),
......
This diff is collapsed.
......@@ -68,6 +68,9 @@ class ManagerSpec extends ObjectBehavior
"guids" => [10, 11, 12, 13],
"entities" => [],
])->willReturn($this->mockEntities());
$this->entitiesBuilder->get([
"guids" => [10, 11, 12, 13]
])->willReturn($this->mockEntities());
$this->beConstructedWith($this->entitiesBuilder);
}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment