/**
 * 前后端模板 — Node 入口（node-core-framework）
 */

const Framework = require("./framework/node-core-framework.js");
const config = require("./config/framework.config.js");
const businessAssociations = require("./config/model.associations.js");

async function start() {
  try {
    console.log("正在启动应用...\n");
    console.log("正在初始化框架...");

    const framework = await Framework.init({
      ...config,
      businessAssociations,
    });

    await framework.start(config.port.node);

    const schedule = require("./middleware/schedule.js");
    await schedule.init();

    console.log(`\nAPI 文档: http://localhost:${config.port.node}/api/docs`);
  } catch (error) {
    console.error("\n" + "=".repeat(60));
    console.error("应用启动失败");
    console.error("=".repeat(60));
    console.error("错误信息:", error.message);
    console.error("错误堆栈:", error.stack);
    console.error("=".repeat(60) + "\n");
    process.exit(1);
  }
}

start();
