mirror of
https://github.com/maziggy/bambuddy.git
synced 2026-09-30 19:21:33 +02:00
ghcr.io pull baseline (~10k/day rising → ~8-12k active installs) puts
sponsor conversion at 0.08% — roughly an order of magnitude under
industry-benchmark for OSS with visible CTA. The Settings banner from
0d4b9d4e gives passive every-visit visibility on one page; this adds
opt-out-able active visibility at moments where the user has just
earned something with Bambuddy.
Five trigger families with a 14-day cross-family cooldown: prints
(100/500/1000/2500/5000), cost (100/500/1000 tracked filament +
energy), archives (50/250/1000), anniversary (1 year), version-update
(re-armable on each major bump). New sponsor_toast_state table with
nullable user_id so auth-disabled installs get the same trigger logic
through one code path (NULL-keyed install-default row).
87 lines
3.2 KiB
Python
87 lines
3.2 KiB
Python
from backend.app.models.ams_history import AMSSensorHistory
|
|
from backend.app.models.ams_label import AmsLabel
|
|
from backend.app.models.api_key import APIKey
|
|
from backend.app.models.archive import PrintArchive
|
|
from backend.app.models.auth_ephemeral import AuthEphemeralToken, AuthRateLimitEvent
|
|
from backend.app.models.color_catalog import ColorCatalogEntry
|
|
from backend.app.models.filament import Filament
|
|
from backend.app.models.github_backup import GitHubBackupConfig, GitHubBackupLog
|
|
from backend.app.models.group import Group, user_groups
|
|
from backend.app.models.kprofile_note import KProfileNote
|
|
from backend.app.models.library import LibraryFile, LibraryFolder
|
|
from backend.app.models.local_preset import LocalPreset
|
|
from backend.app.models.location import Location
|
|
from backend.app.models.long_lived_token import LongLivedToken
|
|
from backend.app.models.maintenance import MaintenanceHistory, MaintenanceType, PrinterMaintenance
|
|
from backend.app.models.notification import NotificationLog
|
|
from backend.app.models.notification_template import NotificationTemplate
|
|
from backend.app.models.oidc_provider import OIDCProvider, UserOIDCLink
|
|
from backend.app.models.orca_base_cache import OrcaBaseProfile
|
|
from backend.app.models.pending_upload import PendingUpload
|
|
from backend.app.models.print_batch import PrintBatch
|
|
from backend.app.models.printer import Printer
|
|
from backend.app.models.printer_sensor_history import PrinterSensorHistory
|
|
from backend.app.models.project import Project
|
|
from backend.app.models.settings import Settings
|
|
from backend.app.models.smart_plug import SmartPlug
|
|
from backend.app.models.smart_plug_energy_snapshot import SmartPlugEnergySnapshot
|
|
from backend.app.models.sponsor_toast_state import SponsorToastState
|
|
from backend.app.models.spool import Spool
|
|
from backend.app.models.spool_assignment import SpoolAssignment
|
|
from backend.app.models.spool_catalog import SpoolCatalogEntry
|
|
from backend.app.models.spool_k_profile import SpoolKProfile
|
|
from backend.app.models.spool_usage_history import SpoolUsageHistory
|
|
from backend.app.models.spoolbuddy_device import SpoolBuddyDevice
|
|
from backend.app.models.user import User
|
|
from backend.app.models.user_email_pref import UserEmailPreference
|
|
from backend.app.models.user_otp_code import UserOTPCode
|
|
from backend.app.models.user_totp import UserTOTP
|
|
|
|
__all__ = [
|
|
"Printer",
|
|
"PrintArchive",
|
|
"Filament",
|
|
"Settings",
|
|
"SmartPlug",
|
|
"SmartPlugEnergySnapshot",
|
|
"MaintenanceType",
|
|
"PrinterMaintenance",
|
|
"MaintenanceHistory",
|
|
"KProfileNote",
|
|
"NotificationTemplate",
|
|
"NotificationLog",
|
|
"Project",
|
|
"APIKey",
|
|
"AMSSensorHistory",
|
|
"PrinterSensorHistory",
|
|
"AmsLabel",
|
|
"PendingUpload",
|
|
"PrintBatch",
|
|
"LibraryFolder",
|
|
"LibraryFile",
|
|
"Location",
|
|
"User",
|
|
"Group",
|
|
"user_groups",
|
|
"GitHubBackupConfig",
|
|
"GitHubBackupLog",
|
|
"LocalPreset",
|
|
"OIDCProvider",
|
|
"UserOIDCLink",
|
|
"OrcaBaseProfile",
|
|
"Spool",
|
|
"SpoolKProfile",
|
|
"SpoolAssignment",
|
|
"SpoolCatalogEntry",
|
|
"SpoolUsageHistory",
|
|
"ColorCatalogEntry",
|
|
"SpoolBuddyDevice",
|
|
"SponsorToastState",
|
|
"UserEmailPreference",
|
|
"UserOTPCode",
|
|
"UserTOTP",
|
|
"AuthEphemeralToken",
|
|
"AuthRateLimitEvent",
|
|
"LongLivedToken",
|
|
]
|