From b3f7fdb32426029449406867febcfed5e6f0a6af Mon Sep 17 00:00:00 2001 From: Djonathan Date: Fri, 24 Jun 2022 17:57:19 -0300 Subject: [PATCH] Upload user registration image to s3. --- app/Http/Controllers/UserController.php | 25 ++++++++++++------- .../Economy/EconomyRepository.php | 21 +++++++++++++--- routes/api.php | 4 +-- 3 files changed, 36 insertions(+), 14 deletions(-) diff --git a/app/Http/Controllers/UserController.php b/app/Http/Controllers/UserController.php index 89a1081..b8f836b 100644 --- a/app/Http/Controllers/UserController.php +++ b/app/Http/Controllers/UserController.php @@ -12,6 +12,7 @@ use App\Traits\ApiResponse; use Illuminate\Http\JsonResponse; use Illuminate\Http\Request; use Illuminate\Http\Response; +use Illuminate\Support\Facades\Storage; class UserController extends Controller { @@ -19,7 +20,9 @@ class UserController extends Controller public function __construct( protected UserContractInterface $user - ){} + ) + { + } /** * Display a listing of the resource. @@ -33,7 +36,7 @@ class UserController extends Controller return (new UserResource($response)) ->response() ->setStatusCode(Response::HTTP_OK); - }catch (\Exception $ex){ + } catch (\Exception $ex) { return $this->errorResponse(false, $ex->getMessage(), Response::HTTP_INTERNAL_SERVER_ERROR); } @@ -51,16 +54,20 @@ class UserController extends Controller $user = $request->all(); $user['password'] = bcrypt($request->password); - if ($request->hasFile('profile_picture')) - { - $user['profile_picture'] = url('storage') . '/' . $request->file('profile_picture')->store('users'); + if (!$request->hasFile('profile_picture')) { + return $this->errorResponse(false, '', 500); } + $file = $request->file('profile_picture'); + + $path = $file->storeAs('avatars', $file->hashName(),'s3'); + + $user['profile_picture'] = Storage::disk('s3')->url($path); $response = $this->user->create($user); return (new UserResource($response)) ->response() ->setStatusCode(Response::HTTP_CREATED); - }catch (\Exception $ex){ + } catch (\Exception $ex) { return $this->errorResponse(false, $ex->getMessage(), Response::HTTP_INTERNAL_SERVER_ERROR); } } @@ -78,7 +85,7 @@ class UserController extends Controller return (new UserResource($response)) ->response() ->setStatusCode(Response::HTTP_OK); - }catch (\Exception $ex){ + } catch (\Exception $ex) { return $this->errorResponse(false, $ex->getMessage(), Response::HTTP_INTERNAL_SERVER_ERROR); } } @@ -97,7 +104,7 @@ class UserController extends Controller return (new UserResource($response)) ->response() ->setStatusCode(Response::HTTP_ACCEPTED); - }catch (\Exception $ex){ + } catch (\Exception $ex) { return $this->errorResponse(false, $ex->getMessage(), Response::HTTP_INTERNAL_SERVER_ERROR); } } @@ -113,7 +120,7 @@ class UserController extends Controller try { $response = $this->user->destroy($id); return response()->json($response, Response::HTTP_NO_CONTENT); - }catch (\Exception $ex){ + } catch (\Exception $ex) { return $this->errorResponse(false, $ex->getMessage(), Response::HTTP_INTERNAL_SERVER_ERROR); } } diff --git a/app/Repositories/Economy/EconomyRepository.php b/app/Repositories/Economy/EconomyRepository.php index 8fe0d87..b7460d4 100644 --- a/app/Repositories/Economy/EconomyRepository.php +++ b/app/Repositories/Economy/EconomyRepository.php @@ -60,14 +60,18 @@ class EconomyRepository extends AbstractRepository implements EconomyContractInt "economia.dad_estimado" ]; - return $this->execute($params, $field) + $test = $this->execute($params, $field) ->where(DB::raw("TO_DATE(economia.mes, 'YYMM')"), ">=", DB::raw("TO_DATE(TO_CHAR(current_date , 'YYYY-01-01'), 'YYYY-MM-DD') - interval '1' year")) ->groupBy(['mes', 'dad_estimado']) - ->orderBy('mes', 'desc') - ->orderBy('dad_estimado', 'desc') + ->orderBy('mes') + ->orderBy('dad_estimado') ->get(); + + $t = $this->array_sort_by_column($test, 'mes'); + + dd($t); } public function getCaptiveMonthlyEconomy($params) @@ -158,4 +162,15 @@ class EconomyRepository extends AbstractRepository implements EconomyContractInt } + public function array_sort_by_column(&$array, $column, $direction = SORT_ASC) { + $reference_array = array(); + + foreach($array as $key => $row) { + $reference_array[$key] = $row[$column]; + } + + return array_multisort($reference_array, $direction, $array); + } + + } diff --git a/routes/api.php b/routes/api.php index 5451cfa..7a59a81 100644 --- a/routes/api.php +++ b/routes/api.php @@ -27,13 +27,13 @@ Route::middleware(['auth:sanctum', 'verified'])->group(function () { Route::get('faq/{faq}', [\App\Http\Controllers\FaqController::class, 'show']); Route::post('pld', [\App\Http\Controllers\PldController::class, 'index']); + + Route::post('units', [\App\Http\Controllers\ClientController::class, 'index']); }); Route::middleware(['auth:sanctum', 'ability:Admin'])->group(function () { Route::apiResource('user', \App\Http\Controllers\UserController::class); - Route::post('units', [\App\Http\Controllers\ClientController::class, 'index']); - Route::put('notification/{notification}', [\App\Http\Controllers\NotificationController::class, 'update']); Route::post('notification', [\App\Http\Controllers\NotificationController::class, 'store']); Route::delete('notification/{notification}', [\App\Http\Controllers\NotificationController::class, 'destroy']);