mirror of
https://github.com/TurTaskProject/TurTaskWeb.git
synced 2025-12-19 05:54:07 +01:00
25 lines
990 B
Python
25 lines
990 B
Python
from datetime import datetime, timedelta
|
|
from django.utils import timezone
|
|
|
|
from rest_framework import viewsets
|
|
from rest_framework.response import Response
|
|
from rest_framework.permissions import IsAuthenticated, AllowAny
|
|
|
|
from googleapiclient.discovery import build
|
|
|
|
from .serializers import GoogleCalendarEventSerializer
|
|
from users.access_token_cache import get_credential_from_cache_token
|
|
|
|
|
|
class GoogleCalendarEventViewset(viewsets.ViewSet):
|
|
permission_classes = (IsAuthenticated,)
|
|
|
|
def list(self, request, days=7):
|
|
current_time = datetime.now(tz=timezone.utc).isoformat()
|
|
max_time = (datetime.now(tz=timezone.utc) + timedelta(days=days)).isoformat()
|
|
credentials = get_credential_from_cache_token(request.user.id)
|
|
service = build('calendar', 'v3', credentials=credentials)
|
|
events = service.events().list(calendarId='primary', timeMin=current_time, timeMax=max_time).execute()
|
|
|
|
return Response(events.get('items', []), status=200)
|