mirror of
https://github.com/seanmorley15/AdventureLog.git
synced 2025-07-25 07:49:37 +02:00
refactor: Update API endpoint paths from "_allauth" to "auth" for consistency
This commit is contained in:
parent
d5311bb71e
commit
b1068d27b0
16 changed files with 56 additions and 202 deletions
|
@ -1,31 +1,6 @@
|
|||
class AppVersionMiddleware:
|
||||
def __init__(self, get_response):
|
||||
self.get_response = get_response
|
||||
|
||||
def __call__(self, request):
|
||||
# Process request (if needed)
|
||||
response = self.get_response(request)
|
||||
|
||||
# Add custom header to response
|
||||
# Replace with your app version
|
||||
response['X-AdventureLog-Version'] = '1.0.0'
|
||||
|
||||
return response
|
||||
|
||||
# make a middlewra that prints all of the request cookies
|
||||
class PrintCookiesMiddleware:
|
||||
def __init__(self, get_response):
|
||||
self.get_response = get_response
|
||||
|
||||
def __call__(self, request):
|
||||
print(request.COOKIES)
|
||||
response = self.get_response(request)
|
||||
return response
|
||||
|
||||
# middlewares.py
|
||||
|
||||
from django.conf import settings
|
||||
from django.utils.deprecation import MiddlewareMixin
|
||||
import os
|
||||
from django.http import HttpRequest
|
||||
|
||||
class OverrideHostMiddleware:
|
||||
def __init__(self, get_response):
|
||||
|
@ -44,3 +19,14 @@ class OverrideHostMiddleware:
|
|||
|
||||
response = self.get_response(request)
|
||||
return response
|
||||
|
||||
class XSessionTokenMiddleware(MiddlewareMixin):
|
||||
def process_request(self, request):
|
||||
session_token = request.headers.get('X-Session-Token')
|
||||
if session_token:
|
||||
request.COOKIES[settings.SESSION_COOKIE_NAME] = session_token
|
||||
|
||||
class DisableCSRFForSessionTokenMiddleware(MiddlewareMixin):
|
||||
def process_request(self, request):
|
||||
if 'X-Session-Token' in request.headers:
|
||||
setattr(request, '_dont_enforce_csrf_checks', True)
|
|
@ -133,35 +133,6 @@ class AdventureViewSet(viewsets.ModelViewSet):
|
|||
serializer = self.get_serializer(queryset, many=True)
|
||||
return Response(serializer.data)
|
||||
|
||||
@action(detail=False, methods=['get'])
|
||||
def search(self, request):
|
||||
query = request.query_params.get('query', '')
|
||||
property = request.query_params.get('property', 'all')
|
||||
|
||||
if len(query) < 2:
|
||||
return Response({"error": "Query must be at least 2 characters long"}, status=400)
|
||||
|
||||
valid_properties = ['name', 'location', 'description', 'activity_types']
|
||||
if property not in valid_properties:
|
||||
property = 'all'
|
||||
|
||||
filters = {
|
||||
'name': Q(name__icontains=query),
|
||||
'location': Q(location__icontains=query),
|
||||
'description': Q(description__icontains=query),
|
||||
'activity_types': Q(activity_types__icontains=query),
|
||||
'all': Q(name__icontains=query) | Q(description__icontains=query) |
|
||||
Q(location__icontains=query) | Q(activity_types__icontains=query)
|
||||
}
|
||||
|
||||
queryset = Adventure.objects.filter(
|
||||
filters[property] & (Q(user_id=request.user.id) | Q(is_public=True))
|
||||
)
|
||||
|
||||
queryset = self.apply_sorting(queryset)
|
||||
serializer = self.get_serializer(queryset, many=True)
|
||||
return Response(serializer.data)
|
||||
|
||||
def update(self, request, *args, **kwargs):
|
||||
instance = self.get_object()
|
||||
serializer = self.get_serializer(instance, data=request.data, partial=True)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue