from flask import Flask, request from flask_sqlalchemy import SQLAlchemy import json file = open('settings.json', 'r') data = json.load(file) app = Flask(__name__) app.config ['SQLALCHEMY_DATABASE_URI'] = "mysql://" + data["user"] + ":" + data["password"] + "@mysql.wmi.amu.edu.pl/s490050_Cars" app.config['SQLALCHEMY_TRACK_MODIFICATIONS'] = False db = SQLAlchemy(app) class Uzytkownicy(db.Model): __tablename__ = 'użytkownicy' login = db.Column(db.String(30), primary_key=True) imię = db.Column(db.String(30), nullable=False) nazwisko = db.Column(db.String(30), nullable=False) adres_zamieszkania = db.Column(db.String(100), nullable=False) adres_email = db.Column(db.String(100), nullable=False) numer_konta = db.Column(db.String(30)) adres_dostawy = db.Column(db.String(100)) telefon = db.Column(db.String(30)) przedmioty = db.relationship('Przedmiot', backref='użytkownik', lazy=True) class Przedmiot(db.Model): __tablename__ = 'przedmioty' numer = db.Column(db.Integer, primary_key=True) nazwa = db.Column(db.String(100), nullable=False) kategoria = db.Column(db.String(100), nullable=False) cena_wyjściowa = db.Column(db.Integer, nullable=False) opis = db.Column(db.String(100)) cena_zakupu = db.Column(db.Integer) użytkownicy_login = db.Column(db.String(30), db.ForeignKey('użytkownicy.login'), nullable=False) licytacje = db.relationship('Licytacja', backref='przedmiot', lazy=True) class Licytacja(db.Model): __tablename__ = 'licytacje' id = db.Column(db.Integer, primary_key=True) data_rozpoczęcia = db.Column(db.Date, nullable=False) data_zakończenia = db.Column(db.Date) status = db.Column(db.String(50), nullable=False) przedmioty_numer = db.Column(db.Integer, db.ForeignKey('przedmioty.numer'), nullable=False) login_zwycięzcy = db.Column(db.String(30), db.ForeignKey('użytkownicy.login')) oferty = db.relationship('Oferta', backref='licytacja', lazy=True) class Oferta(db.Model): __tablename__ = 'oferty' data = db.Column(db.Date, primary_key=True, nullable=False) godzina = db.Column(db.Time, nullable=False) kwota = db.Column(db.Integer, nullable=False) użytkownicy_login = db.Column(db.String(30), db.ForeignKey('użytkownicy.login'), nullable=False) licytacje_id = db.Column(db.Integer, db.ForeignKey('licytacje.id'), nullable=False) class OpcjaDostawy(db.Model): __tablename__ = 'opcje_dostawy' id = db.Column(db.Integer, primary_key=True) nazwa = db.Column(db.String(100), nullable=False) firma = db.Column(db.String(100), nullable=False) cena = db.Column(db.Integer, nullable=False) przypisanie = db.relationship('Przypisanie', backref='opcja_dostawy', lazy=True) class Przypisanie(db.Model): __tablename__ = 'przypisanie' przedmioty_numer = db.Column(db.Integer, db.ForeignKey('przedmioty.numer'), primary_key=True) opcje_dostawy_id = db.Column(db.Integer, db.ForeignKey('opcje_dostawy.id'), primary_key=True) @app.route('/', methods=['GET']) def get_users(): users = Uzytkownicy.query.all() users_list = [] for user in users: users_list.append({ 'login': user.login, 'imię': user.imię, 'nazwisko': user.nazwisko, 'adres_zamieszkania': user.adres_zamieszkania, 'adres_email': user.adres_email, 'numer_konta': user.numer_konta, 'adres_dostawy': user.adres_dostawy, 'telefon': user.telefon }) sammy = Uzytkownicy( login=str(int(users_list[len(users_list)-1]['login']) + 1), imię="sammy", nazwisko="burger", adres_zamieszkania="texas", adres_email="sammy.burger@gmail.com", numer_konta="73294390493", adres_dostawy="texas", telefon="738291739" ) db.session.add(sammy) db.session.commit() return {'users': users_list} if __name__ == '__main__': app.run(debug = True)