const express = require('express');
const path = require('path');
const ParseServer = require('parse-server').ParseServer;
const cors = require('cors');

const app = express();
// 使用 CORS 中间件
app.use(cors()); // 允许所有来源

const api = new ParseServer({
  databaseURI: 'postgresql://dev:666@dev.fmode.cn:5432/dev',
  appId: 'dev',
  masterKey: 'devmk',
  masterKeyIps: ['0.0.0.0/0','::/0'] ,
  allowClientClassCreation:true,
  allowHeaders:["*"],
  allowOrigin:"*",
  // fileKey: 'myFileKey',
  // cloud: './cloud/main.js',
  // push: { ... }, // See the Push wiki page
  // filesAdapter: ...,
}

);

async function main(){
  await api.start();

  app.use(express.json());

  // Serve the Parse API at /parse URL prefix
  app.use('/parse', api.app);

  // 加载Agent专用路由 
  const pdfRouter = require('./api/agent/loader/routes'); // 根据你的文件结构调整路径
  app.use('/api/agent', pdfRouter); // 使用路由
  const retriveRouter = require('./api/agent/retrive/routes'); // 根据你的文件结构调整路径
  app.use('/api/agent', retriveRouter); // 使用路由
  const ncloudFunc = require('./api/ncloud/func/routes'); 
  app.use('/api/ncloud', ncloudFunc); // 使用路由

  const psqlRouter = require('./api/psql/routes'); // 根据你的文件结构调整路径
  app.use('/api/psql', psqlRouter); // 使用路由

  const port = 1337;
  app.listen(port, function() {
    console.log('parse-server-example running on port ' + port + '.');
  });
}
main();