diff --git a/app/Classes/Modules/Companies/ControllersLogic/CreateCompanyContactNumberLogic.php b/app/Classes/Modules/Companies/ControllersLogic/CreateCompanyContactNumberLogic.php new file mode 100644 index 00000000..34d8d235 --- /dev/null +++ b/app/Classes/Modules/Companies/ControllersLogic/CreateCompanyContactNumberLogic.php @@ -0,0 +1,74 @@ + 'Created Company Contact Number', + 'message' => 'You have successfully created the Company Contact Number' + ]; + } + + /** @var FetchesCompany */ + private $fetchesCompany; + + /** @var CreatesContact */ + private $createsContact; + + /** @var CreateContactProcessor */ + private $createContactProcessor; + + /** + * UpdateCompanyControllersLogic constructor. + * @param FetchesCompany $fetchesCompany + * @param CreatesContact $createsContact + * @param CreateContactProcessor $createContactProcessor + */ + public function __construct(FetchesCompany $fetchesCompany, CreatesContact $createsContact, CreateContactProcessor $createContactProcessor) + { + $this->fetchesCompany = $fetchesCompany; + $this->createsContact = $createsContact; + $this->createContactProcessor = $createContactProcessor; + } + + /** + * @param Request $request + * @return JsonResponse + * @throws ErrorException + */ + public function logic(Request $request) : JsonResponse + { + $company = $this->fetchesCompany->execute(['id' => $request->input('companyId')]); + + $contact = new ContactObject( + $company->reference, + $request->input('contactNumber'), + $company->email, + $company->wechat_id + ); + + $this->createContactProcessor->execute($contact, $company); + + return $this->resourceResponse(new CompanyResource($company)); + + } + +} diff --git a/app/Http/Controllers/Companies/CreateCompanyContactNumberController.php b/app/Http/Controllers/Companies/CreateCompanyContactNumberController.php new file mode 100644 index 00000000..a912964f --- /dev/null +++ b/app/Http/Controllers/Companies/CreateCompanyContactNumberController.php @@ -0,0 +1,21 @@ +execute($request); + } +} diff --git a/resources/assets/vue/components/companies/elements/CustomerProfileComponent.vue b/resources/assets/vue/components/companies/elements/CustomerProfileComponent.vue index f99262b9..c93a5e3f 100644 --- a/resources/assets/vue/components/companies/elements/CustomerProfileComponent.vue +++ b/resources/assets/vue/components/companies/elements/CustomerProfileComponent.vue @@ -114,7 +114,8 @@ -