164 lines
3.7 KiB
PHP
Executable File
164 lines
3.7 KiB
PHP
Executable File
<?php
|
|
|
|
namespace App\Services;
|
|
|
|
use Response;
|
|
use Schema;
|
|
use Hash;
|
|
// use App\Libraries\MailHelper;
|
|
// use App\Libraries\AuthHelper;
|
|
// use App\Libraries\ListHelper;
|
|
|
|
use Illuminate\Http\Request;
|
|
|
|
use App\Contracts\UserResourceInterface;
|
|
use App\User;
|
|
use App\OauthAccessToken;
|
|
use App\Helpers\HttpStatusCode;
|
|
|
|
class UserService implements UserResourceInterface
|
|
{
|
|
|
|
public $user;
|
|
|
|
public $user_id;
|
|
|
|
public function __construct(Request $request)
|
|
{
|
|
|
|
}
|
|
|
|
public function getAll()
|
|
{
|
|
$this->user = User::all();
|
|
return $this->user;
|
|
}
|
|
|
|
public function getUsername($username, $type = 1)
|
|
{
|
|
$this->user = User::where([
|
|
'username' => $username,
|
|
'type' => $type
|
|
])->first();
|
|
return $this->user;
|
|
}
|
|
|
|
public function store(Request $request, $type)
|
|
{
|
|
$this->user = new User;
|
|
|
|
$this->user->name = $request->get('firstname').' '.$request->get('lastname');
|
|
$this->user->username = $request->get('username');
|
|
$this->user->email = $request->get('email');
|
|
$this->user->password = bcrypt($request->get('password'));
|
|
$this->user->type = $type;
|
|
|
|
if ($this->user->save())
|
|
{
|
|
return true;
|
|
}
|
|
else
|
|
{
|
|
return false;
|
|
}
|
|
}
|
|
|
|
public function store_member($data)
|
|
{
|
|
$this->user = new User;
|
|
|
|
$this->user->name = $data->first_name.' '.$data->last_name;
|
|
$this->user->username = $data->card_number;
|
|
// $this->user->email = $data->email;
|
|
$this->user->email = $data->card_number;
|
|
$this->user->password = bcrypt($data->birthdate);
|
|
$this->user->type = 2;
|
|
|
|
if ($this->user->save())
|
|
{
|
|
return true;
|
|
}
|
|
else
|
|
{
|
|
return false;
|
|
}
|
|
}
|
|
|
|
public function updateAdmin(Request $request, $username)
|
|
{
|
|
$this->user = User::whereUsername($username)->first();
|
|
|
|
$this->user->name = $request->get('firstname').' '.$request->get('lastname');
|
|
$this->user->username = $request->get('username');
|
|
$this->user->email = $request->get('email');
|
|
|
|
if($request->has('password'))
|
|
$this->user->password = bcrypt($request->get('password'));
|
|
|
|
if ($this->user->save())
|
|
{
|
|
return true;
|
|
}
|
|
else
|
|
{
|
|
return false;
|
|
}
|
|
}
|
|
|
|
public function updateMember(Request $request, $username)
|
|
{
|
|
$this->user = User::whereUsername($username)
|
|
->where('type',2)
|
|
->first();
|
|
|
|
$this->user->email = $request->get('email');
|
|
|
|
if ($this->user->save())
|
|
{
|
|
return true;
|
|
}
|
|
else
|
|
{
|
|
return false;
|
|
}
|
|
}
|
|
|
|
public function changePassword(Request $request, $username)
|
|
{
|
|
$this->user = User::where([
|
|
['username',$username],
|
|
['type',1]
|
|
])->first();
|
|
|
|
$this->user->password = bcrypt($request->get('password'));
|
|
|
|
if ($this->user->save())
|
|
{
|
|
return true;
|
|
}
|
|
else
|
|
{
|
|
return false;
|
|
}
|
|
}
|
|
|
|
public function delete($uuid)
|
|
{
|
|
return User::destroy($uuid);
|
|
}
|
|
|
|
public function force_logout($username, $type = 1)
|
|
{
|
|
$this->user = User::where('username',$username)
|
|
->where('type',$type)
|
|
->get();
|
|
|
|
if(count($this->user))
|
|
{
|
|
OauthAccessToken::where('user_id',$this->user[0]->id)->delete();
|
|
}
|
|
}
|
|
|
|
|
|
}
|