From 9b6bf7ea1edc10833970c4758153883da3ba439e Mon Sep 17 00:00:00 2001 From: Denis Smirnov Date: Wed, 23 Oct 2013 17:02:11 +0400 Subject: [PATCH] =?UTF-8?q?=D0=A3=20=D0=BA=D0=B0=D0=B6=D0=B4=D0=BE=D0=B3?= =?UTF-8?q?=D0=BE=20=D0=BF=D0=BE=D0=BB=D1=8C=D0=B7=D0=BE=D0=B2=D0=B0=D1=82?= =?UTF-8?q?=D0=B5=D0=BB=D1=8F=20=D1=82=D0=B5=D0=BF=D0=B5=D1=80=D1=8C=20?= =?UTF-8?q?=D0=BC=D0=B0=D1=81=D1=81=D0=B8=D0=B2=20=D0=9C=D0=90=D0=A1-?= =?UTF-8?q?=D0=B0=D0=B4=D1=80=D0=B5=D1=81=D0=BE=D0=B2.=20=D0=A0=D0=B5?= =?UTF-8?q?=D0=BE=D1=80=D0=B3=D0=B0=D0=BD=D0=B8=D0=B7=D0=B0=D1=86=D0=B8?= =?UTF-8?q?=D1=8F=20rest=5Fapi.js?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../meteor-device-spy/server/rest_api.js | 61 +++++++++++-------- 1 file changed, 37 insertions(+), 24 deletions(-) diff --git a/front-end/meteor-device-spy/server/rest_api.js b/front-end/meteor-device-spy/server/rest_api.js index af28bc3..01e0999 100644 --- a/front-end/meteor-device-spy/server/rest_api.js +++ b/front-end/meteor-device-spy/server/rest_api.js @@ -10,36 +10,24 @@ Meteor.startup(function () { RESTstop.configure({use_auth: false}); RESTstop.add('checkin/:param', function () { - var param = this.params.param; - console.log("Пришел запрос: " + param); + var param = this.params.param; var mac = param.substring(0, 12); var uid = param.substring(13); + console.log("Пришел запрос: MAC = " + mac + ", UID = " + uid); - mac = mac.toUpperCase(); - var user = Users.findOne({MAC: mac}); - if (!user) { + var user = GetUserByMAC(mac); + if (!user) + return "Can't find such MAC-addreses"; - mac = mac.toLowerCase(); - user = Users.findOne({MAC: mac}); - if (!user) + var device = GetDeviceById(uid); + if (!device) + return "Can't find such device-ID"; - console.log("-------- Такого мак адреса в базе нет: " + mac.toUpperCase()); - return "Can't find such MAC-address in db"; + console.log("-------- Устройство: ", device.type); - } - - var d = Devices.findOne({id: uid}); - if (!d) { - - console.log("-------- Устройства в базе нет: " + uid); - return "Can't find such device"; - - } - console.log("-------- Устройство: ", d.type); - - var checkin_time = GetCurrentDateAndTime (); - Devices.update(d._id, {$set: {checkin_date: checkin_time, owner_id: user._id}}); + var checkinDate = GetCurrentDateAndTime (); + Devices.update(device._id, {$set: {checkin_date: checkinDate, owner_id: user._id}}); }); }); @@ -60,4 +48,29 @@ function GetCurrentDateAndTime () { if (months < 10) months = "0" + months; return hours + ":" + minutes + " " + days + "." + months + "." + date.getFullYear(); -} \ No newline at end of file +} + +function GetUserByMAC(mac) { + mac = mac.toUpperCase(); + var user = Users.findOne({MAC_Addresses: mac}); + + if (!user) { + mac = mac.toLowerCase(); + user = Users.findOne({MAC_Addresses: mac}); + if (!user) + console.log("-------- Такого МАС-адреса в базе нет: " + mac.toUpperCase()); + } + + if (user) + console.log("-------- Подключил: " + user.name + " " + user.surname); + + return user; +} + +function GetDeviceById(uid) { + var d = Devices.findOne({id: uid}); + if (!d) + console.log("-------- Такого устройства в базе нет: " + uid); + + return d; +}