【发布时间】:2019-05-25 16:22:15
【问题描述】:
我有这个枚举:
enum ENUMIdentificationDocumentType {
CC = "CÉDULA DE CIUDADANÍA",
TI = "TARJETA DE IDENTIDAD"
}
所以,当我通过架构向 Graphql 发出请求时,如下所示:
mutation {
register(
...Stuff
identificationDocumentType: TI
...MoreStuff
) {
path
message
}
}
在 graphql 模式中,枚举的定义如下:
enum ENUMIdentificationDocumentType {
CC
TI
}
所以,Mutation 用 TI 向我发送数据“identificationDocumentType”,这是对的……但是实体中定义的枚举:
enum ENUMIdentificationDocumentType {
CC = "CÉDULA DE CIUDADANÍA",
TI = "TARJETA DE IDENTIDAD"
}
无法识别参数 TI 应为“TARJETA DE IDENTIDAD”,但它在查询中返回 TI:
INSERT INTO `user`(`id`, `routePhoto`, `routeCover`, `name`, `lastname`, `description`, `identificationDocumentType`, `identificationDocument`, `address`, `telephone`, `departament`, `city`, `civilStatus`, `website`, `gender`, `email`, `password`, `confirmed`, `forgotPasswordLocked`) VALUES (?, DEFAULT, DEFAULT, ?, ?, DEFAULT, ?, ?, DEFAULT, ?, DEFAULT, DEFAULT, DEFAULT, DEFAULT, DEFAULT, ?, ?, DEFAULT, DEFAULT) -- PARAMETERS: ["04ef7733-e4bd-4d00-a2f3-d455a58d7602","Andrés","Montoya","TI",991026077,"3213726060","andresmontoyafcb@gmail.com","$2a$10$G9JKoUxlxXYoND6iyws1Q.x2jbznKueoRorKqAGkTDTdaGUVAYlmu"]
当我发送 TI 之类的内容时,我如何检测到 TypeORM 的枚举检测到的是“TARJETA DE IDENTIDAD”?
这是来自控制台的错误:
如果有人需要任何小例子,here you go。
您可以像这样运行它,授予对 wait-for-it.sh 文件的权限:
chmod +x wait-for-it.sh
然后运行它:
docker-compose up --build
或者检查数据库:
docker-compose exec db mysql -u root -p
请帮忙:(
【问题讨论】:
标签: typescript graphql-js typeorm