Files
smarthome/controller/save.controller.js
2024-03-03 23:12:38 +03:00

75 lines
1.7 KiB
JavaScript
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
const configs = require("../configs");
const DeviceModel = require("../models/device.model");
const save = async (
token,
device_name,
device_type,
manifactor,
serial_number,
model,
firmware_version,
device_ip_address
) => {
if (token === configs.verifyToken) {
try {
// Önce kaydı bulalım
const existingDevice = await DeviceModel.findOne({
device_name,
device_type,
manifactor,
serial_number,
model,
firmware_version
});
if (!existingDevice) {
// İlk defa kaydet
const newDevice = new DeviceModel({
device_name,
device_type,
manifactor,
serial_number,
model,
firmware_version,
device_ip_address
});
const result = await newDevice.save();
return "Cihaz kaydedildi.";
} else {
// Daha önce kaydedilmiş ise sadece ip adresini güncelle
const filter = {
device_name,
device_type,
manifactor,
serial_number,
model,
firmware_version
};
const update = {
$set: {
device_ip_address
}
};
const result = await DeviceModel.updateOne(filter, update);
if (result.nModified === 0) {
throw new Error("Güncellenmek istenen kayıt bulunamadı");
}
return "IP Adresi güncellendi";
}
} catch (error) {
// if (error.code === 11000) {
// throw new Error("Zaten kaydedilmiş");
// }
throw new Error("Mongodb'ye kaydedilirken hata oluştu");
}
} else {
throw new Error("Hatalı token");
}
};
module.exports = { save };