spotnotes.app/app.py

35 lines
1 KiB
Python

from flask import Flask
from werkzeug.middleware.proxy_fix import ProxyFix
from config import Config
from extensions import CORS, db
from blueprints import register_blueprints
app = Flask(__name__, static_folder='static')
app.config.from_object(Config)
# Fix for Nginx proxying (ensures correct IP addresses)
app.wsgi_app = ProxyFix(app.wsgi_app, x_for=1, x_proto=1, x_host=1, x_prefix=1)
CORS(app)
db.init_app(app)
register_blueprints(app)
with app.app_context():
from models.user import User
from models.notepad import Notepad
from models.favorite import Favorite
from models.note import Note
from models.banned_ip import BannedIP
from models.collaborator import Collaborator
db.create_all()
# Create default Global Public Notepad if it doesn't exist
if not Notepad.query.filter_by(name="Global Public Notes").first():
global_pad = Notepad(name="Global Public Notes", is_public=True)
db.session.add(global_pad)
db.session.commit()
if __name__ == "__main__":
app.run(debug=True)