From 039827f0c9e9289635825734e0d0465e7ba4a5ad Mon Sep 17 00:00:00 2001 From: hazim Date: Wed, 8 May 2019 11:31:00 +0800 Subject: [PATCH] Cleaned-BackEnd-Companies-AddressBook --- .../Companies/AddressBook/DefaultAddress.php | 23 ------ .../Companies/AddressBook/DeleteAddress.php | 24 ------ .../Companies/AddressBook/ListAddresses.php | 19 ----- .../Companies/AddressBook/UpdateAddress.php | 30 -------- .../Companies/CompanyProfile.php | 19 ----- .../Companies/DeleteCompany.php | 31 -------- .../Companies/ListCompanies.php | 19 ----- .../Services/DefaultsAddressBook.php | 41 ++++++++++ .../Services/DeletesAddressBook.php | 41 ++++++++++ .../AddressBook/Services/ListsAddressBook.php | 36 +++++++++ .../Services/UpdatesAddressBook.php | 52 +++++++++++++ .../Companies/Services/CreatesCompany.php | 1 + .../Companies/Services/DeletesCompany.php | 51 +++++++++++++ .../Companies/Services/ListsCompany.php | 38 ++++++++++ .../Companies/Services/ProfilesCompany.php | 36 +++++++++ .../Companies/Services/SearchesCompany.php | 40 ++++++++++ .../Companies/Services/UpdatesCompany.php} | 41 +++++----- .../AddressBook/CreateAddressBookLogic.php | 39 ++++++++++ .../AddressBook/DefaultAddressBookLogic.php | 33 ++++++++ .../AddressBook/DeleteAddressBookLogic.php | 32 ++++++++ .../AddressBook/ListAddressBookLogic.php | 34 +++++++++ .../AddressBook/UpdateAddressBookLogic.php | 35 +++++++++ .../Companies/CreateCompanyLogic.php | 2 +- .../Companies/DeleteCompanyLogic.php | 34 +++++++++ .../Companies/ListCompanyLogic.php | 33 ++++++++ .../Companies/ProfileCompanyLogic.php | 33 ++++++++ .../Companies/SearchCompanyLogic.php | 35 +++++++++ .../Companies/UpdateCompanyLogic.php | 34 +++++++++ .../CreateAddressBookController.php | 22 ++++++ .../DefaultAddressBookController.php | 21 +++++ .../DeleteAddressBookController.php | 20 +++++ .../AddressBook/ListAddressBookController.php | 22 ++++++ .../UpdateAddressBookController.php | 21 +++++ .../Companies/AddressBookController.php | 76 ------------------- .../Companies/CompanyController.php | 67 ---------------- .../Companies/DeleteCompanyController.php | 21 +++++ .../Companies/ListCompanyController.php | 20 +++++ .../Companies/ProfileCompanyController.php | 22 ++++++ .../Companies/SearchCompanyController.php | 22 ++++++ .../Companies/UpdateCompanyController.php | 21 +++++ routes/api.php | 23 +++--- 41 files changed, 924 insertions(+), 340 deletions(-) delete mode 100644 app/Classes/ControllersLogic/Companies/AddressBook/DefaultAddress.php delete mode 100644 app/Classes/ControllersLogic/Companies/AddressBook/DeleteAddress.php delete mode 100644 app/Classes/ControllersLogic/Companies/AddressBook/ListAddresses.php delete mode 100644 app/Classes/ControllersLogic/Companies/AddressBook/UpdateAddress.php delete mode 100644 app/Classes/ControllersLogic/Companies/CompanyProfile.php delete mode 100644 app/Classes/ControllersLogic/Companies/DeleteCompany.php delete mode 100644 app/Classes/ControllersLogic/Companies/ListCompanies.php create mode 100644 app/Classes/Modules/AddressBook/Services/DefaultsAddressBook.php create mode 100644 app/Classes/Modules/AddressBook/Services/DeletesAddressBook.php create mode 100644 app/Classes/Modules/AddressBook/Services/ListsAddressBook.php create mode 100644 app/Classes/Modules/AddressBook/Services/UpdatesAddressBook.php create mode 100644 app/Classes/Modules/Companies/Services/DeletesCompany.php create mode 100644 app/Classes/Modules/Companies/Services/ListsCompany.php create mode 100644 app/Classes/Modules/Companies/Services/ProfilesCompany.php create mode 100644 app/Classes/Modules/Companies/Services/SearchesCompany.php rename app/Classes/{ControllersLogic/Companies/UpdateCompany.php => Modules/Companies/Services/UpdatesCompany.php} (75%) create mode 100644 app/Classes/Modules/ControllersLogic/Companies/AddressBook/CreateAddressBookLogic.php create mode 100644 app/Classes/Modules/ControllersLogic/Companies/AddressBook/DefaultAddressBookLogic.php create mode 100644 app/Classes/Modules/ControllersLogic/Companies/AddressBook/DeleteAddressBookLogic.php create mode 100644 app/Classes/Modules/ControllersLogic/Companies/AddressBook/ListAddressBookLogic.php create mode 100644 app/Classes/Modules/ControllersLogic/Companies/AddressBook/UpdateAddressBookLogic.php create mode 100644 app/Classes/Modules/ControllersLogic/Companies/DeleteCompanyLogic.php create mode 100644 app/Classes/Modules/ControllersLogic/Companies/ListCompanyLogic.php create mode 100644 app/Classes/Modules/ControllersLogic/Companies/ProfileCompanyLogic.php create mode 100644 app/Classes/Modules/ControllersLogic/Companies/SearchCompanyLogic.php create mode 100644 app/Classes/Modules/ControllersLogic/Companies/UpdateCompanyLogic.php create mode 100644 app/Http/Controllers/Companies/AddressBook/CreateAddressBookController.php create mode 100644 app/Http/Controllers/Companies/AddressBook/DefaultAddressBookController.php create mode 100644 app/Http/Controllers/Companies/AddressBook/DeleteAddressBookController.php create mode 100644 app/Http/Controllers/Companies/AddressBook/ListAddressBookController.php create mode 100644 app/Http/Controllers/Companies/AddressBook/UpdateAddressBookController.php delete mode 100644 app/Http/Controllers/Companies/AddressBookController.php delete mode 100644 app/Http/Controllers/Companies/CompanyController.php create mode 100644 app/Http/Controllers/Companies/DeleteCompanyController.php create mode 100644 app/Http/Controllers/Companies/ListCompanyController.php create mode 100644 app/Http/Controllers/Companies/ProfileCompanyController.php create mode 100644 app/Http/Controllers/Companies/SearchCompanyController.php create mode 100644 app/Http/Controllers/Companies/UpdateCompanyController.php diff --git a/app/Classes/ControllersLogic/Companies/AddressBook/DefaultAddress.php b/app/Classes/ControllersLogic/Companies/AddressBook/DefaultAddress.php deleted file mode 100644 index 425f550..0000000 --- a/app/Classes/ControllersLogic/Companies/AddressBook/DefaultAddress.php +++ /dev/null @@ -1,23 +0,0 @@ -addressBook()->update(['default' => 0]); - - $address = Company::findOrfail($companyId)->addressBook()->findOrFail($id); - - $address->default = 1; - - if($address->save()){ - return new AddressBookResource($address); - } - - } -} diff --git a/app/Classes/ControllersLogic/Companies/AddressBook/DeleteAddress.php b/app/Classes/ControllersLogic/Companies/AddressBook/DeleteAddress.php deleted file mode 100644 index 5aa5c0f..0000000 --- a/app/Classes/ControllersLogic/Companies/AddressBook/DeleteAddress.php +++ /dev/null @@ -1,24 +0,0 @@ -addressBook()->findOrFail($id); - - - if($address->delete()){ - - // Return single address as a resource - return new AddressBookResource($address); - - } - - } -} diff --git a/app/Classes/ControllersLogic/Companies/AddressBook/ListAddresses.php b/app/Classes/ControllersLogic/Companies/AddressBook/ListAddresses.php deleted file mode 100644 index 73577cd..0000000 --- a/app/Classes/ControllersLogic/Companies/AddressBook/ListAddresses.php +++ /dev/null @@ -1,19 +0,0 @@ -addressBook()->orderBy('created_at')->paginate(5); - - // Return collection of addresses as a resource - return AddressBookResource::collection($addresses); - - } -} diff --git a/app/Classes/ControllersLogic/Companies/AddressBook/UpdateAddress.php b/app/Classes/ControllersLogic/Companies/AddressBook/UpdateAddress.php deleted file mode 100644 index 426b229..0000000 --- a/app/Classes/ControllersLogic/Companies/AddressBook/UpdateAddress.php +++ /dev/null @@ -1,30 +0,0 @@ -getId() !== null ? Company::findOrfail($addressObject->getCompanyId())->addressBook()->findOrFail($addressObject->getId()) : new AddressBook; - - $address->company_id = $addressObject->getCompanyId(); - $address->reference = $addressObject->getReference(); - $address->contact = $addressObject->getContact(); - $address->street_one = $addressObject->getStreetOne(); - $address->street_two = $addressObject->getStreetTwo(); - $address->city = $addressObject->getCity(); - $address->state = $addressObject->getState(); - $address->post_code = $addressObject->getPostCode(); - $address->country = $addressObject->getCountry(); - - if($address->save()){ - return new AddressBookResource($address); - } - - } -} diff --git a/app/Classes/ControllersLogic/Companies/CompanyProfile.php b/app/Classes/ControllersLogic/Companies/CompanyProfile.php deleted file mode 100644 index 34c0b72..0000000 --- a/app/Classes/ControllersLogic/Companies/CompanyProfile.php +++ /dev/null @@ -1,19 +0,0 @@ -execute(); - } - - if($company->delete()){ - - // Return single compnay as a resource - return new CompanyResource($company); - - } - - } -} diff --git a/app/Classes/ControllersLogic/Companies/ListCompanies.php b/app/Classes/ControllersLogic/Companies/ListCompanies.php deleted file mode 100644 index c6feb03..0000000 --- a/app/Classes/ControllersLogic/Companies/ListCompanies.php +++ /dev/null @@ -1,19 +0,0 @@ -paginate(10); - - // Return collection of companies as a resource - return CompanyResource::collection($companies); - - } -} diff --git a/app/Classes/Modules/AddressBook/Services/DefaultsAddressBook.php b/app/Classes/Modules/AddressBook/Services/DefaultsAddressBook.php new file mode 100644 index 0000000..c126615 --- /dev/null +++ b/app/Classes/Modules/AddressBook/Services/DefaultsAddressBook.php @@ -0,0 +1,41 @@ +repository = $repository; + } + + public function execute(String $companyId, String $id){ + + $this->repository->findOrfail($companyId)->addressBook()->update(['default' => 0]); + + $address = $this->repository->findOrfail($companyId)->addressBook()->findOrFail($id); + $address->default = 1; + + if($address->save()){ + return new AddressBookResource($address); + } + } + +} \ No newline at end of file diff --git a/app/Classes/Modules/AddressBook/Services/DeletesAddressBook.php b/app/Classes/Modules/AddressBook/Services/DeletesAddressBook.php new file mode 100644 index 0000000..9ae125d --- /dev/null +++ b/app/Classes/Modules/AddressBook/Services/DeletesAddressBook.php @@ -0,0 +1,41 @@ +repository = $repository; + } + + + public function execute(String $companyId, String $id){ + + $address = $this->repository->findOrFail($companyId)->addressBook()->findOrFail($id); + + if($address->delete()){ + + // Return single address as a resource + return new AddressBookResource($address); + + } + } + +} \ No newline at end of file diff --git a/app/Classes/Modules/AddressBook/Services/ListsAddressBook.php b/app/Classes/Modules/AddressBook/Services/ListsAddressBook.php new file mode 100644 index 0000000..7d78ece --- /dev/null +++ b/app/Classes/Modules/AddressBook/Services/ListsAddressBook.php @@ -0,0 +1,36 @@ +repository = $repository; + } + + + public function execute(String $companyId){ + + $addresses = $this->repository->findOrfail($companyId)->addressBook()->orderBy('created_at')->paginate(5); + return AddressBookResource::collection($addresses); + } +} \ No newline at end of file diff --git a/app/Classes/Modules/AddressBook/Services/UpdatesAddressBook.php b/app/Classes/Modules/AddressBook/Services/UpdatesAddressBook.php new file mode 100644 index 0000000..77b67e4 --- /dev/null +++ b/app/Classes/Modules/AddressBook/Services/UpdatesAddressBook.php @@ -0,0 +1,52 @@ +repository = $repository; + } + + + public function execute(String $companyId, Request $request){ + + $address = $this->repository->findOrfail($companyId)->addressBook()->findOrFail($request->input('id')); + + $address->company_id = $companyId; + $address->reference = $request->input('reference'); + $address->contact = $request->input('contact'); + $address->street_one = $request->input('street_one'); + $address->street_two = $request->input('street_two'); + $address->city = $request->input('city'); + $address->state = $request->input('state'); + $address->post_code = $request->input('post_code'); + $address->country = $request->input('country'); + + if($address->save()){ + return new AddressBookResource($address); + } + + } + +} \ No newline at end of file diff --git a/app/Classes/Modules/Companies/Services/CreatesCompany.php b/app/Classes/Modules/Companies/Services/CreatesCompany.php index 8a19242..3a536cc 100644 --- a/app/Classes/Modules/Companies/Services/CreatesCompany.php +++ b/app/Classes/Modules/Companies/Services/CreatesCompany.php @@ -24,6 +24,7 @@ class CreatesCompany $model = $this->repository->create([ 'marking' => $object->getMarking(), 'name' => $object->getName(), + 'email' => $object->getEmail(), 'registration_no' => $object->getRegistrationNumber(), 'tax_no' => $object->getTaxNumber(), ]); diff --git a/app/Classes/Modules/Companies/Services/DeletesCompany.php b/app/Classes/Modules/Companies/Services/DeletesCompany.php new file mode 100644 index 0000000..cfed202 --- /dev/null +++ b/app/Classes/Modules/Companies/Services/DeletesCompany.php @@ -0,0 +1,51 @@ +repository = $repository; + } + + + public function execute(string $id) + { + + $company = $this->repository->findOrFail($id); + + + foreach (Constants::COMPANY_DOCUMENTS as $documentType) { + (new DeleteAllDocuments(Constants::MODULE_TYPES['company'], $id, $documentType))->execute(); + } + + if ($company->delete()) { + + // Return single compnay as a resource + return new CompanyResource($company); + + } + } + +} \ No newline at end of file diff --git a/app/Classes/Modules/Companies/Services/ListsCompany.php b/app/Classes/Modules/Companies/Services/ListsCompany.php new file mode 100644 index 0000000..8f68c79 --- /dev/null +++ b/app/Classes/Modules/Companies/Services/ListsCompany.php @@ -0,0 +1,38 @@ +repository = $repository; + } + + + public function execute(){ + + $companies = $this->repository->orderBy('created_at')->paginate(10); + + return CompanyResource::collection($companies); + + } +} \ No newline at end of file diff --git a/app/Classes/Modules/Companies/Services/ProfilesCompany.php b/app/Classes/Modules/Companies/Services/ProfilesCompany.php new file mode 100644 index 0000000..545b1d2 --- /dev/null +++ b/app/Classes/Modules/Companies/Services/ProfilesCompany.php @@ -0,0 +1,36 @@ +repository = $repository; + } + + + public function execute(string $id){ + + $company = $this->repository->findOrFail($id); + + return new CompanyResource($company); + } + +} \ No newline at end of file diff --git a/app/Classes/Modules/Companies/Services/SearchesCompany.php b/app/Classes/Modules/Companies/Services/SearchesCompany.php new file mode 100644 index 0000000..5e7645a --- /dev/null +++ b/app/Classes/Modules/Companies/Services/SearchesCompany.php @@ -0,0 +1,40 @@ +repository = $repository; + } + + + public function execute(Request $request){ + + $companies = $this->repository->where('name', 'LIKE', "%".$request->input('query')."%") + ->orWhere('marking', 'LIKE', "%".$request->input('query')."%")->paginate(10); + + return CompanyResource::collection($companies); + } + +} \ No newline at end of file diff --git a/app/Classes/ControllersLogic/Companies/UpdateCompany.php b/app/Classes/Modules/Companies/Services/UpdatesCompany.php similarity index 75% rename from app/Classes/ControllersLogic/Companies/UpdateCompany.php rename to app/Classes/Modules/Companies/Services/UpdatesCompany.php index 855b088..4120f47 100644 --- a/app/Classes/ControllersLogic/Companies/UpdateCompany.php +++ b/app/Classes/Modules/Companies/Services/UpdatesCompany.php @@ -1,28 +1,33 @@ method() === 'PUT' ? Company::findOrFail($request->input('id')) : new company; - $company->fill($request->except(array_merge(Constants::COMPANY_DOCUMENTS, Constants::ADDRESS_FIELDS))); + public function execute(Request $request){ + + $company = $request->method() === 'PUT' ? Company::findOrFail($request->input('id')) : new company; + $company->fill($request->except(array_merge(Constants::COMPANY_DOCUMENTS, Constants::ADDRESS_FIELDS))); if($company->save()){ @@ -60,14 +66,9 @@ class UpdateCompany $request->input('state'), $request->input('post_code'), $request->input('country'), false, true); $this->createsAddress->execute($billing); - + return new CompanyResource($company); } - } - public function updateDocuments(){ - - } - -} +} \ No newline at end of file diff --git a/app/Classes/Modules/ControllersLogic/Companies/AddressBook/CreateAddressBookLogic.php b/app/Classes/Modules/ControllersLogic/Companies/AddressBook/CreateAddressBookLogic.php new file mode 100644 index 0000000..5461087 --- /dev/null +++ b/app/Classes/Modules/ControllersLogic/Companies/AddressBook/CreateAddressBookLogic.php @@ -0,0 +1,39 @@ +CreatesAddress = $CreatesAddress; + } + + + public function execute(String $companyId, Request $request){ + + $object = new AddressBookObject(null, $companyId, $request->input('reference'), $request->input('contact'), + $request->input('street_one'), $request->input('street_two'), $request->input('city'), + $request->input('state'), $request->input('post_code'), $request->input('country'), false, true); + + return $this->CreatesAddress->execute($object); + } +} \ No newline at end of file diff --git a/app/Classes/Modules/ControllersLogic/Companies/AddressBook/DefaultAddressBookLogic.php b/app/Classes/Modules/ControllersLogic/Companies/AddressBook/DefaultAddressBookLogic.php new file mode 100644 index 0000000..cc164d9 --- /dev/null +++ b/app/Classes/Modules/ControllersLogic/Companies/AddressBook/DefaultAddressBookLogic.php @@ -0,0 +1,33 @@ +DefaultsAddressBook = $DefaultsAddressBook; + } + + + public function execute(String $companyId, String $id){ + + return $this->DefaultsAddressBook->execute($companyId, $id); + } +} \ No newline at end of file diff --git a/app/Classes/Modules/ControllersLogic/Companies/AddressBook/DeleteAddressBookLogic.php b/app/Classes/Modules/ControllersLogic/Companies/AddressBook/DeleteAddressBookLogic.php new file mode 100644 index 0000000..2237c2a --- /dev/null +++ b/app/Classes/Modules/ControllersLogic/Companies/AddressBook/DeleteAddressBookLogic.php @@ -0,0 +1,32 @@ +DeletesAddressBook = $DeletesAddressBook; + } + + public function execute(String $companyId, String $id){ + + return $this->DeletesAddressBook->execute($id, $companyId); + } +} \ No newline at end of file diff --git a/app/Classes/Modules/ControllersLogic/Companies/AddressBook/ListAddressBookLogic.php b/app/Classes/Modules/ControllersLogic/Companies/AddressBook/ListAddressBookLogic.php new file mode 100644 index 0000000..2ebebee --- /dev/null +++ b/app/Classes/Modules/ControllersLogic/Companies/AddressBook/ListAddressBookLogic.php @@ -0,0 +1,34 @@ +ListsAddressBook = $ListsAddressBook; + } + + + public function execute(String $companyId){ + + return $this->ListsAddressBook->execute($companyId); + + } +} \ No newline at end of file diff --git a/app/Classes/Modules/ControllersLogic/Companies/AddressBook/UpdateAddressBookLogic.php b/app/Classes/Modules/ControllersLogic/Companies/AddressBook/UpdateAddressBookLogic.php new file mode 100644 index 0000000..aeab48f --- /dev/null +++ b/app/Classes/Modules/ControllersLogic/Companies/AddressBook/UpdateAddressBookLogic.php @@ -0,0 +1,35 @@ +UpdatesAddressBook = $UpdatesAddressBook; + } + + + public function execute(String $companyId, Request $request){ + + return $this->UpdatesAddressBook->execute($companyId, $request); + + } + +} \ No newline at end of file diff --git a/app/Classes/Modules/ControllersLogic/Companies/CreateCompanyLogic.php b/app/Classes/Modules/ControllersLogic/Companies/CreateCompanyLogic.php index 9298219..525be3b 100644 --- a/app/Classes/Modules/ControllersLogic/Companies/CreateCompanyLogic.php +++ b/app/Classes/Modules/ControllersLogic/Companies/CreateCompanyLogic.php @@ -60,7 +60,7 @@ class CreateCompanyLogic $company = $this->createsCompany->execute($object); $address = new AddressBookObject(null, $company->id, $request->input('name'), $request->input('contact'), - $request->input('street_one'), $request->input('stret_two'), $request->input('city'), + $request->input('street_one'), $request->input('street_two'), $request->input('city'), $request->input('state'), $request->input('post_code'), $request->input('country'), false, true); $this->createsAddress->execute($address); diff --git a/app/Classes/Modules/ControllersLogic/Companies/DeleteCompanyLogic.php b/app/Classes/Modules/ControllersLogic/Companies/DeleteCompanyLogic.php new file mode 100644 index 0000000..cb4e3d6 --- /dev/null +++ b/app/Classes/Modules/ControllersLogic/Companies/DeleteCompanyLogic.php @@ -0,0 +1,34 @@ +DeletesCompany = $DeletesCompany; + } + + public function execute(String $id){ + + return $this->DeletesCompany->execute($id); + + } + +} \ No newline at end of file diff --git a/app/Classes/Modules/ControllersLogic/Companies/ListCompanyLogic.php b/app/Classes/Modules/ControllersLogic/Companies/ListCompanyLogic.php new file mode 100644 index 0000000..5ad0432 --- /dev/null +++ b/app/Classes/Modules/ControllersLogic/Companies/ListCompanyLogic.php @@ -0,0 +1,33 @@ +ListCompany = $ListCompany; + } + + + public function execute(){ + + return $this->ListCompany->execute(); + } +} \ No newline at end of file diff --git a/app/Classes/Modules/ControllersLogic/Companies/ProfileCompanyLogic.php b/app/Classes/Modules/ControllersLogic/Companies/ProfileCompanyLogic.php new file mode 100644 index 0000000..afc31a9 --- /dev/null +++ b/app/Classes/Modules/ControllersLogic/Companies/ProfileCompanyLogic.php @@ -0,0 +1,33 @@ +ProfilesCompany = $ProfilesCompany; + } + + public function execute(string $id){ + + return $this->ProfilesCompany->execute($id); + } + +} \ No newline at end of file diff --git a/app/Classes/Modules/ControllersLogic/Companies/SearchCompanyLogic.php b/app/Classes/Modules/ControllersLogic/Companies/SearchCompanyLogic.php new file mode 100644 index 0000000..a89743b --- /dev/null +++ b/app/Classes/Modules/ControllersLogic/Companies/SearchCompanyLogic.php @@ -0,0 +1,35 @@ +SearchesCompany = $SearchesCompany; + } + + + public function execute(Request $request){ + + return $this->SearchesCompany->execute($request); + } + +} \ No newline at end of file diff --git a/app/Classes/Modules/ControllersLogic/Companies/UpdateCompanyLogic.php b/app/Classes/Modules/ControllersLogic/Companies/UpdateCompanyLogic.php new file mode 100644 index 0000000..e180579 --- /dev/null +++ b/app/Classes/Modules/ControllersLogic/Companies/UpdateCompanyLogic.php @@ -0,0 +1,34 @@ +UpdatesCompany = $UpdatesCompany; + } + + + public function execute(Request $request){ + + return $this->UpdatesCompany->execute($request); + } +} \ No newline at end of file diff --git a/app/Http/Controllers/Companies/AddressBook/CreateAddressBookController.php b/app/Http/Controllers/Companies/AddressBook/CreateAddressBookController.php new file mode 100644 index 0000000..86d0910 --- /dev/null +++ b/app/Http/Controllers/Companies/AddressBook/CreateAddressBookController.php @@ -0,0 +1,22 @@ +execute($companyId,$request); + } + +} \ No newline at end of file diff --git a/app/Http/Controllers/Companies/AddressBook/DefaultAddressBookController.php b/app/Http/Controllers/Companies/AddressBook/DefaultAddressBookController.php new file mode 100644 index 0000000..99597f1 --- /dev/null +++ b/app/Http/Controllers/Companies/AddressBook/DefaultAddressBookController.php @@ -0,0 +1,21 @@ +execute($companyId,$id); + } + +} \ No newline at end of file diff --git a/app/Http/Controllers/Companies/AddressBook/DeleteAddressBookController.php b/app/Http/Controllers/Companies/AddressBook/DeleteAddressBookController.php new file mode 100644 index 0000000..e8a5133 --- /dev/null +++ b/app/Http/Controllers/Companies/AddressBook/DeleteAddressBookController.php @@ -0,0 +1,20 @@ +execute($id,$companyId); + } +} \ No newline at end of file diff --git a/app/Http/Controllers/Companies/AddressBook/ListAddressBookController.php b/app/Http/Controllers/Companies/AddressBook/ListAddressBookController.php new file mode 100644 index 0000000..96379fe --- /dev/null +++ b/app/Http/Controllers/Companies/AddressBook/ListAddressBookController.php @@ -0,0 +1,22 @@ +execute($companyId); + } + +} \ No newline at end of file diff --git a/app/Http/Controllers/Companies/AddressBook/UpdateAddressBookController.php b/app/Http/Controllers/Companies/AddressBook/UpdateAddressBookController.php new file mode 100644 index 0000000..9ca71c1 --- /dev/null +++ b/app/Http/Controllers/Companies/AddressBook/UpdateAddressBookController.php @@ -0,0 +1,21 @@ +execute($companyId,$request); + } +} \ No newline at end of file diff --git a/app/Http/Controllers/Companies/AddressBookController.php b/app/Http/Controllers/Companies/AddressBookController.php deleted file mode 100644 index f497bd7..0000000 --- a/app/Http/Controllers/Companies/AddressBookController.php +++ /dev/null @@ -1,76 +0,0 @@ -execute($companyId); - - } - - /** - * Store a newly created resource in storage. - * - * @param \Illuminate\Http\Request $request - * @param string $companyId - * @return AddressBookResource - */ - public function store(Request $request, string $companyId) - { - return (new UpdateAddress())->execute(new AddressObject( - $companyId, - $request->input('street_one'), - $request->input('street_two'), - $request->input('city'), - $request->input('state'), - $request->input('post_code'), - $request->input('country'), - $request->input('id'), - $request->input('reference'), - $request->input('contact') - )); - } - - /** - * Set default address - * - * @param string $id - * @param string $companyId - * @return AddressBookResource - */ - public function default(string $companyId, string $id) - { - return (new DefaultAddress())->execute($companyId, $id); - } - - /** - * Remove the specified resource from storage. - * - * @param string $companyId - * @param string $id - * - * @return AddressBookResource - */ - public function destroy(string $companyId, string $id): AddressBookResource { - - return (new DeleteAddress())->execute($companyId, $id); - - } -} diff --git a/app/Http/Controllers/Companies/CompanyController.php b/app/Http/Controllers/Companies/CompanyController.php deleted file mode 100644 index 0615c1b..0000000 --- a/app/Http/Controllers/Companies/CompanyController.php +++ /dev/null @@ -1,67 +0,0 @@ -execute(); - } - - /** - * Store a newly created resource in storage. - * - * @param \Illuminate\Http\Request $request - * - * @param UpdateCompany $logic - * @return CompanyResource - */ - public function store(Request $request, UpdateCompany $logic): CompanyResource { - return $logic->execute($request); - } - - /** - * Display the specified resource. - * - * @param int $id - * - * @return CompanyResource - */ - public function show($id): CompanyResource { - return (new CompanyProfile())->execute($id); - } - - /** - * Remove the specified resource from storage. - * - * @param int $id - * - * @return CompanyResource - */ - public function destroy($id): CompanyResource { - return (new DeleteCompany())->execute($id); - } - - public function search(Request $request){ - // Get company - $companies = Company::where('name', 'LIKE', "%".$request->input('query')."%") - ->orWhere('marking', 'LIKE', "%".$request->input('query')."%")->paginate(10); - - // Return collection of companies as a resource - return CompanyResource::collection($companies); - } -} diff --git a/app/Http/Controllers/Companies/DeleteCompanyController.php b/app/Http/Controllers/Companies/DeleteCompanyController.php new file mode 100644 index 0000000..0df5c9b --- /dev/null +++ b/app/Http/Controllers/Companies/DeleteCompanyController.php @@ -0,0 +1,21 @@ +execute($id); + + } +} \ No newline at end of file diff --git a/app/Http/Controllers/Companies/ListCompanyController.php b/app/Http/Controllers/Companies/ListCompanyController.php new file mode 100644 index 0000000..20620c8 --- /dev/null +++ b/app/Http/Controllers/Companies/ListCompanyController.php @@ -0,0 +1,20 @@ +execute(); + } + +} \ No newline at end of file diff --git a/app/Http/Controllers/Companies/ProfileCompanyController.php b/app/Http/Controllers/Companies/ProfileCompanyController.php new file mode 100644 index 0000000..afdaded --- /dev/null +++ b/app/Http/Controllers/Companies/ProfileCompanyController.php @@ -0,0 +1,22 @@ +execute($id); + + } + +} \ No newline at end of file diff --git a/app/Http/Controllers/Companies/SearchCompanyController.php b/app/Http/Controllers/Companies/SearchCompanyController.php new file mode 100644 index 0000000..3e5166f --- /dev/null +++ b/app/Http/Controllers/Companies/SearchCompanyController.php @@ -0,0 +1,22 @@ +execute($request); + + } +} \ No newline at end of file diff --git a/app/Http/Controllers/Companies/UpdateCompanyController.php b/app/Http/Controllers/Companies/UpdateCompanyController.php new file mode 100644 index 0000000..9acde46 --- /dev/null +++ b/app/Http/Controllers/Companies/UpdateCompanyController.php @@ -0,0 +1,21 @@ +execute($request); + } +} \ No newline at end of file diff --git a/routes/api.php b/routes/api.php index c184dce..e96be19 100644 --- a/routes/api.php +++ b/routes/api.php @@ -20,6 +20,7 @@ Route::group(['middleware' => 'api', 'prefix' => 'v1', 'as' => 'api.'], function Route::get('/list', 'ListUserController@list')->name('list'); Route::post('/create', 'RegisterAccountController@register')->name('create'); Route::post('/update/{id}', 'UpdateUserController@update')->name('update'); + Route::get('/{id}/profile','UserProfileController@index')->name('profile'); Route::group(['prefix' => 'invite', 'as' => 'invite.'], function () { Route::post('/invite', 'InviteUserController@invite')->name('create'); @@ -32,43 +33,43 @@ Route::group(['middleware' => 'api', 'prefix' => 'v1', 'as' => 'api.'], function Route::group(['prefix' => 'company', 'as' => 'company.', 'namespace' => 'Companies'], function () { // List companies - Route::get('/list', 'CompanyController@index')->name('list'); + Route::get('/list', 'ListCompanyController@list')->name('list'); // search companies - Route::get('/search', 'CompanyController@search')->name('search'); + Route::get('/search', 'SearchCompanyController@search')->name('search'); // List single company - Route::get('{id}/profile', 'CompanyController@show')->name('profile'); + Route::get('{id}/profile', 'ProfileCompanyController@show')->name('profile'); // Create new company Route::post('/', 'CreateCompanyController@create')->name('create'); // Update company - Route::put('{id}', 'CompanyController@store')->name('update'); + Route::put('{id}', 'UpdateCompanyController@update')->name('update'); // Delete company - Route::delete('{id}', 'CompanyController@destroy')->name('delete'); + Route::delete('{id}', 'DeleteCompanyController@destroy')->name('delete'); Route::get('{id}/order/{category}/list', 'CompanyOrderController@list') ->where('category', 'processing|shipping|receiving|complete|cancel')->name('order.list'); // Companies Address Book Routes - Route::group(['prefix' => 'address-book', 'as' => 'addressBook.'], function () { + Route::group(['prefix' => 'address-book', 'as' => 'addressBook.', 'namespace' => 'AddressBook'], function () { // List addresses in company's address book - Route::get('{companyId}', 'AddressBookController@index')->name('list'); + Route::get('{companyId}', 'ListAddressBookController@list')->name('list'); // Create new address in company's address book - Route::post('{companyId}', 'AddressBookController@store')->name('create'); + Route::post('{companyId}', 'CreateAddressBookController@store')->name('create'); // Update address in company's address book - Route::put('{companyId}/{id}', 'AddressBookController@store')->name('update'); + Route::put('{companyId}/{id}', 'UpdateAddressBookController@update')->name('update'); // sets default delivery address - Route::put('{companyId}/{id}/default', 'AddressBookController@default')->name('default'); + Route::put('{companyId}/{id}/default', 'DefaultAddressBookController@default')->name('default'); // Delete address from company's address book - Route::delete('{companyId}/{id}', 'AddressBookController@destroy')->name('delete'); + Route::delete('{companyId}/{id}', 'DeleteAddressBookController@destroy')->name('delete'); }); });