Commit 3163780f authored by lukasburgey's avatar lukasburgey
Browse files

--wip--

parent c1649a00
Pipeline #121895 failed with stage
in 1 minute and 22 seconds
......@@ -170,29 +170,36 @@ class ConfigurationView(views.APIView):
})
class DeregisterView(views.APIView):
class DeregisterView(generics.ListAPIView):
authentication_classes = AUTHENTICATION_CLASSES
permission_classes = PERMISSION_CLASSES
serializer_class = clients.DeploymentStateSerializer
def put(self, request):
def get_queryset(self):
# the site where client is located
client_site = None
try:
client_site = request.user.site
client_site = self.request.user.site
except Site.DoesNotExist:
raise ImproperlyConfigured('client has no site')
# deregister the client / its services / its site
# we expect all deployments at the clients to be removed (and therefore simply delete them all)
LOGGER.info('[DEREG] Client %s from site %s is deregistering', request.user, client_site)
LOGGER.info('[DEREG] Client %s from site %s is deregistering', self.request.user, client_site)
for service in client_site.services.all():
LOGGER.info('[DEREG] Triggering service removal %s', service)
service.remove_service()
response = 'Success deregistering'
return Response(response)
# the service removals usually cause a lot of deployments to be orphaned
# we return these to the client, so it can remove them
return [
state
for state in self.request.user.site.states.all()
if state.is_pending_for_restarting_client
]
URLPATTERNS = [
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment