diff --git a/app/api/premium/updateUserPremiumStatus.php b/app/api/premium/updateUserPremiumStatus.php new file mode 100644 index 0000000000000000000000000000000000000000..4cf0cbf0ad52b43e486a74ff1e352453596216c6 --- /dev/null +++ b/app/api/premium/updateUserPremiumStatus.php @@ -0,0 +1,40 @@ +<?php + +require_once __DIR__ . '/../../../config/config.php'; + +if (isset($_ENV['SOAP_URL'])) { + $url = $_ENV['SOAP_URL']; +} else if (isset($_ENV['SOLO_DOCKER'])) { + $url = "http://host.docker.internal:8888/ws/subscription"; +} else { + $url = "http://localhost:8888/ws/subscription"; +} + +$id = $_POST['user_id']; + +$request_body = json_encode(array('user_id' => $id)); + +$headers = array( + 'Content-Type: application/json', + 'Content-Length: ' . strlen($request_body), + 'X-API-Key: ' . $_ENV['SOAP_API_KEY'] +); + +$ch = curl_init(); +curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'PATCH'); +curl_setopt($ch, CURLOPT_HTTPHEADER, $headers); +curl_setopt($ch, CURLOPT_POSTFIELDS, $request_body); +curl_setopt($ch, CURLOPT_URL, 'http://localhost:3000/api/update-user'); +curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); + +$response = curl_exec($ch); +curl_close($ch); + +if ($response === FALSE) { + printf("CURL error (#%d): %s<br>\n", curl_errno($ch), + htmlspecialchars(curl_error($ch))); +} + +http_response_code(200); +echo $response; +?> diff --git a/public/js/assess.js b/public/js/assess.js index f6172ba6455505a58f246603bdb18b5c2feba4d6..40a3c2e80c11afb567a5f62d8772b0eb448ede7b 100644 --- a/public/js/assess.js +++ b/public/js/assess.js @@ -59,27 +59,35 @@ const acceptRequest = (userId) => { if (response.includes("Request accepted")) { alert("Request accepted"); - // Arahkan pengguna ke URL /notes + + const updateUserPremiumStatusXHR = new XMLHttpRequest(); + updateUserPremiumStatusXHR.open("POST", "../../app/api/premium/updateUserPremiumStatus.php", true); + updateUserPremiumStatusXHR.onload = function() { + if (updateUserPremiumStatusXHR.readyState == 4 && updateUserPremiumStatusXHR.status == 200) { + console.log("User premium status updated"); + } else { + console.error("Failed to update user premium status"); + } + }; + updateUserPremiumStatusXHR.send(data); + window.location.href = "/?admin/assess"; } else if (response.includes("Request already accepted")) { alert("Request already accepted"); - // Lakukan tindakan tambahan jika diperlukan } else if (response.includes("Request already rejected")) { alert("Request already rejected"); - // Lakukan tindakan tambahan jika diperlukan } else if (response.includes("Request not found")) { alert("Request not found"); - // Lakukan tindakan tambahan jika diperlukan } else { alert("Failed to accept request"); } } else { alert("Failed to accept request"); } - } + }; xhr.send(data); -} +}; const rejectRequest = (userId) => { const data = new FormData();