MikaList/game_collection/app.py

48 lines
1.3 KiB
Python

from flask import Flask, request, jsonify
from flask_sqlalchemy import SQLAlchemy
from database import init_db
from models import db, Game
import os
app = Flask(__name__)
app.config['SQLALCHEMY_DATABASE_URI'] = 'sqlite:///' + os.path.join(app.instance_path, 'games.db')
app.config['SQLALCHEMY_TRACK_MODIFICATIONS'] = False
db.init_app(app)
# Stelle sicher, dass der instance-Ordner existiert
os.makedirs(app.instance_path, exist_ok=True)
with app.app_context():
init_db() # Ensure the database is initialized before any operations
@app.route('/games', methods=['POST'])
def add_game():
data = request.json
new_game = Game(
image=data['image'],
title=data['title'],
date=data['date'],
buyer=data['buyer'],
owned=data['owned']
)
db.session.add(new_game)
db.session.commit()
return jsonify({'message': 'Game added!'}), 201
@app.route('/games', methods=['GET'])
def get_games():
games = Game.query.all()
return jsonify([{
'id': game.id,
'image': game.image,
'title': game.title,
'date': game.date,
'buyer': game.buyer,
'owned': game.owned
} for game in games])
if __name__ == '__main__':
with app.app_context():
init_db() # Ensure the database is initialized when the app starts
app.run(debug=True)