Example #1
0
def api_signup():
    email = request.json.get('email')
    password = request.json.get('password')
    code = request.json.get('code')
    if email is None or password is None:
        print('None...')
        abort(400)
    code = Code.objects(value=code).first()
    if not code:
        return jsonify({
            'code': 0,
            'tip': "wrong code"
        })
    if User.objects(email=email).first() is not None:
        return jsonify({
            'code': 0,
            'tip': "email already registered"
        })
    try:
        user = User(email=email)
        user.set_password(password)
        user.save()
        code.delete()
        return jsonify({
            'code': 1,
            'data': {'id': str(user.id),
                     'email': user.email}
        })
    except db.errors.ValidationError:
        return jsonify({
            'code': 0,
            'tip': 'wrong email'
        })
Example #2
0
def api_signin():
    print(request.data)
    print(request.content_type)
    if not request.json:
        email = request.form['email']
        password = request.form['password']
    else:
        email = request.json.get('email')
        password = request.json.get('password')

    user = User.objects(email=email).first()
    if not user or not user.check_password(password):
        return jsonify({
            'code': 0,
            'data': {},
            'tip': 'wrong email or wrong password'
        })
    elif user.group == Group.block or user.group == Group.delete:
        return jsonify({
            'code': 0,
            'data': {},
            'tip': 'no right access'
        })
    else:
        token = user.generate_token()
        data = jsonify({
            'code': 1,
            'data': {'id': str(user.id),
                     'email': user.email,
                     'token': token}
        })
        response = current_app.make_response(data)
        response.set_cookie("token", token, httponly=True)
        return response
Example #3
0
def api_delete_user(uid):
    if g.user.group != Group.admin:
        abort(400)
    try:
        user = User.objects(id=uid).first()
        if not user:
            abort(400)
        user.delete()
        return jsonify({
            'code': 1,
        })
    except db.errors.ValidationError:
        return jsonify({
            'code': 0,
            'tip': 'wrong id'
        })