Initial MVP test
This commit is contained in:
commit
28391f5b18
1
.gitignore
vendored
Normal file
1
.gitignore
vendored
Normal file
@ -0,0 +1 @@
|
||||
node_modules/*
|
19
eslint.config.mjs
Normal file
19
eslint.config.mjs
Normal file
@ -0,0 +1,19 @@
|
||||
import globals from "globals";
|
||||
import pluginJs from "@eslint/js";
|
||||
import stylistic from '@stylistic/eslint-plugin';
|
||||
|
||||
export default [
|
||||
{
|
||||
languageOptions: {
|
||||
globals: globals.node
|
||||
},
|
||||
plugins: {
|
||||
'@stylistic': stylistic
|
||||
},
|
||||
rules : {
|
||||
'@stylistic/indent': ['error', 2],
|
||||
'no-useless-escape' : 'off'
|
||||
}
|
||||
},
|
||||
pluginJs.configs.recommended,
|
||||
];
|
37
index.mjs
Normal file
37
index.mjs
Normal file
@ -0,0 +1,37 @@
|
||||
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
|
||||
const command = `ssh ${process.env.INTERNAL_HOST} "/usr/bin/tmux neww -d \"/usr/bin/mplayer '${process.env.INTERNAL_FILE}'\""`;
|
||||
const { Client } = require('ssh2');
|
||||
const connection = new Client();
|
||||
connection.on('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;
|
||||
};
|
||||
|
1495
package-lock.json
generated
Normal file
1495
package-lock.json
generated
Normal file
File diff suppressed because it is too large
Load Diff
25
package.json
Normal file
25
package.json
Normal file
@ -0,0 +1,25 @@
|
||||
{
|
||||
"name": "deliveries",
|
||||
"version": "1.0.0",
|
||||
"description": "Trigger notif from matching WorkMail email",
|
||||
"main": "index.mjs",
|
||||
"scripts": {
|
||||
"test": "echo \"Error: no test specified\" && exit 1"
|
||||
},
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "git@git.corrupt.link:liz/deliveries.git"
|
||||
},
|
||||
"author": "Elizabeth Cray",
|
||||
"license": "Apache-2.0",
|
||||
"dependencies": {
|
||||
"@stylistic/eslint-plugin": "^2.8.0",
|
||||
"ssh2": "^1.16.0"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@eslint/js": "^9.12.0",
|
||||
"@stylistic/eslint-plugin-js": "^2.8.0",
|
||||
"eslint": "^9.12.0",
|
||||
"globals": "^15.10.0"
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue
Block a user