30 lines
686 B
TypeScript
30 lines
686 B
TypeScript
import { DateTime } from 'luxon'
|
|
import { BaseModel, beforeCreate, column } from '@ioc:Adonis/Lucid/Orm'
|
|
import { v4 as uuidv4 } from 'uuid'
|
|
|
|
export default class Nonce extends BaseModel {
|
|
public static selfAssignPrimaryKey = true
|
|
|
|
@column.dateTime({ autoCreate: true })
|
|
public createdAt: DateTime
|
|
|
|
@column.dateTime({ autoCreate: true, autoUpdate: true })
|
|
public updatedAt: DateTime
|
|
|
|
@column.dateTime()
|
|
public expiryDate : DateTime;
|
|
|
|
@column()
|
|
public nonce : string;
|
|
|
|
@column({isPrimary: true})
|
|
public requestId: string;
|
|
|
|
@beforeCreate()
|
|
public static generateNonce( nonce : Nonce) {
|
|
nonce.nonce = uuidv4()
|
|
nonce.expiryDate = DateTime.now().plus({minutes: 10})
|
|
}
|
|
|
|
}
|