UNPKG

@metacall/faas

Version:

Reimplementation of MetaCall FaaS platform written in TypeScript.

59 lines (58 loc) 2.81 kB
"use strict"; 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 package_1 = require("./controller/package"); const repository_1 = require("./controller/repository"); const static_1 = require("./controller/static"); 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('/api/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', package_1.packageUpload); app.post('/api/repository/branchlist', repository_1.repositoryBranchList); app.post('/api/repository/filelist', repository_1.repositoryFileList); app.post('/api/repository/add', repository_1.repositoryClone); app.post('/api/deploy/create', deploy_1.deploy); app.post('/api/deploy/logs', logs_1.logs); app.post('/api/deploy/delete', delete_1.deployDelete); app.get('/api/inspect', inspect_1.inspect); app.get('/api/billing/list-subscriptions', (_req, res) => { return res.status(200).json(['Essential', 'Essential']); }); app.post('/api/billing/list-subscriptions', (_req, res) => { return res.status(200).json(['Essential', 'Essential']); }); app.get('/api/billing/list-subscriptions-deploys', (_req, res) => { return res.status(200).json([]); }); app.post('/api/billing/list-subscriptions-deploys', (_req, res) => { return res.status(200).json([]); }); // 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;