Stabilize legacy Steven API endpoints and add OpenAPI spec
This commit is contained in:
72
steven/API/verifBerkasDosen.php
Normal file
72
steven/API/verifBerkasDosen.php
Normal file
@@ -0,0 +1,72 @@
|
||||
<?php
|
||||
|
||||
session_start();
|
||||
|
||||
include '../conf/koneksiPDO.php';
|
||||
include '../conf/function.php';
|
||||
|
||||
$conn = new createCon();
|
||||
$dbh = $conn->connect();
|
||||
|
||||
header('Content-Type: application/json');
|
||||
|
||||
$loginDosen = requireSessionRole('dosen');
|
||||
|
||||
$idRekapHasil = isset($_POST['idRekap']) ? (int) $_POST['idRekap'] : 0;
|
||||
$jenis = isset($_POST['jenis']) ? trim((string) $_POST['jenis']) : '';
|
||||
$verif = isset($_POST['verif']) ? (int) $_POST['verif'] : 0;
|
||||
$sebagai = isset($_POST['sebagai']) ? trim((string) $_POST['sebagai']) : '';
|
||||
|
||||
if ($idRekapHasil <= 0 || $jenis === '' || $sebagai === '') {
|
||||
jsonResponse(['status' => false, 'msg' => 'Parameter tidak lengkap'], 422);
|
||||
}
|
||||
|
||||
$sql = 'SELECT pemb1, pemb2, peng1, peng2 FROM tbrekaphasil WHERE id = :idRekapHasil';
|
||||
$stmt = $dbh->prepare($sql);
|
||||
$stmt->bindParam(':idRekapHasil', $idRekapHasil);
|
||||
$stmt->execute();
|
||||
$rekap = $stmt->fetch(PDO::FETCH_ASSOC);
|
||||
|
||||
if (!$rekap) {
|
||||
jsonResponse(['status' => false, 'msg' => 'Data Not Found'], 404);
|
||||
}
|
||||
|
||||
$dosenNip = isset($loginDosen['nip']) ? (string) $loginDosen['nip'] : '';
|
||||
|
||||
switch ($sebagai) {
|
||||
case 'pemb1': $fieldName = 'verifPemb1'; $expectedNip = (string) $rekap['pemb1']; break;
|
||||
case 'pemb2': $fieldName = 'verifPemb2'; $expectedNip = (string) $rekap['pemb2']; break;
|
||||
case 'peng1': $fieldName = 'verifPeng1'; $expectedNip = (string) $rekap['peng1']; break;
|
||||
case 'peng2': $fieldName = 'verifPeng2'; $expectedNip = (string) $rekap['peng2']; break;
|
||||
default: jsonResponse(['status' => false, 'msg' => 'Status Dosen Tidak Dikenali'], 422);
|
||||
}
|
||||
|
||||
if ($expectedNip === '' || $expectedNip !== $dosenNip) {
|
||||
jsonResponse(['status' => false, 'msg' => 'Forbidden'], 403);
|
||||
}
|
||||
|
||||
$sql = 'SELECT id FROM tb_verif_berkas WHERE idRekapHasil = :idRekapHasil AND jenisSidang = :jenis';
|
||||
$stmt = $dbh->prepare($sql);
|
||||
$stmt->bindParam(':idRekapHasil', $idRekapHasil);
|
||||
$stmt->bindParam(':jenis', $jenis);
|
||||
$stmt->execute();
|
||||
|
||||
if ($stmt->rowCount() === 0) {
|
||||
$sql = 'INSERT INTO tb_verif_berkas(idRekapHasil, jenisSidang, catatanDariAdmin, verifPemb1, verifPemb2, verifPeng1, verifPeng2) VALUES(:idRekapHasil, :jenis, "", 0, 0, 0, 0)';
|
||||
$stmt = $dbh->prepare($sql);
|
||||
$stmt->bindParam(':idRekapHasil', $idRekapHasil);
|
||||
$stmt->bindParam(':jenis', $jenis);
|
||||
$stmt->execute();
|
||||
}
|
||||
|
||||
$sql = "UPDATE tb_verif_berkas SET {$fieldName} = :verif WHERE idRekapHasil = :idRekapHasil AND jenisSidang = :jenis";
|
||||
$stmt = $dbh->prepare($sql);
|
||||
$stmt->bindParam(':verif', $verif);
|
||||
$stmt->bindParam(':idRekapHasil', $idRekapHasil);
|
||||
$stmt->bindParam(':jenis', $jenis);
|
||||
$stmt->execute();
|
||||
|
||||
echo json_encode([
|
||||
'status' => true,
|
||||
'msg' => 'Verifikasi berhasil',
|
||||
]);
|
||||
Reference in New Issue
Block a user