Skip to content

Commit

Permalink
API Endpoint setup
Browse files Browse the repository at this point in the history
  • Loading branch information
ImMattic committed May 20, 2024
1 parent 85e04d4 commit 6cc1786
Show file tree
Hide file tree
Showing 3 changed files with 40 additions and 14 deletions.
Binary file added assets/vidsplit-logo-dark-mode.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
7 changes: 5 additions & 2 deletions vidsplit/api/urls.py
Original file line number Diff line number Diff line change
@@ -1,6 +1,9 @@
from django.urls import path
from .views import DownloadPage
from .views import Initialize, Generate, Download, Session

urlpatterns = [
path("download", DownloadPage.as_view(), name="download-page"),
path("initialize", Initialize.as_view(), name="initialize"),
path("generate", Generate.as_view(), name="generate"),
path("download", Download.as_view(), name="download"),
path("session", Session.as_view(), name="session"),
]
47 changes: 35 additions & 12 deletions vidsplit/api/views.py
Original file line number Diff line number Diff line change
@@ -1,26 +1,49 @@
from django.shortcuts import render
from rest_framework import generics, status
from .serializers import VideoSerializer
from .models import Video
from rest_framework.views import APIView
from rest_framework.response import Response


class DownloadPage(generics.ListAPIView):
def get(self, request, *args, **kwargs):
session_id = self.
video_id = self.kwargs.get("video_id")
video = Video.objects.get(id=video_id)
serializer = VideoSerializer(video)
return Response(serializer.data, status=status.HTTP_200_OK)

class Initialize(generics.ListAPIView):
http_method_names = ["post"]

def post(self, request, *args, **kwargs):
video_id = self.kwargs.get("video_id")
session_id = request.session.session_key
video = Video.objects.get(id=video_id, sesh_id = request.session.session_key)
video = Video.objects.get(id=video_id, session_id=request.session.session_key)
serializer = VideoSerializer(video, data=request.data)
if serializer.is_valid(raise_exception=True):
serializer.save()
return Response(serializer.data, status=status.HTTP_201_CREATED)
return Response(serializer.errors, status=status.HTTP_400_BAD_REQUEST)


class Generate(generics.ListAPIView):
http_method_names = ["put"]

def put(self, request, *args, **kwargs):
video_id = self.kwargs.get("video_id")
video = Video.objects.get(id=video_id, session_id=request.session.session_key)
serializer = VideoSerializer(video, data=request.data)
if serializer.is_valid(raise_exception=True):
serializer.save()
return Response(serializer.data, status=status.HTTP_201_CREATED)
return Response(serializer.errors, status=status.HTTP_400_BAD_REQUEST)


class Download(generics.ListAPIView):
http_method_names = ["get"]

def get(self, request, *args, **kwargs):
video_id = self.kwargs.get("video_id")
video = Video.objects.get(id=video_id, session_id=request.session.session_key)
serializer = VideoSerializer(video)
return Response(serializer.data)


class Session(generics.ListAPIView):
http_method_names = ["get"]

def get(self, request, *args, **kwargs):
video = Video.objects.get(session_id=request.session.session_key)
serializer = VideoSerializer(video)
return Response(serializer.data)

0 comments on commit 6cc1786

Please sign in to comment.