import os from datetime import datetime from flask import Flask, jsonify, request from flask_sqlalchemy import SQLAlchemy from models import db, User, TimeStamp app = Flask(__name__) app.config['SECRET_KEY'] = 'dksldkkwkdkllk' # todo: os.environ['TIMESTAMP_SECRET_KEY'] app.config["SQLALCHEMY_DATABASE_URI"] = "sqlite:///project.db" @app.route("/") def index_handler(): return "hallo" # USER SECTION @app.route("/user/all") def get_all_users(): users = db.session.execute(db.select(User)).scalars() all = users.all() return jsonify(all), 200 @app.route("/user/") def get_user_by_id(id): user = db.session.execute(db.select(User)).scalar() return user.name, 200 @app.route("/user/new", methods=['POST']) def create_new_user(): user = User(name=request.form.get('name'), surname=request.form.get('surname'), email=request.form.get('email'), mtan=request.form.get('mtan')) db.session.add(user) db.session.commit() return {'success': 'ok'}, 200 @app.route("/user/update/", methods=['POST']) def update_user_by_id(id): print(id) user = db.session.execute(db.select(User).where(User.id == id)).scalars().one() user.name = request.form.get('name') user.email = request.form.get('email') print(user.name) db.session.commit() return {'success': 'ok'}, 200 #END USER SECTION #TIMESTAMP SECTION @app.route("/") def get_last_timestamp_by_id(id): timestamp = db.session.execute(db.select(TimeStamp).where(TimeStamp.user_id == id).order).scalars().one() return timestamp, 200 @app.route("/timestamp/new/", methods=['POST']) def put_timestamp_by_id(id): timestamp = TimeStamp(user_id=id, create=datetime.now(), timestamp=datetime.strptime(request.form.get('timestamp'), '%Y/%m/%d %H:%M:%S')) db.session.add(timestamp) db.session.commit() return {"success": "ok"}, 200 @app.route("/timestamp/new/", methods=['POST']) def put_timestamp_by_mtan(mtan): timestamp = TimeStamp() @app.route("/timestamp/all/") def get_timestamps_by_id(id): timestamps = db.session.execute(db.select(TimeStamp).where(TimeStamp.user_id == id)).scalars() return timestamps.all(), 200 #END TIMESTAMP SECTION #RFID SECTION #END RFID SECTION db.init_app(app) with app.app_context(): db.create_all() if __name__ == '__main__': app.run(debug=True)