flaschengeist/geruecht/routes.py

70 lines
2.0 KiB
Python
Raw Normal View History

2019-04-11 21:56:55 +00:00
from geruecht import app, db, accesTokenController
from geruecht.model.user import User
from geruecht.model.creditList import CreditList
from geruecht.model.priceList import PriceList
from flask import request, jsonify
MONEY = "moneymaster"
GASTRO = "gastro"
USER = "user"
BAR = "bar"
2019-04-11 21:56:55 +00:00
def verifyAccessToken(token, group):
accToken = accesTokenController.findAccesToken(token)
print(accToken)
if accToken is not None:
if accesTokenController.isSameGroup(accToken, group):
accToken.updateTimestamp()
return accToken
return None
@app.route("/getFinanzerMain", methods=['POST'])
def _getFinanzer():
data = request.get_json()
token = data["token"]
accToken = verifyAccessToken(token, MONEY)
if accToken is not None:
users = User.query.all()
dic = {}
for user in users:
dic["userID"] = user.toJSON()
return jsonify(dic)
return jsonify({"error": "permission denied"}), 401
@app.route("/valid", methods=['POST'])
def _valid():
data = request.get_json()
token = data["token"]
accToken = verifyAccessToken(token, MONEY)
if accToken is not None:
return jsonify(accToken.user.toJSON())
return jsonify({"error": "permission denied"}), 401
2019-04-11 21:56:55 +00:00
@app.route("/login", methods=['POST'])
def _login():
data = request.get_json()
print(data)
username = data['username']
password = data['password']
user = User.query.filter_by(username=username).first()
if user:
if user.login(password):
token = accesTokenController.createAccesToken(user)
dic = user.toJSON()
dic["token"] = token
return jsonify(dic)
else:
2019-04-11 21:56:55 +00:00
return jsonify({"error": "wrong password"}), 401
return jsonify({"error": "wrong username"}), 402
2019-04-11 21:56:55 +00:00
@app.route("/getFinanzer")
def getFinanzer():
users = User.query.all()
dic = {}
for user in users:
dic["userID"] = user.toJSON()
print(dic)
return jsonify(dic)