clean up code, extra routes for finanzer and baruser
This commit is contained in:
parent
cb58f12698
commit
52ca1caa52
|
@ -24,5 +24,15 @@ accesTokenController.start()
|
||||||
# login_manager.login_view = 'login'
|
# login_manager.login_view = 'login'
|
||||||
# login_manager.login_message_category = 'info'
|
# login_manager.login_message_category = 'info'
|
||||||
|
|
||||||
|
MONEY = "moneymaster"
|
||||||
|
GASTRO = "gastro"
|
||||||
|
USER = "user"
|
||||||
|
BAR = "bar"
|
||||||
|
|
||||||
|
|
||||||
from geruecht import routes
|
from geruecht import routes
|
||||||
|
from geruecht.baruser.routes import baruser
|
||||||
|
from geruecht.finanzer.routes import finanzer
|
||||||
|
|
||||||
|
app.register_blueprint(baruser)
|
||||||
|
app.register_blueprint(finanzer)
|
||||||
|
|
|
@ -0,0 +1,54 @@
|
||||||
|
from flask import Blueprint, request, jsonify
|
||||||
|
from geruecht import BAR, db
|
||||||
|
from geruecht.routes import verifyAccessToken
|
||||||
|
from geruecht.model.user import User
|
||||||
|
from datetime import datetime
|
||||||
|
|
||||||
|
baruser = Blueprint("baruser", __name__)
|
||||||
|
|
||||||
|
@baruser.route("/bar")
|
||||||
|
def _bar():
|
||||||
|
print(request.headers)
|
||||||
|
token = request.headers.get("Token")
|
||||||
|
print(token)
|
||||||
|
accToken = verifyAccessToken(token, BAR)
|
||||||
|
|
||||||
|
dic = {}
|
||||||
|
if accToken is not None:
|
||||||
|
users = User.query.all()
|
||||||
|
for user in users:
|
||||||
|
geruecht = None
|
||||||
|
geruecht = user.getCurrentGeruecht()
|
||||||
|
if geruecht is not None:
|
||||||
|
month = geruecht.getMonth(datetime.now().month)
|
||||||
|
amount = abs(month[0] - month[1])
|
||||||
|
if amount != 0:
|
||||||
|
dic[user.userID] = {"username": user.username,
|
||||||
|
"firstname": user.firstname,
|
||||||
|
"lastname": user.lastname,
|
||||||
|
"amount": abs(month[0] - month[1])
|
||||||
|
}
|
||||||
|
return jsonify(dic)
|
||||||
|
return jsonify({"error": "permission denied"}), 401
|
||||||
|
|
||||||
|
@baruser.route("/baradd", methods=['POST'])
|
||||||
|
def _baradd():
|
||||||
|
token = request.headers.get("Token")
|
||||||
|
print(token)
|
||||||
|
accToken = verifyAccessToken(token, BAR)
|
||||||
|
|
||||||
|
if accToken is not None:
|
||||||
|
data = request.get_json()
|
||||||
|
userID = data['userId']
|
||||||
|
amount = int(data['amount'])
|
||||||
|
|
||||||
|
user = User.query.filter_by(userID=userID).first()
|
||||||
|
geruecht = user.getCurrentGeruecht()
|
||||||
|
month = geruecht.addAmount(amount)
|
||||||
|
amount = abs(month[0] - month[1])
|
||||||
|
|
||||||
|
db.session.add(geruecht)
|
||||||
|
db.session.commit()
|
||||||
|
|
||||||
|
return jsonify({"userId": user.userID, "amount": amount})
|
||||||
|
return jsonify({"error", "permission denied"}), 401
|
|
@ -0,0 +1,48 @@
|
||||||
|
from flask import Blueprint, request, jsonify
|
||||||
|
from geruecht import MONEY
|
||||||
|
from geruecht.routes import verifyAccessToken
|
||||||
|
from geruecht.model.user import User
|
||||||
|
|
||||||
|
finanzer = Blueprint("finanzer", __name__)
|
||||||
|
|
||||||
|
|
||||||
|
@finanzer.route("/getFinanzerMain")
|
||||||
|
def _getFinanzer():
|
||||||
|
""" Function for /getFinanzerMain
|
||||||
|
|
||||||
|
Retrieves all User for the groupe 'moneymaster'
|
||||||
|
|
||||||
|
Returns:
|
||||||
|
A JSON-File with Users or an Error.
|
||||||
|
example:
|
||||||
|
|
||||||
|
"""
|
||||||
|
token = request.headers.get("Token")
|
||||||
|
|
||||||
|
accToken = verifyAccessToken(token, MONEY)
|
||||||
|
if accToken is not None:
|
||||||
|
users = User.query.all()
|
||||||
|
dic = {}
|
||||||
|
for user in users:
|
||||||
|
dic[user.userID] = user.toJSON()
|
||||||
|
return jsonify(dic)
|
||||||
|
return jsonify({"error": "permission denied"}), 401
|
||||||
|
|
||||||
|
@finanzer.route("/getFinanzerYears", methods=['POST'])
|
||||||
|
def _getFinanzerYear():
|
||||||
|
print(request.headers)
|
||||||
|
token = request.headers.get("Token")
|
||||||
|
print(token)
|
||||||
|
accToken = verifyAccessToken(token, MONEY)
|
||||||
|
|
||||||
|
dic = {}
|
||||||
|
if accToken is not None:
|
||||||
|
data = request.get_json()
|
||||||
|
userID = data['userId']
|
||||||
|
|
||||||
|
user = User.query.filter_by(userID=userID).first()
|
||||||
|
dic[user.userID] = {}
|
||||||
|
for geruecht in user.geruechte:
|
||||||
|
dic[user.userID][geruecht.year] = geruecht.toJSON()
|
||||||
|
return jsonify(dic)
|
||||||
|
return jsonify({"error": "permission denied"}), 401
|
|
@ -3,7 +3,7 @@ from datetime import datetime
|
||||||
|
|
||||||
class CreditList(db.Model):
|
class CreditList(db.Model):
|
||||||
""" DataBase Object Credit List:
|
""" DataBase Object Credit List:
|
||||||
|
|
||||||
Attributes:
|
Attributes:
|
||||||
id: id in Database. Is the Primary Key
|
id: id in Database. Is the Primary Key
|
||||||
<month>_guthaben: Credit of the Month.
|
<month>_guthaben: Credit of the Month.
|
||||||
|
@ -150,7 +150,7 @@ class CreditList(db.Model):
|
||||||
|
|
||||||
def toJSON(self):
|
def toJSON(self):
|
||||||
""" Create Dic to dump in JSON
|
""" Create Dic to dump in JSON
|
||||||
|
|
||||||
Returns:
|
Returns:
|
||||||
A Dic with static Attributes.
|
A Dic with static Attributes.
|
||||||
"""
|
"""
|
||||||
|
@ -192,4 +192,4 @@ class CreditList(db.Model):
|
||||||
"credit": self.dez_guthaben,
|
"credit": self.dez_guthaben,
|
||||||
"depts": self.dez_schulden},
|
"depts": self.dez_schulden},
|
||||||
}
|
}
|
||||||
return dic
|
return dic
|
||||||
|
|
|
@ -5,7 +5,7 @@ from datetime import datetime
|
||||||
|
|
||||||
class User(db.Model):
|
class User(db.Model):
|
||||||
""" Database Object for User
|
""" Database Object for User
|
||||||
|
|
||||||
Table for all safed User
|
Table for all safed User
|
||||||
|
|
||||||
Attributes:
|
Attributes:
|
||||||
|
@ -42,7 +42,7 @@ class User(db.Model):
|
||||||
if geruecht.year == datetime.now().year - 1:
|
if geruecht.year == datetime.now().year - 1:
|
||||||
print('fonud last geruecht {}'.format(geruecht))
|
print('fonud last geruecht {}'.format(geruecht))
|
||||||
last = geruecht
|
last = geruecht
|
||||||
|
|
||||||
if last:
|
if last:
|
||||||
amount = last.getSchulden()
|
amount = last.getSchulden()
|
||||||
return self.createCurrentGeruecht(amount=amount)
|
return self.createCurrentGeruecht(amount=amount)
|
||||||
|
@ -60,7 +60,7 @@ class User(db.Model):
|
||||||
|
|
||||||
def toJSON(self):
|
def toJSON(self):
|
||||||
""" Create Dic to dump in JSON
|
""" Create Dic to dump in JSON
|
||||||
|
|
||||||
Returns:
|
Returns:
|
||||||
A Dic with static Attributes.
|
A Dic with static Attributes.
|
||||||
"""
|
"""
|
||||||
|
@ -82,4 +82,3 @@ class User(db.Model):
|
||||||
A Bool. True if the password is correct and False if it isn't.
|
A Bool. True if the password is correct and False if it isn't.
|
||||||
"""
|
"""
|
||||||
return True if bcrypt.check_password_hash(self.password, password) else False
|
return True if bcrypt.check_password_hash(self.password, password) else False
|
||||||
|
|
||||||
|
|
|
@ -1,15 +1,10 @@
|
||||||
from geruecht import app, db, accesTokenController
|
from geruecht import app, db, accesTokenController, MONEY, BAR, USER, GASTRO
|
||||||
from geruecht.model.user import User
|
from geruecht.model.user import User
|
||||||
from geruecht.model.creditList import CreditList
|
from geruecht.model.creditList import CreditList
|
||||||
from geruecht.model.priceList import PriceList
|
from geruecht.model.priceList import PriceList
|
||||||
from datetime import datetime
|
from datetime import datetime
|
||||||
from flask import request, jsonify
|
from flask import request, jsonify
|
||||||
|
|
||||||
MONEY = "moneymaster"
|
|
||||||
GASTRO = "gastro"
|
|
||||||
USER = "user"
|
|
||||||
BAR = "bar"
|
|
||||||
|
|
||||||
def verifyAccessToken(token, group):
|
def verifyAccessToken(token, group):
|
||||||
""" Verify Accestoken
|
""" Verify Accestoken
|
||||||
|
|
||||||
|
@ -20,7 +15,7 @@ def verifyAccessToken(token, group):
|
||||||
token: Token to verify.
|
token: Token to verify.
|
||||||
group: Group like 'moneymaster', 'gastro', 'user' or 'bar'
|
group: Group like 'moneymaster', 'gastro', 'user' or 'bar'
|
||||||
Returns:
|
Returns:
|
||||||
An the AccesToken for this given Token or None.
|
An the AccesToken for this given Token or None.
|
||||||
"""
|
"""
|
||||||
accToken = accesTokenController.findAccesToken(token)
|
accToken = accesTokenController.findAccesToken(token)
|
||||||
print(accToken)
|
print(accToken)
|
||||||
|
@ -30,47 +25,6 @@ def verifyAccessToken(token, group):
|
||||||
return accToken
|
return accToken
|
||||||
return None
|
return None
|
||||||
|
|
||||||
@app.route("/getFinanzerMain")
|
|
||||||
def _getFinanzer():
|
|
||||||
""" Function for /getFinanzerMain
|
|
||||||
|
|
||||||
Retrieves all User for the groupe 'moneymaster'
|
|
||||||
|
|
||||||
Returns:
|
|
||||||
A JSON-File with Users or an Error.
|
|
||||||
example:
|
|
||||||
|
|
||||||
"""
|
|
||||||
token = request.headers.get("Token")
|
|
||||||
|
|
||||||
accToken = verifyAccessToken(token, MONEY)
|
|
||||||
if accToken is not None:
|
|
||||||
users = User.query.all()
|
|
||||||
dic = {}
|
|
||||||
for user in users:
|
|
||||||
dic[user.userID] = user.toJSON()
|
|
||||||
return jsonify(dic)
|
|
||||||
return jsonify({"error": "permission denied"}), 401
|
|
||||||
|
|
||||||
@app.route("/getFinanzerYears", methods=['POST'])
|
|
||||||
def _getFinanzerYear():
|
|
||||||
print(request.headers)
|
|
||||||
token = request.headers.get("Token")
|
|
||||||
print(token)
|
|
||||||
accToken = verifyAccessToken(token, MONEY)
|
|
||||||
|
|
||||||
dic = {}
|
|
||||||
if accToken is not None:
|
|
||||||
data = request.get_json()
|
|
||||||
userID = data['userId']
|
|
||||||
|
|
||||||
user = User.query.filter_by(userID=userID).first()
|
|
||||||
dic[user.userID] = {}
|
|
||||||
for geruecht in user.geruechte:
|
|
||||||
dic[user.userID][geruecht.year] = geruecht.toJSON()
|
|
||||||
return jsonify(dic)
|
|
||||||
return jsonify({"error": "permission denied"}), 401
|
|
||||||
|
|
||||||
@app.route("/valid")
|
@app.route("/valid")
|
||||||
def _valid():
|
def _valid():
|
||||||
token = request.headers.get("Token")
|
token = request.headers.get("Token")
|
||||||
|
@ -91,7 +45,7 @@ def _valid():
|
||||||
@app.route("/login", methods=['POST'])
|
@app.route("/login", methods=['POST'])
|
||||||
def _login():
|
def _login():
|
||||||
""" Login User
|
""" Login User
|
||||||
|
|
||||||
Nothing to say.
|
Nothing to say.
|
||||||
Login in User and create an AccessToken for the User.
|
Login in User and create an AccessToken for the User.
|
||||||
|
|
||||||
|
@ -111,55 +65,7 @@ def _login():
|
||||||
return jsonify(dic)
|
return jsonify(dic)
|
||||||
else:
|
else:
|
||||||
return jsonify({"error": "wrong password"}), 401
|
return jsonify({"error": "wrong password"}), 401
|
||||||
return jsonify({"error": "wrong username"}), 402
|
return jsonify({"error": "wrong username"}), 402
|
||||||
|
|
||||||
@app.route("/bar")
|
|
||||||
def _bar():
|
|
||||||
print(request.headers)
|
|
||||||
token = request.headers.get("Token")
|
|
||||||
print(token)
|
|
||||||
accToken = verifyAccessToken(token, BAR)
|
|
||||||
|
|
||||||
dic = {}
|
|
||||||
if accToken is not None:
|
|
||||||
users = User.query.all()
|
|
||||||
for user in users:
|
|
||||||
geruecht = None
|
|
||||||
geruecht = user.getCurrentGeruecht()
|
|
||||||
if geruecht is not None:
|
|
||||||
month = geruecht.getMonth(datetime.now().month)
|
|
||||||
amount = abs(month[0] - month[1])
|
|
||||||
if amount != 0:
|
|
||||||
dic[user.userID] = {"username": user.username,
|
|
||||||
"firstname": user.firstname,
|
|
||||||
"lastname": user.lastname,
|
|
||||||
"amount": abs(month[0] - month[1])
|
|
||||||
}
|
|
||||||
return jsonify(dic)
|
|
||||||
return jsonify({"error": "permission denied"}), 401
|
|
||||||
|
|
||||||
@app.route("/baradd", methods=['POST'])
|
|
||||||
def _baradd():
|
|
||||||
token = request.headers.get("Token")
|
|
||||||
print(token)
|
|
||||||
accToken = verifyAccessToken(token, BAR)
|
|
||||||
|
|
||||||
if accToken is not None:
|
|
||||||
data = request.get_json()
|
|
||||||
userID = data['userId']
|
|
||||||
amount = int(data['amount'])
|
|
||||||
|
|
||||||
user = User.query.filter_by(userID=userID).first()
|
|
||||||
geruecht = user.getCurrentGeruecht()
|
|
||||||
month = geruecht.addAmount(amount)
|
|
||||||
amount = abs(month[0] - month[1])
|
|
||||||
|
|
||||||
db.session.add(geruecht)
|
|
||||||
db.session.commit()
|
|
||||||
|
|
||||||
return jsonify({"userId": user.userID, "amount": amount})
|
|
||||||
return jsonify({"error", "permission denied"}), 401
|
|
||||||
|
|
||||||
|
|
||||||
@app.route("/getFinanzer")
|
@app.route("/getFinanzer")
|
||||||
def getFinanzer():
|
def getFinanzer():
|
||||||
|
|
Loading…
Reference in New Issue