working on omis setup

This commit is contained in:
2024-04-07 17:59:05 +05:45
parent 4f34db3381
commit 09222c8a3a
43 changed files with 237 additions and 2190 deletions

View File

@ -6,12 +6,20 @@ use App\Http\Controllers\Controller;
use App\Models\User;
use Illuminate\Http\RedirectResponse;
use Illuminate\Http\Request;
use Modules\User\Repositories\UserRepository;
class UserController extends Controller
{
/**
* Display a listing of the resource.
*/
protected $userRepository;
public function __construct(UserRepository $userRepository){
$this->userRepository = $userRepository;
}
public function index()
{
$data = User::latest()->get();
@ -25,6 +33,7 @@ class UserController extends Controller
public function create()
{
$data['title'] = "Create User";
$data['users'] = User::latest()->get();
return view('user::create', $data);
}
@ -33,12 +42,21 @@ class UserController extends Controller
*/
public function store(Request $request): RedirectResponse
{
//
$validatedData = $request->validate([
'name' => 'required|min:5',
'email' => 'required',
'password' => 'required',
]);
$user = $this->userRepository->create($validatedData, $request->role);
toastr()->success('User has been created!');
return redirect()->route('users.index');
}
/**
* Show the specified resource.
*/
public function show($id)
{
return view('user::show');

View File

@ -0,0 +1,12 @@
<?php
namespace Modules\User\Repositories;
interface UserInterface
{
public function findAll();
public function getUserById($userId);
public function delete($userId);
public function create(array $UserDetails, array $role);
public function update($userId, array $newDetails);
}

View File

@ -0,0 +1,35 @@
<?php
namespace Modules\User\Repositories;
use App\Models\User;
class UserRepository implements UserInterface
{
public function findAll()
{
return User::get();
}
public function getUserById($userId)
{
return User::findOrFail($userId);
}
public function delete($userId)
{
User::destroy($userId);
}
public function create(array $userDetails, array $role)
{
$user = User::create($userDetails);
return $user->roles()->attach($role);
}
public function update($userId, array $newDetails)
{
return User::whereId($userId)->update($newDetails);
}
}