diff --git a/.gitignore b/.gitignore index 3cb4c70..e752e65 100644 --- a/.gitignore +++ b/.gitignore @@ -27,7 +27,6 @@ dist-ssr # environment variables .env.local /backend/.env -/backend/tmp # jetbrains setting folder .idea/ diff --git a/backend/main.go b/backend/main.go index 0753780..a3641a0 100644 --- a/backend/main.go +++ b/backend/main.go @@ -158,35 +158,6 @@ func connect() { "result2": array2, }) - case "get-listopprinting-occupancy": - var result2 string - - array := []string{} - array2 := []string{} - - results, err := db.Query(`SELECT IFNULL(o.controlNo, '') AS result, IF(c.firstName IS NULL OR c.firstName = '', c.lastName, CONCAT(c.firstName, ' ', IF(c.middleInitial IS NULL OR c.middleInitial = '', '', CONCAT(c.middleInitial, '. ')), c.lastName) ) AS result2 - FROM occupancy o JOIN customer c ON o.customerid = c.customerid JOIN ref_occupancy_type rot ON o.ref_occupancy_typeid = rot.ref_occupancy_typeid JOIN ref_occupancy ro ON rot.ref_occupancyid = ro.ref_occupancyid JOIN occupancydocflowtxn od ON o.occupancyid = od.occupancyreceivingid JOIN (SELECT occupancyreceivingid, MAX(occupancydocflowtxnid) AS latest_occupancydocflowtxnid FROM occupancydocflowtxn GROUP BY occupancyreceivingid) latest_doc ON od.occupancyreceivingid = latest_doc.occupancyreceivingid AND od.occupancydocflowtxnid = latest_doc.latest_occupancydocflowtxnid - WHERE remarks = ? AND is_approve = 0 ORDER BY o.controlNo ASC`, "APPROVED FOR PRINTING OF BUREAU OF FIRE AND ORDER OF PAYMENT") - if err != nil { - c.AbortWithError(http.StatusBadRequest, err) - c.String(http.StatusBadRequest, err.Error()) - return - } - for results.Next() { - err = results.Scan(&result, &result2) - if err != nil { - c.AbortWithError(http.StatusBadRequest, err) - c.String(http.StatusBadRequest, err.Error()) - return - } - array = append(array, result) - array2 = append(array2, result2) - } - c.JSON(http.StatusOK, gin.H{ - "result": array, - "result2": array2, - }) - case "get-listopprinting-electrical": var result2 string @@ -291,7 +262,7 @@ func connect() { }) - router.GET("/api/:method/:data/fetch-data", func(c *gin.Context) { + router.GET("/api/:method/:data", func(c *gin.Context) { var result string method := c.Param("method") data := c.Param("data") @@ -778,29 +749,6 @@ func connect() { "result": result, }) - case "get-printdetails-occupancy": - var result2, result3, result4, result5, result6, result7, result8 string - - err := db.QueryRow(`SELECT DISTINCT IFNULL(o.controlNo, '') AS result, IFNULL(op.opDate, '') AS result2, IFNULL(r.locationofconstruction, '') AS result3, IFNULL(ro.occupancy, '') AS result4, IFNULL(rot.occupancyType, '') AS result5, IFNULL(o.noOfPermitsApplied, '') AS result6, IFNULL(e.employeename, '') AS result7, - IF(cu.firstName IS NULL OR cu.firstName = '', cu.lastName, CONCAT(cu.firstName, ' ', IF(cu.middleInitial IS NULL OR cu.middleInitial = '', '', CONCAT(cu.middleInitial, '. ')), cu.lastName) ) AS result8 - FROM occupancy o LEFT JOIN receiving r on o.bldgApplicationNo = r.applicationNo JOIN occupancy_orderofpayment op ON o.occupancyid = op.occupancyid JOIN ref_occupancy_type rot ON o.ref_occupancy_typeid = rot.ref_occupancy_typeid JOIN ref_occupancy ro ON rot.ref_occupancyid = ro.ref_occupancyid JOIN customer cu ON o.customerid = cu.customerid JOIN employee e ON op.assessedbyid = e.employeeid - WHERE op.is_approve = 1 AND op.for_approval = 1 AND op.is_release = 0 AND is_paid = 0 AND popstransmitted = 0 AND o.occupancyid = ?`, data).Scan(&result, &result2, &result3, &result4, &result5, &result6, &result7, &result8) - if err != nil { - c.AbortWithError(http.StatusBadRequest, err) - c.String(http.StatusBadRequest, err.Error()) - return - } - c.JSON(http.StatusOK, gin.H{ - "result": result, - "result2": result2, - "result3": result3, - "result4": result4, - "result5": result5, - "result6": result6, - "result7": result7, - "result8": result8, - }) - case "get-printdetails-electrical": var result2, result3, result4, result5, result6, result7, result8 string @@ -824,46 +772,15 @@ func connect() { "result8": result8, }) - case "get-printdetailsfees-occupancy": - var result2, result3 string - array := []string{} - array2 := []string{} - array3 := []string{} - - results, err := db.Query(`SELECT IFNULL(ref.accountdescription, '') AS result, IFNULL(ref.accountcode, '') AS result2, IFNULL(op.amount, '') AS result3 - FROM occupancy o JOIN occupancy_orderofpayment op ON o.occupancyid = op.occupancyid JOIN ref_bldgcomputationsheet ref ON op.ref_bldgcomputationsheetid = ref.ref_bldgcomputationsheetid - WHERE op.is_approve = 1 AND op.for_approval = 1 AND op.is_release = 0 AND op.is_paid = 0 AND op.popstransmitted = 0 AND op.is_delete <> 1 AND op.occupancyid = ?`, data) - if err != nil { - c.AbortWithError(http.StatusBadRequest, err) - c.String(http.StatusBadRequest, err.Error()) - return - } - for results.Next() { - err = results.Scan(&result, &result2, &result3) - if err != nil { - c.AbortWithError(http.StatusBadRequest, err) - c.String(http.StatusBadRequest, err.Error()) - return - } - array = append(array, result) - array2 = append(array2, result2) - array3 = append(array3, result3) - } - c.JSON(http.StatusOK, gin.H{ - "result": array, - "result2": array2, - "result3": array3, - }) - case "get-printdetailsfees-electrical": var result2, result3 string array := []string{} array2 := []string{} array3 := []string{} - results, err := db.Query(`SELECT IFNULL(ref.accountdescription, '') AS result, IFNULL(ref.accountcode, '') AS result2, IFNULL(op.amount, '') AS result3 - FROM electrical el JOIN electrical_orderofpayment_new op ON el.electricalid = op.electricalid JOIN ref_bldgcomputationsheet ref ON op.ref_bldgcomputationsheetid = ref.ref_bldgcomputationsheetid - WHERE op.is_approve = 1 AND op.for_approval = 1 AND op.is_release = 0 AND op.is_paid = 0 AND op.popstransmitted = 0 AND op.is_delete <> 1 AND op.electricalid = ?`, data) + results, err := db.Query(`SELECT IFNULL(ref.accountdescription, '') AS result, IFNULL(ref.accountcode, '') AS result2, IFNULL(op.amount, '') AS result3 FROM electrical_orderofpayment_new op, ref_bldgcomputationsheet ref, electrical el + WHERE op.is_approve = 1 AND op.for_approval = 1 AND op.is_release = 0 AND op.is_paid = 0 AND op.popstransmitted = 0 AND op.is_delete <> 1 AND op.ref_bldgcomputationsheetid = ref.ref_bldgcomputationsheetid + AND el.electricalid = op.electricalid AND op.electricalid = ?`, data) if err != nil { c.AbortWithError(http.StatusBadRequest, err) c.String(http.StatusBadRequest, err.Error()) @@ -908,17 +825,6 @@ func connect() { "result": result, }) - case "get-signeddateassessed-occupancy": - err := db.QueryRow(`SELECT IFNULL(txndate, '') AS result FROM occupancydocflowtxn WHERE occupancyreceivingid = ? AND remarks = "FOR OCCUPANCY RECOMMENDING APPROVAL"`, data).Scan(&result) - if err != nil { - c.AbortWithError(http.StatusBadRequest, err) - c.String(http.StatusBadRequest, err.Error()) - return - } - c.JSON(http.StatusOK, gin.H{ - "result": result, - }) - case "get-signeddateassessed-electrical": err := db.QueryRow(`SELECT IFNULL(txndate, '') AS result FROM electricaldocflowtxn WHERE electricalid = ? AND remarks = "FOR ELECTRICAL ORDER OF PAYMENT APPROVAL"`, data).Scan(&result) if err != nil { @@ -1032,7 +938,7 @@ func connect() { } }) - router.GET("/api/:method/:data/:data2/fetch-data", func(c *gin.Context) { + router.GET("/api/:method/:data/:data2", func(c *gin.Context) { var result string method := c.Param("method") data := c.Param("data") @@ -1115,7 +1021,7 @@ func connect() { }) - router.POST("/api/post-newstatus-occupancy", middleware.TokenChecker(), func(c *gin.Context) { + router.POST("/api/post-newstatus-occupancy", func(c *gin.Context) { type NewstatusData struct { Data int `json:"data"` //occuapancyid Data2 string `json:"data2"` //date @@ -1163,7 +1069,7 @@ func connect() { }) - router.POST("/api/post-newstatus-electrical", middleware.TokenChecker(), func(c *gin.Context) { + router.POST("/api/post-newstatus-electrical", func(c *gin.Context) { type NewstatusData struct { Data int `json:"data"` Data2 string `json:"data2"` @@ -1211,7 +1117,7 @@ func connect() { }) - router.POST("/api/update-docflow-occupancy", middleware.TokenChecker(), func(c *gin.Context) { + router.POST("/api/update-docflow-occupancy", func(c *gin.Context) { type UpdateDocflowData struct { Data int `json:"data"` Data2 string `json:"data2"` @@ -1258,7 +1164,7 @@ func connect() { } }) - router.POST("/api/update-docflow-electrical", middleware.TokenChecker(), func(c *gin.Context) { + router.POST("/api/update-docflow-electrical", func(c *gin.Context) { type UpdateDocflowData struct { Data int `json:"data"` Data2 string `json:"data2"` @@ -1305,47 +1211,7 @@ func connect() { } }) - router.POST("/api/update-opprinted-occupancy", middleware.TokenChecker(), func(c *gin.Context) { - type UpdateOpData struct { - Data int `json:"data"` - } - var updateOpData UpdateOpData - if err := c.ShouldBindJSON(&updateOpData); err != nil { - c.String(http.StatusBadRequest, "Invalid request body") - return - } - - c.Writer.Header().Set("X-XSS-Protection", "1; mode=block") - c.Writer.Header().Set("X-Content-Type-Options", "nosniff") - c.Writer.Header().Set("X-DNS-Prefetch-Control", "off") - c.Writer.Header().Set("X-Frame-Options", "DENY") - c.Writer.Header().Set("X-Download-Options", "noopen") - c.Writer.Header().Set("Referrer-Policy", "no-referrer") - - dbpost, err := db.Prepare("UPDATE iips.occupancy_orderofpayment SET popstransmitted = 1, is_release = 1 WHERE occupancyid = ? AND for_approval = 1 AND is_paid = 0 AND is_approve = 1") - if err != nil { - panic(err.Error()) - } - defer dbpost.Close() - - exec, err := dbpost.Exec(updateOpData.Data) - if err != nil { - panic(err.Error()) - } - - affect, err := exec.RowsAffected() - if err != nil { - panic(err.Error()) - } - - if affect > 0 { - c.String(http.StatusOK, "Success on Updating Order of Payment for Printing") - } else { - c.String(http.StatusInternalServerError, "Failed on Updating Order of Payment for Printing") - } - }) - - router.POST("/api/update-opprinted-electrical", middleware.TokenChecker(), func(c *gin.Context) { + router.POST("/api/update-opprinted-electrical", func(c *gin.Context) { type UpdateOpData struct { Data int `json:"data"` } @@ -1385,7 +1251,7 @@ func connect() { } }) - router.POST("/api/post-esigntransaction", middleware.TokenChecker(), func(c *gin.Context) { + router.POST("/api/post-esigntransaction", func(c *gin.Context) { type UpdateOpData struct { Data int `json:"data"` Data2 string `json:"data2"` @@ -1427,7 +1293,7 @@ func connect() { } }) - router.POST("/api/post-pops", middleware.TokenChecker(), func(c *gin.Context) { + router.POST("/api/post-pops", func(c *gin.Context) { type PostPopData struct { Data string `json:"data"` //applicationNo Data2 string `json:"data2"` //date @@ -1480,7 +1346,7 @@ func connect() { } }) - router.POST("/api/update-opapproved-occupancy", middleware.TokenChecker(), func(c *gin.Context) { + router.POST("/api/update-opapproved-occupancy", func(c *gin.Context) { type UpdateOpData struct { Data int `json:"data"` } @@ -1527,7 +1393,7 @@ func connect() { } }) - router.POST("/api/update-opapproved-electrical", middleware.TokenChecker(), func(c *gin.Context) { + router.POST("/api/update-opapproved-electrical", func(c *gin.Context) { type UpdateOpData struct { Data int `json:"data"` } diff --git a/backend/middleware/tokenChecker.go b/backend/middleware/tokenChecker.go index 2b604cb..012aa8f 100644 --- a/backend/middleware/tokenChecker.go +++ b/backend/middleware/tokenChecker.go @@ -77,36 +77,21 @@ func TokenChecker() gin.HandlerFunc { } parts := strings.Split(decrypted, "-") - partCount := len(parts) - var finalRequest int - var finalExpiration int - - if partCount == 4 { - requested := parts[2] - requestedNum, _ := strconv.Atoi(requested) - finalRequest = requestedNum - expiration := parts[3] - expirationNum, _ := strconv.Atoi(expiration) - finalExpiration = expirationNum - } else { - requested := parts[3] - requestedNum, _ := strconv.Atoi(requested) - finalRequest = requestedNum - expiration := parts[4] - expirationNum, _ := strconv.Atoi(expiration) - finalExpiration = expirationNum - } + requested := parts[2] + requestedNum, _ := strconv.Atoi(requested) + expiration := parts[3] + expirationNum, _ := strconv.Atoi(expiration) unix := strconv.FormatInt(time.Now().UTC().Unix(), 10) unixNum, _ := strconv.Atoi(unix) - if finalRequest > finalExpiration { + if requestedNum > expirationNum { c.JSON(http.StatusUnauthorized, gin.H{"error": "Invalid OCBO Token Value"}) c.Abort() return } - if unixNum > finalExpiration { + if unixNum > expirationNum { c.JSON(http.StatusUnauthorized, gin.H{"error": "OCBO Token Expired"}) c.Abort() return diff --git a/src/pages/AssessorPage/Assessor.tsx b/src/pages/AssessorPage/Assessor.tsx index 0de383d..aa8c9c7 100644 --- a/src/pages/AssessorPage/Assessor.tsx +++ b/src/pages/AssessorPage/Assessor.tsx @@ -2,6 +2,7 @@ import './Assessor.sass' import { Logo, Page, Row, Padding, ModalButton, Button, Clickable, Link, Modal, Column, Box, Input } from '../../components' import { FiLogOut } from 'solid-icons/fi' import { Tabs } from '@kobalte/core/tabs' +import { ofetch } from 'ofetch' import { onMount, createSignal, Show, createEffect } from 'solid-js' import dayjs from 'dayjs' import { checkConnection, createPdf } from '../../utils/functions' @@ -10,8 +11,8 @@ import { _employeeName, _employeeId } from '../../stores/employee' import { useNavigate } from '@solidjs/router' import { _applicationNo, _date, _optn, _name, _location, _type, _assessor, _feeList, _codeList, _amountList, _signatureAssessor, _signatureApprover, _assessorid, _approvedDate, _assessedDate } from '../../stores/pdfinfo' import { VsRefresh } from 'solid-icons/vs' -import { getApi, getApiMulti, postApi } from '../../utils/functions' +const API = import.meta.env.VITE_BACKEND const PESO = import.meta.env.VITE_PESO export default () => { @@ -42,14 +43,18 @@ export default () => { const [filter, setFilter] = createSignal('') const checkAccess = async (access: string) => { - const response = await getApi('check-access', access, employeeId()) - const result = response - if (result > 0) return true - else return false + try { + const response = await ofetch(`${API}check-access/${access}/${employeeId()}`) + const result = response.result + if (result > 0) return true + else return false + } catch { + return false + } } - const getPrintDetails = async (division: string, id: number) => { - const response = await getApiMulti(`get-printdetails-${division}`, id) + const getPrintDetails = async (id: number) => { + const response = await ofetch(API + 'get-printdetails-electrical/' + id) const applicationno = response.result const date = response.result2 const location = response.result3 @@ -67,8 +72,8 @@ export default () => { _assessorid.set(employeeId()) } - const getPrintDetailsFees = async (division: string, id: number) => { - const response = await getApiMulti(`get-printdetailsfees-${division}`, id) + const getPrintDetailsFees = async (id: number) => { + const response = await ofetch(API + 'get-printdetailsfees-electrical/' + id) const feeList = response.result const accountCodeList = response.result2 const amountList = response.result3 @@ -106,9 +111,7 @@ export default () => { const closeNotification = async () => { setPrinted(false) await checkDivision() - if (isBuilding()) await getListForPrinting('building') - if (isOccupancy()) await getListForPrinting('occupancy') - if (isElectrical()) await getListForPrinting('electrical') + await getListForPrinting() } const checkDivision = async () => { @@ -122,14 +125,8 @@ export default () => { setIsElectrical(electrical) } - const getopdetails = async (division: string, applicationNo: string) => { - // let op = [] - // if (division === 'building') op = await getApiMulti('get-opdetails-building', applicationNo) - // if (division === 'occupancy') op = await getApiMulti('get-opdetails-occupancy', applicationNo) - // if (division === 'electrical') op = await getApiMulti('get-opdetails-electrical', applicationNo) - - const op = await getApiMulti(`get-opdetails-${division}`, applicationNo) - + const getopdetails = async (applicationNo: string) => { + const op = await ofetch(API + 'get-opdetails-electrical/' + applicationNo, { parseResponse: JSON.parse }) setLocation(op.result[0]) setType(op.result2[0]) setAssessor(op.result3[0]) @@ -143,16 +140,15 @@ export default () => { // setDateOpList(op.result10) // calculateAmounts() - getPrintDetails(division, op.result6[0]) - getPrintDetailsFees(division, op.result6[0]) - + getPrintDetails(op.result6[0]) + getPrintDetailsFees(op.result6[0]) getSignatureImage(employeeId()) const approversignId = await geteSignId(276) getApprovedDate(approversignId, applicationNo) // const assessorId = await getEmployeeId(op.result7[0]) // const assessorsignId = await geteSignId(assessorId) - getAssessedDate(division, op.result6[0]) + getAssessedDate(op.result6[0]) } const calculateTotal = (list: number[]) => { @@ -160,9 +156,9 @@ export default () => { return total } - const getListForPrinting = async (division: string) => { + const getListForPrinting = async () => { try { - const response = await getApiMulti(`get-listopprinting-${division}`) + const response = await ofetch(API + 'get-listopprinting-electrical', { parseResponse: JSON.parse }) if (filter() !== '' && filter().trim().length !== 0) { const filteredApplications = response.result.filter((item: string) => item.includes(filter())) @@ -198,7 +194,7 @@ export default () => { return true } - const printHandler = async (division: string, application: string) => { + const printHandler = async (application: string) => { let signed: boolean = false let forprinting: boolean = false let updateOrderofpayment: boolean = false @@ -209,13 +205,13 @@ export default () => { return } - signed = await setNewStatus(division, 'ELECTRICAL ORDER OF PAYMENT PRINTED', '171', 'ELECOPPRINTED', 1) + signed = await setNewStatus('ELECTRICAL ORDER OF PAYMENT PRINTED', '171', 'ELECOPPRINTED', 1) if (!signed) return - forprinting = await setNewStatus(division, 'FOR ELECTRICAL OFFICIAL RECEIPT VALIDATION', '98', 'ELECORVALIDATE', 0) + forprinting = await setNewStatus('FOR ELECTRICAL OFFICIAL RECEIPT VALIDATION', '98', 'ELECORVALIDATE', 0) if (!forprinting) return - updateOrderofpayment = await updateOp(division) + updateOrderofpayment = await updateOp() if (updateOrderofpayment) { postTransaction(application) @@ -225,28 +221,42 @@ export default () => { } } - const updateOp = async (division: string) => { - const post = await postApi(`update-opprinted-${division}`, { data: parseInt(applicationId().toString()) }) - return post + const updateOp = async () => { + try { + await ofetch(API + 'update-opprinted-electrical', { + method: 'POST', + body: { data: parseInt(applicationId().toString()) }, + }) + return true + } catch { + return false + } } - const setNewStatus = async (division: string, status: string, tag: string, tagword: string, approved: number) => { + const setNewStatus = async (status: string, tag: string, tagword: string, approved: number) => { const today = new Date() const formattedDate = dayjs(today).format('YYYY-MM-DD HH:mm:ss') const statusid = parseInt(applicationId().toString()) - const post = await postApi(`post-newstatus-${division}`, { data: statusid, data2: formattedDate, data3: status, data4: tag, data5: tagword, data6: parseInt(approved.toString()), data7: parseInt(employeeId().toString()) }) - return post + try { + await ofetch(API + 'post-newstatus-electrical', { + method: 'POST', + body: { data: statusid, data2: formattedDate, data3: status, data4: tag, data5: tagword, data6: parseInt(approved.toString()), data7: parseInt(employeeId().toString()) }, + }) + return true + } catch { + return false + } } const getSignatureImage = async (id: number) => { try { - const response = await getApi('get-signatureimage', id) - const image = response + const response = await ofetch(API + 'get-signatureimage/' + id, { parseResponse: JSON.parse }) + const image = response.result _signatureAssessor.set(image) - const response2 = await getApi('get-signatureimage', 276) - const image2 = response2 + const response2 = await ofetch(API + 'get-signatureimage/' + 276, { parseResponse: JSON.parse }) + const image2 = response2.result _signatureApprover.set(image2) return true } catch { @@ -256,8 +266,8 @@ export default () => { const geteSignId = async (id: number) => { try { - const response = await getApi('get-esignid', id) - const result = response + const response = await ofetch(API + 'get-esignid/' + id, { parseResponse: JSON.parse }) + const result = response.result return result } catch { return 0 @@ -269,17 +279,31 @@ export default () => { const today = new Date() const formatedDate = dayjs(today).format('YYYY-MM-DD HH:mm:ss') - await postApi('post-esigntransaction', { data: parseInt(id), data2: application, data3: formatedDate }) + await ofetch(API + 'post-esigntransaction', { + method: 'POST', + body: { data: parseInt(id), data2: application, data3: formatedDate }, + }) } const getApprovedDate = async (id: number, application: string) => { - const response = await getApi('get-signeddate', id, application) - _approvedDate.set(response) + try { + const response = await ofetch(API + `get-signeddate/${id}/${application}`, { parseResponse: JSON.parse }) + const result = response.result + _approvedDate.set(result) + } catch (error) { + _approvedDate.set('') + } } - const getAssessedDate = async (division: string, id: number) => { - const response = await getApi(`get-signeddateassessed-${division}`, id) - _assessedDate.set(response) + const getAssessedDate = async (electricalid: number) => { + try { + const response = await ofetch(API + 'get-signeddateassessed-electrical/' + electricalid, { parseResponse: JSON.parse }) + const result = response.result + console.log('date', result) + _assessedDate.set(result) + } catch (error) { + _assessedDate.set('') + } } // const getEmployeeId = async (name: string) => { @@ -293,9 +317,7 @@ export default () => { // } const refresh = async () => { - if (isBuilding()) await getListForPrinting('building') - if (isOccupancy()) await getListForPrinting('occupancy') - if (isElectrical()) await getListForPrinting('electrical') + await getListForPrinting() } const logout = async () => { @@ -313,21 +335,15 @@ export default () => { if (logged) { await checkDivision() - if (isBuilding()) await getListForPrinting('building') - if (isOccupancy()) await getListForPrinting('occupancy') - if (isElectrical()) await getListForPrinting('electrical') + await getListForPrinting() } }) createEffect(async () => { if (filter() !== '') { - if (isBuilding()) await getListForPrinting('building') - if (isOccupancy()) await getListForPrinting('occupancy') - if (isElectrical()) await getListForPrinting('electrical') + await getListForPrinting() } else if (filter() === '') { - if (isBuilding()) await getListForPrinting('building') - if (isOccupancy()) await getListForPrinting('occupancy') - if (isElectrical()) await getListForPrinting('electrical') + await getListForPrinting() } }) @@ -404,98 +420,30 @@ export default () => { - {/* + {/*

List of Ready to Approve and Sign Occupancy Order of Payments

*/} +

Under Development

-
*/}{' '} -

List of Ready to Print in Occupancy Order of Payments

+
- - - - - - - - + {/* - + */} - - {applicationList().map((item, index) => ( - - - - - - - ))} - +
Application Number Name Show Details
{item}{nameList()[index]} - { - await getopdetails('occupancy', item) - }} - > - - {item} - - - - - - - - - - - - - - - - - - Click anywhere to cancel - - - -
-

List of Ready to Print in Electrical Order of Payments

+ createPdf()}> +

List of Ready to Print in Electrical Order of Payments

+
@@ -528,7 +476,7 @@ export default () => { background="#121e2acc" color="#ffffffec" function={async () => { - await getopdetails('electrical', item) + await getopdetails(item) }} > @@ -569,7 +517,7 @@ export default () => { - + Click anywhere to cancel diff --git a/src/pages/MainPage/Main.tsx b/src/pages/MainPage/Main.tsx index cb55ecf..8f2722a 100644 --- a/src/pages/MainPage/Main.tsx +++ b/src/pages/MainPage/Main.tsx @@ -2,6 +2,7 @@ import './Main.sass' 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' import { onMount, createSignal } from 'solid-js' import dayjs from 'dayjs' import { checkConnection, getApi, getApiMulti, postApi } from '../../utils/functions' @@ -12,6 +13,7 @@ import { _applicationNo, _date, _optn, _name, _location, _type, _assessor, _feeL import { VsRefresh } from 'solid-icons/vs' import { BiRegularErrorAlt } from 'solid-icons/bi' +const API = import.meta.env.VITE_BACKEND const PESO = import.meta.env.VITE_PESO const ID = import.meta.env.VITE_HEADID // const NAME = import.meta.env.VITE_HEAD @@ -263,7 +265,10 @@ export default () => { const formattedDatewithTime = dayjs(today).format('YYYY-MM-DD HH:mm:ss') for (let i = 0; i < response.result.length; i++) { - await postApi('post-pops', { data: application, data2: formattedDate, data3: customerid, data4: customerName, data5: location, data6: codeList[i], data7: amountList[i], data8: assessor(), data9: formattedDatewithTime, data10: lguList[i], data11: dpwhList[i], data12: boList[i], data13: PUBLICIP }) + await ofetch(API + 'post-pops', { + method: 'POST', + body: { data: application, data2: formattedDate, data3: customerid, data4: customerName, data5: location, data6: codeList[i], data7: amountList[i], data8: assessor(), data9: formattedDatewithTime, data10: lguList[i], data11: dpwhList[i], data12: boList[i], data13: PUBLICIP }, + }) } } @@ -330,7 +335,10 @@ export default () => { const today = new Date() const formatedDate = dayjs(today).format('YYYY-MM-DD HH:mm:ss') - await postApi('post-esigntransaction', { data: parseInt(id), data2: approvedApplication(), data3: formatedDate }) + await ofetch(API + 'post-esigntransaction', { + method: 'POST', + body: { data: parseInt(id), data2: approvedApplication(), data3: formatedDate }, + }) } const updateDocflow = async (division: string, applicationid: number, status: string) => { diff --git a/src/utils/functions/getApi.ts b/src/utils/functions/getApi.ts index 9677087..c902370 100644 --- a/src/utils/functions/getApi.ts +++ b/src/utils/functions/getApi.ts @@ -1,37 +1,14 @@ -// import { ofetch } from 'ofetch' - -// const API = import.meta.env.VITE_BACKEND - -// export default async (api: string, value?: any) => { -// try { -// let fetch -// if (!value) { -// fetch = await ofetch(API + api, { parseResponse: JSON.parse, retry: 3, retryDelay: 500, retryStatusCodes: [400, 404, 405, 500, 502] }) -// } else { -// fetch = await ofetch(API + `${api}/${value}`, { parseResponse: JSON.parse, retry: 3, retryDelay: 500, retryStatusCodes: [400, 404, 405, 500, 502] }) -// } -// const result = fetch.result -// return result -// } catch { -// return [] -// } -// } - import { ofetch } from 'ofetch' const API = import.meta.env.VITE_BACKEND -export default async (api: string, value?: any, value2?: any) => { +export default async (api: string, value?: any) => { try { let fetch - if (!value2) { - if (!value) { - fetch = await ofetch(API + api, { parseResponse: JSON.parse, retry: 3, retryDelay: 500, retryStatusCodes: [400, 404, 405, 500, 502] }) - } else { - fetch = await ofetch(API + `${api}/${value}/fetch-data`, { parseResponse: JSON.parse, retry: 3, retryDelay: 500, retryStatusCodes: [400, 404, 405, 500, 502] }) - } + if (!value) { + fetch = await ofetch(API + api, { parseResponse: JSON.parse, retry: 3, retryDelay: 500, retryStatusCodes: [400, 404, 405, 500, 502] }) } else { - fetch = await ofetch(API + `${api}/${value}/${value2}/fetch-data`, { parseResponse: JSON.parse, retry: 3, retryDelay: 500, retryStatusCodes: [400, 404, 405, 500, 502] }) + fetch = await ofetch(API + `${api}/${value}`, { parseResponse: JSON.parse, retry: 3, retryDelay: 500, retryStatusCodes: [400, 404, 405, 500, 502] }) } const result = fetch.result return result diff --git a/src/utils/functions/getApiMulti.ts b/src/utils/functions/getApiMulti.ts index 7b9d70e..c595379 100644 --- a/src/utils/functions/getApiMulti.ts +++ b/src/utils/functions/getApiMulti.ts @@ -8,7 +8,7 @@ export default async (api: string, value?: any) => { if (!value) { fetch = await ofetch(API + api, { parseResponse: JSON.parse, retry: 3, retryDelay: 500, retryStatusCodes: [400, 404, 405, 500, 502] }) } else { - fetch = await ofetch(API + `${api}/${value}/fetch-data`, { parseResponse: JSON.parse, retry: 3, retryDelay: 500, retryStatusCodes: [400, 404, 405, 500, 502] }) + fetch = await ofetch(API + `${api}/${value}`, { parseResponse: JSON.parse, retry: 3, retryDelay: 500, retryStatusCodes: [400, 404, 405, 500, 502] }) } return fetch diff --git a/src/utils/functions/index.ts b/src/utils/functions/index.ts index 65794fc..d78b458 100644 --- a/src/utils/functions/index.ts +++ b/src/utils/functions/index.ts @@ -3,3 +3,4 @@ export { default as createPdf } from './createPdf' export { default as postApi } from './postApi' export { default as getApi } from './getApi' export { default as getApiMulti } from './getApiMulti' +// export { default as generateFavicon } from './generateFavicon' diff --git a/src/utils/functions/postApi.ts b/src/utils/functions/postApi.ts index 87bb1e2..7195db6 100644 --- a/src/utils/functions/postApi.ts +++ b/src/utils/functions/postApi.ts @@ -1,6 +1,6 @@ import { ofetch } from 'ofetch' +import encryptAes from './encryptAes' import dayjs from 'dayjs' -import encryptRsa from './encryptRsa' const API = import.meta.env.VITE_BACKEND @@ -8,9 +8,9 @@ export default async (api: string, body: Object) => { const today = new Date() const todayUnix = dayjs(today).unix() const expiration = todayUnix + 9 - const aes = await encryptRsa(`${api.toString()}-${todayUnix.toString()}-${expiration.toString()}`) + const aes = await encryptAes(`${todayUnix.toString()}-${expiration.toString()}`) - const hash = `ocbo=${aes}token` + const hash = `ocbo-${aes}-token` try { await ofetch(API + api, { headers: { @@ -18,9 +18,6 @@ export default async (api: string, body: Object) => { 'Cache-Control': 'no-cache', 'OCBO-Token': hash, }, - retry: 3, - retryDelay: 500, - retryStatusCodes: [400, 404, 405, 500, 502], method: 'POST', body: body, })