diff --git a/app/Classes/Modules/Packages/ControllersLogic/CreatePackageLogic.php b/app/Classes/Modules/Packages/ControllersLogic/CreatePackageLogic.php new file mode 100644 index 00000000..4eb7665e --- /dev/null +++ b/app/Classes/Modules/Packages/ControllersLogic/CreatePackageLogic.php @@ -0,0 +1,79 @@ + 'Created Remark', + 'message' => 'You have successfully created a new Remark' + ]; + } + + /** @var CanCreateRemark */ + private $canCreateRemark; + + /** @var FetchesDistrict */ + private $fetchesDistrict; + + /** @var FetchesCompany */ + private $fetchesCompany; + + /** @var CreatesRemark */ + private $createsRemark; + + /** + * CreateRemarkLogic constructor. + * @param CanCreateRemark $canCreateRemark + * @param FetchesDistrict $fetchesDistrict + * @param FetchesCompany $fetchesCompany + * @param CreatesRemark $createsRemark + */ + public function __construct(CanCreateRemark $canCreateRemark, FetchesDistrict $fetchesDistrict, FetchesCompany $fetchesCompany, CreatesRemark $createsRemark) + { + $this->canCreateRemark = $canCreateRemark; + $this->fetchesDistrict = $fetchesDistrict; + $this->fetchesCompany = $fetchesCompany; + $this->createsRemark = $createsRemark; + } + + /** + * @param Request $request + * @return JsonResponse + * @throws \App\Classes\Exceptions\AccessForbiddenException + * @throws \App\Classes\Exceptions\MalformedRequestException + * @throws \App\Classes\Exceptions\RequestValidationException + */ + public function logic(Request $request) : JsonResponse + { + + $district = $this->fetchesDistrict->execute(['id' => $request->input('district_id')]); + + $object = new RemarkObject($request->input('street_one'), $request->input('street_two'), $district->country_id, $district->state_id, $district->id, $request->input('post_code')); + + $this->canCreateRemark->passes($object); + + $query = $this->createsRemark->execute($this->fetchesCompany->execute(['id' => $request->input('company_id')]), $object); + + return $this->resourceResponse(new RemarkResource($query)); + + } + +} diff --git a/app/Classes/Modules/Packages/ControllersLogic/DeletePackageLogic.php b/app/Classes/Modules/Packages/ControllersLogic/DeletePackageLogic.php new file mode 100644 index 00000000..f731cca5 --- /dev/null +++ b/app/Classes/Modules/Packages/ControllersLogic/DeletePackageLogic.php @@ -0,0 +1,73 @@ + 'Deleted Remark', + 'message' => 'You have successfully deleted a Remark' + ]; + } + + + /** @var CanDeleteRemark */ + private $canDeleteRemark; + + /** @var DeletesRemark */ + private $deletesRemark; + + /** @var FetchesRemark */ + private $fetchesRemark; + + /** + * DeleteRemarkControllersLogic constructor. + * @param CanDeleteRemark $canDeleteRemark + * @param DeletesRemark $deletesRemark + * @param FetchesRemark $fetchesRemark + */ + public function __construct(CanDeleteRemark $canDeleteRemark, DeletesRemark $deletesRemark, FetchesRemark $fetchesRemark) + { + $this->canDeleteRemark = $canDeleteRemark; + $this->deletesRemark = $deletesRemark; + $this->fetchesRemark = $fetchesRemark; + } + + + /** + * @param Request $request + * @return JsonResponse + * @throws ErrorException + */ + public function logic(Request $request) : JsonResponse + { + try { + + $this->canDeleteRemark->passes(); + + $query = $this->fetchesRemark->execute(['id' => $request->route('id')]); + + $this->deletesRemark->execute($query); + + return $this->response([]); + + } catch (\Exception $exception){ + throw new ErrorException($exception->getMessage(), $exception->getCode()); + } + + } + +} diff --git a/app/Classes/Modules/Packages/ControllersLogic/FetchPackageLogic.php b/app/Classes/Modules/Packages/ControllersLogic/FetchPackageLogic.php new file mode 100644 index 00000000..3ff151d3 --- /dev/null +++ b/app/Classes/Modules/Packages/ControllersLogic/FetchPackageLogic.php @@ -0,0 +1,66 @@ + 'Retrieved Remark', + 'message' => 'You have successfully retrieved a Remark' + ]; + } + + /** @var CanFetchRemark */ + private $canFetchRemark; + + /** @var FetchesRemark */ + private $fetchesRemark; + + /** + * FetchRemarkControllersLogic constructor. + * @param CanFetchRemark $canFetchRemark + * @param FetchesRemark $fetchesRemark + */ + public function __construct(CanFetchRemark $canFetchRemark, FetchesRemark $fetchesRemark) + { + $this->canFetchRemark = $canFetchRemark; + $this->fetchesRemark = $fetchesRemark; + } + + + /** + * @param Request $request + * @return JsonResponse + * @throws ErrorException + */ + public function logic(Request $request) : JsonResponse + { + try { + + $this->canFetchRemark->passes(); + + $query = $this->fetchesRemark->execute(['id' => $request->route('id')]); + + return $this->resourceResponse(new RemarkResource($query)); + + } catch (\Exception $exception){ + throw new ErrorException($exception->getMessage(), $exception->getCode()); + } + + } + +} diff --git a/app/Classes/Modules/Packages/ControllersLogic/ListPackagesLogic.php b/app/Classes/Modules/Packages/ControllersLogic/ListPackagesLogic.php new file mode 100644 index 00000000..a7d7ff43 --- /dev/null +++ b/app/Classes/Modules/Packages/ControllersLogic/ListPackagesLogic.php @@ -0,0 +1,66 @@ + 'Retrieved Remarks', + 'message' => 'You have successfully retrieved a list of Remarks' + ]; + } + + /** @var CanListRemarks */ + private $canListRemarks; + + /** @var ListsRemarks */ + private $listsRemarks; + + /** + * ListRemarksLogic constructor. + * @param CanListRemarks $canListRemarks + * @param ListsRemarks $listsRemarks + */ + public function __construct(CanListRemarks $canListRemarks, ListsRemarks $listsRemarks) + { + $this->canListRemarks = $canListRemarks; + $this->listsRemarks = $listsRemarks; + } + + + /** + * @param Request $request + * @return JsonResponse + * @throws ErrorException + */ + public function logic(Request $request) : JsonResponse + { + try { + + $this->canListRemarks->passes(); + + $query = $this->listsRemarks->execute($this->listsRemarks->deserializeFilters($request->input('filters'))); + + return $this->collectionResponse(RemarkResource::collection($query)); + + } catch (\Exception $exception){ + throw new ErrorException($exception->getMessage(), $exception->getCode()); + } + + } + +} diff --git a/app/Classes/Modules/Packages/ControllersLogic/UpdatePackageLogic.php b/app/Classes/Modules/Packages/ControllersLogic/UpdatePackageLogic.php new file mode 100644 index 00000000..020906eb --- /dev/null +++ b/app/Classes/Modules/Packages/ControllersLogic/UpdatePackageLogic.php @@ -0,0 +1,86 @@ + 'Updated Remark', + 'message' => 'You have successfully updated the Remark' + ]; + } + + /** @var CanUpdateRemark */ + private $canUpdateRemark; + + /** @var UpdatesRemark */ + private $updatesRemark; + + /** @var FetchesRemark */ + private $fetchesRemark; + + /** @var FetchesDistrict */ + private $fetchesDistrict; + + /** + * UpdateRemarkLogic constructor. + * @param CanUpdateRemark $canUpdateRemark + * @param UpdatesRemark $updatesRemark + * @param FetchesRemark $fetchesRemark + * @param FetchesDistrict $fetchesDistrict + */ + public function __construct(CanUpdateRemark $canUpdateRemark, UpdatesRemark $updatesRemark, FetchesRemark $fetchesRemark, FetchesDistrict $fetchesDistrict) + { + $this->canUpdateRemark = $canUpdateRemark; + $this->updatesRemark = $updatesRemark; + $this->fetchesRemark = $fetchesRemark; + $this->fetchesDistrict = $fetchesDistrict; + } + + + /** + * @param Request $request + * @return JsonResponse + * @throws ErrorException + */ + public function logic(Request $request) : JsonResponse + { + try { + + $district = $this->fetchesDistrict->execute(['id' => $request->input('district_id')]); + $object = new RemarkObject($request->input('street_one'), $request->input('street_two'), $district->country_id, $district->state_id, $district->id, $request->input('post_code')); + //$object = new RemarkObject($request->input('company_id'), $request->input('street_one'), $request->input('street_two'), $request->input('city'), $request->input('state'), $request->input('post_code'), $request->input('country'), $request->input('default'), $request->input('billing')); + + $this->canUpdateRemark->passes($object); + + $query = $this->fetchesRemark->execute(['id' => $request->route('id')]); + + $query = $this->updatesRemark->execute($query, $object); + + return $this->resourceResponse(new RemarkResource($query)); + + + } catch (\Exception $exception){ + throw new ErrorException($exception->getMessage(), $exception->getCode()); + } + + } + +} diff --git a/app/Classes/Modules/Packages/DataTransferObjects/PackageObject.php b/app/Classes/Modules/Packages/DataTransferObjects/PackageObject.php new file mode 100644 index 00000000..67beaa30 --- /dev/null +++ b/app/Classes/Modules/Packages/DataTransferObjects/PackageObject.php @@ -0,0 +1,96 @@ +streetOne = $streetOne; + $this->streetTwo = $streetTwo; + $this->countryId = $countryId; + $this->stateId = $stateId; + $this->districtId = $districtId; + $this->postCode = $postCode; + } + + /** + * @return string + */ + public function getStreetOne(): string + { + return $this->streetOne; + } + + /** + * @return null|string + */ + public function getStreetTwo(): ?string + { + return $this->streetTwo; + } + + /** + * @return int + */ + public function getCountryId(): int + { + return $this->countryId; + } + + /** + * @return int + */ + public function getStateId(): int + { + return $this->stateId; + } + + /** + * @return int + */ + public function getDistrictId(): int + { + return $this->districtId; + } + + /** + * @return int + */ + public function getPostCode(): int + { + return $this->postCode; + } + + +} diff --git a/app/Classes/Modules/Packages/Services/CreatesPackage.php b/app/Classes/Modules/Packages/Services/CreatesPackage.php new file mode 100644 index 00000000..c4067869 --- /dev/null +++ b/app/Classes/Modules/Packages/Services/CreatesPackage.php @@ -0,0 +1,32 @@ +street_one = $object->getStreetOne(); + $model->street_two = $object->getStreetTwo(); + $model->country_id = $object->getCountryId(); + $model->state_id = $object->getStateId(); + $model->district_id = $object->getDistrictId(); + $model->postcode = $object->getPostCode(); + + return $this->handler($company->Remarks(), $model); + + } +} diff --git a/app/Classes/Modules/Packages/Services/DeletesPackage.php b/app/Classes/Modules/Packages/Services/DeletesPackage.php new file mode 100644 index 00000000..4c29be9d --- /dev/null +++ b/app/Classes/Modules/Packages/Services/DeletesPackage.php @@ -0,0 +1,19 @@ +handler($model); + } +} diff --git a/app/Classes/Modules/Packages/Services/FetchesPackage.php b/app/Classes/Modules/Packages/Services/FetchesPackage.php new file mode 100644 index 00000000..a3b5c765 --- /dev/null +++ b/app/Classes/Modules/Packages/Services/FetchesPackage.php @@ -0,0 +1,33 @@ +repository = $repository; + } + + + /** + * @return Builder + */ + public function getRepository(): Builder + { + return $this->repository->newQuery(); + } +} diff --git a/app/Classes/Modules/Packages/Services/ListsPackages.php b/app/Classes/Modules/Packages/Services/ListsPackages.php new file mode 100644 index 00000000..53479558 --- /dev/null +++ b/app/Classes/Modules/Packages/Services/ListsPackages.php @@ -0,0 +1,33 @@ +repository = $repository; + } + + + /** + * @return Builder + */ + function getRepository(): Builder + { + return $this->repository->newQuery(); + } +} diff --git a/app/Classes/Modules/Packages/Services/UpdatesPackage.php b/app/Classes/Modules/Packages/Services/UpdatesPackage.php new file mode 100644 index 00000000..082e2281 --- /dev/null +++ b/app/Classes/Modules/Packages/Services/UpdatesPackage.php @@ -0,0 +1,33 @@ +company_id = $object->getCompanyId(); + $model->street_one = $object->getStreetOne(); + $model->street_two = $object->getStreetTwo(); + $model->district_id = $object->getDistrictId(); + $model->state_id = $object->getStateId(); + $model->postcode = $object->getPostCode(); + $model->country_id = $object->getCountryId(); + //$model->default = $object->getDefault(); + //$model->billing = $object->getBilling(); + + return $this->handler($model); + + } +} diff --git a/app/Classes/Modules/Packages/Standards/Rules/CanCreatePackage.php b/app/Classes/Modules/Packages/Standards/Rules/CanCreatePackage.php new file mode 100644 index 00000000..fc51178f --- /dev/null +++ b/app/Classes/Modules/Packages/Standards/Rules/CanCreatePackage.php @@ -0,0 +1,57 @@ +RemarkValidation = $RemarkValidation; + } + + + /** + * @return bool + */ + protected function authorized(): bool + { + // TODO Set Authorization rules + return true; + + } + + /** + * @param RemarkObject $object + * @return bool + * @throws \App\Classes\Exceptions\RequestValidationException + */ + protected function validators($object): bool + { + return $this->RemarkValidation->validate($object); + + } + + + /** + * @param RemarkObject $object + * @return bool + */ + protected function criteria($object): bool + { + return true; + } + +} diff --git a/app/Classes/Modules/Packages/Standards/Rules/CanDeletePackage.php b/app/Classes/Modules/Packages/Standards/Rules/CanDeletePackage.php new file mode 100644 index 00000000..7ddece31 --- /dev/null +++ b/app/Classes/Modules/Packages/Standards/Rules/CanDeletePackage.php @@ -0,0 +1,43 @@ +RemarkValidation = $RemarkValidation; + } + + + /** + * @return bool + */ + protected function authorized(): bool + { + // TODO Set Authorization rules + return true; + + } + + /** + * @param RemarkObject $object + * @return bool + * @throws \App\Classes\Exceptions\RequestValidationException + */ + protected function validators($object): bool + { + return $this->RemarkValidation->validate($object); + + } + + + /** + * @param RemarkObject $object + * @return bool + */ + protected function criteria($object): bool + { + return true; + } + +} diff --git a/app/Classes/Modules/Packages/Standards/Validators/PackageValidation.php b/app/Classes/Modules/Packages/Standards/Validators/PackageValidation.php new file mode 100644 index 00000000..25c9dfee --- /dev/null +++ b/app/Classes/Modules/Packages/Standards/Validators/PackageValidation.php @@ -0,0 +1,42 @@ + $object->getStreetOne(), + 'street_two' => $object->getStreetTwo(), + 'district_id' => $object->getDistrictId() + ]; + } + + /** + * @return array + */ + protected function rules(): array { + return [ + 'street_one' => 'required', + 'district_id' => 'required', + ]; + } + + /** + * @return array + */ + protected function messages(): array { + return []; + } + +} diff --git a/app/Classes/Modules/PackingLists/ControllersLogic/CreatePackingListLogic.php b/app/Classes/Modules/PackingLists/ControllersLogic/CreatePackingListLogic.php new file mode 100644 index 00000000..4eb7665e --- /dev/null +++ b/app/Classes/Modules/PackingLists/ControllersLogic/CreatePackingListLogic.php @@ -0,0 +1,79 @@ + 'Created Remark', + 'message' => 'You have successfully created a new Remark' + ]; + } + + /** @var CanCreateRemark */ + private $canCreateRemark; + + /** @var FetchesDistrict */ + private $fetchesDistrict; + + /** @var FetchesCompany */ + private $fetchesCompany; + + /** @var CreatesRemark */ + private $createsRemark; + + /** + * CreateRemarkLogic constructor. + * @param CanCreateRemark $canCreateRemark + * @param FetchesDistrict $fetchesDistrict + * @param FetchesCompany $fetchesCompany + * @param CreatesRemark $createsRemark + */ + public function __construct(CanCreateRemark $canCreateRemark, FetchesDistrict $fetchesDistrict, FetchesCompany $fetchesCompany, CreatesRemark $createsRemark) + { + $this->canCreateRemark = $canCreateRemark; + $this->fetchesDistrict = $fetchesDistrict; + $this->fetchesCompany = $fetchesCompany; + $this->createsRemark = $createsRemark; + } + + /** + * @param Request $request + * @return JsonResponse + * @throws \App\Classes\Exceptions\AccessForbiddenException + * @throws \App\Classes\Exceptions\MalformedRequestException + * @throws \App\Classes\Exceptions\RequestValidationException + */ + public function logic(Request $request) : JsonResponse + { + + $district = $this->fetchesDistrict->execute(['id' => $request->input('district_id')]); + + $object = new RemarkObject($request->input('street_one'), $request->input('street_two'), $district->country_id, $district->state_id, $district->id, $request->input('post_code')); + + $this->canCreateRemark->passes($object); + + $query = $this->createsRemark->execute($this->fetchesCompany->execute(['id' => $request->input('company_id')]), $object); + + return $this->resourceResponse(new RemarkResource($query)); + + } + +} diff --git a/app/Classes/Modules/PackingLists/ControllersLogic/DeletePackingListLogic.php b/app/Classes/Modules/PackingLists/ControllersLogic/DeletePackingListLogic.php new file mode 100644 index 00000000..f731cca5 --- /dev/null +++ b/app/Classes/Modules/PackingLists/ControllersLogic/DeletePackingListLogic.php @@ -0,0 +1,73 @@ + 'Deleted Remark', + 'message' => 'You have successfully deleted a Remark' + ]; + } + + + /** @var CanDeleteRemark */ + private $canDeleteRemark; + + /** @var DeletesRemark */ + private $deletesRemark; + + /** @var FetchesRemark */ + private $fetchesRemark; + + /** + * DeleteRemarkControllersLogic constructor. + * @param CanDeleteRemark $canDeleteRemark + * @param DeletesRemark $deletesRemark + * @param FetchesRemark $fetchesRemark + */ + public function __construct(CanDeleteRemark $canDeleteRemark, DeletesRemark $deletesRemark, FetchesRemark $fetchesRemark) + { + $this->canDeleteRemark = $canDeleteRemark; + $this->deletesRemark = $deletesRemark; + $this->fetchesRemark = $fetchesRemark; + } + + + /** + * @param Request $request + * @return JsonResponse + * @throws ErrorException + */ + public function logic(Request $request) : JsonResponse + { + try { + + $this->canDeleteRemark->passes(); + + $query = $this->fetchesRemark->execute(['id' => $request->route('id')]); + + $this->deletesRemark->execute($query); + + return $this->response([]); + + } catch (\Exception $exception){ + throw new ErrorException($exception->getMessage(), $exception->getCode()); + } + + } + +} diff --git a/app/Classes/Modules/PackingLists/ControllersLogic/FetchPackingListLogic.php b/app/Classes/Modules/PackingLists/ControllersLogic/FetchPackingListLogic.php new file mode 100644 index 00000000..3ff151d3 --- /dev/null +++ b/app/Classes/Modules/PackingLists/ControllersLogic/FetchPackingListLogic.php @@ -0,0 +1,66 @@ + 'Retrieved Remark', + 'message' => 'You have successfully retrieved a Remark' + ]; + } + + /** @var CanFetchRemark */ + private $canFetchRemark; + + /** @var FetchesRemark */ + private $fetchesRemark; + + /** + * FetchRemarkControllersLogic constructor. + * @param CanFetchRemark $canFetchRemark + * @param FetchesRemark $fetchesRemark + */ + public function __construct(CanFetchRemark $canFetchRemark, FetchesRemark $fetchesRemark) + { + $this->canFetchRemark = $canFetchRemark; + $this->fetchesRemark = $fetchesRemark; + } + + + /** + * @param Request $request + * @return JsonResponse + * @throws ErrorException + */ + public function logic(Request $request) : JsonResponse + { + try { + + $this->canFetchRemark->passes(); + + $query = $this->fetchesRemark->execute(['id' => $request->route('id')]); + + return $this->resourceResponse(new RemarkResource($query)); + + } catch (\Exception $exception){ + throw new ErrorException($exception->getMessage(), $exception->getCode()); + } + + } + +} diff --git a/app/Classes/Modules/PackingLists/ControllersLogic/ListPackingListsLogic.php b/app/Classes/Modules/PackingLists/ControllersLogic/ListPackingListsLogic.php new file mode 100644 index 00000000..a7d7ff43 --- /dev/null +++ b/app/Classes/Modules/PackingLists/ControllersLogic/ListPackingListsLogic.php @@ -0,0 +1,66 @@ + 'Retrieved Remarks', + 'message' => 'You have successfully retrieved a list of Remarks' + ]; + } + + /** @var CanListRemarks */ + private $canListRemarks; + + /** @var ListsRemarks */ + private $listsRemarks; + + /** + * ListRemarksLogic constructor. + * @param CanListRemarks $canListRemarks + * @param ListsRemarks $listsRemarks + */ + public function __construct(CanListRemarks $canListRemarks, ListsRemarks $listsRemarks) + { + $this->canListRemarks = $canListRemarks; + $this->listsRemarks = $listsRemarks; + } + + + /** + * @param Request $request + * @return JsonResponse + * @throws ErrorException + */ + public function logic(Request $request) : JsonResponse + { + try { + + $this->canListRemarks->passes(); + + $query = $this->listsRemarks->execute($this->listsRemarks->deserializeFilters($request->input('filters'))); + + return $this->collectionResponse(RemarkResource::collection($query)); + + } catch (\Exception $exception){ + throw new ErrorException($exception->getMessage(), $exception->getCode()); + } + + } + +} diff --git a/app/Classes/Modules/PackingLists/ControllersLogic/UpdatePackingListLogic.php b/app/Classes/Modules/PackingLists/ControllersLogic/UpdatePackingListLogic.php new file mode 100644 index 00000000..020906eb --- /dev/null +++ b/app/Classes/Modules/PackingLists/ControllersLogic/UpdatePackingListLogic.php @@ -0,0 +1,86 @@ + 'Updated Remark', + 'message' => 'You have successfully updated the Remark' + ]; + } + + /** @var CanUpdateRemark */ + private $canUpdateRemark; + + /** @var UpdatesRemark */ + private $updatesRemark; + + /** @var FetchesRemark */ + private $fetchesRemark; + + /** @var FetchesDistrict */ + private $fetchesDistrict; + + /** + * UpdateRemarkLogic constructor. + * @param CanUpdateRemark $canUpdateRemark + * @param UpdatesRemark $updatesRemark + * @param FetchesRemark $fetchesRemark + * @param FetchesDistrict $fetchesDistrict + */ + public function __construct(CanUpdateRemark $canUpdateRemark, UpdatesRemark $updatesRemark, FetchesRemark $fetchesRemark, FetchesDistrict $fetchesDistrict) + { + $this->canUpdateRemark = $canUpdateRemark; + $this->updatesRemark = $updatesRemark; + $this->fetchesRemark = $fetchesRemark; + $this->fetchesDistrict = $fetchesDistrict; + } + + + /** + * @param Request $request + * @return JsonResponse + * @throws ErrorException + */ + public function logic(Request $request) : JsonResponse + { + try { + + $district = $this->fetchesDistrict->execute(['id' => $request->input('district_id')]); + $object = new RemarkObject($request->input('street_one'), $request->input('street_two'), $district->country_id, $district->state_id, $district->id, $request->input('post_code')); + //$object = new RemarkObject($request->input('company_id'), $request->input('street_one'), $request->input('street_two'), $request->input('city'), $request->input('state'), $request->input('post_code'), $request->input('country'), $request->input('default'), $request->input('billing')); + + $this->canUpdateRemark->passes($object); + + $query = $this->fetchesRemark->execute(['id' => $request->route('id')]); + + $query = $this->updatesRemark->execute($query, $object); + + return $this->resourceResponse(new RemarkResource($query)); + + + } catch (\Exception $exception){ + throw new ErrorException($exception->getMessage(), $exception->getCode()); + } + + } + +} diff --git a/app/Classes/Modules/PackingLists/DataTransferObjects/PackingListObject.php b/app/Classes/Modules/PackingLists/DataTransferObjects/PackingListObject.php new file mode 100644 index 00000000..67beaa30 --- /dev/null +++ b/app/Classes/Modules/PackingLists/DataTransferObjects/PackingListObject.php @@ -0,0 +1,96 @@ +streetOne = $streetOne; + $this->streetTwo = $streetTwo; + $this->countryId = $countryId; + $this->stateId = $stateId; + $this->districtId = $districtId; + $this->postCode = $postCode; + } + + /** + * @return string + */ + public function getStreetOne(): string + { + return $this->streetOne; + } + + /** + * @return null|string + */ + public function getStreetTwo(): ?string + { + return $this->streetTwo; + } + + /** + * @return int + */ + public function getCountryId(): int + { + return $this->countryId; + } + + /** + * @return int + */ + public function getStateId(): int + { + return $this->stateId; + } + + /** + * @return int + */ + public function getDistrictId(): int + { + return $this->districtId; + } + + /** + * @return int + */ + public function getPostCode(): int + { + return $this->postCode; + } + + +} diff --git a/app/Classes/Modules/PackingLists/Services/CreatesPackingList.php b/app/Classes/Modules/PackingLists/Services/CreatesPackingList.php new file mode 100644 index 00000000..c4067869 --- /dev/null +++ b/app/Classes/Modules/PackingLists/Services/CreatesPackingList.php @@ -0,0 +1,32 @@ +street_one = $object->getStreetOne(); + $model->street_two = $object->getStreetTwo(); + $model->country_id = $object->getCountryId(); + $model->state_id = $object->getStateId(); + $model->district_id = $object->getDistrictId(); + $model->postcode = $object->getPostCode(); + + return $this->handler($company->Remarks(), $model); + + } +} diff --git a/app/Classes/Modules/PackingLists/Services/DeletesPackingList.php b/app/Classes/Modules/PackingLists/Services/DeletesPackingList.php new file mode 100644 index 00000000..4c29be9d --- /dev/null +++ b/app/Classes/Modules/PackingLists/Services/DeletesPackingList.php @@ -0,0 +1,19 @@ +handler($model); + } +} diff --git a/app/Classes/Modules/PackingLists/Services/FetchesPackingList.php b/app/Classes/Modules/PackingLists/Services/FetchesPackingList.php new file mode 100644 index 00000000..a3b5c765 --- /dev/null +++ b/app/Classes/Modules/PackingLists/Services/FetchesPackingList.php @@ -0,0 +1,33 @@ +repository = $repository; + } + + + /** + * @return Builder + */ + public function getRepository(): Builder + { + return $this->repository->newQuery(); + } +} diff --git a/app/Classes/Modules/PackingLists/Services/ListsPackingLists.php b/app/Classes/Modules/PackingLists/Services/ListsPackingLists.php new file mode 100644 index 00000000..53479558 --- /dev/null +++ b/app/Classes/Modules/PackingLists/Services/ListsPackingLists.php @@ -0,0 +1,33 @@ +repository = $repository; + } + + + /** + * @return Builder + */ + function getRepository(): Builder + { + return $this->repository->newQuery(); + } +} diff --git a/app/Classes/Modules/PackingLists/Services/UpdatesPackingList.php b/app/Classes/Modules/PackingLists/Services/UpdatesPackingList.php new file mode 100644 index 00000000..082e2281 --- /dev/null +++ b/app/Classes/Modules/PackingLists/Services/UpdatesPackingList.php @@ -0,0 +1,33 @@ +company_id = $object->getCompanyId(); + $model->street_one = $object->getStreetOne(); + $model->street_two = $object->getStreetTwo(); + $model->district_id = $object->getDistrictId(); + $model->state_id = $object->getStateId(); + $model->postcode = $object->getPostCode(); + $model->country_id = $object->getCountryId(); + //$model->default = $object->getDefault(); + //$model->billing = $object->getBilling(); + + return $this->handler($model); + + } +} diff --git a/app/Classes/Modules/PackingLists/Standards/Rules/CanCreatePackingList.php b/app/Classes/Modules/PackingLists/Standards/Rules/CanCreatePackingList.php new file mode 100644 index 00000000..fc51178f --- /dev/null +++ b/app/Classes/Modules/PackingLists/Standards/Rules/CanCreatePackingList.php @@ -0,0 +1,57 @@ +RemarkValidation = $RemarkValidation; + } + + + /** + * @return bool + */ + protected function authorized(): bool + { + // TODO Set Authorization rules + return true; + + } + + /** + * @param RemarkObject $object + * @return bool + * @throws \App\Classes\Exceptions\RequestValidationException + */ + protected function validators($object): bool + { + return $this->RemarkValidation->validate($object); + + } + + + /** + * @param RemarkObject $object + * @return bool + */ + protected function criteria($object): bool + { + return true; + } + +} diff --git a/app/Classes/Modules/PackingLists/Standards/Rules/CanDeletePackingList.php b/app/Classes/Modules/PackingLists/Standards/Rules/CanDeletePackingList.php new file mode 100644 index 00000000..7ddece31 --- /dev/null +++ b/app/Classes/Modules/PackingLists/Standards/Rules/CanDeletePackingList.php @@ -0,0 +1,43 @@ +RemarkValidation = $RemarkValidation; + } + + + /** + * @return bool + */ + protected function authorized(): bool + { + // TODO Set Authorization rules + return true; + + } + + /** + * @param RemarkObject $object + * @return bool + * @throws \App\Classes\Exceptions\RequestValidationException + */ + protected function validators($object): bool + { + return $this->RemarkValidation->validate($object); + + } + + + /** + * @param RemarkObject $object + * @return bool + */ + protected function criteria($object): bool + { + return true; + } + +} diff --git a/app/Classes/Modules/PackingLists/Standards/Validators/PackingListValidation.php b/app/Classes/Modules/PackingLists/Standards/Validators/PackingListValidation.php new file mode 100644 index 00000000..25c9dfee --- /dev/null +++ b/app/Classes/Modules/PackingLists/Standards/Validators/PackingListValidation.php @@ -0,0 +1,42 @@ + $object->getStreetOne(), + 'street_two' => $object->getStreetTwo(), + 'district_id' => $object->getDistrictId() + ]; + } + + /** + * @return array + */ + protected function rules(): array { + return [ + 'street_one' => 'required', + 'district_id' => 'required', + ]; + } + + /** + * @return array + */ + protected function messages(): array { + return []; + } + +} diff --git a/app/Http/Controllers/Packages/CreatePackageController.php b/app/Http/Controllers/Packages/CreatePackageController.php new file mode 100644 index 00000000..458936fa --- /dev/null +++ b/app/Http/Controllers/Packages/CreatePackageController.php @@ -0,0 +1,20 @@ +execute($request); + } + +} diff --git a/app/Http/Controllers/Packages/DeletePackageController.php b/app/Http/Controllers/Packages/DeletePackageController.php new file mode 100644 index 00000000..a2dad9d0 --- /dev/null +++ b/app/Http/Controllers/Packages/DeletePackageController.php @@ -0,0 +1,20 @@ +execute($request); + } + +} diff --git a/app/Http/Controllers/Packages/FetchPackageController.php b/app/Http/Controllers/Packages/FetchPackageController.php new file mode 100644 index 00000000..b3c1db46 --- /dev/null +++ b/app/Http/Controllers/Packages/FetchPackageController.php @@ -0,0 +1,20 @@ +execute($request); + } + +} diff --git a/app/Http/Controllers/Packages/ListPackagesController.php b/app/Http/Controllers/Packages/ListPackagesController.php new file mode 100644 index 00000000..30367587 --- /dev/null +++ b/app/Http/Controllers/Packages/ListPackagesController.php @@ -0,0 +1,20 @@ +execute($request); + } + +} diff --git a/app/Http/Controllers/Packages/UpdatePackageController.php b/app/Http/Controllers/Packages/UpdatePackageController.php new file mode 100644 index 00000000..6c945c30 --- /dev/null +++ b/app/Http/Controllers/Packages/UpdatePackageController.php @@ -0,0 +1,20 @@ +execute($request); + } + +} diff --git a/app/Http/Controllers/PackingLists/CreatePackingListController.php b/app/Http/Controllers/PackingLists/CreatePackingListController.php new file mode 100644 index 00000000..9f6bc16d --- /dev/null +++ b/app/Http/Controllers/PackingLists/CreatePackingListController.php @@ -0,0 +1,20 @@ +execute($request); + } + +} diff --git a/app/Http/Controllers/PackingLists/DeletePackingListController.php b/app/Http/Controllers/PackingLists/DeletePackingListController.php new file mode 100644 index 00000000..f2b18e5d --- /dev/null +++ b/app/Http/Controllers/PackingLists/DeletePackingListController.php @@ -0,0 +1,20 @@ +execute($request); + } + +} diff --git a/app/Http/Controllers/PackingLists/FetchPackingListController.php b/app/Http/Controllers/PackingLists/FetchPackingListController.php new file mode 100644 index 00000000..0c2e3afb --- /dev/null +++ b/app/Http/Controllers/PackingLists/FetchPackingListController.php @@ -0,0 +1,20 @@ +execute($request); + } + +} diff --git a/app/Http/Controllers/PackingLists/ListPackingListsController.php b/app/Http/Controllers/PackingLists/ListPackingListsController.php new file mode 100644 index 00000000..d006c892 --- /dev/null +++ b/app/Http/Controllers/PackingLists/ListPackingListsController.php @@ -0,0 +1,20 @@ +execute($request); + } + +} diff --git a/app/Http/Controllers/PackingLists/UpdatePackingListController.php b/app/Http/Controllers/PackingLists/UpdatePackingListController.php new file mode 100644 index 00000000..008b1b2a --- /dev/null +++ b/app/Http/Controllers/PackingLists/UpdatePackingListController.php @@ -0,0 +1,20 @@ +execute($request); + } + +} diff --git a/app/Http/Controllers/Remarks/CreateRemarkController.php b/app/Http/Controllers/Remarks/CreateRemarkController.php index 313a25b6..a66aa8fd 100644 --- a/app/Http/Controllers/Remarks/CreateRemarkController.php +++ b/app/Http/Controllers/Remarks/CreateRemarkController.php @@ -1,8 +1,8 @@ execute($request); } diff --git a/app/Http/Controllers/Remarks/UpdateRemarkController.php b/app/Http/Controllers/Remarks/UpdateRemarkController.php index b18efcf7..ae53f6b7 100644 --- a/app/Http/Controllers/Remarks/UpdateRemarkController.php +++ b/app/Http/Controllers/Remarks/UpdateRemarkController.php @@ -1,8 +1,8 @@ 'api', 'prefix' => 'v1', 'as' => 'api.'], function // require __DIR__ . '/bank.php'; - require __DIR__ . '/order.php'; - require __DIR__ . '/currency.php'; require __DIR__ . '/address.php'; @@ -50,6 +48,16 @@ Route::group(['middleware' => 'api', 'prefix' => 'v1', 'as' => 'api.'], function require __DIR__ . '/receipt.php'; + require __DIR__ . '/order.php'; + + require __DIR__ . '/package.php'; + + require __DIR__ . '/remark.php'; + + require __DIR__ . '/transport.php'; + + require __DIR__ . '/schedule.php'; + // require __DIR__ . '/announcement.php'; // require __DIR__ . '/wallet.php'; // require __DIR__ . '/rate.php'; diff --git a/routes/package.php b/routes/package.php new file mode 100644 index 00000000..641e183c --- /dev/null +++ b/routes/package.php @@ -0,0 +1,19 @@ + 'Packages', 'as' => 'package.', 'prefix' => 'package'], function () { + Route::get('/{id}/show', 'FetchPackageController@fetch')->name('show'); + Route::get('/list', 'ListPackageController@list')->name('list'); + Route::post('/create', 'CreatePackageController@create')->name('create'); + Route::put('/update/{id}', 'UpdatePackageController@update')->name('update'); + Route::delete('/delete/{id}', 'DeletePackageController@delete')->name('delete'); +}); + +Route::group(['namespace' => 'PackingLists', 'as' => 'packing_list.', 'prefix' => 'packing_list'], function () { + Route::get('/{id}/show', 'FetchPackingListController@fetch')->name('show'); + Route::get('/list', 'ListPackingListController@list')->name('list'); + Route::post('/create', 'CreatePackingListController@create')->name('create'); + Route::put('/update/{id}', 'UpdatePackingListController@update')->name('update'); + Route::delete('/delete/{id}', 'DeletePackingListController@delete')->name('delete'); +});