58 lines
2.1 KiB
TypeScript
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; |