spotnotes.app/app.py

37 lines
1.1 KiB
Python
Raw Permalink Normal View History

2026-05-12 23:58:18 +00:00
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
from models.notepad_key import NotepadKey
2026-05-12 23:58:18 +00:00
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)