dbms/app/Services/UserService.php
2025-05-08 18:54:55 +09:00

49 lines
1.5 KiB
PHP

<?php
namespace App\Services;
use App\Entities\UserEntity;
use App\Models\UserModel;
use CodeIgniter\HTTP\IncomingRequest;
class UserService extends CommonService
{
protected ?IncomingRequest $request = null;
public function __construct(?IncomingRequest $request = null)
{
parent::__construct($request);
}
final public function getClassName(): string
{
return "User";
}
public function getModelClass(): UserModel
{
return new UserModel();
}
public function getEntityClass(): UserEntity
{
return new UserEntity();
}
public function create(array $formDatas, mixed $entity = null): UserEntity
{
$formDatas['role'] = implode(DEFAULTS["DELIMITER_ROLE"], $formDatas['role']);
return parent::create($formDatas, $entity ?? new UserEntity());
}
public function modify(mixed $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 parent::modify($entity, $formDatas);
}
}