From e47b84e50275234235d2d70eebe484443e86bfb3 Mon Sep 17 00:00:00 2001 From: Jannik Schönartz Date: Sun, 13 Jan 2019 14:42:23 +0000 Subject: [server] Add ipxe efi support. Grep hw drive info Grep drive info and upload it to idoit Add EFI / BIOS configs for building ipxe Add function to build efi ipxe version Add default.ipxe script --- server/api/registration.js | 37 +++++++++++++++++++++++++++---------- 1 file changed, 27 insertions(+), 10 deletions(-) (limited to 'server/api/registration.js') diff --git a/server/api/registration.js b/server/api/registration.js index 39f069f..98f654c 100644 --- a/server/api/registration.js +++ b/server/api/registration.js @@ -205,19 +205,35 @@ noAuthRouter.post('/:uuid/update', (req, res) => { const title = ramFormfactor[ram].replace('Form Factor: ', '') if (ramIsEcc === 'Single-bit ECC') title += '-ECC' - var ramModule = { capacity: size[0], unit: size[1], manufacturer: ramManufacturer[ram].replace('Manufacturer: ', ''), title: title, type: ramType[ram].replace('Type: ', '') } + var ramModule = { + capacity: size[0], + unit: size[1], + manufacturer: ramManufacturer[ram].replace('Manufacturer: ', ''), + title: title, + type: ramType[ram].replace('Type: ', '') + } ramModules.push(ramModule) } } - // ramTmpSize = ramSize.split('\n')[0].replace('Size: ', '').split(' ') - // ramSize = ramTmpSize[0] - // ramUnit = ramTmpSize[1] - // ramManufacturer = ramManufacturer.split('\n')[0].replace('Manufacturer: ', '') - // ramType = ramType.split('\n')[0].replace('Type: ', '') - // ramFormfactor = ramFormfactor.split('\n')[0].replace('Form Factor: ', '') - // var ramTitle = ramFormfactor - // if (ramIsEcc === "Single-bit ECC") ramTitle += '-ECC' - // var ram = { capacity: ramSize, manufacturer: ramManufacturer, title: ramTitle, type: ramType, formfactor: ramFormfactor, unit: ramUnit } + + // SSD / HDD + var drivesRaw = req.body.drives.split('%OBJECT_SPLITTER%') + var drives = [] + for (var driveRaw in drivesRaw) { + if (drivesRaw[driveRaw].length > 0) { + var dRaw = drivesRaw[driveRaw].split('%ATTRIBUTE_SPLITTER%') + var drive = { + model: dRaw[0].trim().replace('Device Model: ', ''), + serial: dRaw[1].trim().replace('Serial Number: ', ''), + capacity: dRaw[2].trim().split(' ')[0], + unit: dRaw[2].trim().split(' ')[1], + type: dRaw[3].trim().replace('Rotation Rate: ', ''), + formfactor: dRaw[4].trim().replace('Form Factor: ', ''), + connection: dRaw[5].trim().replace('SATA Version is: ', '') + } + drives.push(drive) + } + } db.client.findOne({ where: { uuid: uuid } }).then(client => { client.update({ name: name }) @@ -239,6 +255,7 @@ noAuthRouter.post('/:uuid/update', (req, res) => { // TODO: MULTI GPU's ?! c.cpu = { model: cpuModel, manufacturer: cpuManufacturer, type: cpuType, frequency: cpuFrequency, cores: cpuCores } c.ram = ramModules + c.drives = drives backendHelper.updateClient(c).then(result => { res.send(result) -- cgit v1.2.3-55-g7522