Update Dummy Auth Role
This commit is contained in:
parent
1305b2bc3e
commit
cc3f7becac
@ -19,12 +19,12 @@ $routes->post('/api/v1/emr/lab/detail', 'NUHATEMP::detail');
|
|||||||
$routes->group('api', ['filter' => 'auth'], function($routes) {
|
$routes->group('api', ['filter' => 'auth'], function($routes) {
|
||||||
$routes->get('coba-auth', 'Auth::coba');
|
$routes->get('coba-auth', 'Auth::coba');
|
||||||
});
|
});
|
||||||
$routes->post('/api/auth/login', 'Auth::login');
|
|
||||||
$routes->post('/api/auth/change_pass', 'Auth::change_pass');
|
|
||||||
$routes->post('/api/auth/register', 'Auth::register');
|
|
||||||
$routes->get('/api/auth/check', 'Auth::checkAuth');
|
|
||||||
$routes->post('/api/auth/logout', 'Auth::logout');
|
|
||||||
|
|
||||||
|
$routes->post('/api/auth/login', 'Auth::login');
|
||||||
|
$routes->post('/api/auth/change_pass', 'Auth::change_pass');
|
||||||
|
$routes->post('/api/auth/register', 'Auth::register');
|
||||||
|
$routes->get('/api/auth/check', 'Auth::checkAuth');
|
||||||
|
$routes->post('/api/auth/logout', 'Auth::logout');
|
||||||
|
|
||||||
$routes->get('/api/patient', 'Patient::index');
|
$routes->get('/api/patient', 'Patient::index');
|
||||||
$routes->post('/api/patient', 'Patient::create');
|
$routes->post('/api/patient', 'Patient::create');
|
||||||
|
|||||||
@ -100,8 +100,9 @@ class Auth extends Controller {
|
|||||||
// Buat JWT payload
|
// Buat JWT payload
|
||||||
$payload = [
|
$payload = [
|
||||||
'userid' => $row['id'],
|
'userid' => $row['id'],
|
||||||
|
'roleid' => $row['role_id'],
|
||||||
'username' => $row['username'],
|
'username' => $row['username'],
|
||||||
'exp' => time() + 86400 // 1 hari
|
'exp' => 86400 // 1 hari
|
||||||
];
|
];
|
||||||
|
|
||||||
try {
|
try {
|
||||||
@ -125,6 +126,7 @@ class Auth extends Controller {
|
|||||||
// Response tanpa token di body
|
// Response tanpa token di body
|
||||||
return $this->respond([
|
return $this->respond([
|
||||||
'status' => 'success',
|
'status' => 'success',
|
||||||
|
'code' => 200,
|
||||||
'message' => 'Login successful'
|
'message' => 'Login successful'
|
||||||
], 200);
|
], 200);
|
||||||
}
|
}
|
||||||
@ -143,6 +145,7 @@ class Auth extends Controller {
|
|||||||
|
|
||||||
])->setJSON([
|
])->setJSON([
|
||||||
'status' => 'success',
|
'status' => 'success',
|
||||||
|
'code' => 200,
|
||||||
'message' => 'Logout successful'
|
'message' => 'Logout successful'
|
||||||
], 200);
|
], 200);
|
||||||
}
|
}
|
||||||
@ -150,39 +153,49 @@ class Auth extends Controller {
|
|||||||
// ok
|
// ok
|
||||||
public function register() {
|
public function register() {
|
||||||
|
|
||||||
$username = $this->request->getJsonVar('username');
|
$username = strtolower($this->request->getJsonVar('username'));
|
||||||
$password = $this->request->getJsonVar('password');
|
$password = $this->request->getJsonVar('password');
|
||||||
|
|
||||||
// Validasi
|
// Validasi Awal Dari BE
|
||||||
if (empty($username) || empty($password)) {
|
if (empty($username) || empty($password)) {
|
||||||
return $this->respond([
|
return $this->respond([
|
||||||
'status' => 'failed',
|
'status' => 'failed',
|
||||||
|
'code' => 400,
|
||||||
'message' => 'Username and password are required'
|
'message' => 'Username and password are required'
|
||||||
], 400); // Gunakan 400 Bad Request
|
], 400); // Gunakan 400 Bad Request
|
||||||
}
|
}
|
||||||
|
|
||||||
$hashedPassword = password_hash($password, PASSWORD_DEFAULT);
|
// Cek Duplikasi Username
|
||||||
$sql = "INSERT INTO users(username, password) VALUES(?, ?)";
|
$exists = $this->db->query("SELECT id FROM users WHERE username = ?", [$username])->getRow();
|
||||||
|
if ($exists) {
|
||||||
try {
|
return $this->respond(['status' => 'failed', 'code'=>409,'message' => 'Username already exists'], 409);
|
||||||
// Jalankan kueri dan binding data secara terpisah
|
|
||||||
$this->db->query($sql, [$username, $hashedPassword]);
|
|
||||||
|
|
||||||
// Respon sukses jika kueri berhasil
|
|
||||||
return $this->respond([
|
|
||||||
'status' => 'success',
|
|
||||||
'message' => 'User ' . $username . ' successfully created.'
|
|
||||||
], 201); // Kode 201 Created sudah benar untuk resource baru
|
|
||||||
|
|
||||||
} catch (\Exception $e) {
|
|
||||||
|
|
||||||
// Tangani error lain-lain
|
|
||||||
return $this->respond([
|
|
||||||
'status' => 'error',
|
|
||||||
'message' => 'Failed to create user. Please try again later.'
|
|
||||||
], 500); // Kode 500 Internal Server Error untuk masalah di server
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
$hashedPassword = password_hash($password, PASSWORD_DEFAULT);
|
||||||
|
|
||||||
|
// Mulai transaksi Insert
|
||||||
|
$this->db->transStart();
|
||||||
|
$this->db->query(
|
||||||
|
"INSERT INTO users(username, password, role_id) VALUES(?, ?, ?)",
|
||||||
|
[$username, $hashedPassword, 1]
|
||||||
|
);
|
||||||
|
$this->db->transComplete();
|
||||||
|
|
||||||
|
// Cek status transaksi
|
||||||
|
if ($this->db->transStatus() === false) {
|
||||||
|
return $this->respond([
|
||||||
|
'status' => 'error',
|
||||||
|
'code' => 500,
|
||||||
|
'message' => 'Failed to create user. Please try again later.'
|
||||||
|
], 500);
|
||||||
|
}
|
||||||
|
|
||||||
|
// Respon sukses jika kueri berhasil
|
||||||
|
return $this->respond([
|
||||||
|
'status' => 'success',
|
||||||
|
'code' => 201,
|
||||||
|
'message' => 'User ' . $username . ' successfully created.'
|
||||||
|
], 201);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -220,11 +233,6 @@ class Auth extends Controller {
|
|||||||
'message' => 'Authenticated',
|
'message' => 'Authenticated',
|
||||||
'data' => $decodedPayload
|
'data' => $decodedPayload
|
||||||
], 200);
|
], 200);
|
||||||
|
|
||||||
// return $this->respond([
|
|
||||||
// 'status' => 'success',
|
|
||||||
// 'message' => 'Already Login'
|
|
||||||
// ],200);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user