161 lines
7.2 KiB
JavaScript
161 lines
7.2 KiB
JavaScript
require("./helpers/config");
|
|
const express = require("express");
|
|
const https = require("https");
|
|
const http = require("http");
|
|
const fs = require("fs");
|
|
const app = express();
|
|
const portHttp = Variables("portHttp");
|
|
const portHttps = Variables("portHttps");
|
|
const cors = require("cors");
|
|
const bodyParser = require("body-parser");
|
|
const cluster = require("cluster");
|
|
const numCPUs = require("os").cpus().length;
|
|
let HttpsLigado = false;
|
|
|
|
var corsOptions = {
|
|
origin: "*",
|
|
optionsSuccessStatus: 200,
|
|
};
|
|
|
|
app.use(cors(corsOptions));
|
|
app.use(bodyParser.urlencoded({ extended: true }));
|
|
app.use(bodyParser.json());
|
|
|
|
app.use(function (req, res, next) {
|
|
res.header("Access-Control-Allow-Origin", "*");
|
|
res.header("Access-Control-Allow-Methods", "GET,HEAD,OPTIONS,POST,PUT");
|
|
res.header(
|
|
"Access-Control-Allow-Headers",
|
|
"Origin, X-Requested-With, Content-Type, Accept, Authorization"
|
|
);
|
|
next();
|
|
});
|
|
|
|
if (cluster.isMaster) {
|
|
console.log(`Master ${process.pid} is running`);
|
|
|
|
for (let i = 0; i < numCPUs; i++) {
|
|
cluster.fork();
|
|
}
|
|
|
|
cluster.on("exit", (worker, code, signal) => {
|
|
console.log(`worker ${worker.process.pid} died`);
|
|
});
|
|
} else {
|
|
console.log(`Worker ${process.pid} started`);
|
|
|
|
app.get("/cluster", (req, res) => {
|
|
let worker = cluster.worker.id;
|
|
res.send(`Running on worker with id ==> ${worker}`);
|
|
});
|
|
|
|
http.createServer(app).listen(portHttp, function () {
|
|
console.log("API running success");
|
|
});
|
|
|
|
if (HttpsLigado) {
|
|
var httpsOptions = {
|
|
key: fs.readFileSync("/etc/ca-certificates/myrobotlab_com_br.key"),
|
|
cert: fs.readFileSync("/etc/ca-certificates/myrobotlab_com_br.crt"),
|
|
};
|
|
https.createServer(httpsOptions, app).listen(portHttps);
|
|
}
|
|
}
|
|
|
|
const unityController = require("./controllers/unityController")();
|
|
const courseController = require("./controllers/courseController")();
|
|
const addressController = require("./controllers/addressController")();
|
|
const classController = require("./controllers/classController")();
|
|
const sqlServerController = require("./controllers/sqlServerController")();
|
|
const productsController = require("./controllers/productsController")();
|
|
const loginController = require("./controllers/loginController")();
|
|
const exerciseController = require("./controllers/exerciseController")();
|
|
const questionController = require("./controllers/questionController")();
|
|
const answerController = require("./controllers/answerController")();
|
|
const traineeprogramController = require("./controllers/traineeprogramController")();
|
|
const traineeprogramcoursesController = require("./controllers/traineeprogramcoursesController")();
|
|
const textController = require("./controllers/textController")();
|
|
const classescontentController = require("./controllers/classescontentController")();
|
|
const videoController = require("./controllers/videoController")();
|
|
const usersController = require("./controllers/usersController")();
|
|
const emailController = require("./controllers/emailController")();
|
|
const typescourseController = require("./controllers/typescourseController")();
|
|
const migrationController = require("./controllers/migrationController")();
|
|
const slidesController = require("./controllers/slidesController")();
|
|
const conceptsController = require("./controllers/conceptsController")();
|
|
const teacherController = require("./controllers/teacherController")();
|
|
const franchiseeController = require("./controllers/franchiseeController")();
|
|
const appController = require("./controllers/appController")();
|
|
const qrController = require("./controllers/qrController")();
|
|
const curiositiesController = require("./controllers/curiositiesController")();
|
|
const barcodeController = require("./controllers/barcodeController")();
|
|
const elloController = require("./controllers/elloController")();
|
|
const fileController = require("./controllers/fileController")();
|
|
const alexaController = require("./controllers/alexaController")();
|
|
const animationsController = require("./controllers/animationsController")();
|
|
const iyrcController = require("./controllers/iyrcController")();
|
|
const chatController = require("./controllers/chatController")();
|
|
const chamadaController = require("./controllers/chamadaController")();
|
|
const holidayController = require("./controllers/holidayController")();
|
|
const charactersController = require("./controllers/charactersController")();
|
|
const visitasController = require("./controllers/visitasController")();
|
|
const chattimeController = require("./controllers/chattimeController")();
|
|
const relatorioController = require("./controllers/relatorioController")();
|
|
const configController = require("./controllers/configController")();
|
|
const listenrepeatController = require("./controllers/listenrepeatController")();
|
|
const customizeController = require("./controllers/customizeController")();
|
|
const ig40Controller = require("./controllers/ig40Controller")();
|
|
const permissoesController = require("./controllers/permissoesController")();
|
|
const agendaController = require("./controllers/agendaController")();
|
|
const studentController = require("./controllers/studentController")();
|
|
const unileverController = require("./controllers/unileverController")();
|
|
|
|
app.use("/api/units", unityController);
|
|
app.use("/api/courses", courseController);
|
|
app.use("/api/address", addressController);
|
|
app.use("/api/classes", classController);
|
|
app.use("/api/sqlserver", sqlServerController);
|
|
app.use("/api/products", productsController);
|
|
app.use("/api/access", loginController);
|
|
app.use("/api/exercises", exerciseController);
|
|
app.use("/api/questions", questionController);
|
|
app.use("/api/answers", answerController);
|
|
app.use("/api/products", productsController);
|
|
app.use("/api/traineeprogram", traineeprogramController);
|
|
app.use("/api/traineeprogramcourses", traineeprogramcoursesController);
|
|
app.use("/api/text", textController);
|
|
app.use("/api/classescontent", classescontentController);
|
|
app.use("/api/videos", videoController);
|
|
app.use("/api/email", emailController);
|
|
app.use("/api/typescourse", typescourseController);
|
|
app.use("/api/migration", migrationController);
|
|
app.use("/api/users", usersController);
|
|
app.use("/api/slides", slidesController);
|
|
app.use("/api/concepts", conceptsController);
|
|
app.use("/api/teacher", teacherController);
|
|
app.use("/api/franchisee", franchiseeController);
|
|
app.use("/api/app", appController);
|
|
app.use("/api/qr", qrController);
|
|
app.use("/api/curiosities", curiositiesController);
|
|
app.use("/api/barcode", barcodeController);
|
|
app.use("/api/ello", elloController);
|
|
app.use("/api/files", fileController);
|
|
app.use("/api/alexa", alexaController);
|
|
app.use("/api/animations", animationsController);
|
|
app.use("/api/iyrc", iyrcController);
|
|
app.use("/api/chat", chatController);
|
|
app.use("/api/chamadas", chamadaController);
|
|
app.use("/api/holidays", holidayController);
|
|
app.use("/api/characters", charactersController);
|
|
app.use("/api/visitas", visitasController);
|
|
app.use("/api/chattime", chattimeController);
|
|
app.use("/api/relatorios", relatorioController);
|
|
app.use("/api/config", configController);
|
|
app.use("/api/listenrepeat", listenrepeatController);
|
|
app.use("/api/customize", customizeController);
|
|
app.use("/api/ig40", ig40Controller);
|
|
app.use("/api/permissoes", permissoesController);
|
|
app.use("/api/agenda", agendaController);
|
|
app.use("/api/student", studentController);
|
|
app.use("/api/unilever", unileverController);
|