Squid: PostGraphile as GraphQL engine instead of Hasura

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.

5 Likes