SupabaseRepository<T>
Defined in: packages/rxdb-adapter-supabase/src/SupabaseRepository.ts:19
Supabase Repository 提供对 Supabase 表的 CRUD 操作
Extends
Extended by
Type Parameters
| Type Parameter |
|---|
T extends EntityType |
Implements
IRepository<T>
Constructors
Constructor
new SupabaseRepository<T>(adapter, EntityType): SupabaseRepository<T>;
Defined in: packages/rxdb-adapter-supabase/src/SupabaseRepository.ts:22
Parameters
| Parameter | Type |
|---|---|
adapter | RxDBAdapterSupabase |
EntityType | T |
Returns
SupabaseRepository<T>
Overrides
Properties
adapter
protected readonly adapter: RxDBAdapterSupabase;
Defined in: packages/rxdb-adapter-supabase/src/SupabaseRepository.ts:23
EntityType
readonly EntityType: T;
Defined in: packages/rxdb/dist/repository/RepositoryBase.d.ts:9
Inherited from
metadata
protected readonly metadata: EntityMetadata;
Defined in: packages/rxdb-adapter-supabase/src/SupabaseRepository.ts:20
rxdb
protected readonly rxdb: RxDB;
Defined in: packages/rxdb/dist/repository/RepositoryBase.d.ts:8
Inherited from
_STATIC_METHODS
protected static _STATIC_METHODS: string[];
Defined in: packages/rxdb/dist/repository/RepositoryBase.d.ts:10
Inherited from
RepositoryBase._STATIC_METHODS
Accessors
staticMethods
Get Signature
get static staticMethods(): string[];
Defined in: packages/rxdb/dist/repository/RepositoryBase.d.ts:11
Returns
string[]
Inherited from
Methods
count()
count(options): Promise<number>;
Defined in: packages/rxdb-adapter-supabase/src/SupabaseRepository.ts:110
统计满足条件的实体数量。
使用 PostgREST 的 count=exact + head=true,仅返回计数不下载行数据。
暂不支持 groupBy。
Parameters
| Parameter | Type | Description |
|---|---|---|
options | EntityStaticType<T, "countOptions"> | 查询条件(where / groupBy) |
Returns
Promise<number>
实体总数(无匹配时返回 0)
Throws
传入 groupBy(暂未实现)
Throws
PostgREST 返回错误时
Implementation of
create()
create(entity): Promise<InstanceType<T>>;
Defined in: packages/rxdb-adapter-supabase/src/SupabaseRepository.ts:141
创建实体并落库。
若 rxdb.context.userId 存在,会自动注入 createdBy / updatedBy 审计字段。
Parameters
| Parameter | Type | Description |
|---|---|---|
entity | InstanceType<T> | 待创建的实体(必须包含主键 id) |
Returns
Promise<InstanceType<T>>
创建后的实体(含数据库回填字段如 createdAt)
Throws
插入失败(主键冲突 / RLS 拒绝 / 网络错误等)
Implementation of
createEntityRef()
createEntityRef(data): any;
Defined in: packages/rxdb/dist/repository/RepositoryBase.d.ts:17
获取实体实例
Parameters
| Parameter | Type | Description |
|---|---|---|
data | EntityUpdateData<T> | 实体数据 |
Returns
any
Inherited from
RepositoryBase.createEntityRef
find()
find(options): Promise<InstanceType<T>[]>;
Defined in: packages/rxdb-adapter-supabase/src/SupabaseRepository.ts:40
查询多个实体。
自动按 1000 行分页拉取直到 limit 满足或数据耗尽,避免单次请求超过 PostgREST 的默认上限。
当 where 含跨表条件时会附加 !inner 关系 SELECT,确保关联过滤生效。
Parameters
| Parameter | Type | Description |
|---|---|---|
options | EntityStaticType<T, "findOptions"> | 查询条件(where / orderBy / limit / offset) |
Returns
Promise<InstanceType<T>[]>
满足条件的实体数组(已通过 transform_row_to_entity 还原为类型实例)
Throws
PostgREST 返回错误时
Implementation of
getEntityRef()
getEntityRef(id): InstanceType<T> | undefined;
Defined in: packages/rxdb/dist/repository/RepositoryBase.d.ts:22
获取实体实例
Parameters
| Parameter | Type | Description |
|---|---|---|
id | EntityStaticType<T, "idType"> | 实体的 ID |
Returns
InstanceType<T> | undefined
Inherited from
hasEntityRef()
hasEntityRef(id): boolean;
Defined in: packages/rxdb/dist/repository/RepositoryBase.d.ts:27
获取实体实例
Parameters
| Parameter | Type | Description |
|---|---|---|
id | EntityStaticType<T, "idType"> | 实体的 ID |
Returns
boolean
Inherited from
remove()
remove(entity): Promise<InstanceType<T>>;
Defined in: packages/rxdb-adapter-supabase/src/SupabaseRepository.ts:190
按 id 硬删除实体(无软删 / tombstone)。
返回原始 entity 引用方便链式处理;如需服务端回填字段请改用 find/update。
Parameters
| Parameter | Type | Description |
|---|---|---|
entity | InstanceType<T> | 目标实体(仅取 id 用于定位行) |
Returns
Promise<InstanceType<T>>
传入的 entity(删除成功后原样返回)
Throws
RLS 拒绝 / 网络错误时
Implementation of
update()
update(entity, patch): Promise<InstanceType<T>>;
Defined in: packages/rxdb-adapter-supabase/src/SupabaseRepository.ts:166
按 id 部分更新实体。
若 rxdb.context.userId 存在,会自动注入 updatedBy 审计字段。 服务端的触发器/默认值会回填到返回结果。
Parameters
| Parameter | Type | Description |
|---|---|---|
entity | InstanceType<T> | 目标实体(仅取 id 用于定位行) |
patch | Partial<InstanceType<T>> | 增量字段(不含 id) |
Returns
Promise<InstanceType<T>>
更新后的实体行
Throws
行不存在 / RLS 拒绝 / 网络错误时
Implementation of
updateEntity()
updateEntity(entity, update): void;
Defined in: packages/rxdb/dist/repository/RepositoryBase.d.ts:31
更新实体
Parameters
| Parameter | Type |
|---|---|
entity | InstanceType<T> |
update | InstanceType<T> |
Returns
void