У каждого пользователя теперь массив МАС-адресов.

Реорганизация rest_api.js
This commit is contained in:
Denis Smirnov 2013-10-23 17:02:11 +04:00
parent 190d1438a1
commit 9b6bf7ea1e
1 changed files with 37 additions and 24 deletions

View File

@ -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();
}
}
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;
}