vendor and env first commit
This commit is contained in:
+37
@@ -0,0 +1,37 @@
|
||||
<?php
|
||||
|
||||
namespace Vanguard\UserActivity\Http\Controllers\Api;
|
||||
|
||||
use Spatie\QueryBuilder\AllowedFilter;
|
||||
use Spatie\QueryBuilder\QueryBuilder;
|
||||
use Vanguard\Http\Controllers\Api\ApiController;
|
||||
use Vanguard\UserActivity\Activity;
|
||||
use Vanguard\UserActivity\Http\Requests\GetActivitiesRequest;
|
||||
use Vanguard\UserActivity\Http\Resources\ActivityResource;
|
||||
|
||||
class ActivityController extends ApiController
|
||||
{
|
||||
public function __construct()
|
||||
{
|
||||
$this->middleware('auth');
|
||||
$this->middleware('permission:users.activity');
|
||||
}
|
||||
|
||||
/**
|
||||
* Paginate user activities.
|
||||
*/
|
||||
public function index(GetActivitiesRequest $request): \Illuminate\Http\Resources\Json\AnonymousResourceCollection
|
||||
{
|
||||
$activities = QueryBuilder::for(Activity::class)
|
||||
->allowedIncludes('user')
|
||||
->allowedFilters([
|
||||
AllowedFilter::partial('description'),
|
||||
AllowedFilter::exact('user', 'user_id'),
|
||||
])
|
||||
->allowedSorts('created_at')
|
||||
->defaultSort('-created_at')
|
||||
->paginate($request->per_page ?: 20);
|
||||
|
||||
return ActivityResource::collection($activities);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,28 @@
|
||||
<?php
|
||||
|
||||
namespace Vanguard\UserActivity\Http\Controllers\Api;
|
||||
|
||||
use Auth;
|
||||
use Carbon\Carbon;
|
||||
use Illuminate\Http\JsonResponse;
|
||||
use Vanguard\Http\Controllers\Api\ApiController;
|
||||
use Vanguard\UserActivity\Repositories\Activity\ActivityRepository;
|
||||
|
||||
class StatsController extends ApiController
|
||||
{
|
||||
public function __construct(private readonly ActivityRepository $activities)
|
||||
{
|
||||
$this->middleware('auth');
|
||||
}
|
||||
|
||||
public function show(): JsonResponse
|
||||
{
|
||||
$data = $this->activities->userActivityForPeriod(
|
||||
Auth::user()->id,
|
||||
Carbon::now()->subWeeks(2),
|
||||
Carbon::now()
|
||||
);
|
||||
|
||||
return response()->json($data);
|
||||
}
|
||||
}
|
||||
+28
@@ -0,0 +1,28 @@
|
||||
<?php
|
||||
|
||||
namespace Vanguard\UserActivity\Http\Controllers\Web;
|
||||
|
||||
use Illuminate\Http\Request;
|
||||
use Illuminate\View\View;
|
||||
use Vanguard\Http\Controllers\Controller;
|
||||
use Vanguard\UserActivity\Repositories\Activity\ActivityRepository;
|
||||
|
||||
class ActivityController extends Controller
|
||||
{
|
||||
public function __construct(private readonly ActivityRepository $activities)
|
||||
{
|
||||
}
|
||||
|
||||
/**
|
||||
* Displays the page with activities for all system users.
|
||||
*/
|
||||
public function index(Request $request): View
|
||||
{
|
||||
$activities = $this->activities->paginateActivities(perPage: 20, search: $request->search);
|
||||
|
||||
return view('user-activity::index', [
|
||||
'adminView' => true,
|
||||
'activities' => $activities,
|
||||
]);
|
||||
}
|
||||
}
|
||||
+48
@@ -0,0 +1,48 @@
|
||||
<?php
|
||||
|
||||
namespace Vanguard\UserActivity\Http\Controllers\Web;
|
||||
|
||||
use Illuminate\Contracts\View\View;
|
||||
use Illuminate\Http\Request;
|
||||
use Vanguard\Http\Controllers\Controller;
|
||||
use Vanguard\User;
|
||||
use Vanguard\UserActivity\Repositories\Activity\ActivityRepository;
|
||||
|
||||
class UserActivityController extends Controller
|
||||
{
|
||||
public function __construct(private readonly ActivityRepository $activities)
|
||||
{
|
||||
}
|
||||
|
||||
/**
|
||||
* Displays the activity log page for specific user.
|
||||
*/
|
||||
public function index(User $user, Request $request): View
|
||||
{
|
||||
$activities = $this->activities->paginateActivitiesForUser(
|
||||
userId: $user->id,
|
||||
search: $request->search,
|
||||
);
|
||||
|
||||
return view('user-activity::index', [
|
||||
'user' => $user,
|
||||
'adminView' => true,
|
||||
'activities' => $activities,
|
||||
]);
|
||||
}
|
||||
|
||||
/**
|
||||
* Display user activity log.
|
||||
*/
|
||||
public function show(Request $request): View
|
||||
{
|
||||
$user = auth()->user();
|
||||
|
||||
$activities = $this->activities->paginateActivitiesForUser(
|
||||
userId: $user->id,
|
||||
search: $request->get('search'),
|
||||
);
|
||||
|
||||
return view('user-activity::index', compact('activities', 'user'));
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user