65 lines
1.7 KiB
PHP
65 lines
1.7 KiB
PHP
|
<?php
|
||
|
|
||
|
namespace Modules\Employee\Repositories;
|
||
|
|
||
|
use Modules\Employee\Models\Employee;
|
||
|
|
||
|
class EmployeeRepository implements EmployeeInterface
|
||
|
{
|
||
|
public function findAll()
|
||
|
{
|
||
|
return Employee::when(true, function ($query) {
|
||
|
if (auth()->user()->hasRole('employee')) {
|
||
|
$user = \Auth::user();
|
||
|
dd($user, $user->employee_id);
|
||
|
$query->where('id', $user->employee_id);
|
||
|
}
|
||
|
})->paginate(20);
|
||
|
}
|
||
|
|
||
|
public function getEmployeeById($employeeId)
|
||
|
{
|
||
|
return Employee::findOrFail($employeeId);
|
||
|
}
|
||
|
|
||
|
public function getEmployeeByEmail($email)
|
||
|
{
|
||
|
return Employee::where('email', $email)->first();
|
||
|
}
|
||
|
|
||
|
public function delete($employeeId)
|
||
|
{
|
||
|
Employee::destroy($employeeId);
|
||
|
}
|
||
|
|
||
|
public function create($employeeDetails)
|
||
|
{
|
||
|
return Employee::create($employeeDetails);
|
||
|
}
|
||
|
|
||
|
public function update($employeeId, array $newDetails)
|
||
|
{
|
||
|
return Employee::whereId($employeeId)->update($newDetails);
|
||
|
}
|
||
|
|
||
|
public function pluck()
|
||
|
{
|
||
|
return Employee::pluck('first_name', 'id');
|
||
|
}
|
||
|
|
||
|
// public function uploadImage($file)
|
||
|
// {
|
||
|
// if ($req->file()) {
|
||
|
// $fileName = time() . '_' . $req->file->getClientOriginalName();
|
||
|
// $filePath = $req->file('file')->storeAs('uploads', $fileName, 'public');
|
||
|
// $fileModel->name = time() . '_' . $req->file->getClientOriginalName();
|
||
|
// $fileModel->file_path = '/storage/' . $filePath;
|
||
|
// $fileModel->save();
|
||
|
// return back()
|
||
|
// ->with('success', 'File has been uploaded.')
|
||
|
// ->with('file', $fileName);
|
||
|
// }
|
||
|
// }
|
||
|
|
||
|
}
|