Notifications cleared for a whole thread in case of one mark seen

This commit is contained in:
nupplaPhil 2020-01-31 21:34:12 +01:00
parent 4ab893a561
commit 7909d9c417
No known key found for this signature in database
GPG key ID: D8365C3D36B77D90
4 changed files with 32 additions and 35 deletions

View file

@ -5957,11 +5957,11 @@ function api_friendica_notification_seen($type)
$id = (!empty($_REQUEST['id']) ? intval($_REQUEST['id']) : 0);
try {
$notification = DI::notify()->getByID($id);
$notification->setSeen();
$notify = DI::notify()->getByID($id);
DI::notify()->setSeen(true, $notify);
if ($notification->otype === Notify::OTYPE_ITEM) {
$item = Item::selectFirstForUser(api_user(), [], ['id' => $notification->iid, 'uid' => api_user()]);
if ($notify->otype === Notify::OTYPE_ITEM) {
$item = Item::selectFirstForUser(api_user(), [], ['id' => $notify->iid, 'uid' => api_user()]);
if (DBA::isResult($item)) {
// we found the item, return it to the user
$ret = api_format_items([$item], $user_info, false, $type);
@ -5973,6 +5973,8 @@ function api_friendica_notification_seen($type)
return api_format_data('result', $type, ['result' => "success"]);
} catch (NotFoundException $e) {
throw new BadRequestException('Invalid argument');
} catch (Exception $e) {
throw new InternalServerErrorException('Internal Server exception');
}
}