UNPKG

decentralized-internet

Version:

An NPM library of programs to create decentralized web and distributed computing projects

1 lines 1.87 kB
module.exports=function(e,t){var r=require("./executionserver.handlers")(e,t),o=require("@hapi/joi"),a=require("clusterpost-model");e.route({method:"GET",path:"/executionserver",config:{auth:{strategy:"token",scope:["clusterpost"]},handler:r.getExecutionServers,response:{schema:o.array().items(o.object().keys({name:o.string(),queues:o.array().items(o.string()).optional(),info:o.object().optional()}))},description:"Get execution servers code names"}}),e.route({method:"POST",path:"/executionserver/{id}",config:{auth:{strategy:"token",scope:["clusterpost"]},handler:r.submitJob,validate:{params:{id:o.string().alphanum().required()},query:!1,payload:o.object().keys({force:o.boolean()}).optional()},description:"Start job execution"}}),e.route({method:"DELETE",path:"/executionserver/{id}",config:{auth:{strategy:"token",scope:["clusterpost"]},handler:r.killJob,validate:{params:{id:o.string().alphanum().required()},query:!1,payload:!1},description:"Kill a running job"}}),e.route({method:"GET",path:"/executionserver/{id}",config:{auth:{strategy:"token",scope:["clusterpost"]},handler:r.jobStatus,validate:{params:{id:o.string().alphanum().required()},query:!1,payload:!1},description:"Update job status"}}),e.route({method:"GET",path:"/executionserver/deletequeue",config:{auth:{strategy:"token",scope:["clusterpost","executionserver"]},handler:r.getDeleteQueue,validate:{params:null,query:!1,payload:!1},response:{schema:o.array().items(a.job)},description:"Get delete queue for remote execution server"}}),e.route({method:"GET",path:"/executionserver/tokens",config:{auth:{strategy:"token",scope:["admin"]},handler:r.getExecutionServerTokens,validate:{params:null,query:o.object().keys({executionserver:o.string()}).optional(),payload:!1},response:{schema:o.array().items(a.executionservertoken)},description:"Get tokens for the remote execution servers"}})};