ERP-API/app/Repositories/Auth/UserRepository.php

52 lines
1.2 KiB
PHP

<?php
namespace App\Repositories\Auth;
use App\Models\User;
class UserRepository
{
public function list($params){
$limit = @$params["limit"] ?? 10;
$offset = @$params["offset"] ?? 0;
$sortColumn = @$params["sort"]["column"] ?? "id";
$sortDir = @$params["sort"]["dir"] ?? "desc";
return User::skip($offset)
->orderBy($sortColumn, $sortDir)
->when(@$params["filter"], function ($query) use ($params) {
foreach ($params["filter"] as $filter) {
$query->where($filter["column"], $filter["query"]);
}
})
->paginate($limit);
}
public function create($params){
$params["password"] = "-";
$user = User::create($params);
if (@$params["roles"]){
$user->roles()->sync($params["roles"]);
}
return $user;
}
public function update($user, $params){
$user->update($params);
if (@$params["roles"]){
$user->roles()->sync($params["roles"]);
}
return $user;
}
public function delete($user){
$user->delete();
}
}