@metacall/faas
Version:
Reimplementation of MetaCall FaaS platform written in TypeScript.
47 lines (46 loc) • 2.28 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.initializeAPI = void 0;
const call_1 = require("./controller/call");
const delete_1 = require("./controller/delete");
const deploy_1 = require("./controller/deploy");
const error_1 = require("./controller/error");
const inspect_1 = require("./controller/inspect");
const logs_1 = require("./controller/logs");
const repository_1 = require("./controller/repository");
const static_1 = require("./controller/static");
const upload_1 = require("./controller/upload");
const validate_1 = require("./controller/validate");
const os_1 = require("os");
const express_1 = __importDefault(require("express"));
const appError_1 = __importDefault(require("./utils/appError"));
function initializeAPI() {
const app = express_1.default();
const host = os_1.hostname();
app.use(express_1.default.json());
app.use(express_1.default.urlencoded({ extended: true }));
app.get('/readiness', (_req, res) => res.sendStatus(200));
app.get('/validate', validate_1.validate);
app.get('/api/account/deploy-enabled', validate_1.validate);
app.get(`/${host}/:suffix/:version/call/:func`, call_1.callFunction);
app.post(`/${host}/:suffix/:version/call/:func`, call_1.callFunction);
app.get(`/${host}/:suffix/:version/static/.metacall/faas/apps/:suffix/:file`, static_1.serveStatic);
app.post('/api/package/create', upload_1.uploadPackage);
app.post('/api/repository/add', repository_1.fetchFilesFromRepo);
app.post('/api/repository/branchlist', repository_1.fetchBranchList);
app.post('/api/repository/filelist', repository_1.fetchFileList);
app.post('/api/deploy/logs', logs_1.logs);
app.post('/api/deploy/create', deploy_1.deploy);
app.get('/api/inspect', inspect_1.inspect);
app.post('/api/deploy/delete', delete_1.deployDelete);
// For all the additional unimplemented routes
app.all('*', (req, res, next) => {
next(new appError_1.default(`Can't find ${req.originalUrl} on this server!`, 404));
});
app.use(error_1.globalError);
return app;
}
exports.initializeAPI = initializeAPI;