%PDF- %PDF-
Direktori : /var/www/html/klinisol/klinisol-api/app/Models/ |
Current File : /var/www/html/klinisol/klinisol-api/app/Models/ResetPassword.php |
<?php namespace App\Models; use Illuminate\Support\Str; use Illuminate\Support\Facades\DB; use Illuminate\Database\Eloquent\Model; use Throwable; class ResetPassword extends BaseModel { /** * @var string */ protected $table = 'password_resets'; /** * @var bool */ public $timestamps = false; /** * @var string[] */ protected $fillable = [ 'email', 'token', ]; /** * @var string[] */ protected $casts = [ 'id' => 'integer', 'email' => 'string', 'token' => 'string', ]; /** * @param $email * @return string * @throws Throwable */ public static function generateToken($email) { $token = Str::random(32); try { self::query() ->create([ 'email' => $email, 'token' => $token, ]); return $token; } catch (Throwable $e) { DB::rollBack(); throw $e; } } /** * @param $token * @return \Illuminate\Database\Eloquent\Builder|Model|object|null */ public static function getUserByToken($token) { $item = self::query() ->where('token', $token) ->first(); return User::query() ->where('email', $item->email) ->first(); } /** * @param $token */ public static function deleteByToken($token) { self::query() ->where('token', $token) ->delete(); } }