Более чистый способ рефакторинга асинхронного вызова

У меня есть следующая конечная точка

  @Patch("/games/:id")
  @HttpCode(200)
  async updateGame(@Param("id") id: number, @Body() update: Partial<Game>) {
    const updatedGame = await Game.findOne(id);
    if (!updatedGame){
      throw new NotFoundError("HTTP 404 Not Found: No Games Here");
    }
    else if (update.color !== validColor(update.color)) {
      throw new BadRequestError("HTTP 400 Bad Request: No Such Color");
    } else if (update.board && moves(update.board, updatedGame.board) > 1) {
      throw new BadRequestError(
        "HTTP 400 Bad Request:  Only one move allowed. Wait your turn"
      );
    } else {
      console.log("Game has been updated");

      return Game.merge(updatedGame, update).save();
    }
  }

И мне интересно, есть ли "более чистый" способ сделать то же самое. Т.е. как реорганизовать это используя деструктуризацию, стенографию и т.д..?

0 ответов

Другие вопросы по тегам