Commit a3103791 authored by Mark Harding's avatar Mark Harding

(feat): export appeal with strike too

1 merge request!100Epic/reporting and moderation
Pipeline #62350413 running with stages
......@@ -132,6 +132,7 @@ class Report
'reason_code' => (int) $this->getReasonCode(),
'sub_reason_code' => (int) $this->getSubReasonCode(),
'state' => $this->getState(),
'upheld' => $this->isUpheld(),
];
return $export;
......
<?php
/**
* Email Notification delegate for Strikes
*/
namespace Minds\Core\Reports\Strikes\Delegates;
use Minds\Core\Di\Di;
use Minds\Core\Reports\Verdict\Verdict;
use Minds\Core\Events\EventsDispatcher;
use Minds\Common\Urn;
class EmailDelegate
{
/** @var Custom $campaign */
protected $campaign;
/** @var EntitiesBuilder $entitiesBuilder */
protected $entitiesBuilder;
/** @var Urn $urn */
public function __construct($campaign = null, $entitiesBuilder = null, $urn = null)
{
$this->campaign = $campaign ?: new Custom;
$this->entitiesBuilder = $entitiesBuilder ?: Di::_()->get('EntitiesBuilder');
$this->urn = $urn ?: new Urn;
}
/**
* On Strike
* @param Strike $strike
* @return void
*/
public function onStrike(Strike $strike)
{
$entityUrn = $strike->getReport()->getEntityUrn();
$entityGuid = $this->urn->setUrn($entityUrn)->getNss();
$entity = $this->entitiesBuilder->single($entityGuid);
}
}
......@@ -7,6 +7,7 @@ namespace Minds\Core\Reports\Strikes;
use Minds\Common\Repository\Response;
use Minds\Common\Urn;
use Minds\Core\Reports\Manager as ReportsManager;
use Minds\Core\Reports\Appeals\Appeal;
class Manager
{
......@@ -60,6 +61,13 @@ class Manager
try {
$report = $this->reportsManager->getReport($strike->getReportUrn());
$strike->setReport($report);
$appeal = new Appeal;
$appeal
->setTimestamp($report->getAppealTimestamp())
->setReport($report)
->setNote($report->getAppealNote());
$strike->setAppeal($appeal);
} catch (\Exception $e) { }
return $strike;
......
......@@ -13,6 +13,8 @@ use Minds\Traits\MagicAttributes;
* @method Strike getReasonCode(): float
* @method Strike getSubReasonCode(): float
* @method Strike getReportUrn(): string
* @method Strike getAppeal(): Appeal
* @method Strike setAppeal(Appeal $appeal): Strike
*/
class Strike
{
......@@ -36,6 +38,9 @@ class Strike
/** @var Report $report */
private $report;
/** @var Appeal $appeal */
private $appeal;
/**
* Return preferred urn
* `urn:strike:123-512949505000-2-5`
......@@ -69,6 +74,10 @@ class Strike
$output['report'] = $this->report->export();
}
if ($this->appeal) {
$output['appeal'] = $this->appeal->export();
}
return $output;
}
......
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