Skip to content

Commit

Permalink
create IAPI instance at main, finished scheduled scaffolding
Browse files Browse the repository at this point in the history
  • Loading branch information
SorenEricMent committed Oct 25, 2022
1 parent 4cb887b commit 8fe83cf
Show file tree
Hide file tree
Showing 4 changed files with 20 additions and 15 deletions.
18 changes: 14 additions & 4 deletions main.cjs
Original file line number Diff line number Diff line change
Expand Up @@ -28,12 +28,22 @@ async function wrapper() {
console.log("[WRAPPER] Starting Blorum Server (" + utils.version + ")...");
const initializeBlorumServer = (await import("./modules/init.mjs")).initializeBlorumServer;
const initializeRouter = (await import("./modules/router.mjs")).default;
const extensionList = (await import("./modules/extension.mjs")).extensionList;

//const extensionList = (await import("./modules/extension.mjs")).getExtensionsList;
const prerequisite = initializeBlorumServer();
prerequisite.then(function (results) {
prerequisite.then(async (results) => {
scheduleDaemon = results.scheduleDaemon;
scheduleDaemon.on('message', (message) => {
switch (message.action) {
case "log":
results.log(message.level, "ScheduleD", message.info);
break;
}
});

const IAPI = (await import("./modules/iapi.mjs")).IAPI;
const iapi = new IAPI(results.mysql, results.redis, results.siteConfig, results.log, results.bootConfig.security.digest_salt, results.bootConfig.database.redis.prefix);
results.log("log", "Main", "Blorum pre-initialization finished.");
let router = initializeRouter(results.mysql, results.redis, results.siteConfig, results.log, results.bootConfig.security.digest_salt, results.bootConfig.database.redis.prefix);
let router = initializeRouter(iapi, results.mysql, results.redis, results.siteConfig, results.log);
if (results.bootConfig.port <= 1000 && results.bootConfig.port != 0) {
results.log("warn", "Main", "Port might cause conflict.");
results.log("warn", "Main", "If you are under *Unix system, this require privilege.");
Expand Down
2 changes: 0 additions & 2 deletions modules/init.mjs
Original file line number Diff line number Diff line change
Expand Up @@ -112,8 +112,6 @@ function initializeBlorumServer() {
"scheduleDaemon": scheduleDaemon
});
break;
case "log":
log(message.level, "ScheduleD", message.info);
}
});
scheduleDaemon.on('exit', (code, signal) => {
Expand Down
9 changes: 3 additions & 6 deletions modules/router.mjs
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,6 @@ JSON.parse = parse.parse;

import { default as express } from "express";
import { version, innerVersion, isAllString, strNotOnlyNumber, objHasAllProperties} from "./utils.mjs";
import { IAPI } from "./iapi.mjs";
import { default as fs } from "fs";
import { fileURLToPath } from "url";
import { join } from "path";
Expand All @@ -26,7 +25,7 @@ function rejectForLoginStatusDecorator(func){
}


function initializeRouter(mysqlConnection, redisConnection, siteConfig, log, salt, redisPrefix){
function initializeRouter(iapi, mysqlConnection, redisConnection, siteConfig, log){
let getReqInfo = function(req){
let ip = null;
let ua = null;
Expand Down Expand Up @@ -59,8 +58,6 @@ function initializeRouter(mysqlConnection, redisConnection, siteConfig, log, sal
}
};

const iapi = new IAPI(mysqlConnection, redisConnection, siteConfig, log, salt, redisPrefix);

let blorumRouter = express();
let commonHeader = {
"X-Powered-By": "Blorum",
Expand Down Expand Up @@ -463,9 +460,9 @@ function initializeRouter(mysqlConnection, redisConnection, siteConfig, log, sal
return blorumRouter;
}

export default function(mysqlConnection, redisConnection, siteConfig, log, salt, redisPrefix){
export default function(iapi, mysqlConnection, redisConnection, siteConfig, log){
try {
let router = initializeRouter(mysqlConnection, redisConnection, siteConfig, log, salt, redisPrefix);
let router = initializeRouter(iapi, mysqlConnection, redisConnection, siteConfig, log);
log("log","Router","Router initialized.");
return router;
} catch (error) {
Expand Down
6 changes: 3 additions & 3 deletions modules/scheduled.mjs
Original file line number Diff line number Diff line change
Expand Up @@ -24,9 +24,9 @@ function beforeInit(message){
}

function afterInit(message){
setInterval(function(){
log("log", "test heartbeat");
},1000);
switch(message.action){

}
}

var eventExecutor = beforeInit;
Expand Down

0 comments on commit 8fe83cf

Please sign in to comment.