|
@@ -3,14 +3,15 @@
|
|
|
namespace App\Modules\Admin\Services;
|
|
|
|
|
|
use App\Exceptions\ClientException;
|
|
|
-use App\Models\User;
|
|
|
+use App\Models\User\User;
|
|
|
use Illuminate\Database\Eloquent\Builder;
|
|
|
+use Illuminate\Support\Arr;
|
|
|
|
|
|
class UserService
|
|
|
{
|
|
|
public function paginate($data)
|
|
|
{
|
|
|
- $p = User::query()->with("group")->when($data['status'], function (Builder $query) use ($data) {
|
|
|
+ $p = User::query()->with(["group", "company"])->when($data['status'], function (Builder $query) use ($data) {
|
|
|
return $query->where("status", $data['status']);
|
|
|
})->when($data['userinfo'], function (Builder $query) use ($data) {
|
|
|
return $query->where(function (Builder $query) use ($data) {
|
|
@@ -28,11 +29,10 @@ class UserService
|
|
|
"email" => $u->email,
|
|
|
"status" => $u->status,
|
|
|
"created_at" => $u->created_at->format("Y-m-d"),
|
|
|
- //@TODO kphcdr
|
|
|
- "company" => "todo company",
|
|
|
+ "company" => optional($u->company)->name,
|
|
|
"group_id" => $u->group_id,
|
|
|
"group_name" => $u->group->name,
|
|
|
- 'permissions' => [],
|
|
|
+ 'permissions' => Arr::get($u->extra, 'permissions'),
|
|
|
];
|
|
|
}, $p->items()),
|
|
|
];
|
|
@@ -56,6 +56,9 @@ class UserService
|
|
|
if ($data['password']) {
|
|
|
$u->password = $u->hashPassword($data['password']);
|
|
|
}
|
|
|
+ $u->extra = array_merge($u->extra ?? [], [
|
|
|
+ "permissions" => $data['permissions'] ?? [],
|
|
|
+ ]);
|
|
|
$u->save();
|
|
|
return true;
|
|
|
}
|