From 423d5ca09d52c62d37d2e9cabdeaeb59629245cc Mon Sep 17 00:00:00 2001
From: Maximilian Moser <maximilian.moser@tuwien.ac.at>
Date: Tue, 13 Jul 2021 14:01:56 +0200
Subject: [PATCH] Make PID option actually optional for file commands

---
 invenio_utilities_tuw/cli/files.py   |  8 ++++----
 invenio_utilities_tuw/cli/options.py | 10 ++++++++++
 2 files changed, 14 insertions(+), 4 deletions(-)

diff --git a/invenio_utilities_tuw/cli/files.py b/invenio_utilities_tuw/cli/files.py
index ec902e8..e6f8b99 100644
--- a/invenio_utilities_tuw/cli/files.py
+++ b/invenio_utilities_tuw/cli/files.py
@@ -17,8 +17,8 @@ from invenio_access.permissions import system_identity
 from invenio_db import db
 from invenio_files_rest.models import Location, ObjectVersion
 
-from ..utils import get_identity_for_user, get_record_service
-from .options import option_as_user, option_pid_type, option_pid_value
+from ..utils import get_record_service
+from .options import option_pid_type, option_pid_value_optional
 from .utils import convert_to_recid
 
 
@@ -69,7 +69,7 @@ def deleted():
 
 
 @deleted.command("list")
-@option_pid_value
+@option_pid_value_optional
 @option_pid_type
 @with_appcontext
 def list_deleted_files(pid, pid_type):
@@ -107,7 +107,7 @@ def list_deleted_files(pid, pid_type):
 @click.confirmation_option(
     prompt="are you sure you want to permanently remove soft-deleted files?"
 )
-@option_pid_value
+@option_pid_value_optional
 @option_pid_type
 @with_appcontext
 def hard_delete_files(pid, pid_type):
diff --git a/invenio_utilities_tuw/cli/options.py b/invenio_utilities_tuw/cli/options.py
index c0cb2a2..4754bf5 100644
--- a/invenio_utilities_tuw/cli/options.py
+++ b/invenio_utilities_tuw/cli/options.py
@@ -33,6 +33,15 @@ option_pid_type = click.option(
     help="pid type for the lookup (default: 'recid')",
 )
 
+option_pid_value_optional = click.option(
+    "--pid",
+    "-p",
+    "pid",
+    metavar="PID_VALUE",
+    required=False,
+    help="persistent identifier of the object to operate on",
+)
+
 option_pid_value = click.option(
     "--pid",
     "-p",
@@ -42,6 +51,7 @@ option_pid_value = click.option(
     help="persistent identifier of the object to operate on",
 )
 
+
 option_pid_values = click.option(
     "--pid",
     "-p",
-- 
GitLab