mirror of
https://github.com/ragestudio/comty.git
synced 2025-06-09 18:44:16 +00:00
42 lines
1.2 KiB
JavaScript
42 lines
1.2 KiB
JavaScript
import { Server } from "linebridge/src/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) |