Skip to content

Interface: ReactiveModelConstructor<OM, T, PK, R, H>

Describes the constructor of a ReactiveModel.

Type Parameters

Type ParameterDescription
OM extends BaseObjectMap-
T extends PlainObjectThe type of the object that will be used as the model.
PK extends StringKeyOf<T>The key of the object which is used as the primary key for the model.
R extends Record<string, RelationshipConfiguration>-
H extends Required<ReactiveDatabaseOptions<OM>["hooks"]>-

Constructors

Constructor

ts
new ReactiveModelConstructor(initial?: Partial<T>): ReactiveModel<T, PK, R>;

Creates a new instance of the ReactiveModel.

Parameters

ParameterTypeDescription
initial?Partial<T>The initial values of the properties for the model.

Returns

ReactiveModel<T, PK, R>

Methods

all()

ts
all(this: ReactiveModelConstructor<OM, T, PK, R, H>): Promise<ReactiveModel<T, PK, R>[]>;

Returns all instances of the ReactiveModel.

Parameters

ParameterType
thisReactiveModelConstructor<OM, T, PK, R, H>

Returns

Promise<ReactiveModel<T, PK, R>[]>


create()

ts
create(this: ReactiveModelConstructor<OM, T, PK, R, H>, value: DataValues<T, PK>): Promise<ReactiveModel<T, PK, R>>;

Creates a new instance of the ReactiveModel and saves it to the database.

Parameters

ParameterTypeDescription
thisReactiveModelConstructor<OM, T, PK, R, H>-
valueDataValues<T, PK>The non-primary key values of the properties for the model.

Returns

Promise<ReactiveModel<T, PK, R>>


createMany()

ts
createMany(this: ReactiveModelConstructor<OM, T, PK, R, H>, values: DataValues<T, PK>[]): Promise<ReactiveModel<T, PK, R>[]>;

Creates multiple instances of the ReactiveModel and saves them to the database.

Parameters

ParameterTypeDescription
thisReactiveModelConstructor<OM, T, PK, R, H>-
valuesDataValues<T, PK>[]An array of objects containing the non-primary key values of the properties for each model.

Returns

Promise<ReactiveModel<T, PK, R>[]>


find()

ts
find(this: ReactiveModelConstructor<OM, T, PK, R, H>, value: T[PK]): Promise<undefined | ReactiveModel<T, PK, R>>;

Finds a single instance of the ReactiveModel by its primary key.

Parameters

ParameterTypeDescription
thisReactiveModelConstructor<OM, T, PK, R, H>-
valueT[PK]The value of the primary key for the model.

Returns

Promise<undefined | ReactiveModel<T, PK, R>>


findBy()

ts
findBy(
   this: ReactiveModelConstructor<OM, T, PK, R, H>,
   key: StringKeyOf<T>,
value: T[StringKeyOf<T>]): Promise<undefined | ReactiveModel<T, PK, R>>;

Finds a single instance of the ReactiveModel by a specific property.

Parameters

ParameterTypeDescription
thisReactiveModelConstructor<OM, T, PK, R, H>-
keyStringKeyOf<T>The name of the property to search by.
valueT[StringKeyOf<T>]The value of the property to search for.

Returns

Promise<undefined | ReactiveModel<T, PK, R>>


findByOrFail()

ts
findByOrFail(
   this: ReactiveModelConstructor<OM, T, PK, R, H>,
   key: StringKeyOf<T>,
value: T[StringKeyOf<T>]): Promise<ReactiveModel<T, PK, R>>;

Find a single instance of the ReactiveModel by a specific property or throws an error if not found.

Parameters

ParameterTypeDescription
thisReactiveModelConstructor<OM, T, PK, R, H>-
keyStringKeyOf<T>The name of the property to search by.
valueT[StringKeyOf<T>]The value of the property to search for.

Returns

Promise<ReactiveModel<T, PK, R>>


findMany()

ts
findMany(this: ReactiveModelConstructor<OM, T, PK, R, H>, values: T[PK][]): Promise<ReactiveModel<T, PK, R>[]>;

Finds multiple instances of the ReactiveModel by their primary keys.

Parameters

ParameterTypeDescription
thisReactiveModelConstructor<OM, T, PK, R, H>-
valuesT[PK][]An array of values of the primary key for each model.

Returns

Promise<ReactiveModel<T, PK, R>[]>


findManyBy()

ts
findManyBy(
   this: ReactiveModelConstructor<OM, T, PK, R, H>,
   key: StringKeyOf<T>,
value: T[StringKeyOf<T>][]): Promise<ReactiveModel<T, PK, R>[]>;

Parameters

ParameterType
thisReactiveModelConstructor<OM, T, PK, R, H>
keyStringKeyOf<T>
valueT[StringKeyOf<T>][]

Returns

Promise<ReactiveModel<T, PK, R>[]>


findOrFail()

ts
findOrFail(this: ReactiveModelConstructor<OM, T, PK, R, H>, value: T[PK]): Promise<ReactiveModel<T, PK, R>>;

Finds a single instance of the ReactiveModel by its primary key or throws an error if not found.

Parameters

ParameterTypeDescription
thisReactiveModelConstructor<OM, T, PK, R, H>-
valueT[PK]The value of the primary key for the model.

Returns

Promise<ReactiveModel<T, PK, R>>


first()

ts
first(this: ReactiveModelConstructor<OM, T, PK, R, H>): Promise<undefined | ReactiveModel<T, PK, R>>;

Parameters

ParameterType
thisReactiveModelConstructor<OM, T, PK, R, H>

Returns

Promise<undefined | ReactiveModel<T, PK, R>>


firstOrCreate()

ts
firstOrCreate(
   this: ReactiveModelConstructor<OM, T, PK, R, H>,
   searchPayload: Record<StringKeyOf<T>, unknown>,
savePayload?: Partial<DataValues<T, PK>>): Promise<ReactiveModel<T, PK, R>>;

Parameters

ParameterType
thisReactiveModelConstructor<OM, T, PK, R, H>
searchPayloadRecord<StringKeyOf<T>, unknown>
savePayload?Partial<DataValues<T, PK>>

Returns

Promise<ReactiveModel<T, PK, R>>


firstOrFail()

ts
firstOrFail(this: ReactiveModelConstructor<OM, T, PK, R, H>): Promise<ReactiveModel<T, PK, R>>;

Parameters

ParameterType
thisReactiveModelConstructor<OM, T, PK, R, H>

Returns

Promise<ReactiveModel<T, PK, R>>


firstOrNew()

ts
firstOrNew(
   this: ReactiveModelConstructor<OM, T, PK, R, H>,
   searchPayload: Record<StringKeyOf<T>, unknown>,
savePayload?: Partial<DataValues<T, PK>>): Promise<ReactiveModel<T, PK, R>>;

Parameters

ParameterType
thisReactiveModelConstructor<OM, T, PK, R, H>
searchPayloadRecord<StringKeyOf<T>, unknown>
savePayload?Partial<DataValues<T, PK>>

Returns

Promise<ReactiveModel<T, PK, R>>


query()

ts
query(this: ReactiveModelConstructor<OM, T, PK, R, H>, introspector?: ReactiveQueryBuilderIntrospector<OM, T, PK, R, H>): ReactiveQueryBuilder<OM, T, PK, R, H>;

Parameters

ParameterType
thisReactiveModelConstructor<OM, T, PK, R, H>
introspector?ReactiveQueryBuilderIntrospector<OM, T, PK, R, H>

Returns

ReactiveQueryBuilder<OM, T, PK, R, H>


truncate()

ts
truncate(this: ReactiveModelConstructor<OM, T, PK, R, H>): Promise<void>;

Parameters

ParameterType
thisReactiveModelConstructor<OM, T, PK, R, H>

Returns

Promise<void>


updateOrCreate()

ts
updateOrCreate(
   this: ReactiveModelConstructor<OM, T, PK, R, H>,
   searchPayload: Record<StringKeyOf<T>, unknown>,
savePayload: Partial<DataValues<T, PK>>): Promise<ReactiveModel<T, PK, R>>;

Parameters

ParameterType
thisReactiveModelConstructor<OM, T, PK, R, H>
searchPayloadRecord<StringKeyOf<T>, unknown>
savePayloadPartial<DataValues<T, PK>>

Returns

Promise<ReactiveModel<T, PK, R>>