c1aac7ecac
Co-authored-by: Cursor <cursoragent@cursor.com>
57 lines
2.5 KiB
Python
57 lines
2.5 KiB
Python
from app import db
|
|
from app.models import SiteSettings
|
|
|
|
|
|
def get_settings():
|
|
settings = db.session.get(SiteSettings, 1)
|
|
if settings is None:
|
|
settings = SiteSettings(id=1)
|
|
db.session.add(settings)
|
|
db.session.commit()
|
|
return settings
|
|
|
|
|
|
def update_settings_from_form(form):
|
|
settings = get_settings()
|
|
|
|
settings.max_bulk_upload = max(1, min(100, int(form.get("max_bulk_upload") or 100)))
|
|
|
|
settings.s3_enabled = form.get("s3_enabled") == "on"
|
|
settings.s3_endpoint = form.get("s3_endpoint", "").strip() or None
|
|
settings.s3_bucket = form.get("s3_bucket", "").strip() or None
|
|
settings.s3_access_key = form.get("s3_access_key", "").strip() or None
|
|
if form.get("s3_secret_key", "").strip():
|
|
settings.s3_secret_key = form.get("s3_secret_key", "").strip()
|
|
settings.s3_region = form.get("s3_region", "").strip() or "us-east-1"
|
|
settings.s3_public_url = form.get("s3_public_url", "").strip() or None
|
|
|
|
settings.sftp_enabled = form.get("sftp_enabled") == "on"
|
|
settings.sftp_host = form.get("sftp_host", "").strip() or None
|
|
settings.sftp_port = int(form.get("sftp_port") or 22)
|
|
settings.sftp_username = form.get("sftp_username", "").strip() or None
|
|
if form.get("sftp_password", "").strip():
|
|
settings.sftp_password = form.get("sftp_password", "").strip()
|
|
settings.sftp_remote_path = form.get("sftp_remote_path", "").strip() or "/uploads"
|
|
|
|
settings.ftp_enabled = form.get("ftp_enabled") == "on"
|
|
settings.ftp_host = form.get("ftp_host", "").strip() or None
|
|
settings.ftp_port = int(form.get("ftp_port") or 21)
|
|
settings.ftp_username = form.get("ftp_username", "").strip() or None
|
|
if form.get("ftp_password", "").strip():
|
|
settings.ftp_password = form.get("ftp_password", "").strip()
|
|
settings.ftp_remote_path = form.get("ftp_remote_path", "").strip() or "/uploads"
|
|
settings.ftp_use_tls = form.get("ftp_use_tls") == "on"
|
|
|
|
settings.smtp_enabled = form.get("smtp_enabled") == "on"
|
|
settings.smtp_host = form.get("smtp_host", "").strip() or None
|
|
settings.smtp_port = int(form.get("smtp_port") or 587)
|
|
settings.smtp_username = form.get("smtp_username", "").strip() or None
|
|
if form.get("smtp_password", "").strip():
|
|
settings.smtp_password = form.get("smtp_password", "").strip()
|
|
settings.smtp_from_email = form.get("smtp_from_email", "").strip() or None
|
|
settings.smtp_from_name = form.get("smtp_from_name", "").strip() or "PhotoHost"
|
|
settings.smtp_use_tls = form.get("smtp_use_tls") == "on"
|
|
|
|
db.session.commit()
|
|
return settings
|