Skip to content

Commit 0581d6c

Browse files
debugging Chronos errors in chronos_npm_package
1 parent 0e2a2d5 commit 0581d6c

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

77 files changed

+12313
-2472
lines changed

chronos_npm_package/chronos.ts

Lines changed: 441 additions & 109 deletions
Large diffs are not rendered by default.

chronos_npm_package/controllers/GrafanaPanel.ts

Lines changed: 302 additions & 190 deletions
Large diffs are not rendered by default.
Lines changed: 167 additions & 69 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,106 @@
1-
import * as axios from 'axios';
2-
import * as nodemailer from 'nodemailer';
1+
// import * as axios from 'axios';
2+
// import * as nodemailer from 'nodemailer';
33

4-
// const alert = {};
4+
// // const alert = {};
5+
6+
// interface SlackSettings {
7+
// webhook: any; // possibly 'string'?
8+
// }
9+
10+
// interface EmailSettings {
11+
// emails: string;
12+
// emailHost: string;
13+
// emailPort: string | number;
14+
// user: string;
15+
// password: string;
16+
// }
17+
18+
// interface Alert {
19+
// sendSlack: (code: number, message: string, slackSettings: SlackSettings) => void;
20+
// sendEmail: (code: number, message: string, emailSettings: EmailSettings) => void;
21+
// }
22+
23+
// const alert: Alert = {
24+
// /**
25+
// * Sends slack notifications to the provided slackurl with the status code
26+
// * and message via an axios POST request
27+
// // * @param {integer} code Response status code
28+
// // * @param {string} message Response message
29+
// // * @param {Object} slackSettings User provided slack settings
30+
// */
31+
32+
// sendSlack : (code: number, message: string, slackSettings: any) => {
33+
// const { webhook } = slackSettings;
34+
35+
// // Data for POST request
36+
// const data = { text: `${code}, ${message}, ${Date.now()}` };
37+
38+
// // Options for POST request
39+
// const config = {
40+
// method: 'post',
41+
// headers: {
42+
// 'Content-Type': 'application/json',
43+
// },
44+
// };
45+
46+
// axios
47+
// .post(webhook, data, config)
48+
// .then(res => console.log('Status Code >= 400...\nError message sent'))
49+
// .catch(error => console.log('test------>', error.message));
50+
// },
51+
52+
// /**
53+
// * Sends email notifications using the provided email information with the
54+
// * status code and message via an axios POST request
55+
// // * @param {integer} code Response status code
56+
// // * @param {string} message Response message
57+
// // * @param {Object} emailSettings User provided email settings
58+
// // */
59+
60+
// sendEmail : (code: number, message: string, emailSettings: any) => {
61+
// const { emails, emailHost, emailPort, user, password } = emailSettings;
62+
63+
// // Message object contains recipient email list and email text body
64+
// const data = {
65+
// to: `${emails}`,
66+
// subject: 'Error from Middleware',
67+
// text: `${code}, ${message}`,
68+
// };
69+
70+
// // Configuration settings for email notifications
71+
// const config = {
72+
// host: `${emailHost}`,
73+
// port: `${emailPort}`,
74+
// auth: {
75+
// user: `${user}`,
76+
// pass: `${password}`,
77+
// },
78+
// };
79+
// const transport = nodemailer.createTransport(config);
80+
81+
// transport.sendMail(data, function (err, info) {
82+
// if (err) {
83+
// console.log(err);
84+
// } else {
85+
// console.log(info);
86+
// }
87+
// });
88+
// },
89+
// };
90+
91+
// export default alert
92+
// alert.ts
93+
94+
// Option A: Preferred if your tsconfig.json has "esModuleInterop": true
95+
import axios from 'axios';
96+
// Option B (if you can’t enable esModuleInterop):
97+
// import * as axiosImport from 'axios';
98+
// const axios = axiosImport.default;
99+
100+
import nodemailer from 'nodemailer';
5101

6102
interface SlackSettings {
7-
webhook: any; // possibly 'string'?
103+
webhook: string; // assuming webhook is a URL string
8104
}
9105

10106
interface EmailSettings {
@@ -21,71 +117,73 @@ interface Alert {
21117
}
22118

23119
const alert: Alert = {
24-
/**
25-
* Sends slack notifications to the provided slackurl with the status code
26-
* and message via an axios POST request
27-
// * @param {integer} code Response status code
28-
// * @param {string} message Response message
29-
// * @param {Object} slackSettings User provided slack settings
30-
*/
31-
32-
sendSlack : (code: number, message: string, slackSettings: any) => {
33-
const { webhook } = slackSettings;
34-
35-
// Data for POST request
36-
const data = { text: `${code}, ${message}, ${Date.now()}` };
37-
38-
// Options for POST request
39-
const config = {
40-
method: 'post',
41-
headers: {
42-
'Content-Type': 'application/json',
43-
},
44-
};
45-
46-
axios
47-
.post(webhook, data, config)
48-
.then(res => console.log('Status Code >= 400...\nError message sent'))
49-
.catch(error => console.log('test------>', error.message));
50-
},
51-
52-
/**
53-
* Sends email notifications using the provided email information with the
54-
* status code and message via an axios POST request
55-
// * @param {integer} code Response status code
56-
// * @param {string} message Response message
57-
// * @param {Object} emailSettings User provided email settings
58-
// */
120+
/**
121+
* Sends slack notifications to the provided slack webhook URL with the status code
122+
* and message via an Axios POST request.
123+
*
124+
* @param code Response status code
125+
* @param message Response message
126+
* @param slackSettings User provided slack settings
127+
*/
128+
sendSlack: (code: number, message: string, slackSettings: SlackSettings) => {
129+
const { webhook } = slackSettings;
130+
// Data for POST request
131+
const data = { text: `${code}, ${message}, ${Date.now()}` };
132+
// Options for POST request
133+
const config = {
134+
headers: {
135+
'Content-Type': 'application/json',
136+
},
137+
};
138+
139+
axios
140+
.post(webhook, data, config)
141+
.then((res) => console.log('Status Code >= 400...\nError message sent'))
142+
.catch((error) => console.log('Error sending Slack message:', error.message));
143+
},
144+
145+
/**
146+
* Sends email notifications using the provided email information with the
147+
* status code and message via Nodemailer.
148+
*
149+
* @param code Response status code
150+
* @param message Response message
151+
* @param emailSettings User provided email settings
152+
*/
153+
sendEmail: (code: number, message: string, emailSettings: EmailSettings) => {
154+
const { emails, emailHost, emailPort, user, password } = emailSettings;
155+
156+
// Message object for the email
157+
const mailOptions = {
158+
to: emails,
159+
subject: 'Error from Middleware',
160+
text: `${code}, ${message}`,
161+
};
162+
163+
// Convert port to number if necessary
164+
const portNumber =
165+
typeof emailPort === 'string' ? parseInt(emailPort, 10) : emailPort;
166+
167+
// Configuration settings for Nodemailer
168+
const transportConfig = {
169+
host: emailHost,
170+
port: portNumber,
171+
auth: {
172+
user: user,
173+
pass: password,
174+
},
175+
};
176+
177+
const transport = nodemailer.createTransport(transportConfig);
59178

60-
sendEmail : (code: number, message: string, emailSettings: any) => {
61-
const { emails, emailHost, emailPort, user, password } = emailSettings;
62-
63-
// Message object contains recipient email list and email text body
64-
const data = {
65-
to: `${emails}`,
66-
subject: 'Error from Middleware',
67-
text: `${code}, ${message}`,
68-
};
69-
70-
// Configuration settings for email notifications
71-
const config = {
72-
host: `${emailHost}`,
73-
port: `${emailPort}`,
74-
auth: {
75-
user: `${user}`,
76-
pass: `${password}`,
77-
},
78-
};
79-
const transport = nodemailer.createTransport(config);
80-
81-
transport.sendMail(data, function (err, info) {
82-
if (err) {
83-
console.log(err);
84-
} else {
85-
console.log(info);
86-
}
87-
});
88-
},
179+
transport.sendMail(mailOptions, (err, info) => {
180+
if (err) {
181+
console.log('Error sending email:', err);
182+
} else {
183+
console.log('Email sent:', info);
184+
}
185+
});
186+
},
89187
};
90188

91-
export default alert
189+
export default alert;

0 commit comments

Comments
 (0)