cfmgrv4/app/Services/UserService.php
2025-03-12 15:56:01 +09:00

47 lines
1.5 KiB
PHP

<?php
namespace App\Services;
use App\Models\UserModel;
use App\Entities\UserEntity;
class UserService extends CommonService
{
private ?UserModel $_model = null;
public function __construct()
{
parent::__construct("User", "User");
}
public function getModel(): UserModel
{
if ($this->_model === null) {
$this->_model = new UserModel();
}
return $this->_model;
}
public function create(array $formDatas): UserEntity
{
$formDatas['role'] = implode(DEFAULTS["DELIMITER_ROLE"], $formDatas['role']);
return $this->getModel()->create($formDatas);
}
public function modify(UserEntity $entity, array $formDatas): UserEntity
{
// die(var_export($formDatas, true));
//암호를 입력하지 않았을시는 변경하기 않게 하기위함
if (isset($formDatas['passwd']) && $formDatas['passwd'] == "") {
unset($formDatas['passwd']);
unset($formDatas['confirmpassword']);
}
//Role을 지정이 있을경우에만 , toggle이나 batcjhjob에서는 없을수도 있으므로
if (isset($formDatas['role'])) {
$formDatas['role'] = implode(DEFAULTS["DELIMITER_ROLE"], $formDatas['role']);
}
// die(var_export($formDatas, true));
return $this->getModel()->modify($entity, $formDatas);
}
public function delete(UserEntity $entity): void
{
$this->getModel()->delete($entity);
}
}