Следующая проблема с которой я столкнулся, заключается в типах модулей (хотя я явно указал типы в user.d.ts), а именно когда мы получаем request.user:
const getUser = async (request: FastifyRequest, reply: FastifyReply) => { try { const userId = (request.user as { id: string }).id; const user = await userService.findOneByUserId(userId); reply.status(200).send(user); } catch (err) { throw new Error("Пользователь с указанным id не найден"); } };В принципе в этом же коде и кроется ответ: (const userId = (request.user as { id: string }).id), явно указать что в request.user всегда будет id: string.
Я также нашел обсуждение на github на эту тему - ссылочка, хотя проблема старая, судя по всему один хер она почему-то нормально не фиксится.
Надеюсь это кому-то поможет 🙂