You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
tivi_kemana_saja_laravel/app/Http/Controllers/api/superadmin/UserManagementController.php

32 lines
1.2 KiB
PHP

<?php
namespace App\Http\Controllers\api\superadmin;
use App\Helper\DatabaseHelper;
use App\Helper\JSONResponse;
use App\Http\Controllers\Controller;
use App\Models\User;
use Illuminate\Http\Request;
class UserManagementController extends Controller {
public function init(Request $request) {
$request->validate([
'perPage' => 'nullable|integer|min:1',
...DatabaseHelper::getOrderBysValidations(),
'search' => DatabaseHelper::getSearchValidation()
]);
$data = User::multiSearch($request->search, ['email', 'username'])
->multiOrderBy($request->orderBys, 'created_at desc')
->paginate($request->perPage ?? 10 );
return JSONResponse::Success(['data' => $data]);
}
public function save(Request $request) { return User::upsertFromRequest($request); }
public function update(Request $request) { return User::upsertFromRequest($request); }
public function changePassword(Request $request) { return User::changePasswordFromRequest($request); }
public function delete(Request $request) { return User::deleteFromRequest($request); }
public function changeStatus(Request $request) { return User::changeStatusFromRequest($request); }
}