mirror of
https://github.com/HDInnovations/UNIT3D-Community-Edition.git
synced 2026-04-22 01:38:49 -05:00
refactor: cruddify user torrent history
This commit is contained in:
@@ -0,0 +1,46 @@
|
||||
<?php
|
||||
/**
|
||||
* NOTICE OF LICENSE.
|
||||
*
|
||||
* UNIT3D Community Edition is open-sourced software licensed under the GNU Affero General Public License v3.0
|
||||
* The details is bundled with this project in the file LICENSE.txt.
|
||||
*
|
||||
* @project UNIT3D Community Edition
|
||||
*
|
||||
* @author Roardom <roardom@protonmail.com>
|
||||
* @license https://www.gnu.org/licenses/agpl-3.0.en.html/ GNU Affero General Public License v3.0
|
||||
*/
|
||||
|
||||
namespace App\Http\Controllers\User;
|
||||
|
||||
use App\Http\Controllers\Controller;
|
||||
use App\Models\User;
|
||||
use Illuminate\Http\Request;
|
||||
use Illuminate\Support\Facades\DB;
|
||||
|
||||
class HistoryController extends Controller
|
||||
{
|
||||
/**
|
||||
* Show user torrent history.
|
||||
*/
|
||||
public function index(Request $request, string $username): \Illuminate\Contracts\View\Factory|\Illuminate\View\View
|
||||
{
|
||||
$user = User::where('username', '=', $username)->sole();
|
||||
|
||||
\abort_unless($request->user()->group->is_modo || $request->user()->id == $user->id, 403);
|
||||
|
||||
$history = DB::table('history')
|
||||
->where('user_id', '=', $user->id)
|
||||
->where('created_at', '>', $user->created_at)
|
||||
->selectRaw('sum(actual_uploaded) as upload')
|
||||
->selectRaw('sum(uploaded) as credited_upload')
|
||||
->selectRaw('sum(actual_downloaded) as download')
|
||||
->selectRaw('sum(downloaded) as credited_download')
|
||||
->first();
|
||||
|
||||
return \view('user.history.index', [
|
||||
'user' => $user,
|
||||
'history' => $history,
|
||||
]);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user