@@ -38,6 +38,7 @@ def create_json_response(data, status_code):
3838def log (user_id , index , to_search ):
3939 logger .warning (f'{ user_id } search: { index } - { to_search } ' )
4040
41+
4142# ============ FUNCTIONS ============
4243
4344# ============= ROUTES ==============
@@ -65,12 +66,30 @@ def search_dashboard():
6566
6667 # selected_scopes -> scope_human
6768
69+ search_error = None
6870 if search :
6971 r = search_engine .api_search ({'indexes' : indexes , 'search' : search , 'page' : page , 'user_id' : user_id ,
7072 'from' : last_seen_from , 'to' : last_seen_to , 'sort' : sort })
7173 if r [1 ] != 200 :
72- return create_json_response (r [0 ], r [1 ])
73- result , pagination = r [0 ]
74+ error_type = r [0 ].get ('error_type' )
75+ if error_type == 'meilisearch_timeout' :
76+ search_error = {
77+ 'title' : 'Search service timeout' ,
78+ 'message' : r [0 ].get ('reason' )
79+ }
80+ result = None
81+ pagination = None
82+ elif error_type == 'meilisearch_unreachable' :
83+ search_error = {
84+ 'title' : 'Search service unavailable' ,
85+ 'message' : r [0 ].get ('reason' )
86+ }
87+ result = None
88+ pagination = None
89+ else :
90+ return create_json_response (r [0 ], r [1 ])
91+ else :
92+ result , pagination = r [0 ]
7493 else :
7594 result = None
7695 pagination = None
@@ -83,6 +102,7 @@ def search_dashboard():
83102 sort = sort ,
84103 last_seen_from = last_seen_from ,
85104 last_seen_to = last_seen_to ,
105+ search_error = search_error ,
86106 result = result , pagination = pagination )
87107
88108# username_subtypes=ail_core.get_object_all_subtypes('username')
0 commit comments