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 rest_framework.authtoken.views import obtain_auth_token
from . import views from . import views
from sync.views import DataApi, DataAccessViewSet from sync.views import SynchronizationApi, DataAccessViewSet
router = routers.DefaultRouter() router = routers.DefaultRouter()
router.register(r'users', views.UserViewSet) router.register(r'users', views.UserViewSet)
@ -27,7 +27,7 @@ router.register(r'data-access', DataAccessViewSet)
urlpatterns = [ urlpatterns = [
path('', include(router.urls)), 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('api-token-auth/', obtain_auth_token, name='api_token_auth'),
path("user-by-token/", views.user_by_token, name="user_by_token"), 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() django_asgi_app = get_asgi_application()
from tournaments.routing import websocket_urlpatterns from sync.routing import websocket_urlpatterns
application = ProtocolTypeRouter( application = ProtocolTypeRouter(
{ {

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

@ -27,7 +27,7 @@ class SyncRegistry:
return True return True
def register(self, model): def register(self, model):
print(f'>>> Registers {model.__name__}') # print(f'>>> Registers {model.__name__}')
self._registry[model.__name__] = model self._registry[model.__name__] = model
def get_model(self, model_name): 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 asgiref.sync import async_to_sync
from threading import Timer from threading import Timer
from functools import partial # from functools import partial
# Synchronization # Synchronization
@ -117,7 +117,7 @@ def save_model_log(users, model_operation, model_name, model_id, store_id):
def related_data_access(instance): def related_data_access(instance):
related_instances = instance.related_instances() 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) related_ids.append(instance.id)
return DataAccess.objects.filter(model_id__in=related_ids) 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 .serializers import DataAccessSerializer
from django.db.models import Q 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.response import Response
from rest_framework import status from rest_framework import status
from django.apps import apps # from django.apps import apps
from django.utils import timezone from django.utils import timezone
from django.core.exceptions import ObjectDoesNotExist from django.core.exceptions import ObjectDoesNotExist
@ -21,7 +21,7 @@ from .models import ModelLog, BaseModel, SideStoreModel, DataAccess
from .registry import sync_registry from .registry import sync_registry
class DataApi(APIView): class SynchronizationApi(APIView):
permission_classes = [IsAuthenticated] permission_classes = [IsAuthenticated]
def post(self, request, *args, **kwargs): def post(self, request, *args, **kwargs):

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

Loading…
Cancel
Save