refac: APIHelper에 DummySession 적용, NO_LOGIN 구분
This commit is contained in:
@@ -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)
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
@@ -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)
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
@@ -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) {
|
||||||
|
|||||||
@@ -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;
|
||||||
|
|||||||
Reference in New Issue
Block a user