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')
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"})
def __init__(self): self.anonymous_email = "*****@*****.**" self.anonymous_gaia = "ewpewawn" self.user_single = UserSchema() self.user_multiple = UserSchema(many=True)
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