Class: Otp
Defined in: models/otp.ts:37
The OTP class handles all the methods/properties of the OTP
Extends
Constructors
Constructor
new Otp(props): Otp;
Defined in: models/otp.ts:42
Parameters
| Parameter | Type |
|---|---|
props | OtpProps |
Returns
Otp
Overrides
Properties
| Property | Modifier | Type | Default value | Overrides | Inherited from | Defined in |
|---|---|---|---|---|---|---|
attributes | public | OtpProps | {} | - | Model.attributes | models/model.ts:35 |
emailAddress? | public | string | undefined | - | - | models/otp.ts:39 |
otp? | public | string | undefined | - | - | models/otp.ts:40 |
uuid | public | string | undefined | - | Model.uuid | models/model.ts:36 |
id | static | string | 'otp' | Model.id | - | models/otp.ts:38 |
Accessors
id
Get Signature
get id(): string;
Defined in: models/model.ts:258
Gets the ID
Returns
string
The ID property. Options include: "room" | "user" | "userRoom" | "invite" | "otp"
Inherited from
isNew
Get Signature
get isNew(): boolean;
Defined in: models/model.ts:267
Checks if model is new
Returns
boolean
Returns boolean if uuid is missing from record
Inherited from
Methods
delete()
delete(): Promise<boolean>;
Defined in: models/model.ts:79
Deletes a record
Returns
Promise<boolean>
a boolean: true if the record was deleted, false if it was not deleted
Inherited from
deleteRecord()
deleteRecord(data): Promise<boolean>;
Defined in: models/otp.ts:91
Deletes an OTP. In the application, used once an OTP has been validated.
Parameters
| Parameter | Type | Description |
|---|---|---|
data | IKeyValue | The record data needed to be deleted |
Returns
Promise<boolean>
get()
get(name): any;
Defined in: models/model.ts:276
Gets an attribute's value
Parameters
| Parameter | Type | Description |
|---|---|---|
name | string | number | Name of the attribute that is being retrieved |
Returns
any
The attribute value being retrieved
Inherited from
hashOtp()
hashOtp(otp, salt): Promise<any>;
Defined in: models/otp.ts:59
Parameters
| Parameter | Type | Default value | Description |
|---|---|---|---|
otp | string | ... | The OTP that is getting hashed |
salt | string | '' | The salt that is usd for hashing the OTP. If none provided, a new salt will be generated. Hashes an OTP using a provided or generated salt string. |
Returns
Promise<any>
A new hash object is returned
hash: string,
salt: string
}```
***
### save()
```ts
save(): Promise<boolean>;
Defined in: models/model.ts:207
Save a record in DB
Returns
Promise<boolean>
true if the record was saved in the DB
Inherited from
saveOtp()
saveOtp(props): Promise<boolean>;
Defined in: models/otp.ts:132
Saves an OTP into a new container for storing the OTPs. Will also override OTPs that have been previously stored by same user.
Parameters
| Parameter | Type | Description |
|---|---|---|
props | { hash: string; salt: string; } | The object used to save the OTP record |
props.hash | string | The hashed OTP |
props.salt | string | The OTP SALT that was used to generate the OTP |
Returns
Promise<boolean>
A boolean indicating if the record was saved or not
serialize()
serialize(): IKeyValue;
Defined in: models/model.ts:294
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.
Inherited from
set()
set(name, value): void;
Defined in: models/model.ts:285
Sets an attribute value
Parameters
| Parameter | Type | Description |
|---|---|---|
name | string | number | Key of the attribute's value being set |
value | any | Value of the attribute being set |
Returns
void
Inherited from
touch()
touch(): Promise<boolean>;
Defined in: models/model.ts:229
Update a record's modified timestamp
Returns
Promise<boolean>
Inherited from
update()
update(attrs): Promise<boolean>;
Defined in: models/model.ts:240
Parameters
| Parameter | Type | Description |
|---|---|---|
attrs | ModelProps | The attributes provided to update the record. |
Returns
Promise<boolean>
a boolean: True if successfully updated | False if not updated
Saves the passed attributes to the db
Inherited from
validateOtp()
validateOtp(otp): Promise<boolean>;
Defined in: models/otp.ts:164
Validates an OTP provided by the user with this.otp value. It will use the same
SALT value to assess if the OTP values match.
Parameters
| Parameter | Type | Description |
|---|---|---|
otp | string | An OTP provided by the user |
Returns
Promise<boolean>
true if the OTP is valid, false if the OTP is not valid.
checkValidWindow()
static checkValidWindow(token): boolean;
Defined in: models/otp.ts:152
This method checks if the OTP is within the valid 15 minute timeframe.
Parameters
| Parameter | Type | Description |
|---|---|---|
token | string | The OTP token |
Returns
boolean
true if the OTP is within 15 minutes, false if outside that window.
create()
static create(attrs): Promise<any>;
Defined in: models/model.ts:59
Creates a new model & save the record
Parameters
| Parameter | Type | Description |
|---|---|---|
attrs | ModelProps | The attributes passing to the model. |
Returns
Promise<any>
either the saved model or null, if the model could not be saved.
Inherited from
find()
static find(uuid): Promise<any>;
Defined in: models/model.ts:89
Finds a record
Parameters
| Parameter | Type | Description |
|---|---|---|
uuid | string | The unique ID of the record being found |
Returns
Promise<any>
a new instance of the found record
Inherited from
findAll()
static findAll(): Promise<any[]>;
Defined in: models/model.ts:135
Load all records by type
Returns
Promise<any[]>
A list of all records that match a particular model id
Inherited from
findAllBy()
static findAllBy(params): Promise<any[]>;
Defined in: models/model.ts:126
Alias for query
Parameters
| Parameter | Type | Description |
|---|---|---|
params | QueryProps | 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 []
Inherited from
findBy()
static findBy(params): Promise<any>;
Defined in: models/model.ts:108
Finds a single record based on props (essentially limits query to a single result)
Parameters
| Parameter | Type | Description |
|---|---|---|
params | QueryProps | The query properties used to filter & find a record |
Returns
Promise<any>
null if no record found, or a new instance of the record
Inherited from
findOrCreate()
static findOrCreate(attrs): Promise<any>;
Defined in: models/model.ts:155
Finds a record by given UUID, if it doesn't exist, creates a new record instead
Parameters
| Parameter | Type | Description |
|---|---|---|
attrs | ModelProps | The attributes provided to query the record. Only UUID will be used |
Returns
Promise<any>
Either the existing record or newly created one
Inherited from
findOrCreateBy()
static findOrCreateBy(attrs): Promise<any>;
Defined in: models/model.ts:172
Finds a record by a query, if it doesn't exist, creates a new record instead
Parameters
| Parameter | Type | Description |
|---|---|---|
attrs | IKeyValue | The attributes provided to query the record. |
Returns
Promise<any>
Either the existing record or newly created one
Inherited from
findOtp()
static findOtp(props): Promise<Otp>;
Defined in: models/otp.ts:102
Finds an OTP based on the provided properties. In the application, will use "emailAddress"
Parameters
| Parameter | Type | Description |
|---|---|---|
props | IKeyValue | The properties used to find the OTP record. In the app, the emailAddress typically. |
Returns
Promise<Otp>
A new OTP class is returned
generateOtp()
static generateOtp(): string;
Defined in: models/otp.ts:118
Generates an OTP
Returns
string
An OTP with 8 digits.
query()
static query(params): Promise<any[]>;
Defined in: models/model.ts:191
Query for resources using an object of properties/filters
Parameters
| Parameter | Type | Description |
|---|---|---|
params | IKeyValue | The attributes provided to query the record. |
Returns
Promise<any[]>
An array of the found records (created as new instances of model)