User ID conversion subflow
This commit is contained in:
54
subflows/user-conversion.js
Normal file
54
subflows/user-conversion.js
Normal file
@@ -0,0 +1,54 @@
|
||||
// Get the user ID list from global context
|
||||
|
||||
const users = global.get("userIDList","diskCon")
|
||||
|
||||
// Initialize variables
|
||||
|
||||
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) {
|
||||
userTrigger = msg.payload.context.user_id
|
||||
} else if (msg.data && msg.data.context && 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
|
||||
} else {
|
||||
statusTxt = successTxt
|
||||
}
|
||||
|
||||
// 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()}`
|
||||
}
|
||||
}
|
||||
|
||||
// Send the message and status message to the output nodes
|
||||
|
||||
if (userTrigger === "none") {
|
||||
node.error("User not found")
|
||||
} else {
|
||||
node.send([msg,statusMsg])
|
||||
}
|
||||
Reference in New Issue
Block a user