Adds FailedApiCall as a new resource

clubs
Laurent 1 year ago
parent 983340f02f
commit b4cb17f824
  1. 2
      padelclub_backend/urls.py
  2. 14
      tournaments/admin.py
  3. 25
      tournaments/migrations/0063_failedapicall.py
  4. 1
      tournaments/models/__init__.py
  5. 13
      tournaments/models/failed_api_call.py
  6. 8
      tournaments/serializers.py
  7. 8
      tournaments/views.py

@ -34,7 +34,7 @@ router.register(r'player-registrations', views.PlayerRegistrationViewSet)
router.register(r'purchases', views.PurchaseViewSet) router.register(r'purchases', views.PurchaseViewSet)
router.register(r'courts', views.CourtViewSet) router.register(r'courts', views.CourtViewSet)
router.register(r'date-intervals', views.DateIntervalViewSet) router.register(r'date-intervals', views.DateIntervalViewSet)
# router.register(r'exp-tournaments', views.ExpandedTournamentViewSet, basename='tournaments-json') router.register(r'failed-api-calls', views.FailedApiCallViewSet)
urlpatterns = [ urlpatterns = [

@ -1,5 +1,6 @@
from django.contrib import admin from django.contrib import admin
from .models import Club, TeamScore, Tournament, CustomUser, Event, Round, GroupStage, Match, TeamRegistration, PlayerRegistration, Purchase, Court, DateInterval
from .models import Club, TeamScore, Tournament, CustomUser, Event, Round, GroupStage, Match, TeamRegistration, PlayerRegistration, Purchase, Court, DateInterval, FailedApiCall
from django.contrib.auth.admin import UserAdmin from django.contrib.auth.admin import UserAdmin
from django.contrib.auth.forms import UserCreationForm, UserChangeForm from django.contrib.auth.forms import UserCreationForm, UserChangeForm
@ -28,13 +29,6 @@ class CustomUserAdmin(UserAdmin):
), ),
] ]
class TeamRegistrationAdmin(admin.ModelAdmin): class TeamRegistrationAdmin(admin.ModelAdmin):
list_display = ['player_names', 'group_stage_position', 'name', 'tournament'] list_display = ['player_names', 'group_stage_position', 'name', 'tournament']
@ -71,6 +65,9 @@ class CourtAdmin(admin.ModelAdmin):
class DateIntervalAdmin(admin.ModelAdmin): class DateIntervalAdmin(admin.ModelAdmin):
list_display = ['court_index', 'event'] list_display = ['court_index', 'event']
class FailedApiCallAdmin(admin.ModelAdmin):
list_display = ['date', 'type', 'error']
admin.site.register(CustomUser, CustomUserAdmin) admin.site.register(CustomUser, CustomUserAdmin)
admin.site.register(Club, ClubAdmin) admin.site.register(Club, ClubAdmin)
admin.site.register(Event, EventAdmin) admin.site.register(Event, EventAdmin)
@ -84,3 +81,4 @@ admin.site.register(PlayerRegistration, PlayerRegistrationAdmin)
admin.site.register(Purchase, PurchaseAdmin) admin.site.register(Purchase, PurchaseAdmin)
admin.site.register(Court, CourtAdmin) admin.site.register(Court, CourtAdmin)
admin.site.register(DateInterval, DateIntervalAdmin) admin.site.register(DateInterval, DateIntervalAdmin)
admin.site.register(FailedApiCall, FailedApiCallAdmin)

@ -0,0 +1,25 @@
# Generated by Django 4.2.11 on 2024-05-31 15:47
from django.db import migrations, models
import uuid
class Migration(migrations.Migration):
dependencies = [
('tournaments', '0062_tournament_publish_tournament_and_more'),
]
operations = [
migrations.CreateModel(
name='FailedApiCall',
fields=[
('id', models.UUIDField(default=uuid.uuid4, primary_key=True, serialize=False)),
('date', models.DateTimeField()),
('type', models.CharField(max_length=50)),
('call_id', models.UUIDField()),
('api_call', models.JSONField()),
('error', models.TextField()),
],
),
]

@ -13,3 +13,4 @@ from .team_registration import TeamRegistration
from .player_registration import PlayerRegistration from .player_registration import PlayerRegistration
from .team_score import TeamScore from .team_score import TeamScore
from .purchase import Purchase from .purchase import Purchase
from .failed_api_call import FailedApiCall

@ -0,0 +1,13 @@
from django.db import models
import uuid
class FailedApiCall(models.Model):
id = models.UUIDField(primary_key=True, default=uuid.uuid4, editable=True)
date = models.DateTimeField()
type = models.CharField(max_length=50)
call_id = models.UUIDField()
api_call = models.JSONField()
error = models.TextField()
def __str__(self):
return f"{self.type} - {self.date}"

@ -1,7 +1,6 @@
from rest_framework import serializers from rest_framework import serializers
from tournaments.models.court import Court from tournaments.models.court import Court
from tournaments.models.date_interval import DateInterval from .models import Club, LiveMatch, TeamScore, Tournament, CustomUser, Event, Round, GroupStage, Match, TeamRegistration, PlayerRegistration, Purchase, FailedApiCall, DateInterval
from .models import Club, LiveMatch, TeamScore, Tournament, CustomUser, Event, Round, GroupStage, Match, TeamRegistration, PlayerRegistration, Purchase
from django.contrib.auth import password_validation from django.contrib.auth import password_validation
from django.utils.translation import gettext_lazy as _ from django.utils.translation import gettext_lazy as _
# email # email
@ -207,3 +206,8 @@ class DateIntervalSerializer(serializers.ModelSerializer):
class Meta: class Meta:
model = DateInterval model = DateInterval
fields = '__all__' fields = '__all__'
class FailedApiCallSerializer(serializers.ModelSerializer):
class Meta:
model = FailedApiCall
fields = '__all__'

@ -9,8 +9,8 @@ from tournaments.models.date_interval import DateInterval
from .tokens import account_activation_token from .tokens import account_activation_token
from tournaments.models import group_stage from tournaments.models import group_stage
from .serializers import ClubSerializer, CourtSerializer, DateIntervalSerializer, TournamentSerializer, UserSerializer, ChangePasswordSerializer, EventSerializer, RoundSerializer, GroupStageSerializer, MatchSerializer, TeamScoreSerializer, TeamRegistrationSerializer, PlayerRegistrationSerializer, LiveMatchSerializer, PurchaseSerializer, UserUpdateSerializer from .serializers import ClubSerializer, CourtSerializer, DateIntervalSerializer, TournamentSerializer, UserSerializer, ChangePasswordSerializer, EventSerializer, RoundSerializer, GroupStageSerializer, MatchSerializer, TeamScoreSerializer, TeamRegistrationSerializer, PlayerRegistrationSerializer, LiveMatchSerializer, PurchaseSerializer, UserUpdateSerializer, FailedApiCallSerializer
from .models import Club, Tournament, CustomUser, Event, Round, GroupStage, Match, TeamScore, TeamRegistration, PlayerRegistration, Purchase from .models import 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 datetime, timedelta
@ -390,3 +390,7 @@ class DateIntervalViewSet(viewsets.ModelViewSet):
if self.request.user: if self.request.user:
return self.queryset.filter(event__creator=self.request.user) return self.queryset.filter(event__creator=self.request.user)
return [] return []
class FailedApiCallViewSet(viewsets.ModelViewSet):
queryset = FailedApiCall.objects.all()
serializer_class = FailedApiCallSerializer

Loading…
Cancel
Save