mirror of
https://github.com/lkddi/nexusphp.git
synced 2026-04-03 14:10:57 +08:00
[API] comments list
This commit is contained in:
@@ -25,17 +25,8 @@ class CommentController extends Controller
|
||||
*/
|
||||
public function index(Request $request)
|
||||
{
|
||||
$torrentId = $request->torrent_id;
|
||||
$with = ['create_user', 'update_user'];
|
||||
$comments = Comment::query()
|
||||
->with($with)
|
||||
->where('torrent', $torrentId)
|
||||
->paginate();
|
||||
$comments = $this->repository->getList($request, Auth::user());
|
||||
$resource = CommentResource::collection($comments);
|
||||
// $resource->additional([
|
||||
// 'page_title' => nexus_trans('comment.index.page_title'),
|
||||
// ]);
|
||||
|
||||
return $this->success($resource);
|
||||
}
|
||||
|
||||
|
||||
@@ -15,15 +15,13 @@ class CommentResource extends JsonResource
|
||||
*/
|
||||
public function toArray($request)
|
||||
{
|
||||
$descriptionArr = format_description($this->text);
|
||||
return [
|
||||
'id' => $this->id,
|
||||
'description' => $descriptionArr,
|
||||
'images' => get_image_from_description($descriptionArr),
|
||||
'updated_at_human' => format_datetime($this->editdate),
|
||||
'created_at_human' => $this->added->format('Y-m-d H:i'),
|
||||
'text' => $this->text,
|
||||
'updated_at' => format_datetime($this->editdate),
|
||||
'created_at' => format_datetime($this->added),
|
||||
'create_user' => new UserResource($this->whenLoaded('create_user')),
|
||||
'update_user' => new UserResource($this->whenLoaded('update_user')),
|
||||
'update_user' => $this->when($this->editedby > 0, new UserResource($this->whenLoaded('update_user'))),
|
||||
];
|
||||
}
|
||||
}
|
||||
|
||||
@@ -9,26 +9,27 @@ use App\Models\Torrent;
|
||||
use App\Models\User;
|
||||
use Carbon\Carbon;
|
||||
use Hamcrest\Core\Set;
|
||||
use Illuminate\Contracts\Auth\Authenticatable;
|
||||
use Illuminate\Http\Request;
|
||||
use Illuminate\Support\Facades\DB;
|
||||
use Nexus\Database\NexusDB;
|
||||
|
||||
class CommentRepository extends BaseRepository
|
||||
{
|
||||
public function getList(array $params)
|
||||
public function getList(Request $request, Authenticatable $user)
|
||||
{
|
||||
$query = Comment::query()->with(['create_user', 'update_user']);
|
||||
if (!empty($params['torrent_id'])) {
|
||||
$query->where('torrent', $params['torrent_id']);
|
||||
if (!empty($request->torrent_id)) {
|
||||
$query->where('torrent', $request->torrent_id);
|
||||
}
|
||||
if (!empty($params['offer_id'])) {
|
||||
$query->where('offer', $params['offer_id']);
|
||||
if (!empty($request->offer_id)) {
|
||||
$query->where('offer', $request->offer_id);
|
||||
}
|
||||
if (!empty($params['request_id'])) {
|
||||
$query->where('request', $params['request_id']);
|
||||
if (!empty($request->request_id)) {
|
||||
$query->where('request', $request->request_id);
|
||||
}
|
||||
list($sortField, $sortType) = $this->getSortFieldAndType($params);
|
||||
$query->orderBy($sortField, $sortType);
|
||||
return $query->paginate();
|
||||
$query->orderBy('id', 'desc');
|
||||
return $query->paginate($this->getPerPageFromRequest($request));
|
||||
}
|
||||
|
||||
public function store(array $params, User $user)
|
||||
|
||||
@@ -4946,6 +4946,9 @@ function get_searchbox_value($mode = 1, $item = 'showsubcat'){
|
||||
|
||||
function get_ratio($userid, $html = true){
|
||||
$row = get_user_row($userid);
|
||||
if (empty($row)) {
|
||||
return "---";
|
||||
}
|
||||
$uped = $row['uploaded'];
|
||||
$downed = $row['downloaded'];
|
||||
if ($html == true){
|
||||
|
||||
@@ -29,7 +29,6 @@ Route::group(['middleware' => ['auth:sanctum']], function () {
|
||||
// Route::resource('messages', \App\Http\Controllers\MessageController::class);
|
||||
// Route::get('messages-unread', [\App\Http\Controllers\MessageController::class, 'listUnread']);
|
||||
// Route::resource('torrents', \App\Http\Controllers\TorrentController::class);
|
||||
// Route::resource('comments', \App\Http\Controllers\CommentController::class);
|
||||
// Route::resource('peers', \App\Http\Controllers\PeerController::class);
|
||||
// Route::resource('files', \App\Http\Controllers\FileController::class);
|
||||
// Route::resource('thanks', \App\Http\Controllers\ThankController::class);
|
||||
@@ -56,7 +55,7 @@ Route::group(['middleware' => ['auth:sanctum']], function () {
|
||||
|
||||
Route::post('bookmarks', [\App\Http\Controllers\BookmarkController::class, 'store'])->middleware(ability(RoutePermissionEnum::BOOKMARK_STORE));
|
||||
Route::post('bookmarks/delete', [\App\Http\Controllers\BookmarkController::class, 'destroy'])->middleware(ability(RoutePermissionEnum::BOOKMARK_DELETE));
|
||||
|
||||
Route::get('comments', [\App\Http\Controllers\CommentController::class, 'index'])->middleware(ability(RoutePermissionEnum::TORRENT_VIEW));
|
||||
|
||||
});
|
||||
|
||||
|
||||
Reference in New Issue
Block a user