최초 커밋
This commit is contained in:
@@ -0,0 +1,193 @@
|
||||
<?php
|
||||
// // test_resign_disable.php
|
||||
|
||||
// // 응답 타입
|
||||
// header('Content-Type: application/json');
|
||||
|
||||
// // 1) 테스트용 하드코딩 데이터
|
||||
// $data = [
|
||||
// 'emp_no' => 'b24014',
|
||||
// 'name' => '테스트유저',
|
||||
// 'email' => 'b24014@hanmaceng.co.kr',
|
||||
// 'type' => '퇴사',
|
||||
// 'date' => date('Y-m-d'),
|
||||
// ];
|
||||
|
||||
// // 2) DB 연결
|
||||
// $mysqli = new mysqli('localhost', 'egbim', 'baron3840!!', 'egbim');
|
||||
// if ($mysqli->connect_error) {
|
||||
// echo json_encode(["status" => "error", "message" => "DB 연결 실패: " . $mysqli->connect_error]);
|
||||
// exit;
|
||||
// }
|
||||
|
||||
// // 3) INSERT 실행
|
||||
// $stmt = $mysqli->prepare("
|
||||
// INSERT INTO resign_info (emp_no, name, email, type, date)
|
||||
// VALUES (?, ?, ?, ?, ?)
|
||||
// ");
|
||||
// if (!$stmt) {
|
||||
// echo json_encode(["status" => "error", "message" => "쿼리 준비 실패: " . $mysqli->error]);
|
||||
// exit;
|
||||
// }
|
||||
// $stmt->bind_param("sssss",
|
||||
// $data['emp_no'],
|
||||
// $data['name'],
|
||||
// $data['email'],
|
||||
// $data['type'],
|
||||
// $data['date']
|
||||
// );
|
||||
|
||||
// if (!$stmt->execute()) {
|
||||
// echo json_encode(["status" => "error", "message" => "DB insert 실패: " . $stmt->error]);
|
||||
// exit;
|
||||
// }
|
||||
// $stmt->close();
|
||||
// $mysqli->close();
|
||||
|
||||
// // 4) Descope API 호출
|
||||
// $projectId = 'P2wON5fy1K6kyia269VpeIzYP8oP';
|
||||
// $managementKey = 'K2ycqpjeh1voPBdxXxzB3ScZOQ6v9aiLmU2cIj70X1H8Kcoz0KWfCWmofUwAsAkJroXA8QC';
|
||||
// $loginId = $data['email'];
|
||||
// $status = 'disabled';
|
||||
|
||||
// $descopeUrl = 'https://api.descope.com/v1/mgmt/user/update/status';
|
||||
// $headers = [
|
||||
// "Content-Type: application/json",
|
||||
// "Authorization: Bearer {$projectId}:{$managementKey}"
|
||||
// ];
|
||||
// $body = json_encode([
|
||||
// "loginId" => $loginId,
|
||||
// "status" => $status
|
||||
// ]);
|
||||
|
||||
// $ch = curl_init($descopeUrl);
|
||||
// curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
|
||||
// curl_setopt($ch, CURLOPT_POST, true);
|
||||
// curl_setopt($ch, CURLOPT_POSTFIELDS, $body);
|
||||
// curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
|
||||
|
||||
// $response = curl_exec($ch);
|
||||
// $httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE);
|
||||
// $curlErr = curl_error($ch);
|
||||
// curl_close($ch);
|
||||
|
||||
// // 5) 결과 출력
|
||||
// if ($curlErr) {
|
||||
// echo json_encode([
|
||||
// "status" => "partial_success",
|
||||
// "message" => "DB는 성공, Descope 호출 중 오류: " . $curlErr
|
||||
// ]);
|
||||
// } else {
|
||||
// $resData = json_decode($response, true);
|
||||
// if ($httpCode >= 200 && $httpCode < 300) {
|
||||
// echo json_encode([
|
||||
// "status" => "success",
|
||||
// "message" => "테스트 완료: DB 등록 및 Descope 비활성화 성공",
|
||||
// "descopeCode" => $httpCode,
|
||||
// "descopeRes" => $resData
|
||||
// ]);
|
||||
// } else {
|
||||
// echo json_encode([
|
||||
// "status" => "partial_success",
|
||||
// "message" => "DB 등록은 성공했지만 Descope API 에러",
|
||||
// "descopeCode" => $httpCode,
|
||||
// "descopeRes" => $resData
|
||||
// ]);
|
||||
// }
|
||||
// }
|
||||
?>
|
||||
<?php
|
||||
// resign_and_delete.php
|
||||
header('Content-Type: application/json');
|
||||
|
||||
// 0) 테스트용 하드코딩 (원한다면 POST 데이터로 바꿀 수 있습니다)
|
||||
$data = [
|
||||
'emp_no' => 'b24014',
|
||||
'name' => '테스트유저',
|
||||
'email' => 'b24014@hanmaceng.co.kr',
|
||||
'type' => '퇴사',
|
||||
'date' => date('Y-m-d'),
|
||||
];
|
||||
|
||||
// 1) DB 연결 & INSERT
|
||||
$mysqli = new mysqli('localhost', 'egbim', 'baron3840!!', 'egbim');
|
||||
if ($mysqli->connect_error) {
|
||||
echo json_encode(['status'=>'error','message'=>'DB 연결 실패: '.$mysqli->connect_error]);
|
||||
exit;
|
||||
}
|
||||
|
||||
$stmt = $mysqli->prepare("
|
||||
INSERT INTO resign_info (emp_no, name, email, type, date)
|
||||
VALUES (?, ?, ?, ?, ?)
|
||||
");
|
||||
$stmt->bind_param(
|
||||
'sssss',
|
||||
$data['emp_no'],
|
||||
$data['name'],
|
||||
$data['email'],
|
||||
$data['type'],
|
||||
$data['date']
|
||||
);
|
||||
if (! $stmt->execute()) {
|
||||
echo json_encode(['status'=>'error','message'=>'DB insert 실패: '.$stmt->error]);
|
||||
exit;
|
||||
}
|
||||
$stmt->close();
|
||||
$mysqli->close();
|
||||
|
||||
// 2) Descope API로 **삭제** 호출
|
||||
$projectId = 'P2wON5fy1K6kyia269VpeIzYP8oP';
|
||||
$managementKey = 'K2ycqpjeh1voPBdxXxzB3ScZOQ6v9aiLmU2cIj70X1H8Kcoz0KWfCWmofUwAsAkJroXA8QC';
|
||||
$loginId = $data['email'];
|
||||
|
||||
// Descope 관리 API: 사용자 삭제 (delete user)
|
||||
$url = 'https://api.descope.com/v1/mgmt/user/delete';
|
||||
$headers = [
|
||||
'Content-Type: application/json',
|
||||
"Authorization: Bearer {$projectId}:{$managementKey}"
|
||||
];
|
||||
$body = json_encode([
|
||||
'loginId' => $loginId
|
||||
]);
|
||||
|
||||
$ch = curl_init($url);
|
||||
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
|
||||
curl_setopt($ch, CURLOPT_POST, true);
|
||||
curl_setopt($ch, CURLOPT_POSTFIELDS, $body);
|
||||
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
|
||||
|
||||
$response = curl_exec($ch);
|
||||
$httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE);
|
||||
$curlErr = curl_error($ch);
|
||||
curl_close($ch);
|
||||
|
||||
|
||||
// 3) 사내 emp_status 업데이트 API
|
||||
$internalUrl = 'http://172.16.10.191:20000/user/emp_status';
|
||||
$payload2 = [
|
||||
'email' => $data['email'],
|
||||
'status' => 'inactive', // 'active' or 'inactive'
|
||||
];
|
||||
|
||||
$ch2 = curl_init($internalUrl);
|
||||
curl_setopt_array($ch2, [
|
||||
CURLOPT_RETURNTRANSFER => true,
|
||||
CURLOPT_POST => true,
|
||||
CURLOPT_POSTFIELDS => json_encode($payload2),
|
||||
CURLOPT_HTTPHEADER => ['Content-Type: application/json'],
|
||||
]);
|
||||
$res2 = curl_exec($ch2);
|
||||
$code2 = curl_getinfo($ch2, CURLINFO_HTTP_CODE);
|
||||
$err2 = curl_error($ch2);
|
||||
curl_close($ch2);
|
||||
|
||||
// 4) 결과 리턴
|
||||
$result = [
|
||||
'db' => ['status'=>'ok'],
|
||||
'descope' => $code1>=200&&$code1<300 ? 'deleted' : ['error'=>$err1,'code'=>$code1,'res'=>json_decode($res1,true)],
|
||||
'emp_status' => $code2>=200&&$code2<300 ? 'updated' : ['error'=>$err2,'code'=>$code2,'res'=>json_decode($res2,true)],
|
||||
];
|
||||
|
||||
echo json_encode($result, JSON_PRETTY_PRINT);
|
||||
exit;
|
||||
?>
|
||||
Reference in New Issue
Block a user