refac: APIHelper에 DummySession 적용, NO_LOGIN 구분

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