111 lines
2.4 KiB
JavaScript
111 lines
2.4 KiB
JavaScript
var __glob = (map) => (path2) => {
|
|
var fn = map[path2];
|
|
if (fn) return fn();
|
|
throw new Error("Module not found in bundle: " + path2);
|
|
};
|
|
|
|
// api/infra/createModule.ts
|
|
function createApiModule(config2, options) {
|
|
const metadata = {
|
|
id: config2.id,
|
|
name: config2.name,
|
|
version: config2.version,
|
|
basePath: config2.basePath,
|
|
order: config2.order,
|
|
dependencies: config2.dependencies
|
|
};
|
|
const lifecycle = options.lifecycle ? options.lifecycle : options.services ? {
|
|
onLoad: options.services
|
|
} : void 0;
|
|
return {
|
|
metadata,
|
|
lifecycle,
|
|
createRouter: options.routes
|
|
};
|
|
}
|
|
|
|
// api/utils/asyncHandler.ts
|
|
var asyncHandler = (fn) => (req, res, next) => {
|
|
Promise.resolve(fn(req, res, next)).catch(next);
|
|
};
|
|
|
|
// api/utils/response.ts
|
|
var successResponse = (res, data, statusCode = 200) => {
|
|
const response = {
|
|
success: true,
|
|
data
|
|
};
|
|
res.status(statusCode).json(response);
|
|
};
|
|
|
|
// api/config/index.ts
|
|
import path from "path";
|
|
import { fileURLToPath } from "url";
|
|
import os from "os";
|
|
var __filename = fileURLToPath(import.meta.url);
|
|
var __dirname = path.dirname(__filename);
|
|
var config = {
|
|
get projectRoot() {
|
|
if (__dirname.includes("app.asar")) {
|
|
return path.resolve(__dirname, "..").replace("app.asar", "app.asar.unpacked");
|
|
}
|
|
return path.resolve(__dirname, "../../");
|
|
},
|
|
get notebookRoot() {
|
|
return process.env.NOTEBOOK_ROOT ? path.resolve(process.env.NOTEBOOK_ROOT) : path.join(this.projectRoot, "notebook");
|
|
},
|
|
get tempRoot() {
|
|
return path.join(os.tmpdir(), "xcdesktop_uploads");
|
|
},
|
|
get serverPort() {
|
|
return parseInt(process.env.PORT || "3001", 10);
|
|
},
|
|
get isVercel() {
|
|
return !!process.env.VERCEL;
|
|
},
|
|
get isElectron() {
|
|
return __dirname.includes("app.asar");
|
|
},
|
|
get isDev() {
|
|
return !this.isElectron && !this.isVercel;
|
|
}
|
|
};
|
|
var PATHS = {
|
|
get PROJECT_ROOT() {
|
|
return config.projectRoot;
|
|
},
|
|
get NOTEBOOK_ROOT() {
|
|
return config.notebookRoot;
|
|
},
|
|
get TEMP_ROOT() {
|
|
return config.tempRoot;
|
|
}
|
|
};
|
|
|
|
// api/config/paths.ts
|
|
var PROJECT_ROOT = PATHS.PROJECT_ROOT;
|
|
var NOTEBOOK_ROOT = PATHS.NOTEBOOK_ROOT;
|
|
var TEMP_ROOT = PATHS.TEMP_ROOT;
|
|
|
|
// shared/modules/types.ts
|
|
function defineApiModule(config2) {
|
|
return config2;
|
|
}
|
|
function defineEndpoints(endpoints) {
|
|
return endpoints;
|
|
}
|
|
|
|
export {
|
|
__glob,
|
|
asyncHandler,
|
|
successResponse,
|
|
config,
|
|
PATHS,
|
|
PROJECT_ROOT,
|
|
NOTEBOOK_ROOT,
|
|
TEMP_ROOT,
|
|
createApiModule,
|
|
defineApiModule,
|
|
defineEndpoints
|
|
};
|