diff --git a/app/Http/Controllers/API/FileUploadAPIController.php b/app/Http/Controllers/API/FileUploadAPIController.php index 9f9b2c6..41035bc 100644 --- a/app/Http/Controllers/API/FileUploadAPIController.php +++ b/app/Http/Controllers/API/FileUploadAPIController.php @@ -5,18 +5,41 @@ namespace App\Http\Controllers\API; use App\Http\Controllers\Controller; use Illuminate\Http\Request; use App\Services\Assets\FileUploadService; +use App\Interfaces\MemberRepositoryInterface; +use App\Services\Data\SettingsService; class FileUploadAPIController extends Controller { protected $upload; + protected $member; + protected $settings; - public function __construct(FileUploadService $fileUploadService) - { - $this->upload = $fileUploadService; + public function __construct( + FileUploadService $fileUploadService, + MemberRepositoryInterface $memberRepo, + SettingsService $settingsService + ) { + $this->upload = $fileUploadService; + $this->member = $memberRepo; + $this->settings = $settingsService; } public function upload(Request $request, $type = null) { - return $this->upload->handleFile($request, $type); + $result = $this->upload->handleFile($request, $type); + //update configs for specfic uploads + switch ($request['source']) { + case 'avatar-upload': + $member = []; + $member = session('member'); + $member['avatar'] = $result['filePath']; + $member = (object) $member; + $this->member->update($member); + break; + case 'background-upload': + $this->settings->updateGlobalData('background', $result['filePath']); + break; + } + return $result; } } diff --git a/app/Repositories/MemberRepository.php b/app/Repositories/MemberRepository.php index fe511ab..5432673 100644 --- a/app/Repositories/MemberRepository.php +++ b/app/Repositories/MemberRepository.php @@ -54,10 +54,10 @@ class MemberRepository implements MemberRepositoryInterface public function update($member) { - //TODO: need to add member avatar updating $index = findIndex($this->folks, ['id' => $member->id]); $this->folks[$index]['handle'] = $member->handle; $this->folks[$index]['email'] = $member->email; + $this->folks[$index]['avatar'] = $member->avatar; $this->folks[$index]['updated'] = Carbon::now(); //save new folks file $this->docs::writeSettings($this->folks, env('FOLKS_PATH')); @@ -77,7 +77,7 @@ class MemberRepository implements MemberRepositoryInterface 'handle' => $found['handle'], 'email' => $found['email'], 'role' => $found['role'], - 'avatar' => $found['avi'], + 'avatar' => $found['avatar'], 'key' => $found['key'], 'secret' => $found['secret'], ]; diff --git a/app/Services/Assets/FileUploadService.php b/app/Services/Assets/FileUploadService.php index 513a1f5..c8c3e78 100644 --- a/app/Services/Assets/FileUploadService.php +++ b/app/Services/Assets/FileUploadService.php @@ -23,8 +23,8 @@ class FileUploadService case 'jpg': case 'png': case 'gif': - if (isset($options["source"])) { - if ($options["source"] == "avatar-upload") { + if (isset($request["source"])) { + if ($request["source"] == "avatar-upload") { $filesPath = '/assets/images/user/' . $path . '/'; //Member::updateData('avi', $filesPath . $file->getClientFileName()); } else { diff --git a/content/init/folks-template.json b/content/init/folks-template.json index 0933e36..e09c9eb 100644 --- a/content/init/folks-template.json +++ b/content/init/folks-template.json @@ -2,7 +2,7 @@ { "id": "", "handle": "", - "avi": "/assets/images/global/default-avi.png", + "avatar": "/assets/images/global/default-avi.png", "email": "", "password": "", "key": "",