You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
206 lines
9.6 KiB
206 lines
9.6 KiB
import { contextBridge, ipcRenderer } from 'electron'
|
|
import { electronAPI } from '@electron-toolkit/preload'
|
|
const { getNessesarytable } = require('../../database/function/System')
|
|
const { getNiveau } = require('../../database/Models/Niveau')
|
|
const { getAllUsers } = require('../../database/Models/Users')
|
|
const { getAllEtudiants, getDataToDashboard } = require('../../database/Models/Etudiants')
|
|
const { verifyEtudiantIfHeHasNotes, blockShowMoyene } = require('../../database/Models/Notes')
|
|
const { getMatiere, getSemestre, getEnseignants } = require('../../database/Models/Matieres')
|
|
const { getSysteme } = require('../../database/Models/NoteSysrem')
|
|
const { getStatus } = require('../../database/Models/Status')
|
|
const { getAnneeScolaire, getInterval } = require('../../database/Models/AnneeScolaire')
|
|
const { getMentions } = require('../../database/Models/Mentions')
|
|
const { getAll } = require('../../database/api/Get')
|
|
const { getParcours } = require('../../database/Models/Parcours')
|
|
const { getIPConfig } = require('../../database/Models/IpConfig')
|
|
|
|
// Custom APIs for renderer
|
|
const api = {}
|
|
|
|
// Use `contextBridge` APIs to expose Electron APIs to
|
|
// renderer only if context isolation is enabled, otherwise
|
|
// just add to the DOM global.
|
|
if (process.contextIsolated) {
|
|
try {
|
|
contextBridge.exposeInMainWorld('electron', electronAPI)
|
|
contextBridge.exposeInMainWorld('api', api)
|
|
|
|
/**
|
|
* contextBridge for Tray
|
|
*/
|
|
contextBridge.exposeInMainWorld('Tray', {
|
|
onNavigate: (callback) => {
|
|
ipcRenderer.on('navigateToRoute', (event, route) => {
|
|
callback(route) // Pass the route to the renderer callback
|
|
})
|
|
}
|
|
})
|
|
|
|
/**
|
|
* contextBridge for users
|
|
*/
|
|
contextBridge.exposeInMainWorld('allUser', {
|
|
users: () => getAllUsers(),
|
|
login: (credentials) => ipcRenderer.invoke('login', credentials),
|
|
insertUsers: (credentials) => ipcRenderer.invoke('insertUser', credentials),
|
|
forgotPassword: (credentials) => ipcRenderer.invoke('forgotPassword', credentials),
|
|
quit: () => ipcRenderer.invoke('quit'),
|
|
minimize: () => ipcRenderer.invoke('minimize'),
|
|
updateUsers: (credentials) => ipcRenderer.invoke('updateUsers', credentials)
|
|
})
|
|
|
|
contextBridge.exposeInMainWorld('syncro', {
|
|
getall: () => getAll()
|
|
})
|
|
|
|
// syncronisation des donner
|
|
window.addEventListener('online', async () => {
|
|
if (navigator.onLine) {
|
|
// synchronizeData()
|
|
// synchronizeDataEtudiants()
|
|
// synchronizeDataNotes()
|
|
await getAll()
|
|
}
|
|
})
|
|
// send data
|
|
getAll()
|
|
|
|
/**
|
|
* contextBridge for etudiants
|
|
*/
|
|
contextBridge.exposeInMainWorld('etudiants', {
|
|
insertEtudiant: (credentials) => ipcRenderer.invoke('insertEtudiant', credentials),
|
|
getEtudiants: () => getAllEtudiants(),
|
|
FilterDataByNiveau: (credential) => ipcRenderer.invoke('getByNiveau', credential),
|
|
getSingle: (credential) => ipcRenderer.invoke('single', credential),
|
|
updateEtudiants: (credentials) => ipcRenderer.invoke('updateETudiants', credentials),
|
|
getDataToDashboards: () => getDataToDashboard(),
|
|
updateEtudiantsPDP: (credentials) => ipcRenderer.invoke('updateETudiantsPDP', credentials),
|
|
importExcel: (credentials) => ipcRenderer.invoke('importexcel', credentials),
|
|
changeParcours: (credentials) => ipcRenderer.invoke('changeParcours', credentials),
|
|
createTranche: (credentials) => ipcRenderer.invoke('createTranche', credentials),
|
|
getTranche: (credentials) => ipcRenderer.invoke('getTranche', credentials),
|
|
updateTranche: (credentials) => ipcRenderer.invoke('updateTranche', credentials),
|
|
deleteTranche: (credentials) => ipcRenderer.invoke('deleteTranche', credentials),
|
|
getSingleTranche: (credentials) => ipcRenderer.invoke('getSingleTranche', credentials)
|
|
})
|
|
|
|
/**
|
|
* cobtextBridge for niveaus
|
|
*/
|
|
contextBridge.exposeInMainWorld('niveaus', {
|
|
getNiveau: () => getNiveau(),
|
|
getSingleNiveau: (credential) => ipcRenderer.invoke('singleNiveau', credential),
|
|
insertNiveau: (credentials) => ipcRenderer.invoke('insertNiveau', credentials),
|
|
updateSingleNiveau: (credentials) => ipcRenderer.invoke('updateSingleNiveau', credentials),
|
|
importNiveau: (credentials) => ipcRenderer.invoke('importNiveau', credentials),
|
|
deleteNiveaus: (credentials) => ipcRenderer.invoke('deleteNiveaus', credentials)
|
|
})
|
|
|
|
/**
|
|
* contextBridge for notes
|
|
*/
|
|
contextBridge.exposeInMainWorld('notes', {
|
|
getNotes: (credentials) => ipcRenderer.invoke('getSingleNote', credentials),
|
|
insertNote: (credentials) => ipcRenderer.invoke('insertNote', credentials),
|
|
updateNote: (credentials) => ipcRenderer.invoke('updatetNote', credentials),
|
|
getMoyenne: (credentials) => ipcRenderer.invoke('getMoyene', credentials),
|
|
noteMatiere: (credentials) => ipcRenderer.invoke('noteMatiere', credentials),
|
|
noteRelerer: (credentials) => ipcRenderer.invoke('noteRelerer', credentials),
|
|
getMoyenneVerify: () => verifyEtudiantIfHeHasNotes(),
|
|
getblockNote: () => blockShowMoyene()
|
|
})
|
|
|
|
/**
|
|
* contextbridge for note repechage
|
|
*/
|
|
contextBridge.exposeInMainWorld('noteRepech', {
|
|
getNotesRepech: (credentials) => ipcRenderer.invoke('getNotesRepech', credentials),
|
|
updateNoteRepech: (credentials) => ipcRenderer.invoke('updatetNoteRepech', credentials),
|
|
getMoyenneRepech: (credentials) => ipcRenderer.invoke('getMoyenneRepech', credentials)
|
|
})
|
|
|
|
/**
|
|
* contextBridge for matieres
|
|
*/
|
|
contextBridge.exposeInMainWorld('matieres', {
|
|
getMatiere: () => getMatiere(),
|
|
createMatiere: (credentials) => ipcRenderer.invoke('createMatiere', credentials),
|
|
getMatiereByID: (credentials) => ipcRenderer.invoke('getMatiereByID', credentials),
|
|
updateMatiere: (credentials) => ipcRenderer.invoke('updateMatiere', credentials),
|
|
importExcel: (credentials) => ipcRenderer.invoke('importExcelMatiere', credentials),
|
|
displayMatiereFromForm: (credentials) =>
|
|
ipcRenderer.invoke('displayMatiereFromForm', credentials),
|
|
deleteMatiere: (credentials) => ipcRenderer.invoke('deleteMatiere', credentials),
|
|
asign: (credentials) => ipcRenderer.invoke('asign', credentials),
|
|
getAsign: (credentials) => ipcRenderer.invoke('getAsign', credentials),
|
|
asignSemestre: (credentials) => ipcRenderer.invoke('asignSemestre', credentials),
|
|
getSemestreMatiere: (credentials) => ipcRenderer.invoke('getSemestreMatiere', credentials),
|
|
getSemestre: () => getSemestre(),
|
|
getNessesary: () => getNessesarytable(),
|
|
getENseignant: () => getEnseignants(),
|
|
insertUpdateMentionSemestre: (credentials) =>
|
|
ipcRenderer.invoke('insertUpdateMentionSemestre', credentials),
|
|
updateNessesary: (credentials) => ipcRenderer.invoke('updateNessesary', credentials),
|
|
insertProf: (credentials) => ipcRenderer.invoke('insertProf', credentials),
|
|
getSingleProf: (credentials) => ipcRenderer.invoke('getSingleProf', credentials),
|
|
updateProf: (credentials) => ipcRenderer.invoke('updateProf', credentials)
|
|
})
|
|
|
|
/**
|
|
* contextBridge for note systeme
|
|
*/
|
|
contextBridge.exposeInMainWorld('notesysteme', {
|
|
getSyteme: () => getSysteme(),
|
|
updateNoteSysteme: (credentials) => ipcRenderer.invoke('updateNoteSysteme', credentials),
|
|
insertParcours: (credentials) => ipcRenderer.invoke('insertParcours', credentials),
|
|
getSingleParcours: (credentials) => ipcRenderer.invoke('getSingleParcours', credentials),
|
|
deleteParcours: (credentials) => ipcRenderer.invoke('deleteParcours', credentials),
|
|
updateParcours: (credentials) => ipcRenderer.invoke('updateParcours', credentials),
|
|
parcourMatiere: (credentials) => ipcRenderer.invoke('parcourMatiere', credentials),
|
|
getParcours: () => getParcours(),
|
|
extractFiches: (credentials) => ipcRenderer.invoke('extractFiches', credentials),
|
|
getParcourMatiere: (credentials) => ipcRenderer.invoke('getParcourMatiere', credentials),
|
|
createIPConfig: (credentials) => ipcRenderer.invoke('createIPConfig', credentials),
|
|
getIPConfig: () => getIPConfig(),
|
|
updateIPConfig: (credentials) => ipcRenderer.invoke('updateIPConfig', credentials)
|
|
})
|
|
|
|
/**
|
|
* contextbridge for status
|
|
*/
|
|
contextBridge.exposeInMainWorld('statuss', {
|
|
getStatus: () => getStatus()
|
|
})
|
|
|
|
/**
|
|
* contextbridge for annee scolaire
|
|
*/
|
|
contextBridge.exposeInMainWorld('anneescolaire', {
|
|
getAnneeScolaire: () => getAnneeScolaire(),
|
|
getInterval: () => getInterval(),
|
|
createAnneeScolaire: (credentials) => ipcRenderer.invoke('createAnneeScolaire', credentials),
|
|
deleteAnneeScolaire: (credentials) => ipcRenderer.invoke('deleteAnneeScolaire', credentials),
|
|
getSingleAnneeScolaire: (credentials) =>
|
|
ipcRenderer.invoke('getSingleAnneeScolaire', credentials),
|
|
updateAnneeScolaire: (credentials) => ipcRenderer.invoke('updateAnneeScolaire', credentials),
|
|
setCurrent: (credentials) => ipcRenderer.invoke('setCurrent', credentials)
|
|
})
|
|
|
|
/**
|
|
* contextbridge for mention
|
|
*/
|
|
contextBridge.exposeInMainWorld('mention', {
|
|
createMention: (credentials) => ipcRenderer.invoke('createMention', credentials),
|
|
getMention: () => getMentions(),
|
|
getSingleMention: (credentials) => ipcRenderer.invoke('getSingleMention', credentials),
|
|
updateMention: (credentials) => ipcRenderer.invoke('updateMention', credentials),
|
|
deleteMention: (credentials) => ipcRenderer.invoke('deleteMention', credentials)
|
|
})
|
|
} catch (error) {
|
|
console.error(error)
|
|
}
|
|
} else {
|
|
window.electron = electronAPI
|
|
window.api = api
|
|
}
|
|
|