CoreRepository
Interface: CoreRepository<T>
Defined in: packages/models/src/repositories/repository.ts:23
Core repository interface - every repository must implement this
Contains only the essential CRUD operations that work across all storage backends (SQL, NoSQL, in-memory, etc.)
Extended by
Type Parameters
T
T extends ModelClass = ModelClass
Properties
[WEBDA_TEST]?
optional[WEBDA_TEST]?:object
Defined in: packages/models/src/repositories/repository.ts:151
clear()
clear():
Promise<void>
Returns
Promise<void>
Methods
create()
create(
data,save?):Promise<InstanceType<T>>
Defined in: packages/models/src/repositories/repository.ts:87
Create data in the store
Parameters
data
Helpers<InstanceType<T>>
save?
boolean
if false, create in-memory object without saving
Returns
Promise<InstanceType<T>>
delete()
delete<
K>(uid,conditionField?,condition?):Promise<void>
Defined in: packages/models/src/repositories/repository.ts:96
Delete data from the store
Type Parameters
K
K extends string
Parameters
uid
string | PrimaryKeyType<InstanceType<T>>
Primary key or UID string
conditionField?
K | null
Field to check for condition (optional)
condition?
PropertyPathType<InstanceType<T>, K> | JSONed<PropertyPathType<InstanceType<T>, K>>
Value to check for condition (optional)
Returns
Promise<void>
emit()
emit<
K>(event,payload):Promise<void>
Defined in: packages/models/src/repositories/repository.ts:146
Type Parameters
K
K extends string | number | symbol
Parameters
event
K
payload
InstanceType<T>[typeof WEBDA_EVENTS][K]
Returns
Promise<void>
excludePrimaryKey()
excludePrimaryKey(
object):any
Defined in: packages/models/src/repositories/repository.ts:66
Remove the primary key from the object
Parameters
object
any
Returns
any
exists()
exists(
uid):Promise<boolean>
Defined in: packages/models/src/repositories/repository.ts:107
Verify if the object exists
Parameters
uid
string | PrimaryKeyType<InstanceType<T>>
Returns
Promise<boolean>
fromUID()
fromUID(
uid,forceObject?):ModelRefWithCreate<InstanceType<T>>
Defined in: packages/models/src/repositories/repository.ts:37
In REST API, composite keys are represented as a string with the format "key1#key2#key3" We need a way to convert this string to the object
Parameters
uid
string
serialized primary key
forceObject?
boolean
if true, the result will be an object with the primary key fields
Returns
ModelRefWithCreate<InstanceType<T>>
get()
get(
primaryKey):Promise<HelperProperties<InstanceType<T>>>
Defined in: packages/models/src/repositories/repository.ts:79
Get data from the store
Parameters
primaryKey
PrimaryKeyType<InstanceType<T>>
Returns
Promise<HelperProperties<InstanceType<T>>>
getPrimaryKey()
getPrimaryKey<
K>(object,forceObject?):Kextendsfalse?PrimaryKeyType<InstanceType<T>> :PrimaryKey<InstanceType<T>>
Defined in: packages/models/src/repositories/repository.ts:51
Extract the primary key from the object
Type Parameters
K
K
Parameters
object
any
to extract the primary key from
forceObject?
boolean
if true, the result will be an object with the primary key fields
Returns
K extends false ? PrimaryKeyType<InstanceType<T>> : PrimaryKey<InstanceType<T>>
getRootModel()
getRootModel():
T
Defined in: packages/models/src/repositories/repository.ts:28
Get the root model class for this repository
Returns
T
getUID()
getUID(
object):string
Defined in: packages/models/src/repositories/repository.ts:60
Get the UID of the object
Parameters
object
any
to extract the primary key from
Returns
string
iterate()
iterate(
query,params?):AsyncGenerator<InstanceType<T>>
Defined in: packages/models/src/repositories/repository.ts:129
Iterate over the store
Parameters
query
WebdaQLString<InstanceType<T>>
the WebdaQL query, optionally with ? or :name placeholders
params?
QueryParameters
values for the placeholders: an array for ?, an object for :name
Returns
AsyncGenerator<InstanceType<T>>
off()
off<
K>(event,listener):void
Defined in: packages/models/src/repositories/repository.ts:142
Type Parameters
K
K extends string | number | symbol
Parameters
event
K
listener
(data) => void
Returns
void
on()
on<
K>(event,listener):void
Defined in: packages/models/src/repositories/repository.ts:134
Event listeners
Type Parameters
K
K extends string | number | symbol
Parameters
event
K
listener
(data) => void
Returns
void
once()
once<
K>(event,listener):void
Defined in: packages/models/src/repositories/repository.ts:138
Type Parameters
K
K extends string | number | symbol
Parameters
event
K
listener
(data) => void
Returns
void
parseUID()
parseUID(
uid,forceObject?):PrimaryKeyType<InstanceType<T>> |PrimaryKey<InstanceType<T>>
Defined in: packages/models/src/repositories/repository.ts:44
Parse the UID into the primary key
Parameters
uid
string
forceObject?
boolean
Returns
PrimaryKeyType<InstanceType<T>> | PrimaryKey<InstanceType<T>>
query()
query(
query,params?):Promise<{continuationToken?:string;results:InstanceType<T>[]; }>
Defined in: packages/models/src/repositories/repository.ts:115
Query the store
Parameters
query
WebdaQLString<InstanceType<T>>
the WebdaQL query, optionally with ? or :name placeholders
params?
QueryParameters
values for the placeholders: an array for ?, an object for :name
Returns
Promise<{ continuationToken?: string; results: InstanceType<T>[]; }>
ref()
ref(
pk):ModelRefWithCreate<InstanceType<T>>
Defined in: packages/models/src/repositories/repository.ts:72
Refers to the object in the store
Parameters
pk
SettablePrimaryKey<InstanceType<T>>
primary key
Returns
ModelRefWithCreate<InstanceType<T>>