forked from kompetenzinventar/ki-backend
implement update profile endpoint
This commit is contained in:
26
ki/routes.py
26
ki/routes.py
@ -3,8 +3,8 @@ from flask import g, make_response, request, send_file
|
||||
from functools import wraps
|
||||
|
||||
from ki.auth import auth
|
||||
from ki.models import Language, Skill, Token, User
|
||||
from app import app
|
||||
from ki.models import Language, Skill, Token, User, Profile
|
||||
from app import app, db
|
||||
|
||||
|
||||
def token_auth(func):
|
||||
@ -118,6 +118,28 @@ def get_user_profile(user_id):
|
||||
return make_response({"profile": profile.to_dict()})
|
||||
|
||||
|
||||
@app.route("/users/<user_id>/profile", methods=["POST"])
|
||||
def update_profile(user_id):
|
||||
user = User.query.filter(User.id == int(user_id)).first()
|
||||
|
||||
if user is None:
|
||||
return make_response({}, 404)
|
||||
|
||||
profile = user.profile
|
||||
|
||||
if (profile is None):
|
||||
profile = Profile(user=user, nickname=user.auth_id)
|
||||
db.session.add(profile)
|
||||
|
||||
profile.pronouns = request.json.get("pronouns", "")
|
||||
profile.volunteerwork = request.json.get("volunteerwork", "")
|
||||
profile.freetext = request.json.get("freetext", "")
|
||||
|
||||
db.session.commit()
|
||||
|
||||
return make_response(profile.to_dict(), 200)
|
||||
|
||||
|
||||
@app.route("/skills")
|
||||
def get_skills():
|
||||
return handle_completion_request(Skill, "skills")
|
||||
|
Reference in New Issue
Block a user