from app.bp import bp from flask import jsonify, request from app.errors import error_response from app import db from app.models import User @bp.route("/login", methods=["POST"]) def login(): data = request.get_json() if not data.get("user_id"): return error_response(400, "Must supply user_id") user = User.query.get(data.get("user_id")) if not user: return error_response(400, "User not found") resp = jsonify(user.to_dict()) resp.status_code = 200 return resp @bp.route("/register", methods=["POST"]) def register(): data = request.get_json() required_fields = ['username', 'email', 'password', 'password2'] for f in required_fields: if f not in data: return error_response(400, f"Must supply {f}") if User.query.filter_by(username=data['username']).first(): return error_response(409, "User with that username already exists") if User.query.filter_by(email=data['email']).first(): return error_response(409, "User with that email already exists") u = User() u.from_dict(data, new_user=True) db.session.add(u) db.session.commit() resp = jsonify(u.to_dict()) resp.status_code = 200 return resp