From c5183ac0a7a6706f412a3c87ebf018533bf08c1f Mon Sep 17 00:00:00 2001 From: omair saleh Date: Thu, 21 Oct 2021 21:25:13 +0800 Subject: [PATCH] create container remark --- .../Containers/CreateContainerRemarkLogic.php | 59 +++++++++++++++++++ .../CreateContainerRemarkController.php | 16 +++++ app/Models/Container.php | 12 +++- 3 files changed, 86 insertions(+), 1 deletion(-) create mode 100644 app/Classes/Modules/PackingLists/ControllersLogic/Containers/CreateContainerRemarkLogic.php create mode 100644 app/Http/Controllers/PackingLists/Containers/CreateContainerRemarkController.php diff --git a/app/Classes/Modules/PackingLists/ControllersLogic/Containers/CreateContainerRemarkLogic.php b/app/Classes/Modules/PackingLists/ControllersLogic/Containers/CreateContainerRemarkLogic.php new file mode 100644 index 00000000..8186a034 --- /dev/null +++ b/app/Classes/Modules/PackingLists/ControllersLogic/Containers/CreateContainerRemarkLogic.php @@ -0,0 +1,59 @@ + 'Created Container', + 'message' => 'You have successfully created a new Container' + ]; + } + + /** @var CreatesRemark */ + private $createsRemark; + + /** + * CreateContainerRemarkLogic constructor. + * @param CreatesRemark $createsRemark + */ + public function __construct(CreatesRemark $createsRemark) + { + $this->createsRemark = $createsRemark; + } + + + /** + * @param Request $request + * @return JsonResponse + * @throws \App\Classes\Exceptions\MalformedRequestException + */ + public function logic(Request $request) : JsonResponse + { + + // get the container + $container = Container::findOrFail($request->input('container_id')); + + $object = new RemarkObject($request->input('content'), 1); + + $remark = $this->createsRemark->execute($container, $object); + + return $remark; + + } + +} diff --git a/app/Http/Controllers/PackingLists/Containers/CreateContainerRemarkController.php b/app/Http/Controllers/PackingLists/Containers/CreateContainerRemarkController.php new file mode 100644 index 00000000..5f8e5153 --- /dev/null +++ b/app/Http/Controllers/PackingLists/Containers/CreateContainerRemarkController.php @@ -0,0 +1,16 @@ +execute($request); + } + +} \ No newline at end of file diff --git a/app/Models/Container.php b/app/Models/Container.php index 93aaeee5..21f59843 100644 --- a/app/Models/Container.php +++ b/app/Models/Container.php @@ -2,6 +2,7 @@ namespace App\Models; +use App\Classes\General\Interfaces\Remarkable; use App\Classes\General\Interfaces\Transportable; use Illuminate\Database\Eloquent\Relations\BelongsToMany; use Illuminate\Database\Eloquent\SoftDeletes; @@ -9,7 +10,7 @@ use Illuminate\Database\Eloquent\Relations\MorphMany; use Staudenmeir\EloquentHasManyDeep\HasManyDeep; use Staudenmeir\EloquentHasManyDeep\HasRelationships; -class Container extends AbstractModel implements Transportable +class Container extends AbstractModel implements Transportable, Remarkable { use HasRelationships; use SoftDeletes; @@ -56,4 +57,13 @@ class Container extends AbstractModel implements Transportable { return $this->morphMany(Transport::class, 'owner'); } + + /** + * @return MorphMany + */ + public function remarks(): morphMany + { + return $this->morphMany(Remark::class, 'owner'); + } + }