From c3afb853d925d3ab5005d1bbd8483b12fed4794b Mon Sep 17 00:00:00 2001 From: Paulina Maciejewska Date: Mon, 24 Jun 2024 18:55:13 +0200 Subject: [PATCH] first commit --- .gitignore | 1 + proj5.py | 116 ++++++++++++++++++++++++++++++++++++++++++++++++++ settings.json | 4 ++ 3 files changed, 121 insertions(+) create mode 100644 .gitignore create mode 100644 proj5.py create mode 100644 settings.json diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..763624e --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +__pycache__/* \ No newline at end of file diff --git a/proj5.py b/proj5.py new file mode 100644 index 0000000..837bfd7 --- /dev/null +++ b/proj5.py @@ -0,0 +1,116 @@ +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) \ No newline at end of file diff --git a/settings.json b/settings.json new file mode 100644 index 0000000..b2f02ed --- /dev/null +++ b/settings.json @@ -0,0 +1,4 @@ +{ + "user": "s490050", + "password" : "00000000" +} \ No newline at end of file