36 lines
1.1 KiB
Python
36 lines
1.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
|
|
from models.notepad_key import NotepadKey
|
|
|
|
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)
|
|
|