add front page dashboard
[arvados.git] / services / api / lib / current_api_client.rb
1 module CurrentApiClient
2   def current_user
3     Thread.current[:user]
4   end
5
6   def current_api_client
7     Thread.current[:api_client]
8   end
9
10   def current_api_client_authorization
11     Thread.current[:api_client_authorization]
12   end
13
14   def current_default_owner
15     # owner uuid for newly created objects
16     ((current_api_client_authorization &&
17       current_api_client_authorization.default_owner) ||
18      (current_user && current_user.default_owner) ||
19      (current_user && current_user.uuid) ||
20      nil)
21   end
22
23   # Where is the client connecting from?
24   def current_api_client_ip_address
25     Thread.current[:api_client_ip_address]
26   end
27
28   # Is the current client permitted to perform ALL actions on behalf
29   # of the authenticated user?
30   def current_api_client_trusted
31     Thread.current[:api_client_trusted]
32   end
33 end