sarga/packages/Webkul/User/src/Repositories/RoleRepository.php

79 lines
1.7 KiB
PHP
Raw Normal View History

2019-02-18 07:30:40 +00:00
<?php
2018-07-31 07:50:54 +00:00
namespace Webkul\User\Repositories;
2019-02-18 07:30:40 +00:00
2022-01-11 08:50:24 +00:00
use Illuminate\Support\Facades\Event;
2018-07-31 07:50:54 +00:00
use Webkul\Core\Eloquent\Repository;
class RoleRepository extends Repository
{
/**
2022-01-11 08:50:24 +00:00
* Specify model class name.
2018-07-31 07:50:54 +00:00
*
* @return mixed
*/
2022-01-11 08:50:24 +00:00
public function model()
2018-07-31 07:50:54 +00:00
{
2022-01-11 08:50:24 +00:00
return \Webkul\User\Contracts\Role::class;
}
/**
* Create.
*
* @param array $attributes
* @return mixed
*/
public function create(array $attributes)
{
Event::dispatch('user.role.create.before');
$role = parent::create($attributes);
Event::dispatch('user.role.create.after', $role);
return $role;
2018-07-31 07:50:54 +00:00
}
2021-01-13 05:57:12 +00:00
/**
* Update method.
*
* @param array $data
* @param int $id
2022-01-11 08:50:24 +00:00
* @return \Webkul\User\Contracts\Role
2021-01-13 05:57:12 +00:00
*/
public function update(array $data, $id)
{
2022-01-11 08:50:24 +00:00
Event::dispatch('user.role.update.before', $id);
2021-01-13 05:57:12 +00:00
/* making collection for ease */
$requestedData = collect($data);
/* updating role data */
$role = $this->find($id);
$role->name = $requestedData['name'];
$role->description = $requestedData['description'];
$role->permission_type = $requestedData['permission_type'];
$role->permissions = $requestedData->has('permissions') ? $requestedData['permissions'] : [];
$role->update();
2022-01-11 08:50:24 +00:00
Event::dispatch('user.role.update.after', $role);
2021-01-13 05:57:12 +00:00
return $role;
}
2022-01-11 08:50:24 +00:00
/**
* Delete.
*
* @param int $id
* @return bool
*/
public function delete($id)
{
Event::dispatch('user.role.delete.before', $id);
parent::delete($id);
Event::dispatch('user.role.delete.after', $id);
}
}