Merge pull request #12304 from HankG/add-dismissed-field-to-mastodon-notifications

Add dismissed field to mastodon notifications
This commit is contained in:
Hypolite Petovan 2022-11-30 14:55:09 -05:00 committed by GitHub
commit 1b0f7e5add
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
3 changed files with 10 additions and 3 deletions

View file

@ -70,7 +70,7 @@ class Notification extends BaseFactory
$status = null; $status = null;
} }
return new MstdnNotification($Notification->id, $type, $Notification->created, $account, $status); return new MstdnNotification($Notification->id, $type, $Notification->created, $account, $status, $Notification->dismissed);
} }
/** /**

View file

@ -63,12 +63,16 @@ class Notifications extends BaseApi
'exclude_types' => [], // Array of types to exclude (follow, favourite, reblog, mention, poll, follow_request) 'exclude_types' => [], // Array of types to exclude (follow, favourite, reblog, mention, poll, follow_request)
'account_id' => 0, // Return only notifications received from this account 'account_id' => 0, // Return only notifications received from this account
'with_muted' => false, // Pleroma extension: return activities by muted (not by blocked!) users. 'with_muted' => false, // Pleroma extension: return activities by muted (not by blocked!) users.
'count' => 0, // Unknown parameter 'count' => 0,
'include_all' => false // Include dismissed and undismissed
], $request); ], $request);
$params = ['order' => ['id' => true]]; $params = ['order' => ['id' => true]];
$condition = ['uid' => $uid, 'dismissed' => false]; $condition = ['uid' => $uid, 'dismissed' => false];
if ($request['include_all']) {
$condition = ['uid' => $uid];
}
if (!empty($request['account_id'])) { if (!empty($request['account_id'])) {
$contact = Contact::getById($request['account_id'], ['url']); $contact = Contact::getById($request['account_id'], ['url']);

View file

@ -56,6 +56,8 @@ class Notification extends BaseDataTransferObject
protected $type; protected $type;
/** @var string (Datetime) */ /** @var string (Datetime) */
protected $created_at; protected $created_at;
/** @var bool */
protected $dismissed;
/** @var Account */ /** @var Account */
protected $account; protected $account;
/** @var Status|null */ /** @var Status|null */
@ -66,12 +68,13 @@ class Notification extends BaseDataTransferObject
* *
* @throws HttpException\InternalServerErrorException|Exception * @throws HttpException\InternalServerErrorException|Exception
*/ */
public function __construct(int $id, string $type, \DateTime $created_at, Account $account = null, Status $status = null) public function __construct(int $id, string $type, \DateTime $created_at, Account $account = null, Status $status = null, bool $dismissed = false)
{ {
$this->id = (string)$id; $this->id = (string)$id;
$this->type = $type; $this->type = $type;
$this->created_at = $created_at->format(DateTimeFormat::JSON); $this->created_at = $created_at->format(DateTimeFormat::JSON);
$this->account = $account->toArray(); $this->account = $account->toArray();
$this->dismissed = $dismissed;
if (!empty($status)) { if (!empty($status)) {
$this->status = $status->toArray(); $this->status = $status->toArray();