- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
使用 Apollo 客户端 Hook ,我在组件中检索以下查询:
import {
gql
} from '@apollo/client';
interface User {
id: number;
email: string;
role: string;
}
interface QueryData {
organization_users: OrgUser[];
}
export const GET_USERS = gql `
query GetUsers {
organization_users {
user {
id
email
}
role
}
}
`;
如何才能使结果从 Hasura map 正确返回到我的User
界面,从而有效地扁平化上面的 organization_users.user
?
最佳答案
一些建议...
创建一些转换逻辑来扁平化内存中的数据,即在应用程序的 Typescript 中,使用 as
类型断言。 https://www.typescriptlang.org/docs/handbook/interfaces.html 。
在 Hasura 中创建一个组合了 user
列和 organization_users
列的 View 。因此organization_users_view
可以定义为
select user.id as id, users.email as email, organization_users.role as role
from organization_users
join users
on organization_users.user_id = users.id;
所以查询看起来像......
export const GET_USERS = gql `
query GetUsers {
organization_users_view {
id
email
role
}
}
`;
这与更少的代码更接近,但请仔细检查您是否保留了 Apollo 缓存在滋润应用程序其他部分方面的优势,这在很大程度上取决于 id 和资源“类型”。每次需要更多列时,还需要一些定义和/或修改 View 的开销(可以根据需要使用 users.* 和organization_users.*)。然而,一个好处是,这可以很好地处理类型和组件生成...因此您不必手动定义接口(interface)。
关于javascript - 使用 Typescript 展平来自 Apollo/Hasura GraphQL 查询的结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60814393/
根据 Hasura 中的用户角色动态更改 Apollo SubscriptionClient 中的 header 的正确方法是什么? 堆: 下一篇JS 阿波罗 Auth0 Hasura(使用角色列存储
例子: 将文件上传到服务器并将结果路径保存到数据库,只有经过身份验证的用户才可以上传文件 如何实现呢? 最佳答案 总结一下,我们有3种方式: 客户端上载到s3(或类似服务),获取文件的url,然后将插
我有三个型号用户 , 发帖 , 投票 我尝试创建一个基于角色的授权,作者(创建帖子/博客的用户)不能为他们自己的帖子/博客投票。为了识别用户,我使用了 Hasura session 变量 X-Hasu
通过对选择进行自定义检查: { "_or": [ { "user": { "id": { "_eq": "X-Hasur
我有一个在 Docker 容器中运行的 Hasura 实例和直接在机器上运行的用 NodeJS/Express 编写的 Action 处理程序 API。 当我在本地测试所有内容时,它就像一个魅力(ma
在 GraphQL 或 Hasura 中是否可以按月或年对结果进行分组?我目前正在将结果列表作为一个平面数组返回,按 date 排序模型的属性。但是,我想取回对应于一年中每个月的 12 个子数组。 最
基础知识 - 我需要根据来自不同表的一些变量从列中返回数据(如果不允许访问,我要么返回列,要么返回 null) 我已经通过 postgres 中的自定义函数完成了我需要的工作,但问题是在 Hasura
我有以下查询: query { table1(where: {table2: {id: {}}}) { id } } table1之间有关系和 table2通过外键。也就是说,在 ta
我正在使用一个复杂的派生 graphql 查询,其中我想获取最小值和最大值之间的所有条目。我使用 Hasura 的 graphql 模式进行查询。 Heroku 的 Hasura 在其文档页面上为 A
如果我在仪表板中禁用 x-hasura-admin-secret,并添加 Authorization: Bearer a_jwt_encoded_with_a_HASURA_GRAPHQL_JWT_S
我有这样的查询: query getUsers ($setId: Int) { user(where: { user_sets: { set_id: { _in: [$setId] } } })
我只想将 Hasura 用作 NestJs GraphQL 服务器后面的数据访问层,并保留 Hasura 的所有优势,尤其是具有订阅功能的实时功能。 这个想法是构建一个更加定制的 API 并在与 Ha
如果我在仪表板中禁用 x-hasura-admin-secret,并添加 Authorization: Bearer a_jwt_encoded_with_a_HASURA_GRAPHQL_JWT_S
在 WSL2 中运行的 Docker 桌面 (windows10) 在 WSL2 中运行的 postgresql 在 windows10 中运行的 pgadmin 我可以使用默认设置将 pgadmin
因此,假设我有以下图形查询来获取用户及其帖子: query MyQuery { users{ id posts { id } } } 假设我有一个没有任何帖
在我的 hasura.io 数据库中,我有一个 booking 表,我在其中存储具有以下属性的预订: id(自动增量) 来自 (timestamptz) 到 (timestamptz) 描述(文本)
我安装了 Docker 工具箱版本,以便能够在本地运行 Hasura。 Docker 功能齐全(我认为)并且是最新的,可以成功拉取图像并启动容器。我认为 Hasura CLI 也已成功安装,因为可以成
我需要在 Hasura Docker Image 中安装 awscli 和 jq 库。我尝试使用 yum、apt-get 或 apk 命令来安装依赖项,但它们都不起作用。 Docker 图片:http
我正在使用 admin secret 运行一个 docker 容器。在下图中,您可以在权限窗口下看到角色。 对于 category 表,我为 SELECT 选项设置了 public 角色,并且该角色没
如下截图可以看出,当前项目数据库(postgresql)named default 具有这 4 个架构 - public、appcompany1、appcompany2 和 appcompany3。
我是一名优秀的程序员,十分优秀!