deliveries/index.mjs
2024-10-04 19:04:43 -04:00

42 lines
1.2 KiB
JavaScript

import { Client } from 'ssh2';
export const handler = async (event) => {
let result = "did not send";
if (event.subject == "You have deliveries" || event.subject == "You have a delivery"){
// Trigger home notification
console.info("Matched Subject");
const command = `ssh ${process.env.INTERNAL_HOST} "/usr/bin/tmux neww -d \"/usr/bin/mplayer '${process.env.INTERNAL_FILE}'\""`;
console.info("Import ssh2");
const connection = new Client();
console.info("Set Conn Info");
connection.on('ready', () => {
console.info("Connection READY")
connection.exec(command, (error, stream) => {
if (error) {
console.warn(error);
result = JSON.stringify(error);
}
stream.on('close', (code, signal) => {
// COMPLETE
console.info("Trigger completed", code, signal)
}).stderr.on('data', (data) => {
// STDERR
console.warn(data);
});
});
}).connect({
host: process.env.TRIGGER_HOST,
port: 22,
username: process.env.TRIGGER_USERNAME,
privateKey: process.env.TRIGGER_PRIVATEKEY
});
}
const response = {
statusCode: 200,
body: {
result
},
};
return response;
};