Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- from users import users
- from users.models import User
- from flask import jsonify, request
- from sqlalchemy.exc import IntegrityError
- from http import HTTPStatus
- from exceptions import AlreadyExistsError, MalformedJsonError
- from application import db
- @users.route('', methods=['GET'])
- def list():
- users = User.query.all()
- return jsonify(User.serialize_list(users, exclude='id'))
- @users.route('', methods=['POST'])
- def add():
- data = request.get_json()
- try:
- user = User(
- username=data['username'],
- email=data['email'],
- password=data['password']
- )
- db.session.add(user)
- db.session.commit()
- except KeyError:
- raise MalformedJsonError()
- except IntegrityError as e:
- e = str(e)
- if 'Key (username)' in e:
- raise AlreadyExistsError('Username')
- elif 'Key (email)' in e:
- raise AlreadyExistsError('Email')
- return ('', HTTPStatus.NO_CONTENT)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement