diff --git a/service/urls.py b/service/urls.py index 7e7cad6..f46aa5e 100644 --- a/service/urls.py +++ b/service/urls.py @@ -9,23 +9,25 @@ from service import views router = routers.DefaultRouter() router.register('', views.PlacementPointViewSet) - schema_view = get_schema_view( - openapi.Info( - title="Snippets API", - default_version='v1', - description="Test description", - terms_of_service="https://www.google.com/policies/terms/", - contact=openapi.Contact(email="contact@snippets.local"), - license=openapi.License(name="BSD License"), - ), - url='https://postamates.spatiality.website/', - public=True, - permission_classes=[permissions.AllowAny], + openapi.Info( + title="Snippets API", + default_version='v1', + description="Test description", + terms_of_service="https://www.google.com/policies/terms/", + contact=openapi.Contact(email="contact@snippets.local"), + license=openapi.License(name="BSD License"), + ), + url='https://postamates.spatiality.website/', + public=True, + permission_classes=[permissions.AllowAny], ) urlpatterns = [ - path('placement_points/', include([*router.urls,url(r'update_status', views.update_status.as_view(), name='update_status')]), name='placement_points'), + path('placement_points/', + include([*router.urls, + url(r'update_status', views.update_status.as_view(), name='update_status'), + url(r'update_fact', views.update_fact.as_view(), name='update_fact')]), name='placement_points'), path('ao_and_rayons/', views.ao_and_rayons.as_view(), name='ao_and_rayons'), path('raschet/', views.raschet.as_view(), name='ao_and_rayons'), url(r'load_csv/', views.refresh_placement_points.as_view(), name='upload_placement_points'), @@ -35,4 +37,4 @@ urlpatterns = [ # re_path(r'^redoc/$', schema_view.with_ui('redoc', cache_timeout=0), name='schema-redoc'), ] USE_X_FORWARDED_HOST = True -SECURE_PROXY_SSL_HEADER = ('HTTP_X_FORWARDED_PROTO', 'https') \ No newline at end of file +SECURE_PROXY_SSL_HEADER = ('HTTP_X_FORWARDED_PROTO', 'https') diff --git a/service/views.py b/service/views.py index 8b0016c..7d69e4d 100644 --- a/service/views.py +++ b/service/views.py @@ -344,3 +344,16 @@ class update_status(APIView): qs.update(**{'status': new_status}) return Response({'message': 'status updated'}, status=http_status.HTTP_200_OK) + + +class update_fact(APIView): + def put(self, request): + point_id = request.GET.get('location_id') + fact = request.GET.get('fact') + if not point_id or not fact or not fact.isdigit(): + return Response(status=http_status.HTTP_400_BAD_REQUEST) + qs = models.PlacementPoint.objects.filter(location_id=point_id) + if not qs: + return Response(status=http_status.HTTP_404_NOT_FOUND) + qs.update(**{'fact': fact}) + return Response({'message': 'fact updated'}, status=http_status.HTTP_200_OK)