Ejemplo n.º 1
0
def register():
    data = request.json
    schema = UserSchema()

    try:
        user = schema.load(data)
    except ValidationError as error:
        return error.messages

    try:
        user_exists = User.select().where(User.email == user.email).get()
        return response_data(409, 'Already exists an user with that email')
    except peewee.DoesNotExist:
        pass

    password = user.password.encode()
    user.password = bcrypt.hashpw(password, bcrypt.gensalt())
    user.save()

    return response_data(200, 'User registered')
Ejemplo n.º 2
0
from flask_jwt_extended import (JWTManager, jwt_required, create_access_token,
                                get_jwt_identity)
jwt = JWTManager(app)
app.config["JSONIFY_PRETTYPRINT_REGULAR"] = False
app.config['SECRET_KEY'] = 'some-secret-string'
app.config['JWT_SECRET_KEY'] = 'super-secret'

# reszta importóww
from models import User, Post
from flask_restful import Api
from serializers import UserSchema, PostSchema
from werkzeug.security import generate_password_hash, \
     check_password_hash

user_schema = UserSchema()
users_schema = UserSchema(many=True)
post_schema = PostSchema()
posts_schema = PostSchema(many=True)


#custom error
# @app.errorhandler(404)
# def page_not_found(e):
#     return "error 404"
@app.route('/')
def index():
    # abort(404)
    return jsonify({"msg": "Hello Api"})

Ejemplo n.º 3
0
    def __init__(self):
        self.anonymous_email = "*****@*****.**"
        self.anonymous_gaia = "ewpewawn"

        self.user_single = UserSchema()
        self.user_multiple = UserSchema(many=True)
Ejemplo n.º 4
0
def api_login(email, password):

    user = User.query.filter_by(email=email).one_or_none()

    if user is not None and check_password_hash(user.password, password):
        user.update(last_login_at=datetime.now())
        token = create_access_token(identity=user.id)
        return jsonify({'status': 200, 'access_token': token})

    return jsonify({'status': 404, 'message': 'not found your email'})


@blueprint.route('/api/users', methods=['POST'])
@jwt_optional
@use_kwargs(CreateUserSchema())
@marshal_with(UserSchema())
def create(email, name, password, **kwargs):

    if User.query.filter_by(email=email).one_or_none() is None:
        user = User(
            email=email,
            name=name,
            password=generate_password_hash(password)
        ).save()
        return user
    else:
        return jsonify({'status': 500, 'message': 'email has exists'})


@blueprint.route('/api/users', methods=['GET'])
@jwt_required