From 1931c50496ba24e6394ec273dea625b6cf6bbc6c Mon Sep 17 00:00:00 2001 From: REJack Date: Wed, 14 Nov 2018 13:41:58 +0100 Subject: [PATCH] updated LoginTokenModel --- application/Models/Aauth/LoginTokenModel.php | 41 +++++++++++++++----- 1 file changed, 31 insertions(+), 10 deletions(-) diff --git a/application/Models/Aauth/LoginTokenModel.php b/application/Models/Aauth/LoginTokenModel.php index 6cfbe8f..70adf96 100644 --- a/application/Models/Aauth/LoginTokenModel.php +++ b/application/Models/Aauth/LoginTokenModel.php @@ -3,7 +3,6 @@ namespace App\Models\Aauth; use Config\Aauth as AauthConfig; use Config\Database; -use Config\Services; use CodeIgniter\Database\BaseBuilder; use CodeIgniter\Database\BaseConnection; use CodeIgniter\Database\ConnectionInterface; @@ -74,19 +73,24 @@ class LoginTokenModel * * @return array|null */ - public function getTokens($user_id) + public function getAllByUserId($userId) { $builder = $this->builder(); + $builder->select('id, user_id, random_hash, selector_hash, expires_at'); + $builder->where('user_id', $userId); - $builder->where('is_expired', 0); + $row = $builder->get()->getResult('array'); - $row = $builder->get(); - - $row = $row->getResult('array'); - - return $row['data']; + return $row; } + /** + * Updates Login Token + * + * @param array $data array with data + * + * @return BaseBuilder + */ public function insert($data) { $builder = $this->builder(); @@ -98,15 +102,32 @@ class LoginTokenModel } /** - * Deletes login attempt. + * Updates Login Token by tokenId * * @return BaseBuilder */ - public function delete($tokenId) + public function update($tokenId) { $builder = $this->builder(); $builder->where('id', $tokenId); + $data['expires_at'] = date('Y-m-d H:i:s', strtotime($this->config->loginRemember)); + $data['updated_at'] = date('Y-m-d H:i:s'); + + return $builder->set($data)->update(); + } + + /** + * Deletes expired Login Tokens by userId. + * + * @return BaseBuilder + */ + public function delete($userId) + { + $builder = $this->builder(); + $builder->where('user_id', $userId); + $builder->where('expires_at <', date('Y-m-d H:i:s')); + return $builder->delete(); }