<?php
namespace App\Controllers\Api;
use CodeIgniter\HTTP\ResponseInterface;
use CodeIgniter\RESTful\ResourceController;
use CodeIgniter\Shield\Models\UserModal;
use CodeIgniter\Shield\Entities\User;
class AuthController extends ResourceController
{
public function register(){
$rule = [
"username" => "required|is_unique[user.username]",
"email" => "required|valid_email|is_unique[auth_identities.secret]",
"password" => "required"
];
if(!$this->validate($rule)){
}else{
}
$this->responseCreated($response);
}
public function login()
{
echo 'hello';
exit();
$rule = [
"email" => "required|is_valid",
"password" => "required"
];
if(!$this->validate($rule)){
$response = [
"status" => false,
"message" => $this->validator->getError(),
"data" => []
];
}else{
$credentials = [
"email" => $this->request->getVar("email"),
"password" => $this->request->getVar("password")
];
$loginAttempt = auth()->attempt($credentials);
if(!$loginAttempt->isOK()){
$response = [
"status" => false,
"message" => "Invalid Login Details",
"data" => []
];
}else{
$userObject= new UserModal();
$userObject = $userObject->findById(auth()->id));
$token = $userData->generateAccessToken("ThisismysecretKey");
$au_token = $token->raw_token;
$response = [
"status" => true,
"message" => "User Logged in Successfully",
"data" => [
"token" => $au_token
];
];
}
return $this->responseCreated($response);
}
public function profile(){
$userId = auth()->id();
$userObject= new UserModal();
$userObject = $userObject->findById($userId);
return $this->responseCreated([
"status" => true,
"message" => "Profile Api Call",
"data" => []
]);
}
public function logout(){
$session = session();
}
public function accessDenied(){
return $this->responseCreated([
"status" => false,
"message" => "invalid Access",
"data" => []
]);
}
}