57 lines
2.1 KiB
Python
57 lines
2.1 KiB
Python
from flask import render_template, url_for, flash, redirect, jsonify, request
|
|
from lernplattform import app
|
|
from lernplattform.models import User
|
|
|
|
from lernplattform import db
|
|
from lernplattform.classes import login
|
|
|
|
@app.route('/')
|
|
def index():
|
|
"""
|
|
Renders the main page of the application.
|
|
This function checks if a user is logged in by checking for a 'user_name' cookie.
|
|
If the user is logged in, it retrieves the username from the database using the cookie value.
|
|
If not, it defaults to 'Gast'. The main page is then rendered with the current username.
|
|
|
|
Returns:
|
|
A rendered HTML template with the current username.
|
|
"""
|
|
if login.check(request.cookies.get('user_name')):
|
|
user_name = User.query.filter_by(username=request.cookies.get('user_name')).first().username
|
|
else:
|
|
# If not logged in, default to 'Gast'
|
|
user_name = 'Gast'
|
|
|
|
# Render the main page with the current username
|
|
return render_template('index.html', user_name=user_name)
|
|
|
|
@app.route('/users', methods=['GET'])
|
|
def get_users():
|
|
# Query all users from the database
|
|
users = User.query.all()
|
|
# Create a list of dictionaries with user information
|
|
user_list = [
|
|
{
|
|
"id": user.id,
|
|
"username": user.username,
|
|
"email": user.email,
|
|
"password": user.password
|
|
}
|
|
for user in users
|
|
]
|
|
# Return the list of users as a JSON response
|
|
return jsonify(user_list)
|
|
#return user_list[0]['username']
|
|
|
|
@app.route('/users', methods=['POST'])
|
|
def create_user():
|
|
# Get the JSON data from the request body
|
|
data = request.get_json()
|
|
# Create a new User object with the provided username, email, and password
|
|
new_user = User(username=data['username'], email=data['email'], password=data['password'])
|
|
# Add the new user to the database session
|
|
db.session.add(new_user)
|
|
# Commit the transaction to save the new user in the database
|
|
db.session.commit()
|
|
# Return a success message with status code 201 (Created)
|
|
return jsonify({'message': 'User created'}), 201 |