From da58ee2f726735fbcbab035c113bdf83534125aa Mon Sep 17 00:00:00 2001 From: slowlyo Date: Mon, 25 Mar 2024 23:11:29 +0800 Subject: [PATCH] feat: delete & update api template --- src/AdminServiceProvider.php | 4 +++ src/Support/Apis/DataDeleteApi.php | 42 ++++++++++++++++++++++++++++++ src/Support/Apis/DataUpdateApi.php | 42 ++++++++++++++++++++++++++++++ 3 files changed, 88 insertions(+) create mode 100644 src/Support/Apis/DataDeleteApi.php create mode 100644 src/Support/Apis/DataUpdateApi.php diff --git a/src/AdminServiceProvider.php b/src/AdminServiceProvider.php index 5ab13249..a6e921a6 100644 --- a/src/AdminServiceProvider.php +++ b/src/AdminServiceProvider.php @@ -10,8 +10,10 @@ use Psr\Container\ContainerExceptionInterface; use Slowlyo\OwlAdmin\Models\PersonalAccessToken; use Slowlyo\OwlAdmin\Support\{Apis\DataCreateApi, + Apis\DataDeleteApi, Apis\DataDetailApi, Apis\DataListApi, + Apis\DataUpdateApi, Context, Cores\Menu, Cores\Asset, @@ -213,6 +215,8 @@ protected function loadApis() DataListApi::class, DataCreateApi::class, DataDetailApi::class, + DataDeleteApi::class, + DataUpdateApi::class, ]); } } diff --git a/src/Support/Apis/DataDeleteApi.php b/src/Support/Apis/DataDeleteApi.php new file mode 100644 index 00000000..c97a4d0c --- /dev/null +++ b/src/Support/Apis/DataDeleteApi.php @@ -0,0 +1,42 @@ +service()->delete(request($this->getArgs('primary_key', 'ids'))); + } + + public function argsSchema() + { + return [ + amis()->SelectControl('model', __('admin.relationships.model')) + ->required() + ->menuTpl('${label} ${table}') + ->source('/dev_tools/relation/model_options') + ->searchable(), + amis()->TextControl('primary_id', __('admin.code_generators.primary_key'))->value('ids'), + ]; + } + + protected function service() + { + $service = $this->blankService(); + + $service->setModelName($this->getArgs('model')); + + return $service; + } +} diff --git a/src/Support/Apis/DataUpdateApi.php b/src/Support/Apis/DataUpdateApi.php new file mode 100644 index 00000000..3a797999 --- /dev/null +++ b/src/Support/Apis/DataUpdateApi.php @@ -0,0 +1,42 @@ +service()->update(request($this->getArgs('primary_key', 'id')), request()->all()); + } + + public function argsSchema() + { + return [ + amis()->SelectControl('model', __('admin.relationships.model')) + ->required() + ->menuTpl('${label} ${table}') + ->source('/dev_tools/relation/model_options') + ->searchable(), + amis()->TextControl('primary_id', __('admin.code_generators.primary_key'))->value('id'), + ]; + } + + protected function service() + { + $service = $this->blankService(); + + $service->setModelName($this->getArgs('model')); + + return $service; + } +}