from flask import Flask, forespørsel, jsonify
from flask_jwt_extended import JWTManager, create_access_token, jwt_required
from flask_sqlalchemy import SQLAlchemy
import asyncio
app = Flask(__name__)
app.config['SQLALCHEMY_DATABASE_URI'] = 'sqlite:///users.db'
app.config['JWT_SECRET_KEY'] = 'super-secret'
db = SQLAlchemy(app)
jwt = JWTManager(app)
class User(db.Model):
id = db.Column(db.Integer, primary_key=True)
username = db.Column(db.String(80), unique=True, nullable=False)
@app.route('/register', methods=['POST'])
def register():
brukernavn = request.json.get('brukernavn')
if User.query.filter_by(brukernavn=brukernavn).first():
return jsonify({"msg": "User exists"}), 400
user = bruker(brukernavn=brukernavn)
db.session.add(bruker)
db.session.commit()
return jsonify({"msg": "Registrert"}), 201
@app.route('/login', methods=['POST'])
def login():
brukernavn = request.json.get('brukernavn')
user = User.query.filter_by(brukernavn=brukernavn).first()
hvis ikke bruker:
return jsonify({"msg": "Not found"}), 404
access_token = create_access_token(identity=brukernavn)
return jsonify(access_token=access_token)
@app.route('/profile')
@jwt_required()
async def profil():
# Simuler asynkron henting av data
await asyncio.sleep(1)
return jsonify({"msg": "Dette er din asynkrone profil"}), 200
if __name__ == '__main__':
db.create_all()
app.run(debug=True)
from flask import Flask
app = Flask(__name__)
@app.route('/')
def hello():
return 'Hallo, Flask!'
# Denne lille appen svarer med "Hello, Flask!" på rotsluttpunktet.