from sqlalchemy import Column
#from sqlalchemy import ForeignKey
from sqlalchemy import Integer
from sqlalchemy import Float
from sqlalchemy import String
from sqlalchemy import Boolean
from sqlalchemy import DateTime
from sqlalchemy import Date
from sqlalchemy import UUID
from sqlalchemy import ARRAY
from sqlalchemy import text

from sqlalchemy.ext.mutable import MutableList
from sqlalchemy.dialects.postgresql import ARRAY
from sqlalchemy.dialects.postgresql import JSONB

from app_models import TokenBlockList, Customer, Customer_data, Provider, Provider_data, Provider_service, Events, Reviews #Provider_reserved, Reviews, Payments, Orders
from app_calendar import GoogleCalendarClient

#from geoalchemy2 import Geometry
#from sqlalchemy.orm import declarative_base
#from sqlalchemy.orm import relationship

from flask import Flask
from flask_sqlalchemy import SQLAlchemy
import bcrypt

import app_settings


app = Flask(__name__)

app.config['SQLALCHEMY_DATABASE_URI'] = app_settings.DB_URL #"postgresql://postgres:karting123@localhost:5432/test_db" #"postgresql://psqluser:testing123@localhost:5432/postgres" #app_settings.DB_URL
app.config["SQLALCHEMY_TRACK_MODIFICATIONS"] = False # no tracking
db = SQLAlchemy(app)


with app.app_context():
    # Kreira samo tablicu Reviews
    Reviews.__table__.create(db.engine, checkfirst=True)
    print("Tablica 'reviews' je kreirana (ako nije postojala).")
