diff --git a/app/Classes/Modules/Companies/ControllersLogic/UpdateCompanyTypeLogic.php b/app/Classes/Modules/Companies/ControllersLogic/UpdateCompanyTypeLogic.php new file mode 100644 index 00000000..4a7e68cc --- /dev/null +++ b/app/Classes/Modules/Companies/ControllersLogic/UpdateCompanyTypeLogic.php @@ -0,0 +1,69 @@ + 'Updated Company Type', + 'message' => 'You have successfully updated the Company Tyoe' + ]; + } + + /** @var CanUpdateCompany */ + private $canUpdateCompany; + + /** @var UpdatesCompany */ + private $updatesCompany; + + /** @var FetchesCompany */ + private $fetchesCompany; + + /** + * UpdateCompanyControllersLogic constructor. + * @param CanUpdateCompany $canUpdateCompany + * @param UpdatesCompany $updatesCompany + * @param FetchesCompany $fetchesCompany + */ + public function __construct(CanUpdateCompany $canUpdateCompany, UpdatesCompany $updatesCompany, FetchesCompany $fetchesCompany) + { + $this->canUpdateCompany = $canUpdateCompany; + $this->updatesCompany = $updatesCompany; + $this->fetchesCompany = $fetchesCompany; + } + + /** + * @param Request $request + * @return JsonResponse + * @throws ErrorException + */ + public function logic(Request $request) : JsonResponse + { + $query = $this->fetchesCompany->execute(['id' => $request->route('id')]); + + $object = new CompanyObject($query->name, $query->reference, $request->input('type')); + + $this->canUpdateCompany->passes($object); + + $query = $this->updatesCompany->execute($query, $object); + + return $this->resourceResponse(new CompanyResource($query)); + } + +} diff --git a/app/Http/Controllers/Companies/UpdateCompanyTypeController.php b/app/Http/Controllers/Companies/UpdateCompanyTypeController.php new file mode 100644 index 00000000..44f39a6f --- /dev/null +++ b/app/Http/Controllers/Companies/UpdateCompanyTypeController.php @@ -0,0 +1,20 @@ +execute($request); + } +} diff --git a/resources/assets/vue/components/companies/elements/CustomerProfileComponent.vue b/resources/assets/vue/components/companies/elements/CustomerProfileComponent.vue index ec1f4621..391ec602 100644 --- a/resources/assets/vue/components/companies/elements/CustomerProfileComponent.vue +++ b/resources/assets/vue/components/companies/elements/CustomerProfileComponent.vue @@ -107,7 +107,7 @@