UNPKG

@expressive-analytics/deep-thought-authentication

Version:

Typescript conversion of Deep Thought Authentication

42 lines (37 loc) 949 B
import {DT, DTModel,hasA} from '@expressive-analytics/deep-thought-js' import {DTUser,DTUserModel} from './DTUser' const strtotime = require('locutus/php/datetime/strtotime') const md5 = require('blueimp-md5') export interface DTResetToken extends DT{ token?:string user:DTUser, expires_at?:string expires_at_ms?:string is_valid:number } export class DTResetTokenModel extends DTModel{ protected static $T = "reset_tokens"; protected static $hasA:hasA = { user: {user_id:DTUserModel} } _expires_at:string _token:string is_valid=1 $getters = { token(){ this._token = this._token===undefined?md5(Math.random()):this._token return this._token }, expires_at(){ this._expires_at = this._expires_at===undefined?this.db.date(strtotime('+1 day')):this._expires_at } } $setters = { token(val){ this._token = val }, expires_at(val){ this._expires_at = val } } }