diff --git a/app/Classes/ControllersLogic/Warehouses/DeleteWarehouse.php b/app/Classes/ControllersLogic/Warehouses/DeleteWarehouse.php deleted file mode 100644 index ce74f1b..0000000 --- a/app/Classes/ControllersLogic/Warehouses/DeleteWarehouse.php +++ /dev/null @@ -1,24 +0,0 @@ -delete()){ - - // Return single warehouse as a resource - return new WarehouseResource($warehouse); - - } - - } -} diff --git a/app/Classes/ControllersLogic/Warehouses/ListWarehouses.php b/app/Classes/ControllersLogic/Warehouses/ListWarehouses.php deleted file mode 100644 index 1bbe45f..0000000 --- a/app/Classes/ControllersLogic/Warehouses/ListWarehouses.php +++ /dev/null @@ -1,19 +0,0 @@ -paginate(10) ; - - // Return collection of warehouses as a resource - return WarehouseResource::collection($warehouses); - - } -} diff --git a/app/Classes/ControllersLogic/Warehouses/UpdateWarehouse.php b/app/Classes/ControllersLogic/Warehouses/UpdateWarehouse.php deleted file mode 100644 index 5896dd8..0000000 --- a/app/Classes/ControllersLogic/Warehouses/UpdateWarehouse.php +++ /dev/null @@ -1,22 +0,0 @@ -method() === 'PUT' ? Warehouse::findOrFail($request->input('id')) : new Warehouse; - - $warehouse->fill($request->except('id')); - - if($warehouse->save()){ - return new WarehouseResource($warehouse); - } - - } - -} diff --git a/app/Classes/ControllersLogic/Warehouses/WarehouseProfile.php b/app/Classes/ControllersLogic/Warehouses/WarehouseProfile.php deleted file mode 100644 index 1c33dc0..0000000 --- a/app/Classes/ControllersLogic/Warehouses/WarehouseProfile.php +++ /dev/null @@ -1,19 +0,0 @@ -CreatesWarehouse = $CreatesWarehouse; + } + + + public function execute(Request $request){ + + $object = new WarehouseObject($request->input('name'), $request->input('email'),$request->input('street_one'), $request->input('street_two'), $request->input('city'), $request->input('state'), $request->input('post_code'), $request->input('country')); + + return $this->CreatesWarehouse->execute($object); + + } + +} \ No newline at end of file diff --git a/app/Classes/Modules/ControllersLogic/Warehouses/DeleteWarehouseLogic.php b/app/Classes/Modules/ControllersLogic/Warehouses/DeleteWarehouseLogic.php new file mode 100644 index 0000000..6c28749 --- /dev/null +++ b/app/Classes/Modules/ControllersLogic/Warehouses/DeleteWarehouseLogic.php @@ -0,0 +1,33 @@ +DeletesWarehouse = $DeletesWarehouse; + } + + + public function execute(string $id){ + return $this->DeletesWarehouse->execute($id); + } + +} \ No newline at end of file diff --git a/app/Classes/Modules/ControllersLogic/Warehouses/ListWarehouseLogic.php b/app/Classes/Modules/ControllersLogic/Warehouses/ListWarehouseLogic.php new file mode 100644 index 0000000..413f3d8 --- /dev/null +++ b/app/Classes/Modules/ControllersLogic/Warehouses/ListWarehouseLogic.php @@ -0,0 +1,34 @@ +ListsWarehouse = $ListsWarehouse; + } + + public function execute(){ + + return $this->ListsWarehouse->execute(); + + } + +} \ No newline at end of file diff --git a/app/Classes/Modules/ControllersLogic/Warehouses/ProfileWarehouseLogic.php b/app/Classes/Modules/ControllersLogic/Warehouses/ProfileWarehouseLogic.php new file mode 100644 index 0000000..bbbdec0 --- /dev/null +++ b/app/Classes/Modules/ControllersLogic/Warehouses/ProfileWarehouseLogic.php @@ -0,0 +1,31 @@ +ProfilesWarehouse = $ProfilesWarehouse; + } + + + public function execute(String $id){ + return $this->ProfilesWarehouse->execute($id); + } +} \ No newline at end of file diff --git a/app/Classes/Modules/ControllersLogic/Warehouses/UpdateWarehouseLogic.php b/app/Classes/Modules/ControllersLogic/Warehouses/UpdateWarehouseLogic.php new file mode 100644 index 0000000..ce19a93 --- /dev/null +++ b/app/Classes/Modules/ControllersLogic/Warehouses/UpdateWarehouseLogic.php @@ -0,0 +1,34 @@ +UpdatesWarehouse = $UpdatesWarehouse; + } + + + public function execute(string $id, Request $request){ + return $this->UpdatesWarehouse->execute($id,$request); + } + +} \ No newline at end of file diff --git a/app/Classes/Modules/Warehouses/DataTransferObjects/WarehouseObject.php b/app/Classes/Modules/Warehouses/DataTransferObjects/WarehouseObject.php new file mode 100644 index 0000000..935d07c --- /dev/null +++ b/app/Classes/Modules/Warehouses/DataTransferObjects/WarehouseObject.php @@ -0,0 +1,125 @@ +name = $name; + $this->email = $email; + $this->street_one = $street_one; + $this->street_two = $street_two; + $this->city = $city; + $this->state = $state; + $this->post_code = $post_code; + $this->country = $country; + } + + /** + * @return string + */ + public function getName(): string + { + return $this->name; + } + + /** + * @return string + */ + public function getEmail(): string + { + return $this->email; + } + + /** + * @return string + */ + public function getStreetOne(): string + { + return $this->street_one; + } + + /** + * @return string + */ + public function getStreetTwo(): string + { + return $this->street_two; + } + + /** + * @return string + */ + public function getCity(): string + { + return $this->city; + } + + /** + * @return string + */ + public function getState(): string + { + return $this->state; + } + + /** + * @return string + */ + public function getPostCode(): string + { + return $this->post_code; + } + + /** + * @return string + */ + public function getCountry(): string + { + return $this->country; + } + + + + + + +} \ No newline at end of file diff --git a/app/Classes/Modules/Warehouses/Services/CreatesWarehouse.php b/app/Classes/Modules/Warehouses/Services/CreatesWarehouse.php new file mode 100644 index 0000000..d0edf60 --- /dev/null +++ b/app/Classes/Modules/Warehouses/Services/CreatesWarehouse.php @@ -0,0 +1,47 @@ +repository = $repository; + } + + + public function execute(WarehouseObject $warehouse){ + + $this->repository->name = $warehouse->getName(); + $this->repository->email = $warehouse->getEmail(); + $this->repository->street_one = $warehouse->getStreetOne(); + $this->repository->street_two = $warehouse->getStreetTwo(); + $this->repository->city = $warehouse->getCity(); + $this->repository->state = $warehouse->getState(); + $this->repository->post_code = $warehouse->getPostCode(); + $this->repository->country = $warehouse->getCountry(); + $this->repository->save(); + + return $this->repository; + + } + +} \ No newline at end of file diff --git a/app/Classes/Modules/Warehouses/Services/DeletesWarehouse.php b/app/Classes/Modules/Warehouses/Services/DeletesWarehouse.php new file mode 100644 index 0000000..9b1cc17 --- /dev/null +++ b/app/Classes/Modules/Warehouses/Services/DeletesWarehouse.php @@ -0,0 +1,38 @@ +repository = $repository; + } + + public function execute(string $id){ + + $warehouse = $this->repository->findOrFail($id); + + if($warehouse->delete()){ + return new WarehouseResource($warehouse); + } + } + +} \ No newline at end of file diff --git a/app/Classes/Modules/Warehouses/Services/ListsWarehouse.php b/app/Classes/Modules/Warehouses/Services/ListsWarehouse.php new file mode 100644 index 0000000..81eee33 --- /dev/null +++ b/app/Classes/Modules/Warehouses/Services/ListsWarehouse.php @@ -0,0 +1,36 @@ +repository = $repository; + } + + public function execute(){ + + $warehouses = $this->repository->orderBy('created_at')->paginate(10); + + return WarehouseResource::collection($warehouses); + + } + +} \ No newline at end of file diff --git a/app/Classes/Modules/Warehouses/Services/ProfilesWarehouse.php b/app/Classes/Modules/Warehouses/Services/ProfilesWarehouse.php new file mode 100644 index 0000000..70daa02 --- /dev/null +++ b/app/Classes/Modules/Warehouses/Services/ProfilesWarehouse.php @@ -0,0 +1,36 @@ +repository = $repository; + } + + public function execute(String $id){ + + $warehouse = $this->repository->findOrFail($id); + + return new WarehouseResource($warehouse); + + } + +} \ No newline at end of file diff --git a/app/Classes/Modules/Warehouses/Services/UpdatesWarehouse.php b/app/Classes/Modules/Warehouses/Services/UpdatesWarehouse.php new file mode 100644 index 0000000..4730ce3 --- /dev/null +++ b/app/Classes/Modules/Warehouses/Services/UpdatesWarehouse.php @@ -0,0 +1,51 @@ +repository = $repository; + } + + + public function execute(string $id, Request $request){ + + + $warehouse = $this->repository->findOrFail($id); + + $warehouse->name = $request->input('name'); + $warehouse->email = $request->input('email'); + $warehouse->street_one = $request->input('street_one'); + $warehouse->street_two = $request->input('street_two'); + $warehouse->city = $request->input('city'); + $warehouse->state = $request->input('state'); + $warehouse->post_code = $request->input('post_code'); + $warehouse->country = $request->input('country'); + + if($warehouse->save()){ + return new WarehouseResource($warehouse); + } + } + +} \ No newline at end of file diff --git a/app/Http/Controllers/Warehouses/CreateWarehouseController.php b/app/Http/Controllers/Warehouses/CreateWarehouseController.php new file mode 100644 index 0000000..d26c1f1 --- /dev/null +++ b/app/Http/Controllers/Warehouses/CreateWarehouseController.php @@ -0,0 +1,21 @@ +execute($request); + } +} \ No newline at end of file diff --git a/app/Http/Controllers/Warehouses/DeleteWarehouseController.php b/app/Http/Controllers/Warehouses/DeleteWarehouseController.php new file mode 100644 index 0000000..7500d79 --- /dev/null +++ b/app/Http/Controllers/Warehouses/DeleteWarehouseController.php @@ -0,0 +1,20 @@ +execute($id); + } + +} \ No newline at end of file diff --git a/app/Http/Controllers/Warehouses/ListWarehouseController.php b/app/Http/Controllers/Warehouses/ListWarehouseController.php new file mode 100644 index 0000000..135f799 --- /dev/null +++ b/app/Http/Controllers/Warehouses/ListWarehouseController.php @@ -0,0 +1,21 @@ +execute(); + } + +} \ No newline at end of file diff --git a/app/Http/Controllers/Warehouses/ProfileWarehouseController.php b/app/Http/Controllers/Warehouses/ProfileWarehouseController.php new file mode 100644 index 0000000..cf66649 --- /dev/null +++ b/app/Http/Controllers/Warehouses/ProfileWarehouseController.php @@ -0,0 +1,19 @@ +execute($id); + } + +} \ No newline at end of file diff --git a/app/Http/Controllers/Warehouses/UpdateWarehouseController.php b/app/Http/Controllers/Warehouses/UpdateWarehouseController.php new file mode 100644 index 0000000..461fb79 --- /dev/null +++ b/app/Http/Controllers/Warehouses/UpdateWarehouseController.php @@ -0,0 +1,21 @@ +execute($id,$request); + } + +} \ No newline at end of file diff --git a/app/Http/Controllers/Warehouses/WarehouseController.php b/app/Http/Controllers/Warehouses/WarehouseController.php deleted file mode 100644 index b7d8fab..0000000 --- a/app/Http/Controllers/Warehouses/WarehouseController.php +++ /dev/null @@ -1,57 +0,0 @@ -execute($all === null ? false : true); - } - - /** - * Store a newly created resource in storage. - * - * @param \Illuminate\Http\Request $request - * - * @return WarehouseResource - */ - public function store(Request $request): WarehouseResource { - return (new UpdateWarehouse())->execute($request); - } - - /** - * Display the specified resource. - * - * @param int $id - * - * @return WarehouseResource - */ - public function show($id): WarehouseResource { - return (new WarehouseProfile())->execute($id); - } - - /** - * Remove the specified resource from storage. - * - * @param int $id - * - * @return WarehouseResource - */ - public function destroy($id): WarehouseResource { - return (new DeleteWarehouse())->execute($id); - } -} diff --git a/routes/api.php b/routes/api.php index f10e9a6..9611a45 100644 --- a/routes/api.php +++ b/routes/api.php @@ -95,19 +95,19 @@ Route::group(['middleware' => 'api', 'prefix' => 'v1', 'as' => 'api.'], function Route::group(['prefix' => 'warehouse', 'as' => 'warehouse.', 'namespace' => 'Warehouses'], function () { // List warehouses - Route::get('/list/{all?}', 'WarehouseController@index')->name('list'); + Route::get('/list/', 'ListWarehouseController@list')->name('list'); // List single warehouses - Route::get('{id}/profile', 'WarehouseController@show')->name('profile'); + Route::get('{id}/profile','ProfileWarehouseController@show')->name('profile'); // Create new warehouses - Route::post('/', 'WarehouseController@store')->name('create'); + Route::post('/','CreateWarehouseController@create')->name('create'); // Update warehouses - Route::put('{id}', 'WarehouseController@store')->name('update'); + Route::put('{id}', 'UpdateWarehouseController@update')->name('update'); // Delete warehouse - Route::get('{id}', 'WarehouseController@destroy')->name('delete'); + Route::delete('{id}', 'DeleteWarehouseController@destroy')->name('delete'); Route::get('{id}/order/{category}/list', 'WarehouseOrderController@list') ->where('category', 'receiving|shipping|complete')->name('order.list');