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/ControllersLogic/Contacts/DeleteContact.php b/app/Classes/ControllersLogic/Contacts/DeleteContact.php deleted file mode 100644 index 53a7c88..0000000 --- a/app/Classes/ControllersLogic/Contacts/DeleteContact.php +++ /dev/null @@ -1,24 +0,0 @@ -delete()){ - - // Return single address as a resource - return new ContactResource($contact); - - } - - } -} diff --git a/app/Classes/ControllersLogic/Contacts/ListContacts.php b/app/Classes/ControllersLogic/Contacts/ListContacts.php deleted file mode 100644 index fa7514b..0000000 --- a/app/Classes/ControllersLogic/Contacts/ListContacts.php +++ /dev/null @@ -1,19 +0,0 @@ -where('reference_id', $reference)->orderBy('created_at')->paginate(5); - - // Return collection of contacts as a resource - return ContactResource::collection($contacts); - - } -} diff --git a/app/Classes/ControllersLogic/Contacts/UpdateContact.php b/app/Classes/ControllersLogic/Contacts/UpdateContact.php deleted file mode 100644 index 3dfd949..0000000 --- a/app/Classes/ControllersLogic/Contacts/UpdateContact.php +++ /dev/null @@ -1,46 +0,0 @@ -repository = $repository; - } - - - public function execute(Request $request, int $type, string $reference) { - - $contact = $this->repository->findOrFail($id); - - $contact->type = $type; - $contact->reference_id = $reference; - $contact->name = $request->input('name'); - $contact->designation = $request->input('designation'); - $contact->contact = $request->input('contact'); - $contact->email = $request->input('email'); - - - $contact = $request->method() === 'PUT' ? Contact::findOrFail($request->input('id')) : new Contact; - - - - if($contact->save()){ - return new ContactResource($contact); - } - - } -} 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/Contacts/DataTransferObjects/ContactObject.php b/app/Classes/Modules/Contacts/DataTransferObjects/ContactObject.php index aba325d..a5b997e 100644 --- a/app/Classes/Modules/Contacts/DataTransferObjects/ContactObject.php +++ b/app/Classes/Modules/Contacts/DataTransferObjects/ContactObject.php @@ -1,6 +1,6 @@ repository = $repository; + } + + + public function execute(String $id){ + + $contact = $this->repository->findOrFail($id); + + if($contact->delete()){ + + // Return single address as a resource + return new ContactResource($contact); + + } + } + +} \ No newline at end of file diff --git a/app/Classes/Modules/Contacts/Services/ListsContact.php b/app/Classes/Modules/Contacts/Services/ListsContact.php index 1b07d48..982ce8c 100644 --- a/app/Classes/Modules/Contacts/Services/ListsContact.php +++ b/app/Classes/Modules/Contacts/Services/ListsContact.php @@ -30,7 +30,7 @@ class ListsContact public function execute(int $type, int $referenceId){ $contacts = $this->repository->where('type', $type) - ->where('reference_id', $referenceId)->get(); + ->where('reference_id', $referenceId)->orderBy('created_at')->paginate(5); // Return collection of contacts as a resource return ContactResource::collection($contacts); 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/Classes/Modules/ControllersLogic/Contacts/CreateContactLogic.php b/app/Classes/Modules/ControllersLogic/Contacts/CreateContactLogic.php index d9887bb..88cfdcf 100644 --- a/app/Classes/Modules/ControllersLogic/Contacts/CreateContactLogic.php +++ b/app/Classes/Modules/ControllersLogic/Contacts/CreateContactLogic.php @@ -27,7 +27,7 @@ class CreateContactLogic { try{ - $object = new ContactObject($request->input('name'), $request->input('designation'), $request->input('contact'), $request->input('email')); + $object = new ContactObject($type, $referenceId, $request->input('name'), $request->input('designation'), $request->input('contact'), $request->input('email')); return $this->createContact->execute($object, $type, $referenceId); } diff --git a/app/Classes/Modules/ControllersLogic/Contacts/DeleteContactLogic.php b/app/Classes/Modules/ControllersLogic/Contacts/DeleteContactLogic.php new file mode 100644 index 0000000..111c114 --- /dev/null +++ b/app/Classes/Modules/ControllersLogic/Contacts/DeleteContactLogic.php @@ -0,0 +1,35 @@ +DeletesContact = $DeletesContact; + } + + + public function execute(String $id){ + return $this->DeletesContact->execute($id); + } + +} + diff --git a/app/Classes/Modules/ControllersLogic/Contacts/UpdateContactLogic.php b/app/Classes/Modules/ControllersLogic/Contacts/UpdateContactLogic.php index 45b7e5e..e10a271 100644 --- a/app/Classes/Modules/ControllersLogic/Contacts/UpdateContactLogic.php +++ b/app/Classes/Modules/ControllersLogic/Contacts/UpdateContactLogic.php @@ -28,10 +28,9 @@ class UpdateContactLogic } - public function execute(int $id, Request $request) + public function execute(int $id, string $referenceId, int $type, Request $request) { - $object = new ContactObject($request->input('name'), $request->input('designation'), $request->input('contact'), $request->input('email')); - + $object = new ContactObject($type, $referenceId, $request->input('name'), $request->input('designation'), $request->input('contact'), $request->input('email')); return $this->updateContact->execute($id, $object); } } \ 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 index 9bc44b9..e69de29 100644 --- a/app/Http/Controllers/Companies/CompanyController.php +++ b/app/Http/Controllers/Companies/CompanyController.php @@ -1,67 +0,0 @@ -execute($pagination); - } - - /** - * 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/app/Http/Controllers/Contacts/ContactController.php b/app/Http/Controllers/Contacts/ContactController.php deleted file mode 100644 index 1453c73..0000000 --- a/app/Http/Controllers/Contacts/ContactController.php +++ /dev/null @@ -1,53 +0,0 @@ -execute(Constants::MODULE_TYPES[$type], $reference); - - } - - /** - * Store a newly created resource in storage. - * - * @param \Illuminate\Http\Request $request - * @param string $type - * @param string $reference - * @return ContactResource - */ - public function store(Request $request, string $type, string $reference) - { - return (new UpdateContact())->execute($request, Constants::MODULE_TYPES[$type], $reference); - } - - - /** - * Remove the specified resource from storage. - * - * @param string $id - * - * @return ContactResource - */ - public function destroy(string $id): ContactResource { - - return (new DeleteContact())->execute($id); - - } -} diff --git a/app/Http/Controllers/Contacts/CreateContactController.php b/app/Http/Controllers/Contacts/CreateContactController.php index 268089c..cd98cda 100644 --- a/app/Http/Controllers/Contacts/CreateContactController.php +++ b/app/Http/Controllers/Contacts/CreateContactController.php @@ -9,6 +9,7 @@ use App\Classes\Modules\ControllerLogic\Contacts\CreateContactLogic; class CreateContactController { public function create(string $type, int $referencesId, Request $request, CreateContactLogic $logic){ + return $logic->execute(Constants::MODULE_TYPES[$type], $referencesId, $request); } diff --git a/app/Http/Controllers/Contacts/DeleteContactController.php b/app/Http/Controllers/Contacts/DeleteContactController.php new file mode 100644 index 0000000..a8c9a10 --- /dev/null +++ b/app/Http/Controllers/Contacts/DeleteContactController.php @@ -0,0 +1,18 @@ +execute($id); + } +} \ No newline at end of file diff --git a/app/Http/Controllers/Contacts/ListContactController.php b/app/Http/Controllers/Contacts/ListContactController.php index 50281df..d080a77 100644 --- a/app/Http/Controllers/Contacts/ListContactController.php +++ b/app/Http/Controllers/Contacts/ListContactController.php @@ -8,8 +8,6 @@ namespace App\Http\Controllers\Contacts; - - use App\Modules\ControllerLogic\Contacts\ListContactLogic; diff --git a/app/Http/Controllers/Contacts/UpdateContactController.php b/app/Http/Controllers/Contacts/UpdateContactController.php index 5456a76..27a8474 100644 --- a/app/Http/Controllers/Contacts/UpdateContactController.php +++ b/app/Http/Controllers/Contacts/UpdateContactController.php @@ -9,13 +9,15 @@ namespace App\Http\Controllers\Contacts; +use App\Classes\Constants; use App\Modules\ControllerLogic\Contacts\UpdateContactLogic; use Illuminate\Http\Request; class UpdateContactController { - public function update(int $id,Request $request, UpdateContactLogic $logic){ - return $logic->execute($id, $request); + public function update(string $type, string $referenceId, int $id, Request $request, UpdateContactLogic $logic){ + + return $logic->execute($id,$referenceId, Constants::MODULE_TYPES[$type], $request); } } \ No newline at end of file diff --git a/app/Http/Resources/Contact.php b/app/Http/Resources/Contact.php index e22a859..1167f6a 100644 --- a/app/Http/Resources/Contact.php +++ b/app/Http/Resources/Contact.php @@ -19,7 +19,7 @@ class Contact extends JsonResource 'id' => $this->id, 'type' => $this->type, 'reference_id' => $this->reference_id, - 'name' => $this->first_name.' '. $this->last_name, + 'name' => $this->name, 'designation' => $this->designation, 'contact' => $this->contact, 'email' => $this->email, diff --git a/routes/api.php b/routes/api.php index 626f129..3696747 100644 --- a/routes/api.php +++ b/routes/api.php @@ -35,40 +35,40 @@ Route::group(['middleware' => 'api', 'prefix' => 'v1', 'as' => 'api.'], function Route::get('/list/{pagination?}', 'CompanyController@index')->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'); }); }); @@ -77,16 +77,16 @@ Route::group(['middleware' => 'api', 'prefix' => 'v1', 'as' => 'api.'], function Route::group(['prefix' => 'contact', 'as' => 'contact.', 'namespace' => 'Contacts'], function () { // List contacts - Route::get('list/{type}/{reference}', 'ContactController@index')->name('list'); + Route::get('list/{type}/{reference}', 'ListContactController@list')->name('list'); // Create new contact - Route::post('{type}/{reference}', 'ContactController@store')->name('create'); + Route::post('{type}/{reference}', 'CreateContactController@create')->name('create'); // Update contact - Route::put('{type}/{reference}/{id}', 'ContactController@store')->name('update'); + Route::put('{type}/{reference}/{id}', 'UpdateContactController@update')->name('update'); // Delete contact - Route::delete('{id}', 'ContactController@destroy')->name('delete'); + Route::delete('{id}', 'DeleteContactController@destroy')->name('delete'); }); @@ -125,7 +125,7 @@ Route::group(['middleware' => 'api', 'prefix' => 'v1', 'as' => 'api.'], function Route::post('/{orderId}/update', 'updateOrderStepController@update')->name('step.update'); - Route::post('/{orderId}/packing-list', 'UpdatePackingListController@update')->name('packages.update'); + Route::post('/{orderId}/packing-list', 'OrderController@updatePackingList')->name('packages.update'); Route::post('/{orderId}/shipping-arrangement', 'OrderController@orderShippingArrangement')->name('shipping.arrangement.create'); Route::post('/{orderId}/shipping-arrangement/reschedule', 'OrderController@rescheduleShipping')->name('shipping.arrangement.reschedule');