Class: abstract Model<T>
Defined in: models/model.ts:31
The base Model class that other classes are built off of. Contains universal properties and methods shared across various classes, such as queries.
Extended by
Type Parameters
T
T
Constructors
Constructor
new Model<
T>(props):Model<T>
Defined in: models/model.ts:43
Creates an instance of the Model class
Parameters
props
T = {}
Contains the
Returns
Model<T>
Properties
attributes
attributes:
T={}
Defined in: models/model.ts:34
uuid
uuid:
string
Defined in: models/model.ts:35
id
readonlystaticid:string
Defined in: models/model.ts:32
Accessors
id
Get Signature
get id():
string
Defined in: models/model.ts:249
Gets the ID
Returns
string
The ID property. Options include: "room" | "user" | "userRoom" | "invite" | "otp"
isNew
Get Signature
get isNew():
boolean
Defined in: models/model.ts:258
Checks if model is new
Returns
boolean
Returns boolean if uuid is missing from record
Methods
delete()
delete():
Promise<boolean>
Defined in: models/model.ts:78
Deletes a record
Returns
Promise<boolean>
a boolean: true if the record was deleted, false if it was not deleted
get()
get(
name):T[keyofT]
Defined in: models/model.ts:267
Gets an attribute's value
Parameters
name
keyof T
Name of the attribute that is being retrieved
Returns
T[keyof T]
The attribute value being retrieved
save()
save():
Promise<boolean>
Defined in: models/model.ts:206
Save a record in DB
Returns
Promise<boolean>
true if the record was saved in the DB
serialize()
serialize():
IKeyValue
Defined in: models/model.ts:285
Create a response safe representation of the model's attributes Should normally be overridden in subclasses
Returns
IKeyValue
The attribute properties from the model + the uuid.
set()
set(
name,value):void
Defined in: models/model.ts:276
Sets an attribute value
Parameters
name
keyof T
Key of the attribute's value being set
value
any
Value of the attribute being set
Returns
void
update()
update(
attrs):Promise<boolean>
Defined in: models/model.ts:231
Parameters
attrs
The attributes provided to update the record.
Returns
Promise<boolean>
a boolean: True if successfully updated | False if not updated
create()
staticcreate(attrs):Promise<any>
Defined in: models/model.ts:58
Creates a new model & save the record
Parameters
attrs
The attributes passing to the model.
Returns
Promise<any>
either the saved model or null, if the model could not be saved.
find()
staticfind(uuid):Promise<any>
Defined in: models/model.ts:88
Finds a record
Parameters
uuid
string
The unique ID of the record being found
Returns
Promise<any>
a new instance of the found record
findAll()
staticfindAll():Promise<any[]>
Defined in: models/model.ts:134
Load all records by type
Returns
Promise<any[]>
A list of all records that match a particular model id
findAllBy()
staticfindAllBy(params):Promise<any>
Defined in: models/model.ts:125
Alias for query
Parameters
params
The query properties used to filter & find a record
Returns
Promise<any>
A list of found records that match the params, may be an empty []
findBy()
staticfindBy(params):Promise<any>
Defined in: models/model.ts:107
Finds a single record based on props (essentially limits query to a single result)
Parameters
params
The query properties used to filter & find a record
Returns
Promise<any>
null if no record found, or a new instance of the record
findOrCreate()
staticfindOrCreate(attrs):Promise<any>
Defined in: models/model.ts:154
Finds a record by given UUID, if it doesn't exist, creates a new record instead
Parameters
attrs
The attributes provided to query the record. Only UUID will be used
Returns
Promise<any>
Either the existing record or newly created one
findOrCreateBy()
staticfindOrCreateBy(attrs):Promise<any>
Defined in: models/model.ts:171
Finds a record by a query, if it doesn't exist, creates a new record instead
Parameters
attrs
IKeyValue
The attributes provided to query the record.
Returns
Promise<any>
Either the existing record or newly created one
query()
staticquery(params):Promise<any[]>
Defined in: models/model.ts:190
Query for resources using an object of properties/filters
Parameters
params
IKeyValue
The attributes provided to query the record.
Returns
Promise<any[]>
An array of the found records (created as new instances of model)