code: def put_meta(request):
      
      if django.conf.settings.REQUIRE_WHITELIST_FOR_UPDATE:
          d1_gmn.app.auth.assert_create_update_delete_permission(request)
      d1_gmn.app.util.coerce_put_post(request)
      d1_gmn.app.views.assert_db.post_has_mime_parts(
          request, (('field', 'pid'), ('file', 'sysmeta'))
      )
      pid = request.POST['pid']
      d1_gmn.app.auth.assert_allowed(request, d1_gmn.app.auth.WRITE_LEVEL, pid)
      new_sysmeta_pyxb = d1_gmn.app.sysmeta.deserialize(request.FILES['sysmeta'])
      d1_gmn.app.views.assert_sysmeta.has_matching_modified_timestamp(new_sysmeta_pyxb)
      d1_gmn.app.views.create.set_mn_controlled_values(
          request, new_sysmeta_pyxb, is_modification=True
      )
      d1_gmn.app.sysmeta.create_or_update(new_sysmeta_pyxb)
      d1_gmn.app.event_log.log_update_event(
          pid,
          request,
          timestamp=d1_common.date_time.normalize_datetime_to_utc(
              new_sysmeta_pyxb.dateUploaded
          ),
      )
      return d1_gmn.app.views.util.http_response_with_boolean_true_type()
docs: MNStorage.updateSystemMetadata(session, pid, sysmeta) → boolean.
  
      TODO: Currently, this call allows making breaking changes to SysMeta. We need to
      clarify what can be modified and what the behavior should be when working with SIDs
      and chains.