from flask import Blueprint, request, jsonify from geruecht.decorator import login_required import geruecht.controller.userController as uc from geruecht.model import USER from datetime import datetime user = Blueprint("user", __name__) userController = uc.UserController() @user.route("/user/main") @login_required(groups=[USER]) def _main(**kwargs): if 'accToken' in kwargs: accToken = kwargs['accToken'] accToken.user = userController.getUser(accToken.user.uid) retVal = accToken.user.toJSON() retVal['creditList'] = {credit.year: credit.toJSON() for credit in accToken.user.geruechte} return jsonify(retVal) return jsonify("error", "something went wrong"), 500 @user.route("/user/addAmount", methods=['POST']) @login_required(groups=[USER]) def _addAmount(**kwargs): if 'accToken' in kwargs: accToken = kwargs['accToken'] data = request.get_json() amount = int(data['amount']) date = datetime.now() userController.addAmount(accToken.user.uid, amount, year=date.year, month=date.month) accToken.user = userController.getUser(accToken.user.uid) retVal = accToken.user.toJSON() retVal['creditList'] = {credit.year: credit.toJSON() for credit in accToken.user.geruechte} return jsonify(retVal) return jsonify({"error": "something went wrong"}), 500 @user.route("/user/saveConfig", methods=['POST']) @login_required(groups=[USER]) def _saveConfig(**kwargs): try: if 'accToken' in kwargs: accToken = kwargs['accToken'] data = request.get_json() accToken.user = userController.modifyUser(accToken.user, accToken.ldap_conn, data) return jsonify(data) except Exception as err: return jsonify("error", err), 409