code: def get_all(
      self, context: AuthedServiceContext
  ) -> Union[List[Project], SyftError]:
      result = self.stash.get_all(
          context.credentials,
      )
      if result.is_err():
          return SyftError(message=str(result.err()))
  
      projects = result.ok()
  
      for idx, project in enumerate(projects):
          result = self.add_signing_key_to_project(context, project)
          if isinstance(result, SyftError):
              return result
          projects[idx] = result
  
      return projects
  
imports: from typing import List
  from typing import Union
  from ...serde.serializable import serializable
  from ...store.document_store import DocumentStore
  from ...store.linked_obj import LinkedObject
  from ...types.uid import UID
  from ...util.telemetry import instrument
  from ..context import AuthedServiceContext
  from ..notification.notification_service import NotificationService
  from ..notification.notifications import CreateNotification
  from ..response import SyftError
  from ..response import SyftNotReady
  from ..response import SyftSuccess
  from ..service import AbstractService
  from ..service import SERVICE_TO_TYPES
  from ..service import TYPE_TO_SERVICE
  from ..service import service_method
  from ..user.user_roles import GUEST_ROLE_LEVEL
  from ..user.user_roles import ONLY_DATA_SCIENTIST_ROLE_LEVEL
  from ..user.user_roles import ServiceRole
  from .project import Project
  from .project import ProjectEvent
  from .project import ProjectRequest
  from .project import ProjectSubmit
  from .project import create_project_hash
  from .project_stash import ProjectStash
label_desc: Use image node_id 7 for calling the ProjectService obj's underlying member method code with example usage: obj.get_all(context) and returns: projects, SyftError, result