sync
Laurent 11 months ago
parent 7bdf38b78d
commit d50e391d16
  1. 4
      api/urls.py
  2. 2
      padelclub_backend/asgi.py
  3. 2
      padelclub_backend/urls.py
  4. 0
      sync/consumers.py
  5. 2
      sync/registry.py
  6. 0
      sync/routing.py
  7. 4
      sync/signals.py
  8. 6
      sync/views.py
  9. 10
      tournaments/views.py

@ -3,7 +3,7 @@ from rest_framework import routers
from rest_framework.authtoken.views import obtain_auth_token
from . import views
from sync.views import DataApi, DataAccessViewSet
from sync.views import SynchronizationApi, DataAccessViewSet
router = routers.DefaultRouter()
router.register(r'users', views.UserViewSet)
@ -27,7 +27,7 @@ router.register(r'data-access', DataAccessViewSet)
urlpatterns = [
path('', include(router.urls)),
path('data/', DataApi.as_view(), name="data"),
path('data/', SynchronizationApi.as_view(), name="data"),
path('api-token-auth/', obtain_auth_token, name='api_token_auth'),
path("user-by-token/", views.user_by_token, name="user_by_token"),

@ -18,7 +18,7 @@ os.environ.setdefault("DJANGO_SETTINGS_MODULE", "padelclub_backend.settings")
django_asgi_app = get_asgi_application()
from tournaments.routing import websocket_urlpatterns
from sync.routing import websocket_urlpatterns
application = ProtocolTypeRouter(
{

@ -18,12 +18,10 @@ from django.urls import include, path
urlpatterns = [
# path('roads/', include(router.urls)),
path("", include("tournaments.urls")),
path('roads/', include("api.urls")),
path('kingdom/', admin.site.urls),
path('api-auth/', include('rest_framework.urls')),
path('dj-auth/', include('django.contrib.auth.urls')),
]

@ -27,7 +27,7 @@ class SyncRegistry:
return True
def register(self, model):
print(f'>>> Registers {model.__name__}')
# print(f'>>> Registers {model.__name__}')
self._registry[model.__name__] = model
def get_model(self, model_name):

@ -9,7 +9,7 @@ from channels.layers import get_channel_layer
from asgiref.sync import async_to_sync
from threading import Timer
from functools import partial
# from functools import partial
# Synchronization
@ -117,7 +117,7 @@ def save_model_log(users, model_operation, model_name, model_id, store_id):
def related_data_access(instance):
related_instances = instance.related_instances()
related_ids = [ri.id for ri in instance.related_instances()]
related_ids = [ri.id for ri in related_instances]
related_ids.append(instance.id)
return DataAccess.objects.filter(model_id__in=related_ids)

@ -1,4 +1,4 @@
from django.shortcuts import render
# from django.shortcuts import render
from .serializers import DataAccessSerializer
from django.db.models import Q
@ -8,7 +8,7 @@ from rest_framework.permissions import IsAuthenticated
from rest_framework.response import Response
from rest_framework import status
from django.apps import apps
# from django.apps import apps
from django.utils import timezone
from django.core.exceptions import ObjectDoesNotExist
@ -21,7 +21,7 @@ from .models import ModelLog, BaseModel, SideStoreModel, DataAccess
from .registry import sync_registry
class DataApi(APIView):
class SynchronizationApi(APIView):
permission_classes = [IsAuthenticated]
def post(self, request, *args, **kwargs):

@ -1,19 +1,19 @@
from django.shortcuts import render, get_object_or_404
from django.http import HttpResponse
from django.utils.encoding import force_str
from django.utils.http import urlsafe_base64_encode, urlsafe_base64_decode
from django.utils.http import urlsafe_base64_decode
from django.urls import reverse
from tournaments.models.device_token import DeviceToken
# from tournaments.models import group_stage
from .models import Court, DateInterval, Club, Tournament, CustomUser, Event, Round, GroupStage, Match, TeamScore, TeamRegistration, PlayerRegistration, Purchase, FailedApiCall
from .models import TeamSummon
from datetime import datetime, timedelta
# from .models import TeamSummon
from datetime import timedelta
from django.template import loader
# from django.template import loader
from datetime import date
from django.http import JsonResponse
# from django.http import JsonResponse
from django.db.models import Q
import json
import asyncio

Loading…
Cancel
Save