diff --git a/evibes/settings/constance.py b/evibes/settings/constance.py index 574e2570..f38d3c66 100644 --- a/evibes/settings/constance.py +++ b/evibes/settings/constance.py @@ -1,35 +1,50 @@ +import json + +from django.utils.translation import gettext_lazy as _ + from evibes.settings.base import getenv CONSTANCE_BACKEND = "constance.backends.database.DatabaseBackend" # Or 'constance.backends.redis.RedisBackend' CONSTANCE_CONFIG = { - "PROJECT_NAME": (getenv("EVIBES_PROJECT_NAME"), "Name of the project"), - "FRONTEND_DOMAIN": (getenv("EVIBES_FRONTEND_DOMAIN"), "Frontend domain name"), - "BASE_DOMAIN": (getenv("EVIBES_BASE_DOMAIN"), "Base domain name"), - "COMPANY_NAME": (getenv("COMPANY_NAME"), "Name of the company"), - "COMPANY_ADDRESS": (getenv("COMPANY_ADDRESS"), "Address of the company"), - "COMPANY_PHONE_NUMBER": (getenv("COMPANY_PHONE_NUMBER"), "Phone number of the company"), - "STOCKS_ARE_SINGLE": (getenv("STOCKS_ARE_SINGLE", True), "Designates whether every product has one stock or not"), - "EMAIL_HOST": (getenv("EMAIL_HOST", "smtp.404.org"), "SMTP host"), - "EMAIL_PORT": (int(getenv("EMAIL_PORT", "465")), "SMTP port"), - "EMAIL_USE_TLS": (bool(int(getenv("EMAIL_USE_TLS", 0))), "Use TLS (Specify 0 for No and 1 for Yes)"), - "EMAIL_USE_SSL": (bool(int(getenv("EMAIL_USE_SSL", 1))), "Use SSL (Specify 0 for No and 1 for Yes)"), - "EMAIL_HOST_USER": (getenv("EMAIL_HOST_USER", "no-user@fix.this"), "SMTP username"), - "EMAIL_HOST_PASSWORD": (getenv("EMAIL_HOST_PASSWORD", "SUPERsecretPASSWORD"), "SMTP password"), - "EMAIL_FROM": (getenv("EMAIL_FROM", "eVibes"), "Mail from option"), - "PAYMENT_GATEWAY_URL": (getenv("PAYMENT_GATEWAY_URL", "http://404.org"), "Payment gateway URL"), - "PAYMENT_GATEWAY_TOKEN": (getenv("PAYMENT_GATEWAY_TOKEN", "example token"), "Payment gateway token"), - "PAYMENT_GATEWAY_MINIMUM": (getenv("PAYMENT_GATEWAY_MINIMUM", 5.0), "Payment gateway minimum amount"), - "PAYMENT_GATEWAY_MAXIMUM": (getenv("PAYMENT_GATEWAY_MAXIMUM", 500.0), "Payment gateway maximum amount"), - "EXCHANGE_RATE_API_KEY": (getenv("EXCHANGE_RATE_API_KEY", "example token"), "Exchange rate API key"), - "NOMINATIM_URL": (getenv("NOMINATIM_URL", ""), "OpenStreetMap Nominatim API URL"), - "OPENAI_API_KEY": (getenv("OPENAI_API_KEY", "example key"), "OpenAI API Key"), + "PROJECT_NAME": (getenv("EVIBES_PROJECT_NAME"), _("Name of the project")), + "FRONTEND_DOMAIN": (getenv("EVIBES_FRONTEND_DOMAIN"), _("Frontend domain name")), + "BASE_DOMAIN": (getenv("EVIBES_BASE_DOMAIN"), _("Base domain name")), + "COMPANY_NAME": (getenv("COMPANY_NAME"), _("Name of the company")), + "COMPANY_ADDRESS": (getenv("COMPANY_ADDRESS"), _("Address of the company")), + "COMPANY_PHONE_NUMBER": (getenv("COMPANY_PHONE_NUMBER"), _("Phone number of the company")), + "STOCKS_ARE_SINGLE": (getenv("STOCKS_ARE_SINGLE", True), + _("Designates whether every product has one stock or not")), + "EMAIL_HOST": (getenv("EMAIL_HOST", "smtp.404.org"), _("SMTP host")), + "EMAIL_PORT": (int(getenv("EMAIL_PORT", "465")), _("SMTP port")), + "EMAIL_USE_TLS": (bool(int(getenv("EMAIL_USE_TLS", 0))), _("Use TLS (Specify 0 for No and 1 for Yes)")), + "EMAIL_USE_SSL": (bool(int(getenv("EMAIL_USE_SSL", 1))), _("Use SSL (Specify 0 for No and 1 for Yes)")), + "EMAIL_HOST_USER": (getenv("EMAIL_HOST_USER", "no-user@fix.this"), _("SMTP username")), + "EMAIL_HOST_PASSWORD": (getenv("EMAIL_HOST_PASSWORD", "SUPERsecretPASSWORD"), _("SMTP password")), + "EMAIL_FROM": (getenv("EMAIL_FROM", "eVibes"), _("Mail from option")), + "PAYMENT_GATEWAY_URL": (getenv("PAYMENT_GATEWAY_URL", "http://404.org"), _("Payment gateway URL")), + "PAYMENT_GATEWAY_TOKEN": (getenv("PAYMENT_GATEWAY_TOKEN", "example token"), _("Payment gateway token")), + "PAYMENT_GATEWAY_MINIMUM": (getenv("PAYMENT_GATEWAY_MINIMUM", 5.0), _("Payment gateway minimum amount")), + "PAYMENT_GATEWAY_MAXIMUM": (getenv("PAYMENT_GATEWAY_MAXIMUM", 500.0), _("Payment gateway maximum amount")), + "EXCHANGE_RATE_API_KEY": (getenv("EXCHANGE_RATE_API_KEY", "example token"), _("Exchange rate API key")), + "NOMINATIM_URL": (getenv("NOMINATIM_URL", ""), _("OpenStreetMap Nominatim API URL")), + "OPENAI_API_KEY": (getenv("OPENAI_API_KEY", "example key"), _("OpenAI API Key")), "ABSTRACT_API_KEY": ( getenv("ABSTRACT_API_KEY", "example key"), - "Abstract API Key, if empty - no Abstract features provided", + _("Abstract API Key, if empty - no Abstract features provided"), + ), + "HTTP_PROXY": (getenv("DJANGO_HTTP_PROXY", "http://username:password@proxy_address:port"), _("HTTP Proxy")), + "DISABLED_COMMERCE": (getenv("DISABLED_COMMERCE", False), _("Disable buy functionality")), + "ADVERTISIMENT_DATA": ( + json.loads(getenv("EVIBES_ADVERTISIMENT_DATA", "{}")), + _("An entity for storing advertisiment data"), + dict, + ), + "ANALYTICS_DATA": ( + json.loads(getenv("EVIBES_ANALYTICS_DATA", "{}")), + _("An entity for storing analytics data"), + dict, ), - "HTTP_PROXY": (getenv("DJANGO_HTTP_PROXY", "http://username:password@proxy_address:port"), "HTTP Proxy"), - "DISABLED_COMMERCE": (getenv("DISABLED_COMMERCE", False), "Disable buy functionality"), } EXPOSABLE_KEYS = [ @@ -42,4 +57,6 @@ EXPOSABLE_KEYS = [ "EMAIL_FROM", "PAYMENT_GATEWAY_MINIMUM", "PAYMENT_GATEWAY_MAXIMUM", + "ADVERTISIMENT_DATA", + "ANALYTICS_DATA", ]