122 lines
3.0 KiB
Python
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
|