You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
25 lines
687 B
25 lines
687 B
import logger from "@common/logger"; |
|
import * as mqtt from "@common/sprinklersRpc/mqtt"; |
|
import { Database } from "./Database"; |
|
|
|
export class ServerState { |
|
mqttClient: mqtt.MqttRpcClient; |
|
database: Database; |
|
|
|
constructor() { |
|
const mqttUrl = process.env.MQTT_URL; |
|
if (!mqttUrl) { |
|
throw new Error("Must specify a MQTT_URL to connect to"); |
|
} |
|
this.mqttClient = new mqtt.MqttRpcClient(mqttUrl); |
|
this.database = new Database(); |
|
} |
|
|
|
async start() { |
|
await this.database.connect(); |
|
await this.database.createAll(); |
|
logger.info("created database and tables"); |
|
|
|
this.mqttClient.start(); |
|
} |
|
}
|
|
|