def users(self, request, *args, **kwargs): app = get_object_or_404(models.App, id=kwargs['id']) request.user = get_object_or_404(User, username=kwargs['username']) # check the user is authorized for this app has_permission, message = permissions.has_app_permission(request, app) if not has_permission: raise PermissionDenied(message) data = {request.user.username: []} keys = models.Key.objects \ .filter(owner__username=kwargs['username']) \ .values('public', 'fingerprint') \ .order_by('created') if not keys: raise NotFound("No Keys match the given query.") for info in keys: data[request.user.username].append({ 'key': info['public'], 'fingerprint': info['fingerprint'] }) return Response(data, status=status.HTTP_200_OK)
def create(self, request, *args, **kwargs): app = get_object_or_404(models.App, id=request.data['receive_repo']) request.user = get_object_or_404(User, username=request.data['receive_user']) # check the user is authorized for this app has_permission, message = permissions.has_app_permission(request, app) if not has_permission: raise PermissionDenied(message) config = app.release_set.filter(failed=False).latest().config serializer = self.get_serializer(config) return Response(serializer.data, status=status.HTTP_200_OK)
def create(self, request, *args, **kwargs): app = get_object_or_404(models.App, id=request.data['receive_repo']) self.user = request.user = get_object_or_404( User, username=request.data['receive_user']) # check the user is authorized for this app has_permission, message = permissions.has_app_permission(request, app) if not has_permission: raise PermissionDenied(message) request.data['app'] = app request.data['owner'] = self.user super(BuildHookViewSet, self).create(request, *args, **kwargs) # return the application databag response = { 'release': { 'version': app.release_set.filter(failed=False).latest().version } } return Response(response, status=status.HTTP_200_OK)