Added some endpoints for extra details
This commit is contained in:
parent
ad5dfa5af2
commit
070a647fdd
@ -7,5 +7,11 @@ from rest_framework import routers
|
||||
|
||||
urlpatterns = [
|
||||
path('migrations/', views.MigrationList.as_view()),
|
||||
path('migrations/<str:pk>/', views.MigrationDetails.as_view())
|
||||
path('migrations/booked/', views.MigrationsBooked.as_view()),
|
||||
path('migrations/waitingterm/', views.MigrationsWaitingTerm.as_view()),
|
||||
path('migrations/completed/', views.MigrationsCompleted.as_view()),
|
||||
path('migrations/pending/', views.PendingMigrations.as_view()),
|
||||
path('migrations/missed/', views.MissedMigrations.as_view()),
|
||||
path('migrations/pendingterm/', views.PendingTerm.as_view()),
|
||||
path('migrations/<str:pk>/', views.MigrationDetails.as_view()),
|
||||
]
|
||||
|
||||
@ -38,7 +38,7 @@ class MigrationDetails(APIView):
|
||||
try:
|
||||
migration = Migration.objects.get(id=pk)
|
||||
return migration
|
||||
except Migrtation.DoesNotExist:
|
||||
except Migration.DoesNotExist:
|
||||
raise Http404
|
||||
|
||||
def get(self, request, pk, format=None):
|
||||
@ -54,6 +54,67 @@ class MigrationDetails(APIView):
|
||||
return Response(serializer.data)
|
||||
return Response(serializer.errors, status=status.HTTP_400_BAD_REQUEST)
|
||||
|
||||
class MigrationsBooked(APIView):
|
||||
'''
|
||||
Returns list of booked migrations
|
||||
'''
|
||||
def get(self, request, format=None):
|
||||
migrations = MigrationOverView(Migration.objects.filter(
|
||||
migration_status="Booked",), many=True)
|
||||
return Response(migrations.data, status=status.HTTP_200_OK)
|
||||
|
||||
class MigrationsWaitingTerm(APIView):
|
||||
'''
|
||||
Returns list of booked migrations
|
||||
'''
|
||||
def get(self, request, format=None):
|
||||
migrations = MigrationOverView(Migration.objects.filter(
|
||||
migration_status="Waiting Termination",), many=True)
|
||||
return Response(migrations.data, status=status.HTTP_200_OK)
|
||||
|
||||
class MigrationsCompleted(APIView):
|
||||
'''
|
||||
Returns list of booked migrations
|
||||
'''
|
||||
def get(self, request, format=None):
|
||||
migrations = MigrationOverView(Migration.objects.filter(
|
||||
migration_status="Completed",), many=True)
|
||||
return Response(migrations.data, status=status.HTTP_200_OK)
|
||||
|
||||
class PendingMigrations(APIView):
|
||||
'''
|
||||
Returns list of 'pending' migrations (migrations that are booked for today (maybe before timezone.now))
|
||||
'''
|
||||
def get(self, request, format=None):
|
||||
migrations = Migration.objects.filter(
|
||||
migration_status="Booked", booked_time__lte=timezone.now() + datetime.timedelta(1),
|
||||
booked_time__gte=(timezone.now() + datetime.timedelta(-1))
|
||||
)
|
||||
serializer = MigrationOverView(migrations, many=True)
|
||||
return Response(serializer.data, status=status.HTTP_200_OK)
|
||||
|
||||
class MissedMigrations(APIView):
|
||||
'''
|
||||
Returns a list of missed migrations
|
||||
'''
|
||||
def get(self, request, format=None):
|
||||
migrations = Migration.objects.filter(
|
||||
booked_time__lte=timezone.now() + datetime.timedelta(-1),
|
||||
migration_status="Booked"
|
||||
)
|
||||
serializer = MigrationOverView(migrations, many=True)
|
||||
return Response(serializer.data)
|
||||
|
||||
class PendingTerm(APIView):
|
||||
'''
|
||||
Returns a list of accounts pending termination (might add an arg so we can specify how many days)
|
||||
'''
|
||||
def get(self, request, format=None):
|
||||
migrations = Migration.objects.filter(
|
||||
migration_status="Waiting Termination", term_date__lte=timezone.now() + datetime.timedelta(1)
|
||||
)
|
||||
serializer = MigrationOverView(migrations, many=True)
|
||||
return Response(serializer.data)
|
||||
|
||||
# class MigrationViewSet(viewsets.ModelViewSet):
|
||||
# ''' Class for defining the migration views '''
|
||||
|
||||
Reference in New Issue
Block a user