From e84f9418a57338d23e9f6021f629d58417fd973a Mon Sep 17 00:00:00 2001 From: vedatakd Date: Sat, 2 Oct 2021 15:51:46 +0300 Subject: [PATCH] added api --- .../advs-module/resources/lang/en/message.php | 1 + .../advs-module/resources/lang/tr/message.php | 1 + .../advs-module/src/Adv/AdvApiCollection.php | 25 +++++++++++++++++++ 3 files changed, 27 insertions(+) diff --git a/addons/default/visiosoft/advs-module/resources/lang/en/message.php b/addons/default/visiosoft/advs-module/resources/lang/en/message.php index c60c9eeab..8c176b997 100644 --- a/addons/default/visiosoft/advs-module/resources/lang/en/message.php +++ b/addons/default/visiosoft/advs-module/resources/lang/en/message.php @@ -32,4 +32,5 @@ return [ 'sold_status_change' => "Your Ad's Status Has Been Set to Sold!", 'status_change' => "Your Ad's Status Has Been Set to :status!", 'disabled_detailed_options_for_admin_role' => "Detailed product options are disabled.", + 'permission_error' => 'You do not have permission for this action', ]; diff --git a/addons/default/visiosoft/advs-module/resources/lang/tr/message.php b/addons/default/visiosoft/advs-module/resources/lang/tr/message.php index 5f6db9514..74c91afb1 100644 --- a/addons/default/visiosoft/advs-module/resources/lang/tr/message.php +++ b/addons/default/visiosoft/advs-module/resources/lang/tr/message.php @@ -32,4 +32,5 @@ return [ 'sold_status_change' => "İlanın Durumu Satıldı Olarak Ayarlanmıştır!", 'status_change' => "İlanın durumu Ayarland :status !", 'disabled_detailed_options_for_admin_role' => "Ayrıntılı ürün seçenekleri devre dışı bırakıldı.", + 'permission_error' => 'Bu işlem için yetkiniz bulunmamaktadır', ]; diff --git a/addons/default/visiosoft/advs-module/src/Adv/AdvApiCollection.php b/addons/default/visiosoft/advs-module/src/Adv/AdvApiCollection.php index 2503b7af6..8423798c0 100644 --- a/addons/default/visiosoft/advs-module/src/Adv/AdvApiCollection.php +++ b/addons/default/visiosoft/advs-module/src/Adv/AdvApiCollection.php @@ -1,11 +1,36 @@ model->userAdv() ->where('advs_advs.finish_at', '>', date('Y-m-d H:i:s')); + } + public function createNewAd(array $params) + { + return $this->newQuery()->create($params); + } + + public function deleteAd(array $params) + { + $this->dispatch(new CheckRequiredParams(['ad_id'], $params)); + + if (!$ad = $this->newQuery()->find($params['ad_id'])) { + throw new \Exception(trans('visiosoft.module.advs::message.ad_doesnt_exist'),404); + } + + if ($ad->created_by_id != Auth::id()) { + throw new \Exception(trans('visiosoft.module.advs::message.permission_error'),403); + } + + return $ad->delete(); } }