跳到主要内容

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

Constructors

Constructor

new SupabaseRepository<T>(adapter, EntityType): SupabaseRepository<T>;

Defined in: packages/rxdb-adapter-supabase/src/SupabaseRepository.ts:22

Parameters

ParameterType
adapterRxDBAdapterSupabase
EntityTypeT

Returns

SupabaseRepository<T>

Overrides

RepositoryBase.constructor

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

RepositoryBase.EntityType


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

SupabaseTreeRepository.rxdb


_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

RepositoryBase.staticMethods

Methods

count()

count(options): Promise<number>;

Defined in: packages/rxdb-adapter-supabase/src/SupabaseRepository.ts:110

统计满足条件的实体数量。

使用 PostgREST 的 count=exact + head=true,仅返回计数不下载行数据。 暂不支持 groupBy。

Parameters

ParameterTypeDescription
optionsEntityStaticType<T, "countOptions">查询条件(where / groupBy)

Returns

Promise<number>

实体总数(无匹配时返回 0)

Throws

传入 groupBy(暂未实现)

Throws

PostgREST 返回错误时

Implementation of

IRepository.count


create()

create(entity): Promise<InstanceType<T>>;

Defined in: packages/rxdb-adapter-supabase/src/SupabaseRepository.ts:141

创建实体并落库。

若 rxdb.context.userId 存在,会自动注入 createdBy / updatedBy 审计字段。

Parameters

ParameterTypeDescription
entityInstanceType<T>待创建的实体(必须包含主键 id)

Returns

Promise<InstanceType<T>>

创建后的实体(含数据库回填字段如 createdAt)

Throws

插入失败(主键冲突 / RLS 拒绝 / 网络错误等)

Implementation of

IRepository.create


createEntityRef()

createEntityRef(data): any;

Defined in: packages/rxdb/dist/repository/RepositoryBase.d.ts:17

获取实体实例

Parameters

ParameterTypeDescription
dataEntityUpdateData<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

ParameterTypeDescription
optionsEntityStaticType<T, "findOptions">查询条件(where / orderBy / limit / offset)

Returns

Promise<InstanceType<T>[]>

满足条件的实体数组(已通过 transform_row_to_entity 还原为类型实例)

Throws

PostgREST 返回错误时

Implementation of

IRepository.find


getEntityRef()

getEntityRef(id): InstanceType<T> | undefined;

Defined in: packages/rxdb/dist/repository/RepositoryBase.d.ts:22

获取实体实例

Parameters

ParameterTypeDescription
idEntityStaticType<T, "idType">实体的 ID

Returns

InstanceType<T> | undefined

Inherited from

RepositoryBase.getEntityRef


hasEntityRef()

hasEntityRef(id): boolean;

Defined in: packages/rxdb/dist/repository/RepositoryBase.d.ts:27

获取实体实例

Parameters

ParameterTypeDescription
idEntityStaticType<T, "idType">实体的 ID

Returns

boolean

Inherited from

RepositoryBase.hasEntityRef


remove()

remove(entity): Promise<InstanceType<T>>;

Defined in: packages/rxdb-adapter-supabase/src/SupabaseRepository.ts:190

按 id 硬删除实体(无软删 / tombstone)。

返回原始 entity 引用方便链式处理;如需服务端回填字段请改用 find/update。

Parameters

ParameterTypeDescription
entityInstanceType<T>目标实体(仅取 id 用于定位行)

Returns

Promise<InstanceType<T>>

传入的 entity(删除成功后原样返回)

Throws

RLS 拒绝 / 网络错误时

Implementation of

IRepository.remove


update()

update(entity, patch): Promise<InstanceType<T>>;

Defined in: packages/rxdb-adapter-supabase/src/SupabaseRepository.ts:166

按 id 部分更新实体。

若 rxdb.context.userId 存在,会自动注入 updatedBy 审计字段。 服务端的触发器/默认值会回填到返回结果。

Parameters

ParameterTypeDescription
entityInstanceType<T>目标实体(仅取 id 用于定位行)
patchPartial<InstanceType<T>>增量字段(不含 id)

Returns

Promise<InstanceType<T>>

更新后的实体行

Throws

行不存在 / RLS 拒绝 / 网络错误时

Implementation of

IRepository.update


updateEntity()

updateEntity(entity, update): void;

Defined in: packages/rxdb/dist/repository/RepositoryBase.d.ts:31

更新实体

Parameters

ParameterType
entityInstanceType<T>
updateInstanceType<T>

Returns

void

Inherited from

RepositoryBase.updateEntity