Skip to content

Instantly share code, notes, and snippets.

@kracekumar
Last active July 27, 2016 14:22
Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save kracekumar/ce25b463992b609a34eff7b92bd9c77a to your computer and use it in GitHub Desktop.
Save kracekumar/ce25b463992b609a34eff7b92bd9c77a to your computer and use it in GitHub Desktop.
Simple Method based view
def make_response(status, data=None):
data = data or {}
return JSONResponse(status=status, data=data)
def check_and_create_bucket(name, user):
if bucket_exists(name, user):
return (False, None)
return (True, create_bucket(name, user))
class TodoBucketListView(BaseMethodView):
def post(self):
# Authentication
user = get_user_from_request()
if not user:
return make_response(status=401)
data = request.POST
# Input Validation
validator = NewBucketValidator(data)
if validator.validate():
res = check_and_create_bucket(validator.name, user=user)
if res[0]:
data = format_new_bucket(res[1])
return make_response(status=201, data=data)
return make_response(status=400, data={'name': 'Already exists'})
return make_response(status=400, data=validator.errors)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment