#supabase #database-client #graphql #storage #sdk #table #real-time

bin+lib supabase_rs

Supabase REST 和 GraphQL 的轻量级 Rust 客户端

17 个版本

0.3.7 2024 年 7 月 11 日
0.3.1 2024 年 6 月 27 日
0.2.2 2024 年 2 月 4 日

365数据库接口

Download history 218/week @ 2024-04-20 169/week @ 2024-04-27 286/week @ 2024-05-04 106/week @ 2024-05-11 68/week @ 2024-05-18 49/week @ 2024-05-25 30/week @ 2024-06-01 380/week @ 2024-06-08 108/week @ 2024-06-15 105/week @ 2024-06-22 302/week @ 2024-06-29 606/week @ 2024-07-06 116/week @ 2024-07-13 3/week @ 2024-07-20 2/week @ 2024-07-27

每月下载 203
3 crates 中使用

MIT 许可证

120KB
2K SLoC

supabase_rs

supabase_rs 是一个极轻量级的 Supabase SDK,用于与数据库交互。

我正在积极覆盖整个 Supabase API,包括 Auth、实时、存储等

功能标志

  • nightly:启用 GraphQL 模块不通过 REST 进行交互。
  • storage:启用 Storage 模块与 Supabase 存储交互。
  • rustls:强制客户端使用 rustls 而不是 OpenSSL

夜间构建

如果您想早期使用 GraphQL,可以启用 nightly 标志,这显然不是生产就绪的。

夜间构建将发送警告消息,要禁用 nightly 警告消息

在您的 .env 中禁用它,如下所示

SUPABASE_RS_NO_NIGHTLY_MSG=true
  • 注意 GraphQL 和 REST 可以一起使用,因为客户端是从最初认证的地方共享的。

数据库功能

  • 更新
  • 插入
  • 唯一插入
  • 批量插入
  • 更新插入
  • 批量更新插入
  • 删除(仅按 ID)
  • 选择
  • 选择特定列
  • 应用过滤器
  • 计算总记录数

select() 上进行高级过滤

  • 列等于一个值
  • 列不等于一个值
  • 列大于一个值
  • 列小于一个值
  • 列大于或等于一个值
  • 列小于或等于一个值
  • 排序结果
  • 限制返回的行数
  • 以 CSV 格式检索

存储

  • 从公共存储桶下载文件
  • 保存文件
  • 将文件保存到私有存储桶
  • 上传文件
  • 生成签名 URL
  • 删除文件

GraphQL

  • 查询验证
  • 调用查询
  • 调用可变查询
  • 响应解析

身份验证

// 即将推出 //

实时

// 即将推出 //

Supabase SDK for Rust

这是一个非官方的Rust SDK,用于Supabase,因为目前还没有官方的Rust SDK。

功能

  • Insert:向表中添加新行。
  • Insert if unique:只有在不会违反UNIQUE约束的情况下,才添加新行。
  • Update:根据唯一标识符修改表中的现有行。
  • Select:如果不存在,则向表中插入新行;如果存在,则更新它。
  • Select with count:从表中选择行,并计算匹配筛选条件的行数。
  • Select with filter:根据筛选条件从表中选择行。
  • Select with filter and count:根据筛选条件从表中选择行,并计算匹配筛选条件的行数。
  • Delete:根据唯一标识符从表中删除行。

Graphql功能

功能标志

  • storage:启用 Storage 模块与 Supabase 存储交互。

Cargo.toml

[dependencies]
supabase-rs = "0.3.7"

// With the [storage] feature
supabase-rs = { version = "0.3.7", features = ["storage"] }

//!

用法

首先,请确保您已初始化Supabase客户端初始化SupabaseClient!!

身份验证

Supabase客户端使用Supabase URL和Supabase密钥进行初始化。这些是可以在以下名称或任何其他名称下设置的环
境变量,位于以下名称下的.env文件中:

SUPABASE_URL=
SUPABASE_KEY=

示例将在文档中提供。

贡献者

Izyuumi - 改进了更新方法中的行ID路由

依赖关系

~9–24MB
~318K SLoC