Files
2025-10-26 22:53:17 +08:00

58 lines
2.1 KiB
TypeScript

import express from 'express';
import type { Request, Response } from 'express';
import type { UploadedFile } from 'express-fileupload';
import path from 'path';
import fs from 'fs';
import axios from 'axios';
// import model
import { SiswaModel } from '../models/siswa_model'; // import SiswaModel
import { GuruModel } from '../models/guru_model';
const router = express.Router();
router.get('/', (req: Request, res: Response) => {
res.sendFile(path.join(__dirname, '../ui/first_pages/index.html'));
});
router.get('/login', (req: Request, res: Response) => {
res.sendFile(path.join(__dirname, '../ui/first_pages/login.html'));
});
router.post('/login', async (req: Request, res: Response) => {
const { username, password, role } = req.body;
// console.log(username, password, role);
if (role == 'guru') {
let cek_guru = await GuruModel.findOne({ nig: username , password: password })!;
// console.log(cek_guru.nama || 'gagal');
if (cek_guru) {
// console.log(cek_guru.nama);
cek_guru = JSON.parse(JSON.stringify(cek_guru));
const responseData = { ...cek_guru, role: 'guru' };
console.log(responseData.nama);
return res.status(200).json({data : responseData , message: "Login Berhasil , <br>Selamat Datang " + responseData.nama});
}
return res.status(401).json('Login Gagal , Username dan Password Salah' );
}
if (role == 'siswa') {
// check the SiswaModel
let siswa = await SiswaModel.findOne({ nis: username });
// change the siswa to json
siswa = JSON.parse(JSON.stringify(siswa));
if (siswa && siswa.password == password) {
const responseData = { ...siswa, role: 'siswa' };
return res.status(200).json({data : responseData , message: "Login Berhasil , <br>Selamat Datang " + responseData.nama});
}
return res.status(401).json('Login Gagal , Username dan Password Salah' );
}
res.status(200).json('Login Gagal , Username dan Password Salah' );
});
export default router;