Files
ladill-transfer/config/transfer.php
T
isaaccladandCursor ccffa1433d
Deploy Ladill Transfer / deploy (push) Successful in 28s
Route SMS voice uploads through Transfer with wallet billing.
Add a service API for the Ladill SMS platform to store voice recordings in Transfer and charge monthly storage from the customer wallet.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-20 02:23:18 +00:00

43 lines
1.8 KiB
PHP

<?php
return [
/*
| Service-to-service API keys (Bearer) for internal callers such as webmail.
*/
'service_api_keys' => array_filter([
'webmail' => env('TRANSFER_API_KEY_WEBMAIL'),
'sms' => env('TRANSFER_API_KEY_SMS'),
]),
// GHS per GB per month of retention (see qr-suite-decomposition.md §7.3).
'price_per_gb_month' => (float) env('TRANSFER_PRICE_PER_GB_MONTH', 0.30),
// Max single-file upload size (bytes). 0 = no limit (chunked uploads handle large files).
'max_file_bytes' => (int) env('TRANSFER_MAX_FILE_BYTES', 0),
// Bit-sized upload sessions (init → chunk → finalize), same pattern as hosting file manager.
'chunk_upload' => [
'path' => env('TRANSFER_CHUNK_UPLOAD_PATH', storage_path('app/chunked_uploads')),
'chunk_size_bytes' => (int) env('TRANSFER_CHUNK_SIZE_BYTES', 5 * 1024 * 1024),
],
// Max files per transfer.
'max_files_per_transfer' => (int) env('TRANSFER_MAX_FILES', 20),
// Monthly billing cycle length (days) — storage is renewed each period while the wallet can pay.
'billing_period_days' => (int) env('TRANSFER_BILLING_PERIOD_DAYS', 30),
// Days to keep files after a failed renewal before automatic deletion.
'grace_period_days' => (int) env('TRANSFER_GRACE_PERIOD_DAYS', 15),
// Owner emails when a transfer enters grace and before files are deleted.
'owner_grace_email_milestones' => ['grace_entered', '7', '3', '1'],
// Legacy env keys (billing is monthly until cancelled by non-payment + grace).
'default_retention_days' => (int) env('TRANSFER_DEFAULT_RETENTION_DAYS', 30),
'mail_retention_days' => (int) env('TRANSFER_MAIL_RETENTION_DAYS', 30),
// Voice SMS uploads from sms.ladill.com (via platform API).
'sms_voice_max_upload_kb' => (int) env('TRANSFER_SMS_VOICE_MAX_UPLOAD_KB', 5120),
];