64 lines
3.4 KiB
PHP
64 lines
3.4 KiB
PHP
<?php
|
|
|
|
return [
|
|
'data_path' => env('DEWEMOJI_DATA_PATH', base_path('../../dewemoji-api/data/emojis.json')),
|
|
|
|
'pagination' => [
|
|
'default_limit' => (int) env('DEWEMOJI_DEFAULT_LIMIT', 20),
|
|
'max_limit' => (int) env('DEWEMOJI_MAX_LIMIT', 50),
|
|
'free_max_limit' => (int) env('DEWEMOJI_FREE_MAX_LIMIT', 20),
|
|
'pro_max_limit' => (int) env('DEWEMOJI_PRO_MAX_LIMIT', 50),
|
|
],
|
|
|
|
'free_daily_limit' => (int) env('DEWEMOJI_FREE_DAILY_LIMIT', 30),
|
|
|
|
'license' => [
|
|
'accept_all' => filter_var(env('DEWEMOJI_LICENSE_ACCEPT_ALL', false), FILTER_VALIDATE_BOOL),
|
|
'pro_keys' => array_values(array_filter(array_map('trim', explode(',', (string) env('DEWEMOJI_PRO_KEYS', ''))))),
|
|
'max_devices' => (int) env('DEWEMOJI_LICENSE_MAX_DEVICES', 3),
|
|
],
|
|
|
|
'billing' => [
|
|
// sandbox: accepts any non-empty key, live: requires configured pro keys/provider validation.
|
|
'mode' => env('DEWEMOJI_BILLING_MODE', 'sandbox'),
|
|
'verify_cache_ttl' => (int) env('DEWEMOJI_VERIFY_CACHE_TTL', 300),
|
|
'providers' => [
|
|
'gumroad' => [
|
|
'enabled' => filter_var(env('DEWEMOJI_GUMROAD_ENABLED', false), FILTER_VALIDATE_BOOL),
|
|
'verify_url' => env('DEWEMOJI_GUMROAD_VERIFY_URL', 'https://api.gumroad.com/v2/licenses/verify'),
|
|
'product_ids' => array_values(array_filter(array_map('trim', explode(',', (string) env('DEWEMOJI_GUMROAD_PRODUCT_IDS', ''))))),
|
|
'timeout' => (int) env('DEWEMOJI_GUMROAD_TIMEOUT', 8),
|
|
// Optional stub keys for local testing without external HTTP calls.
|
|
'test_keys' => array_values(array_filter(array_map('trim', explode(',', (string) env('DEWEMOJI_GUMROAD_TEST_KEYS', ''))))),
|
|
],
|
|
'mayar' => [
|
|
'enabled' => filter_var(env('DEWEMOJI_MAYAR_ENABLED', false), FILTER_VALIDATE_BOOL),
|
|
'verify_url' => env('DEWEMOJI_MAYAR_VERIFY_URL', ''),
|
|
'api_base' => env('DEWEMOJI_MAYAR_API_BASE', ''),
|
|
'endpoint_verify' => env('DEWEMOJI_MAYAR_ENDPOINT_VERIFY', '/v1/license/verify'),
|
|
'api_key' => env('DEWEMOJI_MAYAR_API_KEY', ''),
|
|
'secret_key' => env('DEWEMOJI_MAYAR_SECRET_KEY', ''),
|
|
'timeout' => (int) env('DEWEMOJI_MAYAR_TIMEOUT', 8),
|
|
// Optional stub keys for local testing without external HTTP calls.
|
|
'test_keys' => array_values(array_filter(array_map('trim', explode(',', (string) env('DEWEMOJI_MAYAR_TEST_KEYS', ''))))),
|
|
],
|
|
],
|
|
],
|
|
|
|
'cors' => [
|
|
'allowed_origins' => array_values(array_filter(array_map('trim', explode(',', (string) env('DEWEMOJI_ALLOWED_ORIGINS', 'http://127.0.0.1:8000,http://localhost:8000,https://dewemoji.com,https://www.dewemoji.com'))))),
|
|
'allow_methods' => 'GET, POST, OPTIONS',
|
|
'allow_headers' => 'Content-Type, Authorization, X-License-Key, X-Account-Id, X-Dewemoji-Frontend',
|
|
],
|
|
|
|
'frontend' => [
|
|
'header_token' => env('DEWEMOJI_FRONTEND_HEADER', 'web-v1'),
|
|
],
|
|
|
|
'metrics' => [
|
|
'enabled' => filter_var(env('DEWEMOJI_METRICS_ENABLED', true), FILTER_VALIDATE_BOOL),
|
|
'token' => (string) env('DEWEMOJI_METRICS_TOKEN', ''),
|
|
'allow_ips' => array_values(array_filter(array_map('trim', explode(',', (string) env('DEWEMOJI_METRICS_ALLOW_IPS', '127.0.0.1,::1'))))),
|
|
],
|
|
];
|