<?php

namespace App\Libraries\Mangboard;

use App\Models\Mangboard\UserModel;
use App\Entities\Mangboard\UserEntity;
use App\Libraries\CommonLibrary;

class UserLibrary extends CommonLibrary
{
    private $_user_model = null;
    public function __construct()
    {
        parent::__construct();
    }
    public function getUserModel(): UserModel
    {
        if ($this->_user_model === null) {
            return $this->_user_model = new UserModel();
        }
        return $this->_user_model;
    }
    // 로그인 메서드
    public function login(string $host, string $id, string $password): bool|UserEntity
    {
        $entity = $this->getUserModel()->getEntityByID($id);
        // $response = $this->getWebLibrary($host)->getResponse(
        //     $host . getenv("mangboard.login.url"),
        //     "post",
        //     [
        //         'form_params' => [
        //             'user_id' => $id,
        //             'password' => $password,
        //         ],
        //     ]
        // );
        // if ($response->getStatusCode() == 200) {
        //     $entity = $this->getUserModel()->getEntityByLoginCheck($id, $password);
        //     if ($entity === null) {
        //         throw new \Exception("{$id}는 회원이 아니거나 암호가 맞지 않습니다.");
        //     }
        // } else {
        //     throw new \Exception("연결실패:" . $response->getStatusCode());
        // }
        log_message("notice", "{$id}로 로그인 성공");
        return $entity;
    }
}
