Rewrite user conversion function

This commit is contained in:
2025-03-29 22:07:06 -04:00
parent 15f1d4970c
commit 39c8ed5c9d

View File

@ -1,54 +1,36 @@
// Get the user ID list from global context
const users = global.get("userIDList","diskCon")
const users = global.get("userIDList", "diskCon") || {}
// Initialize variables
let userTrigger = "none"
let statusTxt = ""
let userTrigger = {}
let userFirstName = {}
let userLastName = {}
let hassUserID = {}
let statusTxt = {}
// Check if the user ID is in the payload or data
if (msg.payload && msg.payload.context && msg.payload.context.user_id) {
// Extract user ID from the message
if (msg.payload?.context?.user_id) {
userTrigger = msg.payload.context.user_id
} else if (msg.data && msg.data.context && msg.data.context.user_id) {
} else if (msg.data?.context?.user_id) {
userTrigger = msg.data.context.user_id
} else {
userTrigger = "none"
}
// Set the status message based on the user ID
let successTxt = `User: ${users[userTrigger].firstName}`
let errorTxt = "User not found"
if (userTrigger === "none") {
statusTxt = errorTxt
// Validate userTrigger and set status message
if (userTrigger === "none" || !users[userTrigger]) {
statusTxt = "User not found"
node.error(`User ID '${userTrigger}' not found in user list.`)
return null // Stop execution if user is not found
} else {
statusTxt = successTxt
const user = users[userTrigger]
statusTxt = `User: ${user.firstName}`
msg.user = { ...user } // Avoid mutating the original msg
}
// Set the user's information in the message
msg.user = users[userTrigger]
// Create the status message
let statusMsg = {
"status": {
"fill": "green",
"shape": "dot",
"text": `${statusTxt} at ${new Date().toLocaleString()}`
const statusMsg = {
status: {
fill: "green",
shape: "dot",
text: `${statusTxt} at ${new Date().toLocaleString()}`
}
}
// Send the message and status message to the output nodes
if (userTrigger === "none") {
node.error("User not found")
} else {
node.send([msg,statusMsg])
}
node.send([msg, statusMsg])