refac: APIHelper에 DummySession 적용, NO_LOGIN 구분

This commit is contained in:
2022-04-21 23:33:08 +09:00
parent cbf0be20a5
commit 601196e3f6
7 changed files with 10 additions and 9 deletions
+1 -1
View File
@@ -41,7 +41,7 @@ class GetCachedMap extends \sammo\BaseAPI
public function getRequiredSessionMode(): int
{
return static::NO_SESSION;
return static::DUMMY_SESSION;
}
public function launch(Session $session, ?DateTimeInterface $modifiedSince, ?string $reqEtag)
+1 -1
View File
@@ -32,7 +32,7 @@ class GetConst extends \sammo\BaseAPI
public function getRequiredSessionMode(): int
{
return static::REQ_LOGIN | static::REQ_READ_ONLY;
return static::DUMMY_SESSION;
}
public function findLastModified(): ?int
+1 -1
View File
@@ -32,7 +32,7 @@ class LoginByID extends \sammo\BaseAPI
public function getRequiredSessionMode(): int
{
return BaseAPI::NO_SESSION;
return BaseAPI::NO_LOGIN;
}
public function scrubToken(int $userID)
+1 -1
View File
@@ -17,7 +17,7 @@ class LoginByToken extends LoginByID
public function getRequiredSessionMode(): int
{
return \sammo\BaseAPI::NO_SESSION; //XXX: Token 때문에 엄밀히는 NO_SESSION이 아님
return \sammo\BaseAPI::NO_LOGIN;
}
public function validateArgs(): ?string
+1 -1
View File
@@ -15,7 +15,7 @@ use sammo\Validator;
class ReqNonce extends BaseAPI{
public function getRequiredSessionMode(): int {
return \sammo\BaseAPI::NO_SESSION;
return \sammo\BaseAPI::NO_LOGIN;
}
public function validateArgs(): ?string
+3 -3
View File
@@ -45,15 +45,15 @@ class APIHelper
}
$sessionMode = $obj->getRequiredSessionMode();
if ($sessionMode === BaseAPI::NO_SESSION) {
$session = Session::getInstance(); //XXX: NoSession이면 진짜 NoSession이어야..?
if ($sessionMode === BaseAPI::DUMMY_SESSION) {
$session = new DummySession();
} else {
if ($sessionMode & BaseAPI::REQ_GAME_LOGIN) {
$session = Session::requireGameLogin();
} else if ($sessionMode & BaseAPI::REQ_LOGIN) {
$session = Session::requireLogin();
} else {
Json::dieWithReason("올바르지 않은 SessionMode: {$sessionMode}");
$session = Session::getInstance();
}
if ($sessionMode & BaseAPI::REQ_READ_ONLY) {
+2 -1
View File
@@ -4,7 +4,8 @@ namespace sammo;
abstract class BaseAPI
{
const NO_SESSION = 0;
const DUMMY_SESSION = -1;
const NO_LOGIN = 0;
const REQ_LOGIN = 1;
const REQ_GAME_LOGIN = 2;
const REQ_READ_ONLY = 4;