comty/packages/server/services/ems/ems.service.js
2024-08-20 08:33:52 +00:00

42 lines
1.2 KiB
JavaScript

import { Server } from "linebridge/dist/server"
import nodemailer from "nodemailer"
import DbManager from "@shared-classes/DbManager"
import SharedMiddlewares from "@shared-middlewares"
export default class API extends Server {
static refName = "ems"
static useEngine = "hyper-express"
static routesPath = `${__dirname}/routes`
static listen_port = process.env.HTTP_LISTEN_PORT ?? 3007
middlewares = {
...SharedMiddlewares
}
contexts = {
db: new DbManager(),
mailTransporter: nodemailer.createTransport({
host: process.env.SMTP_HOSTNAME,
port: process.env.SMTP_PORT ?? 587,
secure: ToBoolean(process.env.SMTP_SECURE) ?? false,
auth: {
user: process.env.SMTP_USERNAME,
pass: process.env.SMTP_PASSWORD,
},
}),
}
ipcEvents = {
"new:login": require("./ipcEvents/newLogin").default,
"mfa:send": require("./ipcEvents/mfaSend").default,
"apr:send": require("./ipcEvents/aprSend").default,
"password:changed": require("./ipcEvents/passwordChanged").default,
}
async onInitialize() {
await this.contexts.db.initialize()
}
}
Boot(API)