Пример #1
0
    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)
Пример #2
0
 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)
Пример #3
0
 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)