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

50 lines
1.2 KiB
PHP

<?php
namespace App\Repositories\Auth;
use App\Models\Permission;
class PermissionRepository
{
public function list($params){
$limit = @$params["limit"] ?? 10;
$offset = @$params["offset"] ?? 0;
$sortColumn = @$params["sort"]["column"] ?? "id";
$sortDir = @$params["sort"]["dir"] ?? "desc";
$search = @$params["search"];
return Permission::skip($offset)
->orderBy($sortColumn, $sortDir)
->when($search, function ($query) use ($search){
$query->where(function($query) use ($search){
$query->where("name","ilike","%$search%");
$query->orWhere("code","ilike","%$search%");
});
})
->when(@$params["filter"], function ($query) use ($params) {
foreach ($params["filter"] as $filter) {
$query->where($filter["column"], $filter["query"]);
}
})
->paginate($limit);
}
public function create($params){
return $model;
}
public function update($model, $params){
return $model;
}
public function delete($model){
$model->delete();
}
}