mirror of
https://github.com/jupyterhub/jupyterhub.git
synced 2025-10-15 22:13:00 +00:00
update user.last_activity whenever we see activity on API tokens / cookies
This commit is contained in:
@@ -24,7 +24,11 @@ class TokenAPIHandler(APIHandler):
|
|||||||
orm_token = orm.OAuthAccessToken.find(self.db, token)
|
orm_token = orm.OAuthAccessToken.find(self.db, token)
|
||||||
if orm_token is None:
|
if orm_token is None:
|
||||||
raise web.HTTPError(404)
|
raise web.HTTPError(404)
|
||||||
|
|
||||||
|
# record activity whenever we see a token
|
||||||
|
now = orm_token.last_activity = datetime.utcnow()
|
||||||
if orm_token.user:
|
if orm_token.user:
|
||||||
|
orm_token.user.last_activity = now
|
||||||
model = self.user_model(self.users[orm_token.user])
|
model = self.user_model(self.users[orm_token.user])
|
||||||
elif orm_token.service:
|
elif orm_token.service:
|
||||||
model = self.service_model(orm_token.service)
|
model = self.service_model(orm_token.service)
|
||||||
@@ -33,8 +37,6 @@ class TokenAPIHandler(APIHandler):
|
|||||||
self.db.delete(orm_token)
|
self.db.delete(orm_token)
|
||||||
self.db.commit()
|
self.db.commit()
|
||||||
raise web.HTTPError(404)
|
raise web.HTTPError(404)
|
||||||
# record activity whenever we see a token
|
|
||||||
orm_token.last_activity = datetime.utcnow()
|
|
||||||
self.db.commit()
|
self.db.commit()
|
||||||
self.write(json.dumps(model))
|
self.write(json.dumps(model))
|
||||||
|
|
||||||
|
@@ -191,7 +191,8 @@ class BaseHandler(RequestHandler):
|
|||||||
if orm_token is None:
|
if orm_token is None:
|
||||||
return None
|
return None
|
||||||
else:
|
else:
|
||||||
orm_token.last_activity = datetime.utcnow()
|
orm_token.last_activity = \
|
||||||
|
orm_token.user.last_activity = datetime.utcnow()
|
||||||
self.db.commit()
|
self.db.commit()
|
||||||
return self._user_from_orm(orm_token.user)
|
return self._user_from_orm(orm_token.user)
|
||||||
|
|
||||||
@@ -205,7 +206,11 @@ class BaseHandler(RequestHandler):
|
|||||||
return None
|
return None
|
||||||
else:
|
else:
|
||||||
# record token activity
|
# record token activity
|
||||||
orm_token.last_activity = datetime.utcnow()
|
now = datetime.utcnow()
|
||||||
|
orm_token.last_activity = now
|
||||||
|
if orm_token.user:
|
||||||
|
orm_token.user.last_activity = now
|
||||||
|
|
||||||
self.db.commit()
|
self.db.commit()
|
||||||
return orm_token.service or self._user_from_orm(orm_token.user)
|
return orm_token.service or self._user_from_orm(orm_token.user)
|
||||||
|
|
||||||
@@ -231,6 +236,10 @@ class BaseHandler(RequestHandler):
|
|||||||
self.log.warning("Invalid cookie token")
|
self.log.warning("Invalid cookie token")
|
||||||
# have cookie, but it's not valid. Clear it and start over.
|
# have cookie, but it's not valid. Clear it and start over.
|
||||||
clear()
|
clear()
|
||||||
|
return
|
||||||
|
# update user activity
|
||||||
|
user.last_activity = datetime.utcnow()
|
||||||
|
self.db.commit()
|
||||||
return user
|
return user
|
||||||
|
|
||||||
def _user_from_orm(self, orm_user):
|
def _user_from_orm(self, orm_user):
|
||||||
|
Reference in New Issue
Block a user