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