code: def mark_write_complete(
      self,
      context: AuthedServiceContext,
      uid: UID,
      etags: List,
      no_lines: Optional[int] = 0,
  ) -> Union[SyftError, SyftSuccess]:
      result = self.stash.get_by_uid(
          credentials=context.credentials,
          uid=uid,
      )
      if result.is_err():
          return SyftError(message=f"{result.err()}")
  
      obj: Optional[BlobStorageEntry] = result.ok()
  
      if obj is None:
          return SyftError(
              message=f"No blob storage entry exists for uid: {uid}"
          )
  
      obj.no_lines = no_lines
      result = self.stash.update(
          credentials=context.credentials,
          obj=obj,
      )
      if result.is_err():
          return SyftError(message=f"{result.err()}")
  
      with context.node.blob_storage_client.connect() as conn:
          result = conn.complete_multipart_upload(obj, etags)
  
      return result
  
imports: from pathlib import Path
  from typing import List
  from typing import Optional
  from typing import Union
  import requests
  from ...serde.serializable import serializable
  from ...service.action.action_object import ActionObject
  from ...store.blob_storage import BlobRetrieval
  from ...store.blob_storage.on_disk import OnDiskBlobDeposit
  from ...store.blob_storage.seaweedfs import SeaweedFSBlobDeposit
  from ...store.document_store import DocumentStore
  from ...store.document_store import UIDPartitionKey
  from ...types.blob_storage import AzureSecureFilePathLocation
  from ...types.blob_storage import BlobFileType
  from ...types.blob_storage import BlobStorageEntry
  from ...types.blob_storage import BlobStorageMetadata
  from ...types.blob_storage import CreateBlobStorageEntry
  from ...types.blob_storage import SeaweedSecureFilePathLocation
  from ...types.uid import UID
  from ..context import AuthedServiceContext
  from ..response import SyftError
  from ..response import SyftSuccess
  from ..service import AbstractService
  from ..service import TYPE_TO_SERVICE
  from ..service import service_method
  from ..user.user_roles import GUEST_ROLE_LEVEL
  from .remote_profile import AzureRemoteProfile
  from .remote_profile import RemoteProfileStash
  from .stash import BlobStorageStash
label_desc: Use image node_id 10 for calling the BlobStorageService obj's underlying member method code with example usage: obj.mark_write_complete(context, uid, etags, no_lines) and returns: result, SyftError, SyftError, SyftError