app/Http/Controllers/Api/Contact/ApiAvatarController.php (32 lines of code) (raw):

<?php namespace App\Http\Controllers\Api\Contact; use Illuminate\Http\Request; use Illuminate\Database\QueryException; use App\Http\Controllers\Api\ApiController; use App\Services\Contact\Avatar\UpdateAvatar; use Illuminate\Validation\ValidationException; use Illuminate\Database\Eloquent\ModelNotFoundException; use App\Http\Resources\Contact\Contact as ContactResource; class ApiAvatarController extends ApiController { /** * Update a contact's avatar. * * @param Request $request * @param int $contactId * * @return ContactResource|\Illuminate\Http\JsonResponse */ public function update(Request $request, $contactId) { try { $contact = app(UpdateAvatar::class)->execute( $request->except(['account_id', 'contact_id']) + [ 'account_id' => auth()->user()->account_id, 'contact_id' => $contactId, ] ); } catch (ModelNotFoundException $e) { return $this->respondNotFound(); } catch (ValidationException $e) { return $this->respondValidatorFailed($e->validator); } catch (QueryException $e) { return $this->respondInvalidQuery(); } return new ContactResource($contact); } }