如何在Gatsby中重构现有的graphql源

时间:2020-07-16 02:28:36

标签: graphql gatsby

我使用gatsby-source-strapi从gatsby中的bandi收集一些数据

我需要更改数据结构并为我的staticquery生成一组新的源,

我如何使用gatsby graphql函数获得以下预期结果? (createResolvers,sourceNode,createSchemaCustomization)

鉴于我不想更改数据库结构

例如原始查询

query MyQuery {
    allStrapiAppPermissions {
        edges {
            node {
                name
                markets {
                    code
                }
            }
        }
    }
}

由上述查询生成的结果

{
    "data": {
        "allStrapiAppPermissions": {
        "edges": [
            {
                "node": {
                    "name": "PERMISSION_MYACC_OVERVIEW",
                    "markets": [
                        {
                            "code": "hk"
                        },
                        {
                            "code": "th"
                        }
                    ]
                }
            },
            {
                "node": {
                    "name": "PERMISSION_MYACC_UPDATE",
                    "markets": [
                        {
                            "code": "hk"
                        }
                    ]
                }
            }
        ]
        }
    }
}

例如我想要实现的预期结果

{
    "data": {
        "all_Concated_StrapiAppPermissions": {
        "edges": [
            {
                "node": {
                    "markets": {"code": "hk"},
                    "permissions": [
                        {
                            "name": "PERMISSION_MYACC_UPDATE"
                        },
                        {
                            "name": "PERMISSION_MYACC_OVERVIEW"
                        }
                    ]
                }
            },
            {
                "node": {
                    "markets": {"code": "th"},,
                    "permissions": [
                        {
                            "name": "PERMISSION_MYACC_OVERVIEW"
                        }
                    ]
                }
            }
        ]
        }
    }
}

0 个答案:

没有答案