|
|
|
|
import { app, shell, BrowserWindow, ipcMain, Tray, Menu } from 'electron'
|
|
|
|
|
import { join } from 'path'
|
|
|
|
|
const path = require('path')
|
|
|
|
|
import { electronApp, optimizer, is } from '@electron-toolkit/utils'
|
|
|
|
|
import icon from '../../resources/logo.ico?asset' // Your tray icon file
|
|
|
|
|
const database = require('../../database/database')
|
|
|
|
|
|
|
|
|
|
database
|
|
|
|
|
.createTables()
|
|
|
|
|
.then(() => database.insertDefaultAdmin())
|
|
|
|
|
.then(() => database.insertStatusesIfNotExist())
|
|
|
|
|
.catch(console.error)
|
|
|
|
|
|
|
|
|
|
// const { createConfigIp, updateIPConfig } = require('../../database/Models/IpConfig')
|
|
|
|
|
// const { importFileToDatabase } = require('../../database/import/Etudiants')
|
|
|
|
|
// const {
|
|
|
|
|
// insertEtudiant,
|
|
|
|
|
// getSingleEtudiant,
|
|
|
|
|
// FilterDataByNiveau,
|
|
|
|
|
// updateEtudiant,
|
|
|
|
|
// changePDP,
|
|
|
|
|
// updateParcours,
|
|
|
|
|
// createTranche,
|
|
|
|
|
// getTranche,
|
|
|
|
|
// updateTranche,
|
|
|
|
|
// deleteTranche,
|
|
|
|
|
// getSingleTranche
|
|
|
|
|
// } = require('../../database/Models/Etudiants')
|
|
|
|
|
// const {
|
|
|
|
|
// insertNiveau,
|
|
|
|
|
// updateNiveau,
|
|
|
|
|
// getSingleNiveau,
|
|
|
|
|
// deleteNiveau
|
|
|
|
|
// } = require('../../database/Models/Niveau')
|
|
|
|
|
// const {
|
|
|
|
|
// insertNote,
|
|
|
|
|
// getNote,
|
|
|
|
|
// updateNote,
|
|
|
|
|
// showMoyen,
|
|
|
|
|
// getMatiereAndNote,
|
|
|
|
|
// getNotesWithRepechToDisplay
|
|
|
|
|
// } = require('../../database/Models/Notes')
|
|
|
|
|
// const {
|
|
|
|
|
// createMatiere,
|
|
|
|
|
// getSingleMatiere,
|
|
|
|
|
// updateMatiere,
|
|
|
|
|
// displayMatiereFromForm,
|
|
|
|
|
// deleteMatiere,
|
|
|
|
|
// asygnationToMention,
|
|
|
|
|
// getMentionMatiere,
|
|
|
|
|
// getMentionMatiereChecked,
|
|
|
|
|
// getSemestreMatiere,
|
|
|
|
|
// insertUpdateMentionSemestre,
|
|
|
|
|
// insertNewProf,
|
|
|
|
|
// getSIngleProf,
|
|
|
|
|
// updateProf
|
|
|
|
|
// } = require('../../database/Models/Matieres')
|
|
|
|
|
// const { importFileToDatabaseMatiere } = require('../../database/import/Matieres')
|
|
|
|
|
// const { importNiveau } = require('../../database/import/Niveau')
|
|
|
|
|
// const { updateSysteme } = require('../../database/Models/NoteSysrem')
|
|
|
|
|
// const {
|
|
|
|
|
// createAnneeScolaire,
|
|
|
|
|
// deleteAnneeScolaire,
|
|
|
|
|
// getSingleAnneScolaire,
|
|
|
|
|
// updateAnneeScolaire,
|
|
|
|
|
// setCurrent
|
|
|
|
|
// } = require('../../database/Models/AnneeScolaire')
|
|
|
|
|
// const {
|
|
|
|
|
// createMention,
|
|
|
|
|
// deleteMention,
|
|
|
|
|
// getSingleMention,
|
|
|
|
|
// updateMention
|
|
|
|
|
// } = require('../../database/Models/Mentions')
|
|
|
|
|
// const {
|
|
|
|
|
// getNoteRepech,
|
|
|
|
|
// updateNoteRepech,
|
|
|
|
|
// showMoyenRepech
|
|
|
|
|
// } = require('../../database/Models/NoteRepechage')
|
|
|
|
|
// const {
|
|
|
|
|
// updateCurrentYears,
|
|
|
|
|
// updateStudents,
|
|
|
|
|
// updateNessesaryTable
|
|
|
|
|
// } = require('../../database/function/System')
|
|
|
|
|
const { autoUpdater } = require('electron-updater')
|
|
|
|
|
const { URL } = require('../../database/api/Config')
|
|
|
|
|
// const {
|
|
|
|
|
// insertParcour,
|
|
|
|
|
// getSingleParcours,
|
|
|
|
|
// deletes,
|
|
|
|
|
// updateparcour,
|
|
|
|
|
// parcourMatiere,
|
|
|
|
|
// extractFiche,
|
|
|
|
|
// getParcourMatiere
|
|
|
|
|
// } = require('../../database/Models/Parcours')
|
|
|
|
|
|
|
|
|
|
// Declare mainWindow and tray in the global scope
|
|
|
|
|
let mainWindow
|
|
|
|
|
let tray = null
|
|
|
|
|
// updateCurrentYears()
|
|
|
|
|
// updateStudents()
|
|
|
|
|
|
|
|
|
|
autoUpdater.setFeedURL({
|
|
|
|
|
provider: 'generic',
|
|
|
|
|
url: `${URL}/latest` // Ensure this points to the folder containing latest.yml
|
|
|
|
|
})
|
|
|
|
|
|
|
|
|
|
function createWindow() {
|
|
|
|
|
// Create the browser window.
|
|
|
|
|
mainWindow = new BrowserWindow({
|
|
|
|
|
width: 1375,
|
|
|
|
|
minWidth: 1375,
|
|
|
|
|
height: 740,
|
|
|
|
|
minHeight: 740,
|
|
|
|
|
show: false,
|
|
|
|
|
autoHideMenuBar: true,
|
|
|
|
|
fullscreen: false,
|
|
|
|
|
icon: path.join(__dirname, 'resources', 'logo.ico'), // Path to your icon,
|
|
|
|
|
...(process.platform === 'linux' ? { icon } : {}),
|
|
|
|
|
webPreferences: {
|
|
|
|
|
preload: join(__dirname, '../preload/index.js'),
|
|
|
|
|
nodeIntegration: true,
|
|
|
|
|
contextIsolation: true,
|
|
|
|
|
sandbox: false
|
|
|
|
|
}
|
|
|
|
|
})
|
|
|
|
|
|
|
|
|
|
// Désactiver les raccourcis clavier
|
|
|
|
|
mainWindow.webContents.on('before-input-event', (event, input) => {
|
|
|
|
|
if (input.control || input.meta || input.alt || input.key === 'F11') {
|
|
|
|
|
event.preventDefault()
|
|
|
|
|
}
|
|
|
|
|
})
|
|
|
|
|
|
|
|
|
|
mainWindow.on('ready-to-show', () => {
|
|
|
|
|
mainWindow.maximize() // Maximiser la fenêtre
|
|
|
|
|
mainWindow.show()
|
|
|
|
|
})
|
|
|
|
|
|
|
|
|
|
mainWindow.webContents.setWindowOpenHandler((details) => {
|
|
|
|
|
shell.openExternal(details.url)
|
|
|
|
|
return { action: 'deny' }
|
|
|
|
|
})
|
|
|
|
|
|
|
|
|
|
// Load the appropriate URL based on environment
|
|
|
|
|
if (is.dev && process.env['ELECTRON_RENDERER_URL']) {
|
|
|
|
|
mainWindow.loadURL(process.env['ELECTRON_RENDERER_URL'])
|
|
|
|
|
} else {
|
|
|
|
|
mainWindow.loadFile(join(__dirname, '../renderer/index.html'))
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// Handle window close (hide instead of closing)
|
|
|
|
|
mainWindow.on('close', (event) => {
|
|
|
|
|
if (!app.isQuiting) {
|
|
|
|
|
event.preventDefault()
|
|
|
|
|
mainWindow.hide() // Minimize to tray instead of closing
|
|
|
|
|
} else {
|
|
|
|
|
// Destroy the tray when quitting
|
|
|
|
|
if (tray) tray.destroy()
|
|
|
|
|
}
|
|
|
|
|
})
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// Function to create the system tray
|
|
|
|
|
function createTray() {
|
|
|
|
|
const iconPath = icon // Use your icon path here
|
|
|
|
|
tray = new Tray(iconPath)
|
|
|
|
|
|
|
|
|
|
// Create a context menu for the tray
|
|
|
|
|
const contextMenu = Menu.buildFromTemplate([
|
|
|
|
|
{
|
|
|
|
|
label: 'Ouvrir',
|
|
|
|
|
click: () => {
|
|
|
|
|
mainWindow.show()
|
|
|
|
|
mainWindow.webContents.send('navigateToRoute', '#/') // Send the route as a string
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
label: 'A Propos',
|
|
|
|
|
click: () => {
|
|
|
|
|
mainWindow.show()
|
|
|
|
|
mainWindow.webContents.send('navigateToRoute', '#/apropos') // Send the route as a string
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
label: 'Quit',
|
|
|
|
|
click: () => {
|
|
|
|
|
// Clear localStorage in the renderer process
|
|
|
|
|
mainWindow.webContents
|
|
|
|
|
.executeJavaScript('localStorage.removeItem("ACCESS_TOKEN");')
|
|
|
|
|
.then(() => {
|
|
|
|
|
console.log('localStorage cleared.')
|
|
|
|
|
// Ensure the app quits entirely
|
|
|
|
|
if (tray) {
|
|
|
|
|
app.quit()
|
|
|
|
|
tray.destroy()
|
|
|
|
|
// if (app.quit()) {
|
|
|
|
|
// tray.destroy()
|
|
|
|
|
// }
|
|
|
|
|
} // Quit the app
|
|
|
|
|
})
|
|
|
|
|
.catch((err) => {
|
|
|
|
|
console.error('Error clearing localStorage:', err)
|
|
|
|
|
// Quit the app even if clearing fails
|
|
|
|
|
if (tray) {
|
|
|
|
|
app.quit()
|
|
|
|
|
tray.destroy()
|
|
|
|
|
// if (app.quit()) {
|
|
|
|
|
// tray.destroy()
|
|
|
|
|
// }
|
|
|
|
|
}
|
|
|
|
|
})
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
])
|
|
|
|
|
|
|
|
|
|
tray.setToolTip('My Electron App')
|
|
|
|
|
tray.setContextMenu(contextMenu)
|
|
|
|
|
|
|
|
|
|
// Show the app when the tray icon is clicked
|
|
|
|
|
tray.on('click', () => {
|
|
|
|
|
mainWindow.show()
|
|
|
|
|
})
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
app.whenReady().then(() => {
|
|
|
|
|
electronApp.setAppUserModelId('com.electron')
|
|
|
|
|
autoUpdater.checkForUpdatesAndNotify()
|
|
|
|
|
|
|
|
|
|
app.on('browser-window-created', (_, window) => {
|
|
|
|
|
optimizer.watchWindowShortcuts(window)
|
|
|
|
|
})
|
|
|
|
|
|
|
|
|
|
createWindow()
|
|
|
|
|
createTray() // Create the tray icon
|
|
|
|
|
|
|
|
|
|
app.on('activate', function () {
|
|
|
|
|
if (BrowserWindow.getAllWindows().length === 0) createWindow()
|
|
|
|
|
})
|
|
|
|
|
})
|
|
|
|
|
|
|
|
|
|
// When an update is available
|
|
|
|
|
autoUpdater.on('update-available', () => {
|
|
|
|
|
dialog.showMessageBox({
|
|
|
|
|
type: 'info',
|
|
|
|
|
title: 'Mise à jour disponible',
|
|
|
|
|
message: 'Une nouvelle version est disponible. Téléchargement en cours...'
|
|
|
|
|
})
|
|
|
|
|
})
|
|
|
|
|
|
|
|
|
|
// When the update is downloaded
|
|
|
|
|
autoUpdater.on('update-downloaded', (info) => {
|
|
|
|
|
dialog
|
|
|
|
|
.showMessageBox({
|
|
|
|
|
type: 'info',
|
|
|
|
|
title: 'Mise à jour prête',
|
|
|
|
|
message: `La version ${info.version} a été téléchargée. Redémarrer maintenant ?`,
|
|
|
|
|
buttons: ['Redémarrer', 'Plus tard']
|
|
|
|
|
})
|
|
|
|
|
.then((result) => {
|
|
|
|
|
if (result.response === 0) {
|
|
|
|
|
autoUpdater.quitAndInstall()
|
|
|
|
|
}
|
|
|
|
|
})
|
|
|
|
|
})
|
|
|
|
|
|
|
|
|
|
// If an error occurs
|
|
|
|
|
autoUpdater.on('error', (error) => {
|
|
|
|
|
dialog.showErrorBox('Update Error', error == null ? 'Unknown' : error.message)
|
|
|
|
|
})
|
|
|
|
|
|
|
|
|
|
// Quit the app when all windows are closed, except on macOS
|
|
|
|
|
app.on('window-all-closed', () => {
|
|
|
|
|
if (process.platform !== 'darwin') {
|
|
|
|
|
app.quit()
|
|
|
|
|
}
|
|
|
|
|
})
|
|
|
|
|
|
|
|
|
|
// In this file you can include the rest of your app"s specific main process
|
|
|
|
|
// code. You can also put them in separate files and require them here.
|
|
|
|
|
|
|
|
|
|
// event for quit app
|
|
|
|
|
ipcMain.handle('quit', async () => {
|
|
|
|
|
app.quit()
|
|
|
|
|
})
|
|
|
|
|
|
|
|
|
|
// event for minimizing the app
|
|
|
|
|
ipcMain.handle('minimize', async () => {
|
|
|
|
|
if (mainWindow) {
|
|
|
|
|
mainWindow.minimize()
|
|
|
|
|
}
|
|
|
|
|
})
|
|
|
|
|
|
|
|
|
|
// event for insert etudiants
|
|
|
|
|
// ipcMain.handle('insertEtudiant', async (event, credentials) => {
|
|
|
|
|
// const {
|
|
|
|
|
// nom,
|
|
|
|
|
// prenom,
|
|
|
|
|
// photos,
|
|
|
|
|
// date_de_naissances,
|
|
|
|
|
// niveau,
|
|
|
|
|
// annee_scolaire,
|
|
|
|
|
// status,
|
|
|
|
|
// num_inscription,
|
|
|
|
|
// mention_id,
|
|
|
|
|
// sexe,
|
|
|
|
|
// nationaliter,
|
|
|
|
|
// cin,
|
|
|
|
|
// date_delivrence,
|
|
|
|
|
// annee_bacc,
|
|
|
|
|
// serie,
|
|
|
|
|
// boursier,
|
|
|
|
|
// domaine,
|
|
|
|
|
// contact,
|
|
|
|
|
// parcours
|
|
|
|
|
// } = credentials
|
|
|
|
|
|
|
|
|
|
// const insert = await insertEtudiant(
|
|
|
|
|
// nom,
|
|
|
|
|
// prenom,
|
|
|
|
|
// photos,
|
|
|
|
|
// date_de_naissances,
|
|
|
|
|
// niveau,
|
|
|
|
|
// annee_scolaire,
|
|
|
|
|
// status,
|
|
|
|
|
// num_inscription,
|
|
|
|
|
// mention_id,
|
|
|
|
|
// sexe,
|
|
|
|
|
// nationaliter,
|
|
|
|
|
// cin,
|
|
|
|
|
// date_delivrence,
|
|
|
|
|
// annee_bacc,
|
|
|
|
|
// serie,
|
|
|
|
|
// boursier,
|
|
|
|
|
// domaine,
|
|
|
|
|
// contact,
|
|
|
|
|
// parcours
|
|
|
|
|
// )
|
|
|
|
|
|
|
|
|
|
// return insert
|
|
|
|
|
// })
|
|
|
|
|
|
|
|
|
|
// // event for fetching single
|
|
|
|
|
// ipcMain.handle('getByNiveau', async (event, credentials) => {
|
|
|
|
|
// const { niveau } = credentials
|
|
|
|
|
|
|
|
|
|
// const getSingle = await FilterDataByNiveau(niveau)
|
|
|
|
|
|
|
|
|
|
// return getSingle
|
|
|
|
|
// })
|
|
|
|
|
|
|
|
|
|
// // event for fetching single
|
|
|
|
|
// ipcMain.handle('single', async (event, credentials) => {
|
|
|
|
|
// const { id } = credentials
|
|
|
|
|
|
|
|
|
|
// const getSingle = await getSingleEtudiant(id)
|
|
|
|
|
|
|
|
|
|
// return getSingle
|
|
|
|
|
// })
|
|
|
|
|
|
|
|
|
|
// // event for inserting niveau
|
|
|
|
|
// ipcMain.handle('insertNiveau', async (event, credentials) => {
|
|
|
|
|
// const { nom } = credentials
|
|
|
|
|
|
|
|
|
|
// const insert = await insertNiveau(nom)
|
|
|
|
|
|
|
|
|
|
// return insert
|
|
|
|
|
// })
|
|
|
|
|
|
|
|
|
|
// // event for updating etudiants
|
|
|
|
|
// ipcMain.handle('updateETudiants', async (event, credentials) => {
|
|
|
|
|
// const {
|
|
|
|
|
// nom,
|
|
|
|
|
// prenom,
|
|
|
|
|
// photos,
|
|
|
|
|
// date_de_naissances,
|
|
|
|
|
// niveau,
|
|
|
|
|
// annee_scolaire,
|
|
|
|
|
// status,
|
|
|
|
|
// mention_id,
|
|
|
|
|
// num_inscription,
|
|
|
|
|
// id,
|
|
|
|
|
// sexe,
|
|
|
|
|
// nationalite,
|
|
|
|
|
// cin,
|
|
|
|
|
// date_delivrance,
|
|
|
|
|
// annee_bacc,
|
|
|
|
|
// serie,
|
|
|
|
|
// boursier,
|
|
|
|
|
// domaine,
|
|
|
|
|
// contact,
|
|
|
|
|
// parcours
|
|
|
|
|
// } = credentials
|
|
|
|
|
|
|
|
|
|
// const updating = await updateEtudiant(
|
|
|
|
|
// nom,
|
|
|
|
|
// prenom,
|
|
|
|
|
// photos,
|
|
|
|
|
// date_de_naissances,
|
|
|
|
|
// niveau,
|
|
|
|
|
// annee_scolaire,
|
|
|
|
|
// status,
|
|
|
|
|
// mention_id,
|
|
|
|
|
// num_inscription,
|
|
|
|
|
// id,
|
|
|
|
|
// sexe,
|
|
|
|
|
// nationalite,
|
|
|
|
|
// cin,
|
|
|
|
|
// date_delivrance,
|
|
|
|
|
// annee_bacc,
|
|
|
|
|
// serie,
|
|
|
|
|
// boursier,
|
|
|
|
|
// domaine,
|
|
|
|
|
// contact,
|
|
|
|
|
// parcours
|
|
|
|
|
// )
|
|
|
|
|
|
|
|
|
|
// return updating
|
|
|
|
|
// })
|
|
|
|
|
|
|
|
|
|
// // event for updating etudiants pdp
|
|
|
|
|
// ipcMain.handle('updateETudiantsPDP', async (event, credentials) => {
|
|
|
|
|
// const { pdp, id } = credentials
|
|
|
|
|
|
|
|
|
|
// const updating = await changePDP(pdp, id)
|
|
|
|
|
|
|
|
|
|
// return updating
|
|
|
|
|
// })
|
|
|
|
|
|
|
|
|
|
// // event for adding notes
|
|
|
|
|
// ipcMain.handle('insertNote', async (event, credentials) => {
|
|
|
|
|
// const { etudiant_id, etudiant_niveau, mention_id, formData, annee_scolaire } = credentials
|
|
|
|
|
|
|
|
|
|
// const insert = await insertNote(
|
|
|
|
|
// etudiant_id,
|
|
|
|
|
// etudiant_niveau,
|
|
|
|
|
// mention_id,
|
|
|
|
|
// formData,
|
|
|
|
|
// annee_scolaire
|
|
|
|
|
// )
|
|
|
|
|
|
|
|
|
|
// return insert
|
|
|
|
|
// })
|
|
|
|
|
|
|
|
|
|
// // event for get single note
|
|
|
|
|
// ipcMain.handle('getSingleNote', async (event, credentials) => {
|
|
|
|
|
// const { id, niveau, mention_id } = credentials
|
|
|
|
|
|
|
|
|
|
// const get = await getNote(id, niveau, mention_id)
|
|
|
|
|
|
|
|
|
|
// return get
|
|
|
|
|
// })
|
|
|
|
|
|
|
|
|
|
// // event for get single note repech
|
|
|
|
|
// ipcMain.handle('getNotesRepech', async (event, credentials) => {
|
|
|
|
|
// const { id, niveau, mention_id } = credentials
|
|
|
|
|
|
|
|
|
|
// const get = await getNoteRepech(id, niveau, mention_id)
|
|
|
|
|
|
|
|
|
|
// return get
|
|
|
|
|
// })
|
|
|
|
|
|
|
|
|
|
// // event for updating note
|
|
|
|
|
// ipcMain.handle('updatetNote', async (event, credentials) => {
|
|
|
|
|
// const { formData, niveau, id, mention_id, annee_scolaire } = credentials
|
|
|
|
|
|
|
|
|
|
// const update = await updateNote(formData, niveau, id, mention_id, annee_scolaire)
|
|
|
|
|
|
|
|
|
|
// return update
|
|
|
|
|
// })
|
|
|
|
|
|
|
|
|
|
// // event for updating note repech
|
|
|
|
|
// ipcMain.handle('updatetNoteRepech', async (event, credentials) => {
|
|
|
|
|
// const { formData2, niveau, id } = credentials
|
|
|
|
|
|
|
|
|
|
// const update = await updateNoteRepech(formData2, niveau, id)
|
|
|
|
|
|
|
|
|
|
// return update
|
|
|
|
|
// })
|
|
|
|
|
|
|
|
|
|
// // event to get single matiere
|
|
|
|
|
// ipcMain.handle('getMatiereByID', async (event, credentials) => {
|
|
|
|
|
// const { id } = credentials
|
|
|
|
|
|
|
|
|
|
// const matiere = await getSingleMatiere(id)
|
|
|
|
|
|
|
|
|
|
// return matiere
|
|
|
|
|
// })
|
|
|
|
|
|
|
|
|
|
// // event for updating matiere
|
|
|
|
|
// ipcMain.handle('updateMatiere', async (event, credentials) => {
|
|
|
|
|
// const { nom, credit, uniter, ue, id } = credentials
|
|
|
|
|
|
|
|
|
|
// const update = await updateMatiere(nom, id, credit, uniter, ue)
|
|
|
|
|
|
|
|
|
|
// return update
|
|
|
|
|
// })
|
|
|
|
|
// // event for importExcel
|
|
|
|
|
// ipcMain.handle('importexcel', async (event, credentials) => {
|
|
|
|
|
// const files = credentials
|
|
|
|
|
// console.log(files)
|
|
|
|
|
// const insert = await importFileToDatabase(files)
|
|
|
|
|
|
|
|
|
|
// return insert
|
|
|
|
|
// })
|
|
|
|
|
|
|
|
|
|
// // event for udatign a single niveau
|
|
|
|
|
// ipcMain.handle('updateSingleNiveau', async (event, credentials) => {
|
|
|
|
|
// const { nom, id } = credentials
|
|
|
|
|
|
|
|
|
|
// const update = updateNiveau(nom, id)
|
|
|
|
|
|
|
|
|
|
// return update
|
|
|
|
|
// })
|
|
|
|
|
|
|
|
|
|
// // event to get single niveau
|
|
|
|
|
// ipcMain.handle('singleNiveau', async (event, credentials) => {
|
|
|
|
|
// const { id } = credentials
|
|
|
|
|
|
|
|
|
|
// const update = getSingleNiveau(id)
|
|
|
|
|
|
|
|
|
|
// return update
|
|
|
|
|
// })
|
|
|
|
|
|
|
|
|
|
// // event for creating matiere
|
|
|
|
|
// ipcMain.handle('createMatiere', async (event, credentials) => {
|
|
|
|
|
// const { nom, credit, uniter, ue } = credentials
|
|
|
|
|
|
|
|
|
|
// const create = createMatiere(nom, credit, uniter, ue)
|
|
|
|
|
|
|
|
|
|
// return create
|
|
|
|
|
// })
|
|
|
|
|
|
|
|
|
|
// // event for import excel matiere
|
|
|
|
|
// ipcMain.handle('importExcelMatiere', async (event, credentials) => {
|
|
|
|
|
// const files = credentials
|
|
|
|
|
// console.log(files)
|
|
|
|
|
// const insert = await importFileToDatabaseMatiere(files)
|
|
|
|
|
|
|
|
|
|
// return insert
|
|
|
|
|
// })
|
|
|
|
|
|
|
|
|
|
// // event for import excel niveau
|
|
|
|
|
// ipcMain.handle('importNiveau', async (event, credentials) => {
|
|
|
|
|
// const files = credentials
|
|
|
|
|
// console.log(files)
|
|
|
|
|
// const insert = await importNiveau(files)
|
|
|
|
|
|
|
|
|
|
// return insert
|
|
|
|
|
// })
|
|
|
|
|
|
|
|
|
|
// // event for updating note systeme
|
|
|
|
|
// ipcMain.handle('updateNoteSysteme', async (event, credentials) => {
|
|
|
|
|
// const { id, admis, redouble, renvoyer } = credentials
|
|
|
|
|
|
|
|
|
|
// const update = updateSysteme(id, admis, redouble, renvoyer)
|
|
|
|
|
// return update
|
|
|
|
|
// })
|
|
|
|
|
|
|
|
|
|
// // event for updating note systeme
|
|
|
|
|
// ipcMain.handle('createAnneeScolaire', async (event, credentials) => {
|
|
|
|
|
// const { code, debut, fin } = credentials
|
|
|
|
|
|
|
|
|
|
// const create = createAnneeScolaire(code, debut, fin)
|
|
|
|
|
// return create
|
|
|
|
|
// })
|
|
|
|
|
|
|
|
|
|
// ipcMain.handle('getMoyene', async (event, credentials) => {
|
|
|
|
|
// const { niveau, scolaire } = credentials
|
|
|
|
|
// console.log('index.js', niveau, scolaire)
|
|
|
|
|
|
|
|
|
|
// const create = showMoyen(niveau, scolaire)
|
|
|
|
|
// return create
|
|
|
|
|
// })
|
|
|
|
|
|
|
|
|
|
// ipcMain.handle('getMoyenneRepech', async (event, credentials) => {
|
|
|
|
|
// const { niveau, scolaire } = credentials
|
|
|
|
|
// console.log('index.js', niveau, scolaire)
|
|
|
|
|
|
|
|
|
|
// const create = showMoyenRepech(niveau, scolaire)
|
|
|
|
|
// return create
|
|
|
|
|
// })
|
|
|
|
|
|
|
|
|
|
// ipcMain.handle('noteMatiere', async (event, credentials) => {
|
|
|
|
|
// const { id, niveau, annee_scolaire } = credentials
|
|
|
|
|
|
|
|
|
|
// const get = getMatiereAndNote(id, niveau, annee_scolaire)
|
|
|
|
|
// return get
|
|
|
|
|
// })
|
|
|
|
|
|
|
|
|
|
// ipcMain.handle('displayMatiereFromForm', async (event, credentials) => {
|
|
|
|
|
// const { niveau, mention_id, parcours } = credentials
|
|
|
|
|
|
|
|
|
|
// const get = displayMatiereFromForm(niveau, mention_id, parcours)
|
|
|
|
|
// return get
|
|
|
|
|
// })
|
|
|
|
|
|
|
|
|
|
// ipcMain.handle('createMention', async (event, credentials) => {
|
|
|
|
|
// const { nom, uniter } = credentials
|
|
|
|
|
|
|
|
|
|
// const get = createMention(nom, uniter)
|
|
|
|
|
// return get
|
|
|
|
|
// })
|
|
|
|
|
|
|
|
|
|
// ipcMain.handle('getSingleMention', async (event, credentials) => {
|
|
|
|
|
// const { id } = credentials
|
|
|
|
|
|
|
|
|
|
// const get = getSingleMention(id)
|
|
|
|
|
// return get
|
|
|
|
|
// })
|
|
|
|
|
|
|
|
|
|
// ipcMain.handle('updateMention', async (event, credentials) => {
|
|
|
|
|
// const { nom, uniter, id } = credentials
|
|
|
|
|
|
|
|
|
|
// const get = updateMention(nom, uniter, id)
|
|
|
|
|
// return get
|
|
|
|
|
// })
|
|
|
|
|
|
|
|
|
|
// ipcMain.handle('deleteMention', async (event, credentials) => {
|
|
|
|
|
// const { id } = credentials
|
|
|
|
|
|
|
|
|
|
// const get = deleteMention(id)
|
|
|
|
|
// return get
|
|
|
|
|
// })
|
|
|
|
|
|
|
|
|
|
// ipcMain.handle('deleteNiveaus', async (event, credentials) => {
|
|
|
|
|
// const { id } = credentials
|
|
|
|
|
|
|
|
|
|
// const get = deleteNiveau(id)
|
|
|
|
|
// return get
|
|
|
|
|
// })
|
|
|
|
|
|
|
|
|
|
// ipcMain.handle('deleteMatiere', async (event, credentials) => {
|
|
|
|
|
// const { id } = credentials
|
|
|
|
|
|
|
|
|
|
// const get = deleteMatiere(id)
|
|
|
|
|
// return get
|
|
|
|
|
// })
|
|
|
|
|
|
|
|
|
|
// ipcMain.handle('asign', async (event, credentials) => {
|
|
|
|
|
// const { formData, id } = credentials
|
|
|
|
|
// // console.log(formData, id);
|
|
|
|
|
// const get = asygnationToMention(formData, id)
|
|
|
|
|
|
|
|
|
|
// return get
|
|
|
|
|
// })
|
|
|
|
|
|
|
|
|
|
// ipcMain.handle('asignSemestre', async (event, credentials) => {
|
|
|
|
|
// const { id } = credentials
|
|
|
|
|
|
|
|
|
|
// const get = getMentionMatiereChecked(id)
|
|
|
|
|
|
|
|
|
|
// return get
|
|
|
|
|
// })
|
|
|
|
|
|
|
|
|
|
// ipcMain.handle('getAsign', async (event, credentials) => {
|
|
|
|
|
// const { id } = credentials
|
|
|
|
|
// // console.log(formData, id);
|
|
|
|
|
// const get = getMentionMatiere(id)
|
|
|
|
|
|
|
|
|
|
// return get
|
|
|
|
|
// })
|
|
|
|
|
|
|
|
|
|
// ipcMain.handle('deleteAnneeScolaire', async (event, credentials) => {
|
|
|
|
|
// const { id } = credentials
|
|
|
|
|
// // console.log(formData, id);
|
|
|
|
|
// const get = deleteAnneeScolaire(id)
|
|
|
|
|
|
|
|
|
|
// return get
|
|
|
|
|
// })
|
|
|
|
|
|
|
|
|
|
// ipcMain.handle('getSemestreMatiere', async (event, credentials) => {
|
|
|
|
|
// const { id } = credentials
|
|
|
|
|
// // console.log(formData, id);
|
|
|
|
|
// const get = getSemestreMatiere(id)
|
|
|
|
|
|
|
|
|
|
// return get
|
|
|
|
|
// })
|
|
|
|
|
|
|
|
|
|
// ipcMain.handle('insertUpdateMentionSemestre', async (event, credentials) => {
|
|
|
|
|
// const { id, selectedSemestres } = credentials
|
|
|
|
|
// // console.log(formData, id);
|
|
|
|
|
// const get = insertUpdateMentionSemestre(id, selectedSemestres)
|
|
|
|
|
|
|
|
|
|
// return get
|
|
|
|
|
// })
|
|
|
|
|
|
|
|
|
|
// ipcMain.handle('getSingleAnneeScolaire', async (event, credentials) => {
|
|
|
|
|
// const { id } = credentials
|
|
|
|
|
// // console.log(formData, id);
|
|
|
|
|
// const get = getSingleAnneScolaire(id)
|
|
|
|
|
|
|
|
|
|
// return get
|
|
|
|
|
// })
|
|
|
|
|
|
|
|
|
|
// ipcMain.handle('updateAnneeScolaire', async (event, credentials) => {
|
|
|
|
|
// const { code, debut, fin, id } = credentials
|
|
|
|
|
// // console.log(formData, id);
|
|
|
|
|
// const get = updateAnneeScolaire(id, code, debut, fin)
|
|
|
|
|
|
|
|
|
|
// return get
|
|
|
|
|
// })
|
|
|
|
|
|
|
|
|
|
// ipcMain.handle('setCurrent', async (event, credentials) => {
|
|
|
|
|
// const { id } = credentials
|
|
|
|
|
// // console.log(formData, id);
|
|
|
|
|
// const get = setCurrent(id)
|
|
|
|
|
|
|
|
|
|
// return get
|
|
|
|
|
// })
|
|
|
|
|
|
|
|
|
|
// ipcMain.handle('noteRelerer', async (event, credentials) => {
|
|
|
|
|
// const { id, anneescolaire, niveau } = credentials
|
|
|
|
|
// // console.log(formData, id);
|
|
|
|
|
// const get = getNotesWithRepechToDisplay(id, anneescolaire, niveau)
|
|
|
|
|
|
|
|
|
|
// return get
|
|
|
|
|
// })
|
|
|
|
|
|
|
|
|
|
// ipcMain.handle('updateNessesary', async (event, credentials) => {
|
|
|
|
|
// const { id, multiplicateur } = credentials
|
|
|
|
|
// // console.log(formData, id);
|
|
|
|
|
// const get = updateNessesaryTable(id, multiplicateur)
|
|
|
|
|
|
|
|
|
|
// return get
|
|
|
|
|
// })
|
|
|
|
|
|
|
|
|
|
// ipcMain.handle('insertProf', async (event, credentials) => {
|
|
|
|
|
// const { nom_enseignant, prenom_enseignant, contact, date, matiere_id } = credentials
|
|
|
|
|
// // console.log(formData, id);
|
|
|
|
|
// const get = insertNewProf(matiere_id, nom_enseignant, prenom_enseignant, contact, date)
|
|
|
|
|
|
|
|
|
|
// return get
|
|
|
|
|
// })
|
|
|
|
|
|
|
|
|
|
// ipcMain.handle('insertParcours', async (event, credentials) => {
|
|
|
|
|
// const { nom, uniter, mention_id } = credentials
|
|
|
|
|
// // console.log(formData, id);
|
|
|
|
|
// const get = insertParcour(nom, uniter, mention_id)
|
|
|
|
|
|
|
|
|
|
// return get
|
|
|
|
|
// })
|
|
|
|
|
|
|
|
|
|
// ipcMain.handle('getSingleParcours', async (event, credentials) => {
|
|
|
|
|
// const { id } = credentials
|
|
|
|
|
// // console.log(formData, id);
|
|
|
|
|
// const get = getSingleParcours(id)
|
|
|
|
|
|
|
|
|
|
// return get
|
|
|
|
|
// })
|
|
|
|
|
|
|
|
|
|
// ipcMain.handle('deleteParcours', async (event, credentials) => {
|
|
|
|
|
// const { id } = credentials
|
|
|
|
|
// // console.log(formData, id);
|
|
|
|
|
// const get = deletes(id)
|
|
|
|
|
|
|
|
|
|
// return get
|
|
|
|
|
// })
|
|
|
|
|
|
|
|
|
|
// ipcMain.handle('updateParcours', async (event, credentials) => {
|
|
|
|
|
// const { nom, uniter, mention_id, id } = credentials
|
|
|
|
|
// // console.log(formData, id);
|
|
|
|
|
// const get = updateparcour(id, nom, uniter, mention_id)
|
|
|
|
|
|
|
|
|
|
// return get
|
|
|
|
|
// })
|
|
|
|
|
|
|
|
|
|
// ipcMain.handle('parcourMatiere', async (event, credentials) => {
|
|
|
|
|
// const { matiere_id, parcour_id } = credentials
|
|
|
|
|
// // console.log(formData, id);
|
|
|
|
|
// const get = parcourMatiere(matiere_id, parcour_id)
|
|
|
|
|
|
|
|
|
|
// return get
|
|
|
|
|
// })
|
|
|
|
|
|
|
|
|
|
// ipcMain.handle('getSingleProf', async (event, credentials) => {
|
|
|
|
|
// const { id } = credentials
|
|
|
|
|
// // console.log(formData, id);
|
|
|
|
|
// const get = getSIngleProf(id)
|
|
|
|
|
|
|
|
|
|
// return get
|
|
|
|
|
// })
|
|
|
|
|
|
|
|
|
|
// ipcMain.handle('updateProf', async (event, credentials) => {
|
|
|
|
|
// const { nom_enseignant, prenom_enseignant, contact, date, matiere_id } = credentials
|
|
|
|
|
// // console.log(formData, id);
|
|
|
|
|
// const get = updateProf(matiere_id, nom_enseignant, prenom_enseignant, contact, date)
|
|
|
|
|
|
|
|
|
|
// return get
|
|
|
|
|
// })
|
|
|
|
|
|
|
|
|
|
// ipcMain.handle('extractFiches', async (event, credentials) => {
|
|
|
|
|
// const { matiere_id } = credentials
|
|
|
|
|
// // console.log(formData, id);
|
|
|
|
|
// const get = extractFiche(matiere_id)
|
|
|
|
|
|
|
|
|
|
// return get
|
|
|
|
|
// })
|
|
|
|
|
|
|
|
|
|
// ipcMain.handle('getParcourMatiere', async (event, credentials) => {
|
|
|
|
|
// const { matiere_id } = credentials
|
|
|
|
|
// // console.log(formData, id);
|
|
|
|
|
// const get = getParcourMatiere(matiere_id)
|
|
|
|
|
|
|
|
|
|
// return get
|
|
|
|
|
// })
|
|
|
|
|
|
|
|
|
|
// ipcMain.handle('changeParcours', async (event, credentials) => {
|
|
|
|
|
// const { parcours, user_id } = credentials
|
|
|
|
|
// // console.log(formData, id);
|
|
|
|
|
// const get = updateParcours(parcours, user_id)
|
|
|
|
|
|
|
|
|
|
// return get
|
|
|
|
|
// })
|
|
|
|
|
|
|
|
|
|
// ipcMain.handle('createTranche', async (event, credentials) => {
|
|
|
|
|
// const { etudiant_id, tranchename, montant } = credentials
|
|
|
|
|
// // console.log(formData, id);
|
|
|
|
|
// const get = createTranche(etudiant_id, tranchename, montant)
|
|
|
|
|
|
|
|
|
|
// return get
|
|
|
|
|
// })
|
|
|
|
|
|
|
|
|
|
// ipcMain.handle('getTranche', async (event, credentials) => {
|
|
|
|
|
// const { id } = credentials
|
|
|
|
|
// // console.log(formData, id);
|
|
|
|
|
// const get = getTranche(id)
|
|
|
|
|
|
|
|
|
|
// return get
|
|
|
|
|
// })
|
|
|
|
|
|
|
|
|
|
// ipcMain.handle('updateTranche', async (event, credentials) => {
|
|
|
|
|
// const { id, tranchename, montant } = credentials
|
|
|
|
|
// // console.log(formData, id);
|
|
|
|
|
// const get = updateTranche(id, tranchename, montant)
|
|
|
|
|
|
|
|
|
|
// return get
|
|
|
|
|
// })
|
|
|
|
|
|
|
|
|
|
// ipcMain.handle('deleteTranche', async (event, credentials) => {
|
|
|
|
|
// const { id } = credentials
|
|
|
|
|
// console.log(id)
|
|
|
|
|
// const get = deleteTranche(id)
|
|
|
|
|
|
|
|
|
|
// return get
|
|
|
|
|
// })
|
|
|
|
|
|
|
|
|
|
// ipcMain.handle('getSingleTranche', async (event, credentials) => {
|
|
|
|
|
// const { id } = credentials
|
|
|
|
|
// // console.log(formData, id);
|
|
|
|
|
// const get = getSingleTranche(id)
|
|
|
|
|
|
|
|
|
|
// return get
|
|
|
|
|
// })
|
|
|
|
|
|
|
|
|
|
// ipcMain.handle('createIPConfig', async (event, credentials) => {
|
|
|
|
|
// const { ipname } = credentials
|
|
|
|
|
// // console.log(formData, id);
|
|
|
|
|
// const get = createConfigIp(ipname)
|
|
|
|
|
|
|
|
|
|
// return get
|
|
|
|
|
// })
|
|
|
|
|
|
|
|
|
|
// ipcMain.handle('updateIPConfig', async (event, credentials) => {
|
|
|
|
|
// const { id, ipname } = credentials
|
|
|
|
|
// // console.log(formData, id);
|
|
|
|
|
// const get = updateIPConfig(id, ipname)
|
|
|
|
|
|
|
|
|
|
// return get
|
|
|
|
|
// })
|