from flask import Flask
from flask_sqlalchemy import SQLAlchemy
import sys
import os

app = Flask(__name__)
BASE_DIR = os.path.abspath(os.path.dirname(__file__))
app.config['SQLALCHEMY_DATABASE_URI'] = f'sqlite:///{os.path.join(BASE_DIR, "art_gallery.db")}'
app.config['SQLALCHEMY_TRACK_MODIFICATIONS'] = False

db = SQLAlchemy(app)

class User(db.Model):
    id = db.Column(db.Integer, primary_key=True)
    username = db.Column(db.String(80), unique=True, nullable=False)
    password = db.Column(db.String(120), nullable=False)
    is_admin = db.Column(db.Boolean, default=False)
    gallery_id = db.Column(db.Integer)

def check_db():
    try:
        # Check if database file exists
        if not os.path.exists('art_gallery.db'):
            print("Database file does not exist!")
            return
            
        print("Database file exists")
        
        # Check user table
        users = User.query.all()
        print("\nUsers in database:")
        for user in users:
            print(f"ID: {user.id}")
            print(f"Username: {user.username}")
            print(f"Is admin: {user.is_admin}")
            print(f"Gallery ID: {user.gallery_id}")
            print("-" * 20)
                
    except Exception as e:
        print(f"Error checking database: {str(e)}", file=sys.stderr)
        raise

if __name__ == '__main__':
    with app.app_context():
        check_db()
