Files
2025-05-20 11:57:43 -04:00

122 lines
3.0 KiB
Python

from datetime import timedelta
from celery.schedules import crontab
DEBUG = True
LOG_LEVEL = 'DEBUG' # CRITICAL / ERROR / WARNING / INFO / DEBUG
SERVER_NAME = 'localhost:8000'
SECRET_KEY = 'insecurekeyfordev'
# Flask-Mail.
MAIL_DEFAULT_SENDER = 'contact@local.host'
MAIL_SERVER = 'smtp.gmail.com'
MAIL_PORT = 587
MAIL_USE_TLS = True
MAIL_USE_SSL = False
MAIL_USERNAME = 'you@gmail.com'
MAIL_PASSWORD = 'awesomepassword'
# Celery.
CELERY_BROKER_URL = 'redis://:devpassword@redis:6379/0'
CELERY_RESULT_BACKEND = CELERY_BROKER_URL
CELERY_ACCEPT_CONTENT = ['json']
CELERY_TASK_SERIALIZER = 'json'
CELERY_RESULT_SERIALIZER = 'json'
CELERY_REDIS_MAX_CONNECTIONS = 5
CELERYBEAT_SCHEDULE = {
'mark-soon-to-expire-credit-cards': {
'task': 'snakeeyes.blueprints.billing.tasks.mark_old_credit_cards',
'schedule': crontab(hour=0, minute=0)
},
'expire-old-coupons': {
'task': 'snakeeyes.blueprints.billing.tasks.expire_old_coupons',
'schedule': crontab(hour=0, minute=1)
},
}
# SQLAlchemy.
db_uri = 'postgresql://snakeeyes:devpassword@postgres:5432/snakeeyes'
SQLALCHEMY_DATABASE_URI = db_uri
SQLALCHEMY_TRACK_MODIFICATIONS = False
# User.
SEED_ADMIN_EMAIL = 'dev@local.host'
SEED_ADMIN_PASSWORD = 'devpassword'
REMEMBER_COOKIE_DURATION = timedelta(days=90)
# Billing.
STRIPE_SECRET_KEY = None
STRIPE_PUBLISHABLE_KEY = None
STRIPE_API_VERSION = '2016-03-07'
STRIPE_CURRENCY = 'usd'
STRIPE_PLANS = {
'0': {
'id': 'bronze',
'name': 'Bronze',
'amount': 100,
'currency': STRIPE_CURRENCY,
'interval': 'month',
'interval_count': 1,
'trial_period_days': 14,
'statement_descriptor': 'SNAKEEYES BRONZE',
'metadata': {
'coins': 110
}
},
'1': {
'id': 'gold',
'name': 'Gold',
'amount': 500,
'currency': STRIPE_CURRENCY,
'interval': 'month',
'interval_count': 1,
'trial_period_days': 14,
'statement_descriptor': 'SNAKEEYES GOLD',
'metadata': {
'coins': 600,
'recommended': True
}
},
'2': {
'id': 'platinum',
'name': 'Platinum',
'amount': 1000,
'currency': STRIPE_CURRENCY,
'interval': 'month',
'interval_count': 1,
'trial_period_days': 14,
'statement_descriptor': 'SNAKEEYES PLATINUM',
'metadata': {
'coins': 1500
}
}
}
COIN_BUNDLES = [
{'coins': 100, 'price_in_cents': 100, 'label': '100 for $1'},
{'coins': 1000, 'price_in_cents': 900, 'label': '1,000 for $9'},
{'coins': 5000, 'price_in_cents': 4000, 'label': '5,000 for $40'},
{'coins': 10000, 'price_in_cents': 7000, 'label': '10,000 for $70'},
]
# Bet.
DICE_ROLL_PAYOUT = {
'2': 36.0,
'3': 18.0,
'4': 12.0,
'5': 9.0,
'6': 7.2,
'7': 6.0,
'8': 7.2,
'9': 9.0,
'10': 12.0,
'11': 18.0,
'12': 36.0
}
RATELIMIT_STORAGE_URL = CELERY_BROKER_URL
RATELIMIT_STRATEGY = 'fixed-window-elastic-expiry'
RATELIMIT_HEADERS_ENABLED = True