diff --git a/nomad/app/v1/routers/datasets.py b/nomad/app/v1/routers/datasets.py index aecad4c433aacddd9b094c3d5d5eb402daf09d72..5ff73226362aae42df5bbbc24a3147ed496bc6bf 100644 --- a/nomad/app/v1/routers/datasets.py +++ b/nomad/app/v1/routers/datasets.py @@ -286,7 +286,7 @@ async def delete_dataset( status_code=_bad_id_response[0], detail=_bad_id_response[1]['description']) - if dataset.doi is not None: + if dataset.doi is not None and not user.is_admin: raise HTTPException( status_code=_existing_name_response[0], detail=_dataset_is_fixed_response[1]['description']) diff --git a/nomad/app/v1/routers/entries.py b/nomad/app/v1/routers/entries.py index f40f805e7a6e3d83ca67f24de90439037b6f1c1b..0236b2786654a5d2f24184422137c23e98f43463 100644 --- a/nomad/app/v1/routers/entries.py +++ b/nomad/app/v1/routers/entries.py @@ -337,7 +337,7 @@ def perform_search(*args, **kwargs): @router.post( - '/query', tags=['entries/metadata'], + '/query', tags=[metadata_tag], summary='Search entries and retrieve their metadata', response_model=MetadataResponse, responses=create_responses(_bad_owner_response), @@ -1156,7 +1156,7 @@ _editable_quantities = { @router.post( '/edit', - tags=[archive_tag], + tags=[metadata_tag], summary='Edit the user metadata of a set of entries', response_model=EntryMetadataEditResponse, response_model_exclude_unset=True, @@ -1297,7 +1297,7 @@ async def post_entry_metadata_edit( doi_ds = datamodel.Dataset.m_def.a_mongo.objects( dataset_id__in=removed_datasets, doi__ne=None).first() - if doi_ds is not None: + if doi_ds is not None and not user.is_admin: data.success = False data.message = (data.message if data.message else '') + ( 'Edit would remove entries from a dataset with DOI (%s) ' % doi_ds.name)