From 2cfdbd98a356fe8e9ad7b89f7be8e679023e37eb Mon Sep 17 00:00:00 2001
From: Pablo Panero <pablo.panero@cern.ch>
Date: Mon, 29 Oct 2018 09:43:34 +0100
Subject: [PATCH] Add: Make 'access' parameter optional for record endpoint

---
 cern_search_rest_api/modules/cernsearch/search.py | 13 ++++++++-----
 1 file changed, 8 insertions(+), 5 deletions(-)

diff --git a/cern_search_rest_api/modules/cernsearch/search.py b/cern_search_rest_api/modules/cernsearch/search.py
index 3decdd0b..713b910d 100644
--- a/cern_search_rest_api/modules/cernsearch/search.py
+++ b/cern_search_rest_api/modules/cernsearch/search.py
@@ -5,6 +5,8 @@ from invenio_search import RecordsSearch
 from invenio_search.api import DefaultFilter
 from flask import request
 
+from cern_search_rest_api.modules.cernsearch.utils import get_user_provides
+
 """
 The Filter emulates the following query:
 curl -X GET "localhost:9200/_search" -H 'Content-Type: application/json' -d'
@@ -61,11 +63,12 @@ def cern_search_filter():
 
 def get_egroups():
     egroups = request.args.get('access', None)
-    try:
-        return ['{0}@cern.ch'.format(egroup) for egroup in egroups.split(',')]
-
-    except AttributeError:
-        return None
+    if egroups or (request.path == '/records/' and request.method == 'GET'):
+        try:
+            return ['{0}@cern.ch'.format(egroup) for egroup in egroups.split(',')]
+        except AttributeError:
+            return None
+    return get_user_provides()
 
 
 class RecordCERNSearch(RecordsSearch):
-- 
GitLab