File: response.py

package info (click to toggle)
django-allauth 65.0.2-2
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 9,672 kB
  • sloc: python: 34,411; javascript: 3,070; xml: 849; makefile: 235; sh: 8
file content (24 lines) | stat: -rw-r--r-- 796 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
from allauth.headless.base.response import APIResponse
from allauth.usersessions import app_settings


class SessionsResponse(APIResponse):
    def __init__(self, request, sessions):
        super().__init__(request, data=[self._session_data(s) for s in sessions])

    def _session_data(self, session):
        data = {
            "user_agent": session.user_agent,
            "ip": session.ip,
            "created_at": session.created_at.timestamp(),
            "is_current": session.is_current(),
            "id": session.pk,
        }
        if app_settings.TRACK_ACTIVITY:
            data["last_seen_at"] = session.last_seen_at.timestamp()
        return data


def get_config_data(request):
    data = {"usersessions": {"track_activity": app_settings.TRACK_ACTIVITY}}
    return data