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])
|
||||
}
|
22
subflows/user-id-list.js
Normal file
22
subflows/user-id-list.js
Normal file
@ -0,0 +1,22 @@
|
||||
let userIDList = {
|
||||
"c3909d27048140729f002aaef0391775": {
|
||||
"shortName": "tony",
|
||||
"firstName": "Tony",
|
||||
"lastName": "Stork",
|
||||
"hassUser": "tonystork"
|
||||
},
|
||||
"f387a983651a4321a7411ff8cf36f949": {
|
||||
"shortName": "tina",
|
||||
"firstName": "Christina",
|
||||
"lastName": "Stork",
|
||||
"hassUser": "christinastork"
|
||||
},
|
||||
"879b4c04e32841b3ad1d2763a11b4e70": {
|
||||
"shortName": "kallen",
|
||||
"firstName": "Kallen",
|
||||
"lastName": "Stork",
|
||||
"hassUser": "kallenstork"
|
||||
}
|
||||
}
|
||||
|
||||
global.set("userIDList",userIDList,"diskCon")
|
Reference in New Issue
Block a user