Skip to main content

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

ParameterType
propsOtpProps

Returns

Otp

Overrides

Model.constructor

Properties

PropertyModifierTypeDefault valueOverridesInherited fromDefined in
attributespublicOtpProps{}-Model.attributesmodels/model.ts:35
emailAddress?publicstringundefined--models/otp.ts:39
otp?publicstringundefined--models/otp.ts:40
uuidpublicstringundefined-Model.uuidmodels/model.ts:36
idstaticstring'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

Model.id


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

Model.isNew

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

Model.delete


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

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

ParameterTypeDescription
namestring | numberName of the attribute that is being retrieved

Returns

any

The attribute value being retrieved

Inherited from

Model.get


hashOtp()

hashOtp(otp, salt): Promise<any>;

Defined in: models/otp.ts:59

Parameters

ParameterTypeDefault valueDescription
otpstring...The OTP that is getting hashed
saltstring''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

Model.save


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

ParameterTypeDescription
props{ hash: string; salt: string; }The object used to save the OTP record
props.hashstringThe hashed OTP
props.saltstringThe 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

Model.serialize


set()

set(name, value): void;

Defined in: models/model.ts:285

Sets an attribute value

Parameters

ParameterTypeDescription
namestring | numberKey of the attribute's value being set
valueanyValue of the attribute being set

Returns

void

Inherited from

Model.set


touch()

touch(): Promise<boolean>;

Defined in: models/model.ts:229

Update a record's modified timestamp

Returns

Promise<boolean>

Inherited from

Model.touch


update()

update(attrs): Promise<boolean>;

Defined in: models/model.ts:240

Parameters

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

Model.update


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

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

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

ParameterTypeDescription
attrsModelPropsThe attributes passing to the model.

Returns

Promise<any>

either the saved model or null, if the model could not be saved.

Inherited from

Model.create


find()

static find(uuid): Promise<any>;

Defined in: models/model.ts:89

Finds a record

Parameters

ParameterTypeDescription
uuidstringThe unique ID of the record being found

Returns

Promise<any>

a new instance of the found record

Inherited from

Model.find


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

Model.findAll


findAllBy()

static findAllBy(params): Promise<any[]>;

Defined in: models/model.ts:126

Alias for query

Parameters

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

Model.findAllBy


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

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

Model.findBy


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

ParameterTypeDescription
attrsModelPropsThe attributes provided to query the record. Only UUID will be used

Returns

Promise<any>

Either the existing record or newly created one

Inherited from

Model.findOrCreate


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

ParameterTypeDescription
attrsIKeyValueThe attributes provided to query the record.

Returns

Promise<any>

Either the existing record or newly created one

Inherited from

Model.findOrCreateBy


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

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

ParameterTypeDescription
paramsIKeyValueThe attributes provided to query the record.

Returns

Promise<any[]>

An array of the found records (created as new instances of model)

Inherited from

Model.query