code: def delete(self, pid, record, **kwargs):
          
          self.check_etag(str(record.model.version_id))
  
          record.delete()
          # mark all PIDs as DELETED
          all_pids = PersistentIdentifier.query.filter(
              PersistentIdentifier.object_type == pid.object_type,
              PersistentIdentifier.object_uuid == pid.object_uuid,
          ).all()
          for rec_pid in all_pids:
              if not rec_pid.is_deleted():
                  rec_pid.delete()
          db.session.commit()
          if self.indexer_class:
              self.indexer_class().delete(record)
  
          return '', 204
docs: Delete a record.
  
          Permissions: ``delete_permission_factory``
  
          Procedure description:
  
          #. The record is resolved reading the pid value from the url.
  
          #. The ETag is checked.
  
          #. The record is deleted.
  
          #. All PIDs are marked as DELETED.
  
          :param pid: Persistent identifier for record.
          :param record: Record object.