Fix incorrect response in case when user's profile for provided UUID can't be found

This commit is contained in:
ErickSkrauch
2020-12-18 11:12:34 +01:00
parent 0c2832f95f
commit c64f386365
2 changed files with 8 additions and 18 deletions

View File

@@ -110,11 +110,10 @@ class SessionController extends Controller {
/**
* @param string $uuid
*
* @return array
* @throws ForbiddenOperationException
* @return array|null
* @throws IllegalArgumentException
*/
public function actionProfile(string $uuid): array {
public function actionProfile(string $uuid): ?array {
try {
$uuid = Uuid::fromString($uuid)->toString();
} catch (\InvalidArgumentException $e) {
@@ -124,7 +123,8 @@ class SessionController extends Controller {
/** @var Account|null $account */
$account = Account::find()->excludeDeleted()->andWhere(['uuid' => $uuid])->one();
if ($account === null) {
throw new ForbiddenOperationException('Invalid uuid.');
Yii::$app->response->setStatusCode(204);
return null;
}
return (new Textures($account))->getMinecraftResponse();