API bookmark

This commit is contained in:
xiaomlove
2025-09-14 04:42:37 +07:00
parent 3eaa2fc14e
commit 01cbb0fa61
16 changed files with 94 additions and 22 deletions

View File

@@ -2,6 +2,7 @@
namespace App\Http\Controllers;
use App\Http\Resources\BookmarkResource;
use App\Http\Resources\TorrentResource;
use App\Models\Torrent;
use App\Repositories\BookmarkRepository;
@@ -25,7 +26,7 @@ class BookmarkController extends Controller
* Store a newly created resource in storage.
*
* @param \Illuminate\Http\Request $request
* @return \Illuminate\Http\Response
* @return array
*/
public function store(Request $request)
{
@@ -33,7 +34,8 @@ class BookmarkController extends Controller
'torrent_id' => 'required|integer',
]);
$result = $this->repository->add(Auth::user(), $request->torrent_id);
return $this->success($result->toArray(), nexus_trans('bookmark.actions.store_success'));
$resource = new BookmarkResource($result);
return $this->success($resource, nexus_trans('bookmark.actions.store_success'));
}
/**
@@ -62,12 +64,15 @@ class BookmarkController extends Controller
* Remove the specified resource from storage.
*
* @param int $id
* @return \Illuminate\Http\Response
* @return array
*/
public function destroy($id)
public function destroy(Request $request)
{
$result = $this->repository->remove(Auth::user(), $id);
return $this->success($result, nexus_trans('bookmark.actions.delete_success'));
$request->validate([
'torrent_id' => 'required|integer',
]);
$result = $this->repository->remove(Auth::user(), $request->torrent_id);
return $this->success(true, nexus_trans('bookmark.actions.delete_success'));
}
}

View File

@@ -24,8 +24,7 @@ class Controller extends BaseController
protected ?array $extraSettingNames = null;
/**
* 返回成功信息,这里是旧方法,大部分情况下 $data 已经是 JsonResource
* 但很多地方有使用,历史原因保留不动,尽量使用 successJsonResource
* 返回成功信息
*
* @param $data
* @param $msg
@@ -44,6 +43,7 @@ class Controller extends BaseController
/**
* 返回成功信息,对于不是 JsonResource 的数据,进行包装。返回的数据在 data.data 中
*
* @deprecated 没有必要,已经在 api() 中添加 data 包裹,使用 success() 即可
* @param $data
* @param $msg
* @return array

View File

@@ -37,7 +37,7 @@ class TokenController extends Controller
$newAccessToken = $user->createToken($request->name, $request->permissions);
$tokenText = $newAccessToken->plainTextToken;
$msg = nexus_trans("token.create_success_tip", ['token' => $tokenText]);
return $this->successJsonResource(['token' => $tokenText], $msg);
return $this->success(['token' => $tokenText], $msg);
} catch (\Exception $exception) {
return $this->fail(false, $exception->getMessage());
}