C’est bon j’ai activé les relations, ils suffisait d’activer une option:
// graphileBuildOptions for plugins
graphileBuildOptions: {
// Enable filtering on related tables/fields
connectionFilterRelations: true,
// Additional connection filter options
connectionFilterAllowNullInput: true,
connectionFilterAllowEmptyObjectInput: true,
},
→
query CertDetails {
certs(
filter: {
and: [
{ issuer: { name: { equalTo: "poka" } } }
{ receiver: { name: { equalTo: "vit" } } }
]
}
) {
nodes {
id
isActive
createdOn
updatedOn
expireOn
certHistory {
nodes {
blockNumber
eventType
}
}
issuer {
index
status
}
receiver {
index
status
}
}
}
}
→
{
"data": {
"certs": {
"nodes": [
{
"id": "genesis-cert_61-58",
"isActive": true,
"createdOn": -83736,
"updatedOn": -83736,
"expireOn": 6192143,
"certHistory": {
"nodes": [
{
"blockNumber": -83736,
"eventType": "Creation"
}
]
},
"issuer": {
"index": 61,
"status": "Member"
},
"receiver": {
"index": 58,
"status": "Member"
}
}
]
}
}
}
Et grâce au depthLimiter on est normalement protégé contre les query abusives. A challenger.
Je merge, pousse, et déploie cette nouvelle mouture.
@ManUtopiK @vit @vjrj @joss.rendall Désolé il va encore falloir adapter un peu vos requêtes squid à partir de la 0.5.0, mais promis ça doit être léger comme diff, plus léger que le passage Hasura → Graphile.