@@ -39,6 +39,7 @@ def find_assistant(): # Taken from Flask-ask courtesy of @voutilad
3939context_manager = LocalProxy (lambda : find_assistant ().context_manager )
4040convert_errors = LocalProxy (lambda : find_assistant ().convert_errors )
4141session_id = LocalProxy (lambda : find_assistant ().session_id )
42+ user = LocalProxy (lambda : find_assistant ().user )
4243
4344# Converter shorthands for commonly used system entities
4445_converter_shorthands = {
@@ -220,6 +221,14 @@ def session_id(self):
220221 def session_id (self , value ):
221222 _app_ctx_stack .top ._assist_session_id = value
222223
224+ @property
225+ def user (self ):
226+ return getattr (_app_ctx_stack .top , "_assist_user" , {})
227+
228+ @user .setter
229+ def user (self , value ):
230+ _app_ctx_stack .top ._assist_user = value
231+
223232 def _register_context_to_func (self , intent_name , context = []):
224233 required = self ._required_contexts .get (intent_name )
225234 if required :
@@ -367,8 +376,14 @@ def _flask_assitant_view_func(self, nlp_result=None, *args, **kwargs):
367376 # TODO: acces context_manager from assist, instead of own object
368377 self .context_manager ._assist = self
369378
370- # Get access token from request
379+
371380 original_request = self .request .get ("originalDetectIntentRequest" )
381+
382+
383+ if original_request and original_request ["payload" ].get ("user" ):
384+ self .user = original_request ["payload" ]["user" ]
385+
386+ # Get access token from request
372387 if original_request and original_request .get ("user" ):
373388 self .access_token = original_request ["user" ].get ("accessToken" )
374389
0 commit comments