Я создаю чистый API для игры в node / typescript. Мой игровой лог c находится в моем контроллере, где для этого лучше? - PullRequest
1 голос
/ 05 мая 2020

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

Пример кода:

// controller/game
public putIncrementDay (req: Request, res: Response) {
    const userReq = (req.user as UserDocument)._id;


    Game.findOne({userId: userReq, active: true}, (err, gameResult) => {
        if(err){
            return res.status(400).send(err);
        }
        if (gameResult == null) {
            return res.status(400).send({error: "Active game not found."})
        };

        const incrementDayResult = (gameResult as GameDocument).currentDay + 1;

        if (incrementDayResult <= maxDays) {
            gameResult.currentDay = incrementDayResult;
            gameResult.save();
            return res.json({currentDay: gameResult.currentDay});

        } else {
            gameResult.active = false;
            gameResult.save();
            return res.json(gameResult);
        }
    });
}
...