unioil-loyalty-app/app/Services/UserService.php

164 lines
3.7 KiB
PHP

<?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();
}
}
}