mirror of
https://github.com/engineer-man/piston.git
synced 2025-04-21 04:26:28 +02:00
api: lint **everything**
This commit is contained in:
parent
216451d1aa
commit
60c004eea9
22 changed files with 764 additions and 550 deletions
124
api/src/index.js
124
api/src/index.js
|
@ -1,106 +1,106 @@
|
|||
#!/usr/bin/env node
|
||||
require("nocamel")
|
||||
const Logger = require("logplease")
|
||||
const express = require("express")
|
||||
const globals = require("./globals")
|
||||
const config = require("./config")
|
||||
const cache = require("./cache")
|
||||
const state = require("./state")
|
||||
const path = require("path")
|
||||
const fs = require("fs")
|
||||
const util = require("util")
|
||||
const body_parser = require("body-parser")
|
||||
const runtime = require("./runtime")
|
||||
require('nocamel');
|
||||
const Logger = require('logplease');
|
||||
const express = require('express');
|
||||
const globals = require('./globals');
|
||||
const config = require('./config');
|
||||
const cache = require('./cache');
|
||||
const state = require('./state');
|
||||
const path = require('path');
|
||||
const fs = require('fs/promises');
|
||||
const fss = require('fs');
|
||||
const body_parser = require('body-parser');
|
||||
const runtime = require('./runtime');
|
||||
|
||||
const logger = Logger.create("index")
|
||||
const logger = Logger.create('index');
|
||||
const app = express();
|
||||
|
||||
(async () => {
|
||||
logger.info("Setting loglevel to",config.log_level)
|
||||
Logger.setLogLevel(config.log_level) //eslint-disable-line snakecasejs/snakecasejs
|
||||
logger.info('Setting loglevel to',config.log_level);
|
||||
Logger.setLogLevel(config.log_level); //eslint-disable-line snakecasejs/snakecasejs
|
||||
|
||||
logger.debug("Ensuring data directories exist")
|
||||
logger.debug('Ensuring data directories exist');
|
||||
Object.values(globals.data_directories).forEach(dir => {
|
||||
var data_path = path.join(config.data_directory, dir)
|
||||
logger.debug(`Ensuring ${data_path} exists`)
|
||||
if(!fs.exists_sync(data_path)){
|
||||
logger.info(`${data_path} does not exist.. Creating..`)
|
||||
var data_path = path.join(config.data_directory, dir);
|
||||
logger.debug(`Ensuring ${data_path} exists`);
|
||||
if(!fss.exists_sync(data_path)){
|
||||
logger.info(`${data_path} does not exist.. Creating..`);
|
||||
try{
|
||||
fs.mkdir_sync(data_path)
|
||||
fss.mkdir_sync(data_path);
|
||||
}catch(err){
|
||||
logger.error(`Failed to create ${data_path}: `, err.message)
|
||||
logger.error(`Failed to create ${data_path}: `, err.message);
|
||||
}
|
||||
}
|
||||
|
||||
})
|
||||
});
|
||||
|
||||
|
||||
logger.info("Loading state")
|
||||
await state.load(path.join(config.data_directory,globals.data_files.state))
|
||||
logger.info('Loading state');
|
||||
await state.load(path.join(config.data_directory,globals.data_files.state));
|
||||
|
||||
logger.info("Loading cache")
|
||||
await cache.load(path.join(config.data_directory,globals.data_directories.cache))
|
||||
logger.info('Loading cache');
|
||||
await cache.load(path.join(config.data_directory,globals.data_directories.cache));
|
||||
|
||||
logger.info("Loading packages")
|
||||
const pkgdir = path.join(config.data_directory,globals.data_directories.packages)
|
||||
await util.promisify(fs.readdir)(pkgdir)
|
||||
logger.info('Loading packages');
|
||||
const pkgdir = path.join(config.data_directory,globals.data_directories.packages);
|
||||
await fs.readdir(pkgdir)
|
||||
.then(langs => Promise.all(
|
||||
langs.map(lang=>
|
||||
util.promisify(fs.readdir)(path.join(pkgdir,lang))
|
||||
fs.readdir(path.join(pkgdir,lang))
|
||||
.then(x=>x.map(y=>path.join(pkgdir, lang, y)))
|
||||
)))
|
||||
//eslint-disable-next-line snakecasejs/snakecasejs
|
||||
.then(pkgs=>pkgs.flat().filter(pkg=>fs.existsSync(path.join(pkg, globals.pkg_installed_file))))
|
||||
.then(pkgs=>pkgs.forEach(pkg => new runtime.Runtime(pkg)))
|
||||
.then(pkgs=>pkgs.forEach(pkg => new runtime.Runtime(pkg)));
|
||||
|
||||
|
||||
|
||||
logger.info("Starting API Server")
|
||||
logger.info('Starting API Server');
|
||||
|
||||
logger.debug("Constructing Express App")
|
||||
logger.debug('Constructing Express App');
|
||||
|
||||
logger.debug("Registering middleware")
|
||||
logger.debug('Registering middleware');
|
||||
|
||||
app.use(body_parser.urlencoded({extended: true}))
|
||||
app.use(body_parser.json())
|
||||
app.use(body_parser.urlencoded({extended: true}));
|
||||
app.use(body_parser.json());
|
||||
|
||||
logger.debug("Registering custom message wrappers")
|
||||
logger.debug('Registering custom message wrappers');
|
||||
|
||||
express.response.json_error = function(message, code) {
|
||||
this.status(code)
|
||||
return this.json({success: false, message, code})
|
||||
}
|
||||
this.status(code);
|
||||
return this.json({success: false, message, code});
|
||||
};
|
||||
|
||||
express.response.json_success = function(obj) {
|
||||
return this.json({success: true, data: obj})
|
||||
}
|
||||
return this.json({success: true, data: obj});
|
||||
};
|
||||
|
||||
logger.debug("Registering Routes")
|
||||
logger.debug('Registering Routes');
|
||||
|
||||
const ppman_routes = require("./ppman/routes")
|
||||
const ppman_routes = require('./ppman/routes');
|
||||
|
||||
app.get ("/repos", ppman_routes.repo_list)
|
||||
app.post ("/repos", ppman_routes.repo_add)
|
||||
app.get ("/repos/:repo_slug", ppman_routes.repo_info)
|
||||
app.get ("/repos/:repo_slug/packages", ppman_routes.repo_packages)
|
||||
app.get ("/repos/:repo_slug/packages/:language/:version", ppman_routes.package_info)
|
||||
app.post ("/repos/:repo_slug/packages/:language/:version", ppman_routes.package_install)
|
||||
app.delete("/repos/:repo_slug/packages/:language/:version", ppman_routes.package_uninstall) //TODO
|
||||
app.get ('/repos', ppman_routes.repo_list);
|
||||
app.post ('/repos', ppman_routes.repo_add);
|
||||
app.get ('/repos/:repo_slug', ppman_routes.repo_info);
|
||||
app.get ('/repos/:repo_slug/packages', ppman_routes.repo_packages);
|
||||
app.get ('/repos/:repo_slug/packages/:language/:version', ppman_routes.package_info);
|
||||
app.post ('/repos/:repo_slug/packages/:language/:version', ppman_routes.package_install);
|
||||
app.delete('/repos/:repo_slug/packages/:language/:version', ppman_routes.package_uninstall); //TODO
|
||||
|
||||
const executor_routes = require('./executor/routes')
|
||||
app.post ("/jobs", executor_routes.run_job)
|
||||
const executor_routes = require('./executor/routes');
|
||||
app.post ('/jobs', executor_routes.run_job);
|
||||
|
||||
|
||||
|
||||
|
||||
logger.debug("Calling app.listen")
|
||||
const [address,port] = config.bind_address.split(":")
|
||||
logger.debug('Calling app.listen');
|
||||
const [address,port] = config.bind_address.split(':');
|
||||
|
||||
app.listen(port, address, ()=>{
|
||||
logger.info("API server started on", config.bind_address)
|
||||
})
|
||||
logger.info('API server started on', config.bind_address);
|
||||
});
|
||||
|
||||
logger.debug("Setting up flush timers")
|
||||
setInterval(cache.flush,config.cache_flush_time,path.join(config.data_directory,globals.data_directories.cache))
|
||||
setInterval(state.save,config.state_flush_time,path.join(config.data_directory,globals.data_files.state))
|
||||
})()
|
||||
logger.debug('Setting up flush timers');
|
||||
setInterval(cache.flush,config.cache_flush_time,path.join(config.data_directory,globals.data_directories.cache));
|
||||
setInterval(state.save,config.state_flush_time,path.join(config.data_directory,globals.data_files.state));
|
||||
})();
|
Loading…
Add table
Add a link
Reference in a new issue