takeone-youtube-clone/config/nas-file-manager.php
ghassan 0b2e95ea65 Add NAS file manager integration and all pending platform changes
- Installed p7h/nas-file-manager package via private VCS repo
- Published config/nas-file-manager.php with super_admin middleware restriction
- Added NAS env vars to .env.example
- Created admin/nas-storage page with connection info panel and file browser widget
- Added NAS Storage link to admin sidebar (super_admin only)
- Added SuperAdminController@nasStorage method and admin.nas-storage route
- Includes all accumulated branch changes: profile wall, 2FA, audit logs,
  settings panel, country/phone/timezone components, posts, slideshow,
  playlist shares, video downloads/shares, comment likes, notifications,
  social links, and more

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-13 13:24:32 +03:00

58 lines
2.3 KiB
PHP

<?php
return [
/*
|--------------------------------------------------------------------------
| NAS Connection
|--------------------------------------------------------------------------
| Protocol: sftp | ftp | ftps | smb
*/
'connection' => [
'protocol' => env('NAS_PROTOCOL', 'sftp'),
'host' => env('NAS_HOST', ''),
'port' => (int) env('NAS_PORT', 22),
'username' => env('NAS_USERNAME', ''),
'password' => env('NAS_PASSWORD', ''),
'path' => env('NAS_PATH', '/media'),
'smb_share' => env('NAS_SMB_SHARE', ''),
'smb_domain' => env('NAS_SMB_DOMAIN', ''),
],
/*
|--------------------------------------------------------------------------
| Routing
|--------------------------------------------------------------------------
*/
'route_prefix' => env('NAS_FM_ROUTE_PREFIX', 'nas-file-manager'),
'middleware' => ['web', 'auth', 'super_admin'],
/*
|--------------------------------------------------------------------------
| Authorization
|--------------------------------------------------------------------------
| Gate or permission name that controls create / rename / delete actions.
| Set to null to allow any authenticated user.
| Example: 'edit-nas' (checked with Gate::allows())
*/
'edit_gate' => null,
/*
|--------------------------------------------------------------------------
| Folder Schema
|--------------------------------------------------------------------------
| Static schema shown in the "Schema" tab.
| Each node: depth (int), label (string), path (string),
| parent_path (?string), is_template (bool), can_edit (bool)
|
| You can also pass $nodes dynamically to the Blade component:
| <x-nas-file-manager::file-manager :nodes="$myNodes" />
*/
'schema' => [
// Example — uncomment and adapt:
// ['depth' => 0, 'label' => 'Media', 'path' => 'Media', 'parent_path' => null, 'is_template' => false, 'can_edit' => false],
// ['depth' => 1, 'label' => 'Outlets', 'path' => 'Media/Outlets', 'parent_path' => 'Media', 'is_template' => false, 'can_edit' => true],
],
];