api: expose more details of auth tokens in get_user api call.
This commit is contained in:
parent
2d72da38be
commit
24dc950561
2 changed files with 18 additions and 6 deletions
|
|
@ -63,6 +63,7 @@ def get_user(request, apiuser, userid=Optional(OAttr('apiuser'))):
|
|||
"active": true,
|
||||
"admin": false,
|
||||
"api_keys": [ list of keys ],
|
||||
"auth_tokens": [ list of tokens with details ],
|
||||
"email": "user@example.com",
|
||||
"emails": [
|
||||
"user@example.com"
|
||||
|
|
|
|||
|
|
@ -915,6 +915,7 @@ class User(Base, BaseModel):
|
|||
|
||||
extras = {
|
||||
'api_keys': [api_key_replacement],
|
||||
'auth_tokens': [api_key_replacement],
|
||||
'active': user.active,
|
||||
'admin': user.admin,
|
||||
'extern_type': user.extern_type,
|
||||
|
|
@ -927,6 +928,7 @@ class User(Base, BaseModel):
|
|||
|
||||
if include_secrets:
|
||||
data['api_keys'] = user.auth_tokens
|
||||
data['auth_tokens'] = user.extra_auth_tokens
|
||||
return data
|
||||
|
||||
def __json__(self):
|
||||
|
|
@ -985,6 +987,21 @@ class UserApiKeys(Base, BaseModel):
|
|||
def __unicode__(self):
|
||||
return u"<%s('%s')>" % (self.__class__.__name__, self.role)
|
||||
|
||||
def __json__(self):
|
||||
data = {
|
||||
'auth_token': self.api_key,
|
||||
'role': self.role,
|
||||
'scope': self.scope_humanized,
|
||||
'expired': self.expired
|
||||
}
|
||||
return data
|
||||
|
||||
@property
|
||||
def expired(self):
|
||||
if self.expires == -1:
|
||||
return False
|
||||
return time.time() > self.expires
|
||||
|
||||
@classmethod
|
||||
def _get_role_name(cls, role):
|
||||
return {
|
||||
|
|
@ -995,12 +1012,6 @@ class UserApiKeys(Base, BaseModel):
|
|||
cls.ROLE_FEED: _('feed access'),
|
||||
}.get(role, role)
|
||||
|
||||
@property
|
||||
def expired(self):
|
||||
if self.expires == -1:
|
||||
return False
|
||||
return time.time() > self.expires
|
||||
|
||||
@property
|
||||
def role_humanized(self):
|
||||
return self._get_role_name(self.role)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue