Files
ladill-transfer/config/transfer.php
T
isaaccladandCursor 311b5b40bb
Deploy Ladill Transfer / deploy (push) Successful in 51s
Bill transfer storage monthly with a 15-day grace period before deletion.
Files stay available while wallet renewals succeed each month. Failed renewals
keep files for TRANSFER_GRACE_PERIOD_DAYS (default 15) before automatic cleanup.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-08 12:28:33 +00:00

36 lines
1.5 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'),
]),
// 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),
// 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),
];