notification wa by mqtt broker

This commit is contained in:
2025-12-18 10:05:50 +07:00
parent 2b93baa648
commit 907f5767c1
9 changed files with 248 additions and 4 deletions

View File

@@ -1,8 +1,11 @@
require("dotenv").config();
const { default: mqtt } = require("mqtt");
const sql = require("mssql");
const isProduction = process.env.NODE_ENV === "production";
const endPointWhatsapp = process.env.ENDPOINT_WHATSAPP;
// Config SQL Server
const config = {
user: process.env.SQL_USERNAME,
@@ -284,6 +287,34 @@ async function generateKode(prefix, tableName, columnName) {
return prefix + String(nextNumber).padStart(3, "0");
}
// Koneksi ke broker MQTT
const mqttOptions = {
clientId: 'express_mqtt_client_' + Math.random().toString(16).substr(2, 8),
clean: true,
connectTimeout: 4000,
username: '', // jika ada
password: '', // jika ada
};
const mqttUrl = 'ws://localhost:1884'; // Ganti dengan broker kamu
const topic = 'morek';
const mqttClient = mqtt.connect(mqttUrl, mqttOptions);
// Saat terkoneksi
mqttClient.on('connect', () => {
console.log('MQTT connected');
// Subscribe ke topik tertentu
mqttClient.subscribe(topic, (err) => {
if (!err) {
console.log(`Subscribed to topic "${topic}"`);
} else {
console.error('Subscribe error:', err);
}
});
});
module.exports = {
checkConnection,
query,
@@ -293,4 +324,6 @@ module.exports = {
buildDynamicInsert,
buildDynamicUpdate,
generateKode,
endPointWhatsapp,
mqttClient
};