const {_Crypto} = require('./cryptoLib'); const mongoose = require('mongoose'); const {app, BrowserWindow, ipcMain} = require('electron'); const mongoDB = 'mongodb+srv://admin:admin@cluster0.hrgvn.mongodb.net/LegendaryLeague?retryWrites=true&w=majority'; const userModel = require('./models/users'); const {LeagueAPI} = require('./leagueAPI') var window; function createWindow() { var width = 800; var height=600; const win = new BrowserWindow({ width, height, frame:false, minimizable: true, webPreferences: { nodeIntegration:false, contextIsolation:true, preload: __dirname + '/preload.js' } }) win.removeMenu(); win.webContents.openDevTools(); win.loadURL('http://localhost:3000'); return win; } app.on('ready', ()=> { mongoose.Promise = global.Promise; window = createWindow(); mongoose.connect(mongoDB); } ) ipcMain.on('close', (event, data) => { app.quit(); }) ipcMain.on('maximize', (event, data) => { window.isMaximized() ? window.unmaximize() : window.maximize() }) ipcMain.on('minimize', (event, data) => { window.minimize(); }); ipcMain.on('login', async (event, data) => { console.log('data',data); const Hash = await new _Crypto(data.email, data.pw).bouncer(); console.log(Hash) if(Hash) { window.webContents.send('login', Hash) } }); ipcMain.on('register', async (event, data) => { //console.log('event',event,'data',data); var nick_tag = data.nick_tag.split('#'); var name = nick_tag[0]; var tag = nick_tag[1] var RiotExists = await new LeagueAPI().verifyUserName(name, tag); if(!RiotExists) return window.webContents.send('register', 'No account on league with this name and/or tag.') const crypto = new _Crypto(data.email, data.pw) const Hash = crypto.hash(); const eHash = crypto.eHash(); const isNew = await crypto.isNew(eHash); if(!isNew) return window.webContents.send('register', 'There is already an account with this email.') var uModel = new userModel(); uModel.Hash = Hash; uModel.eHash = eHash; uModel.leagueName = data.nick_tag; const saved = await uModel.save(); window.webContents.send('register',JSON.stringify(saved)) }); app.on('window-all-closed', ()=> { if(process.platform !== 'darwin') app.quit(); }) app.on('activate', ()=> { if(BrowserWindow.getAllWindows().length === 0) createWindow(); })