code: def update_notification_status(
      self,
      credentials: SyftVerifyKey,
      uid: UID,
      status: NotificationStatus,
  ) -> Result[Notification, str]:
      result = self.get_by_uid(credentials, uid=uid)
      if result.is_err():
          return result.err()
  
      notification = result.ok()
      if notification is None:
          return Err(f"No notification exists for id: {uid}")
      notification.status = status
      return self.update(credentials, obj=notification)
  
imports: from typing import List
  from result import Err
  from result import Ok
  from result import Result
  from ...node.credentials import SyftVerifyKey
  from ...serde.serializable import serializable
  from ...store.document_store import BaseUIDStoreStash
  from ...store.document_store import PartitionKey
  from ...store.document_store import PartitionSettings
  from ...store.document_store import QueryKeys
  from ...store.linked_obj import LinkedObject
  from ...types.datetime import DateTime
  from ...types.uid import UID
  from ...util.telemetry import instrument
  from .notifications import Notification
  from .notifications import NotificationStatus
label_desc: Use image node_id 6 for calling the NotificationStash obj's underlying member method code with example usage: obj.update_notification_status(credentials, uid, status) and returns: self, result, Err