@forrestjs/service-hasura-client

中文文档
5.2.2发布于 2024/03/18MITCommonJS近 30 天下载 3030

向 Hasura 端点发布 GraphQL 查询的节点JS 客户端, Hasura admin APIs

中文使用文档
文档目录6 节
  1. 配置
  2. 授权托肯
  3. 授权 JWT
  4. 授权逻辑
  5. 查询
  6. 单曲

Hasura 节点JS客户端

配置

forrest.run({
  settings: {
    hasura: {
      endpoint: 'http://localhost:8080',
      secret: 'hasura',
      auth: {
        token: 'token',
        jwt: {
          secret: 'abc',
          roles: ['r1', 'r2'],
          defaultRole: ['r1'],
          session: {
            foo: 'bar'
          }
        },
        fn: async () => ({
          token: 'token',
          ttl: 0
        })
      } 
    }
  }
})

仅限 一个 认证设置随时被支持 .

授权托肯

当您提供此设置时, HasuraClient 会将其作为 Authorization: Bearer {token}。 。 。 .

授权 JWT

[待 执行]

当您提供此设置时, HasuraClient 将计算 JWT 并将其用作 Authorization: Bearer {jwt}。 。 。 .

授权逻辑

[待 执行]

提供此设置时, 您可以通过提供自定义逻辑来计算授权符 .

  • 结果 token 键将用作 Authorization: Bearer {token}。 。 。 .
  • 页:1 ttl 将用作缓存旗:
    • 0 永远保持( 直到重启)
    • -1 在每个查询中计算
    • 1000 保留1s(整数表示于 毫秒(中文(简体) )

查询

const MY_QUERY = `
  query FooBar ($var: String!) {
    resource (
      par: $var
    ) {
      field1
      field2
    }
  }
`;

const myFeature = () => [{
  target: '$START_FEATURE',
  handler: async ({ getContext }) => {
    const hasura = getContext('hasura');
    const res = await hasura.query(MY_QUERY, {
      var: 'foobar'
    });

    console.log(res);
  }
}];

单曲

const myFeature = () => [{
  target: '$START_FEATURE',
  handler: async ({ getContext }) => {
    const hasura = getContext('hasura');
    const res = await hasura.sql(MY_QUERY, {
      var: 'foobar'
    });

    console.log(res);
  }
}];

版本与发布记录

@forrestjs/service-hasura-client 共发布 59 个版本,首次发布于 2022/09/20;过去 12 个月发布了 0 个版本。

版本发布日期距今
5.2.2latest2024/03/182 年前
5.2.12023/03/223 年前
5.2.02023/03/223 年前
5.1.12023/03/213 年前
5.1.02023/03/213 年前
5.0.62023/03/203 年前

关于 @forrestjs/service-hasura-client 的常见问题

@forrestjs/service-hasura-client 是什么?

向 Hasura 端点发布 GraphQL 查询的节点JS 客户端, Hasura admin APIs

如何安装 @forrestjs/service-hasura-client?

在项目目录运行 npm install @forrestjs/service-hasura-client,或使用 pnpm add / yarn add / bun add。

@forrestjs/service-hasura-client 支持 TypeScript 吗?

该包的 package.json 没有声明类型入口。需要类型提示时,可以在 npm 上查找社区维护的 @types/forrestjs__service-hasura-client 是否存在。

@forrestjs/service-hasura-client 支持 ESM 还是 CommonJS?

以 CommonJS 形式发布,可以直接 require();在 ES Module 项目中也可以用 import 引入(Node.js 会把 module.exports 作为默认导出)。

@forrestjs/service-hasura-client 可以商用吗?

@forrestjs/service-hasura-client 使用 MIT 许可。宽松许可:允许商业使用、修改和再分发,通常只需在分发时保留原版权与许可声明。以上为概括,不构成法律意见,请以许可原文为准。

@forrestjs/service-hasura-client 的下载量有多少?

根据 npm 官方下载统计,@forrestjs/service-hasura-client 在 2026/10/16 – 2026/11/14 这 30 天内被下载 3,030 次,日均约 101 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入,适合横向比较热度,不能直接等同于使用人数。

@forrestjs/service-hasura-client 还在维护吗?

最新版本 5.2.2 发布于 2024/03/18(2 年前);至今共发布 59 个版本,其中过去 12 个月发布了 0 个;首次发布于 2022/09/20。发布频率只是参考信号:功能稳定的工具可能很少需要更新,建议结合源码仓库的 issue 和提交记录判断。