Я создал сервер Apollo, который поддерживается Sequelize.
Я также пишу свое приложение на TypeScript.
Это создало раздел sh между понятием Sequelize первичного ключа (Int) и понятием GraphQL идентификатора (специальной строки).
В частности, у меня есть тип GQL, который выглядит следующим образом:
type Book {
id: ID!
Title: String!
}
и интерфейс Typescript, который выглядит примерно так:
export interface Book extends Model {
id: number;
name: string;
}
В моем преобразователе, У меня есть следующее:
book: async (parent, args, context) => {
const { models } = context;
const { id } = args;
const carrier = await models.Book.findByPk(id);
return carrier;
},
Это возвращает ошибку:
Types of property 'id' are incompatible.
Type 'number' is not assignable to type 'string'.
Что подводит меня к моему вопросу
Есть ли способ заставить ID разрешить в int вместо строки? Я хотел бы избежать переназначения всех полей в Book
просто для приведения идентификатора в строку