Prevented unauthorized login

This commit is contained in:
Patrick Alvin Alcala 2025-10-08 09:30:59 +08:00
parent 69ec891f55
commit f18c80e847
2 changed files with 54 additions and 9 deletions

View file

@ -59,6 +59,7 @@ export default () => {
}
const checkDivision = async () => {
console.log('AAAA')
const building = await checkAccess('BUILDING ORDER OF PAYMENT')
setIsBuilding(building)
@ -70,6 +71,7 @@ export default () => {
}
const getListForPrinting = async () => {
console.log('BBB')
try {
const response = await ofetch(API + 'get-listopprinting-electrical', { parseResponse: JSON.parse })
setApplicationList(response.result)
@ -89,18 +91,27 @@ export default () => {
const nameStore = sessionStorage.getItem('name')
setEmployeeId(parseInt(idStore!))
setEmployeeName(nameStore!)
if (employeeId() === 0 || employeeId().toString() === 'NaN') {
removeEmployee()
navigate('/', { replace: true })
return false
}
return true
}
const logout = async () => {
removeEmployee()
navigate('/')
// console.log('yeah')
}
onMount(async () => {
checkLogged()
const logged = await checkLogged()
if (logged) {
await checkDivision()
await getListForPrinting()
}
})
return (

View file

@ -1,5 +1,5 @@
import './Main.sass'
import { Logo, Link, Page, Row, Padding, ModalButton, Box, Button, Modal, Column } from '../../components/'
import { Logo, Link, Page, Row, Padding, ModalButton, Box, Button, Modal, Column, Clickable } from '../../components/'
import { FiLogOut } from 'solid-icons/fi'
import { Tabs } from '@kobalte/core/tabs'
import { ofetch } from 'ofetch'
@ -8,6 +8,7 @@ import dayjs from 'dayjs'
import { checkConnection, createPdf } from '../../utils/functions'
import { FaSolidThumbsUp } from 'solid-icons/fa'
import { _employeeName } from '../../stores/employee'
import { useNavigate } from '@solidjs/router'
// @ts-ignore
// import * as openssl from 'openssl-nodejs'
@ -16,6 +17,8 @@ const PESO = import.meta.env.VITE_PESO
const ID = import.meta.env.VITE_HEADID
export default () => {
const navigate = useNavigate()
const [totalOp, setTotalOp] = createSignal(0)
const [assessor, setAssessor] = createSignal('')
const [dateOp, setDateOp] = createSignal('')
@ -40,6 +43,9 @@ export default () => {
const [approved, setApproved] = createSignal(false)
const [approvedApplication, setApprovedApplication] = createSignal('')
const [employeeId, setEmployeeId] = createSignal(0)
const [employeeName, setEmployeeName] = createSignal('')
const getListForApproval = async () => {
try {
const response = await ofetch(API + 'get-listopapproval-electrical', { parseResponse: JSON.parse })
@ -168,8 +174,36 @@ export default () => {
createPdf()
}
const removeEmployee = () => {
sessionStorage.removeItem('id')
sessionStorage.removeItem('name')
}
const checkLogged = async () => {
const idStore = sessionStorage.getItem('id')
const nameStore = sessionStorage.getItem('name')
setEmployeeId(parseInt(idStore!))
setEmployeeName(nameStore!)
if (employeeId() === 0 || employeeId().toString() === 'NaN') {
removeEmployee()
navigate('/', { replace: true })
return false
}
return true
}
const logout = async () => {
removeEmployee()
navigate('/')
}
onMount(async () => {
const logged = await checkLogged()
if (logged) {
await load()
}
})
return (
@ -185,13 +219,13 @@ export default () => {
</Link>
<Row content="left" gap={1}>
<span class="name">{_employeeName.get()}</span>
<Link to="/">
<span class="name">{employeeName()}</span>
<Clickable onClick={logout}>
<Row gap={0.5}>
<FiLogOut size={25} />
<span>Logout</span>
</Row>
</Link>
</Clickable>
</Row>
</Row>
<Row content="center">