Use more async funcs in runtime/lib/api to reduce Promise creation

This commit is contained in:
Nick O'Leary
2020-11-30 16:58:05 +00:00
parent 5992ed1fab
commit a1f565f756
7 changed files with 419 additions and 484 deletions

View File

@@ -24,8 +24,8 @@ var api = module.exports = {
init: function(_runtime) {
runtime = _runtime;
},
available: function(opts) {
return Promise.resolve(!!runtime.storage.projects);
available: async function(opts) {
return !!runtime.storage.projects;
},
/**
* List projects known to the runtime
@@ -36,7 +36,7 @@ var api = module.exports = {
* @return {Promise<Object>} - resolves when complete
* @memberof @node-red/runtime_projects
*/
listProjects: function(opts) {
listProjects: async function(opts) {
return runtime.storage.projects.listProjects(opts.user).then(function(list) {
var active = runtime.storage.projects.getActiveProject(opts.user);
var response = {
@@ -61,7 +61,7 @@ var api = module.exports = {
* @return {Promise<Object>} - resolves when complete
* @memberof @node-red/runtime_projects
*/
createProject: function(opts) {
createProject: async function(opts) {
runtime.log.audit({event: "projects.create",name:opts.project?opts.project.name:"missing-name"}, opts.req);
return runtime.storage.projects.createProject(opts.user, opts.project)
},
@@ -76,7 +76,7 @@ var api = module.exports = {
* @return {Promise<Object>} - resolves when complete
* @memberof @node-red/runtime_projects
*/
initialiseProject: function(opts) {
initialiseProject: async function(opts) {
// Initialised set when creating default files for an empty repo
runtime.log.audit({event: "projects.initialise",id:opts.id}, opts.req);
return runtime.storage.projects.initialiseProject(opts.user, opts.id, opts.project)
@@ -90,8 +90,8 @@ var api = module.exports = {
* @return {Promise<Object>} - the active project
* @memberof @node-red/runtime_projects
*/
getActiveProject: function(opts) {
return Promise.resolve(runtime.storage.projects.getActiveProject(opts.user));
getActiveProject: async function(opts) {
return runtime.storage.projects.getActiveProject(opts.user);
},
/**
@@ -103,13 +103,11 @@ var api = module.exports = {
* @return {Promise<Object>} - resolves when complete
* @memberof @node-red/runtime_projects
*/
setActiveProject: function(opts) {
setActiveProject: async function(opts) {
var currentProject = runtime.storage.projects.getActiveProject(opts.user);
runtime.log.audit({event: "projects.set",id:opts.id}, opts.req);
if (!currentProject || opts.id !== currentProject.name) {
return runtime.storage.projects.setActiveProject(opts.user, opts.id);
} else {
return Promise.resolve();
}
},
@@ -122,7 +120,7 @@ var api = module.exports = {
* @return {Promise<Object>} - the project metadata
* @memberof @node-red/runtime_projects
*/
getProject: function(opts) {
getProject: async function(opts) {
return runtime.storage.projects.getProject(opts.user, opts.id)
},
@@ -136,7 +134,7 @@ var api = module.exports = {
* @return {Promise<Object>} - resolves when complete
* @memberof @node-red/runtime_projects
*/
updateProject: function(opts) {
updateProject: async function(opts) {
runtime.log.audit({event: "projects.update",id:opts.id}, opts.req);
return runtime.storage.projects.updateProject(opts.user, opts.id, opts.project);
},
@@ -150,7 +148,7 @@ var api = module.exports = {
* @return {Promise<Object>} - resolves when complete
* @memberof @node-red/runtime_projects
*/
deleteProject: function(opts) {
deleteProject: async function(opts) {
runtime.log.audit({event: "projects.delete",id:opts.id}, opts.req);
return runtime.storage.projects.deleteProject(opts.user, opts.id);
},
@@ -165,7 +163,7 @@ var api = module.exports = {
* @return {Promise<Object>} - the project status
* @memberof @node-red/runtime_projects
*/
getStatus: function(opts) {
getStatus: async function(opts) {
return runtime.storage.projects.getStatus(opts.user, opts.id, opts.remote)
},
@@ -179,7 +177,7 @@ var api = module.exports = {
* @return {Promise<Object>} - a list of the local branches
* @memberof @node-red/runtime_projects
*/
getBranches: function(opts) {
getBranches: async function(opts) {
return runtime.storage.projects.getBranches(opts.user, opts.id, opts.remote);
},
@@ -193,7 +191,7 @@ var api = module.exports = {
* @return {Promise<Object>} - the status of the branch
* @memberof @node-red/runtime_projects
*/
getBranchStatus: function(opts) {
getBranchStatus: async function(opts) {
return runtime.storage.projects.getBranchStatus(opts.user, opts.id, opts.branch);
},
@@ -208,7 +206,7 @@ var api = module.exports = {
* @return {Promise<Object>} - resolves when complete
* @memberof @node-red/runtime_projects
*/
setBranch: function(opts) {
setBranch: async function(opts) {
runtime.log.audit({event: "projects.branch.set",id:opts.id, branch: opts.branch, create:opts.create}, opts.req);
return runtime.storage.projects.setBranch(opts.user, opts.id, opts.branch, opts.create)
},
@@ -224,7 +222,7 @@ var api = module.exports = {
* @return {Promise<Object>} - resolves when complete
* @memberof @node-red/runtime_projects
*/
deleteBranch: function(opts) {
deleteBranch: async function(opts) {
runtime.log.audit({event: "projects.branch.delete",id:opts.id, branch: opts.branch, force:opts.force}, opts.req);
return runtime.storage.projects.deleteBranch(opts.user, opts.id, opts.branch, false, opts.force);
},
@@ -239,7 +237,7 @@ var api = module.exports = {
* @return {Promise<Object>} - resolves when complete
* @memberof @node-red/runtime_projects
*/
commit: function(opts) {
commit: async function(opts) {
runtime.log.audit({event: "projects.commit",id:opts.id}, opts.req);
return runtime.storage.projects.commit(opts.user, opts.id,{message: opts.message});
},
@@ -254,7 +252,7 @@ var api = module.exports = {
* @return {Promise<Object>} - the commit details
* @memberof @node-red/runtime_projects
*/
getCommit: function(opts) {
getCommit: async function(opts) {
return runtime.storage.projects.getCommit(opts.user, opts.id, opts.sha);
},
@@ -269,7 +267,7 @@ var api = module.exports = {
* @return {Promise<Array>} - an array of commits
* @memberof @node-red/runtime_projects
*/
getCommits: function(opts) {
getCommits: async function(opts) {
return runtime.storage.projects.getCommits(opts.user, opts.id, {
limit: opts.limit || 20,
before: opts.before
@@ -285,7 +283,7 @@ var api = module.exports = {
* @return {Promise<Object>} - resolves when complete
* @memberof @node-red/runtime_projects
*/
abortMerge: function(opts) {
abortMerge: async function(opts) {
runtime.log.audit({event: "projects.merge.abort",id:opts.id}, opts.req);
return runtime.storage.projects.abortMerge(opts.user, opts.id);
},
@@ -301,7 +299,7 @@ var api = module.exports = {
* @return {Promise<Object>} - resolves when complete
* @memberof @node-red/runtime_projects
*/
resolveMerge: function(opts) {
resolveMerge: async function(opts) {
runtime.log.audit({event: "projects.merge.resolve",id:opts.id, file:opts.path}, opts.req);
return runtime.storage.projects.resolveMerge(opts.user, opts.id, opts.path, opts.resolution);
},
@@ -315,7 +313,7 @@ var api = module.exports = {
* @return {Promise<Object>} - the file listing
* @memberof @node-red/runtime_projects
*/
getFiles: function(opts) {
getFiles: async function(opts) {
return runtime.storage.projects.getFiles(opts.user, opts.id);
},
@@ -330,7 +328,7 @@ var api = module.exports = {
* @return {Promise<String>} - the content of the file
* @memberof @node-red/runtime_projects
*/
getFile: function(opts) {
getFile: async function(opts) {
return runtime.storage.projects.getFile(opts.user, opts.id,opts.path,opts.tree);
},
@@ -344,7 +342,7 @@ var api = module.exports = {
* @return {Promise<Object>} - resolves when complete
* @memberof @node-red/runtime_projects
*/
stageFile: function(opts) {
stageFile: async function(opts) {
runtime.log.audit({event: "projects.file.stage",id:opts.id, file:opts.path}, opts.req);
return runtime.storage.projects.stageFile(opts.user, opts.id, opts.path);
},
@@ -359,7 +357,7 @@ var api = module.exports = {
* @return {Promise<Object>} - resolves when complete
* @memberof @node-red/runtime_projects
*/
unstageFile: function(opts) {
unstageFile: async function(opts) {
runtime.log.audit({event: "projects.file.unstage",id:opts.id, file:opts.path}, opts.req);
return runtime.storage.projects.unstageFile(opts.user, opts.id, opts.path);
},
@@ -374,7 +372,7 @@ var api = module.exports = {
* @return {Promise<Object>} - resolves when complete
* @memberof @node-red/runtime_projects
*/
revertFile: function(opts) {
revertFile: async function(opts) {
runtime.log.audit({event: "projects.file.revert",id:opts.id, file:opts.path}, opts.req);
return runtime.storage.projects.revertFile(opts.user, opts.id,opts.path)
},
@@ -390,7 +388,7 @@ var api = module.exports = {
* @return {Promise<Object>} - the requested diff
* @memberof @node-red/runtime_projects
*/
getFileDiff: function(opts) {
getFileDiff: async function(opts) {
return runtime.storage.projects.getFileDiff(opts.user, opts.id, opts.path, opts.type);
},
@@ -403,7 +401,7 @@ var api = module.exports = {
* @return {Promise<Object>} - a list of project remotes
* @memberof @node-red/runtime_projects
*/
getRemotes: function(opts) {
getRemotes: async function(opts) {
return runtime.storage.projects.getRemotes(opts.user, opts.id);
},
@@ -420,7 +418,7 @@ var api = module.exports = {
* @return {Promise<Object>} - resolves when complete
* @memberof @node-red/runtime_projects
*/
addRemote: function(opts) {
addRemote: async function(opts) {
runtime.log.audit({event: "projects.remote.add",id:opts.id, remote:opts.remote.name}, opts.req);
return runtime.storage.projects.addRemote(opts.user, opts.id, opts.remote)
},
@@ -435,7 +433,7 @@ var api = module.exports = {
* @return {Promise<Object>} - resolves when complete
* @memberof @node-red/runtime_projects
*/
removeRemote: function(opts) {
removeRemote: async function(opts) {
runtime.log.audit({event: "projects.remote.delete",id:opts.id, remote:opts.remote}, opts.req);
return runtime.storage.projects.removeRemote(opts.user, opts.id, opts.remote);
},
@@ -451,7 +449,7 @@ var api = module.exports = {
* @return {Promise<Object>} - resolves when complete
* @memberof @node-red/runtime_projects
*/
updateRemote: function(opts) {
updateRemote: async function(opts) {
runtime.log.audit({event: "projects.remote.update",id:opts.id, remote:opts.remote.name}, opts.req);
return runtime.storage.projects.updateRemote(opts.user, opts.id, opts.remote.name, opts.remote)
},
@@ -467,7 +465,7 @@ var api = module.exports = {
* @return {Promise<Object>} - resolves when complete
* @memberof @node-red/runtime_projects
*/
pull: function(opts) {
pull: async function(opts) {
runtime.log.audit({event: "projects.pull",id:opts.id, remote: opts.remote, track:opts.track}, opts.req);
return runtime.storage.projects.pull(opts.user, opts.id, opts.remote, opts.track, opts.allowUnrelatedHistories);
},
@@ -483,7 +481,7 @@ var api = module.exports = {
* @return {Promise<Object>} - resolves when complete
* @memberof @node-red/runtime_projects
*/
push: function(opts) {
push: async function(opts) {
runtime.log.audit({event: "projects.push",id:opts.id, remote: opts.remote, track:opts.track}, opts.req);
return runtime.storage.projects.push(opts.user, opts.id, opts.remote, opts.track);
}