mirror of
				https://github.com/node-red/node-red.git
				synced 2025-03-01 10:36:34 +00:00 
			
		
		
		
	Message
This commit is contained in:
		@@ -27,6 +27,7 @@
 | 
			
		||||
    ],
 | 
			
		||||
    "dependencies": {
 | 
			
		||||
        "ajv": "6.12.3",
 | 
			
		||||
        "async-mutex": "0.2.4",
 | 
			
		||||
        "basic-auth": "2.0.1",
 | 
			
		||||
        "bcryptjs": "2.4.3",
 | 
			
		||||
        "body-parser": "1.19.0",
 | 
			
		||||
 
 | 
			
		||||
@@ -34,6 +34,8 @@
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
var runtime;
 | 
			
		||||
var Mutex = require('async-mutex').Mutex;
 | 
			
		||||
const mutex = new Mutex();
 | 
			
		||||
 | 
			
		||||
var api = module.exports = {
 | 
			
		||||
    init: function(_runtime) {
 | 
			
		||||
@@ -64,6 +66,7 @@ var api = module.exports = {
 | 
			
		||||
    * @memberof @node-red/runtime_flows
 | 
			
		||||
    */
 | 
			
		||||
    setFlows: function(opts) {
 | 
			
		||||
        return mutex.runExclusive(function() {
 | 
			
		||||
            return new Promise(function(resolve,reject) {
 | 
			
		||||
 | 
			
		||||
                var flows = opts.flows;
 | 
			
		||||
@@ -95,6 +98,7 @@ var api = module.exports = {
 | 
			
		||||
                    return reject(err);
 | 
			
		||||
                });
 | 
			
		||||
            });
 | 
			
		||||
        });    
 | 
			
		||||
    },
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
@@ -107,19 +111,23 @@ var api = module.exports = {
 | 
			
		||||
    * @memberof @node-red/runtime_flows
 | 
			
		||||
    */
 | 
			
		||||
    addFlow: function(opts) {
 | 
			
		||||
        return mutex.runExclusive(function() {
 | 
			
		||||
            return new Promise(function (resolve, reject) {
 | 
			
		||||
                var flow = opts.flow;
 | 
			
		||||
                runtime.nodes.addFlow(flow).then(function (id) {
 | 
			
		||||
                    runtime.log.audit({event: "flow.add", id: id}, opts.req);
 | 
			
		||||
                    return resolve(id);
 | 
			
		||||
                }).catch(function (err) {
 | 
			
		||||
                runtime.log.audit({event: "flow.add",error:err.code||"unexpected_error",message:err.toString()}, opts.req);
 | 
			
		||||
                    runtime.log.audit({
 | 
			
		||||
                        event: "flow.add",
 | 
			
		||||
                        error: err.code || "unexpected_error",
 | 
			
		||||
                        message: err.toString()
 | 
			
		||||
                    }, opts.req);
 | 
			
		||||
                    err.status = 400;
 | 
			
		||||
                    return reject(err);
 | 
			
		||||
                })
 | 
			
		||||
            })
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
        });
 | 
			
		||||
    },
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
@@ -145,7 +153,6 @@ var api = module.exports = {
 | 
			
		||||
                return reject(err);
 | 
			
		||||
            }
 | 
			
		||||
        })
 | 
			
		||||
 | 
			
		||||
    },
 | 
			
		||||
    /**
 | 
			
		||||
    * Updates an existing flow configuration
 | 
			
		||||
@@ -158,6 +165,7 @@ var api = module.exports = {
 | 
			
		||||
    * @memberof @node-red/runtime_flows
 | 
			
		||||
    */
 | 
			
		||||
    updateFlow: function(opts) {
 | 
			
		||||
        return mutex.runExclusive(function() {
 | 
			
		||||
            return new Promise(function (resolve, reject) {
 | 
			
		||||
                var flow = opts.flow;
 | 
			
		||||
                var id = opts.id;
 | 
			
		||||
@@ -166,7 +174,11 @@ var api = module.exports = {
 | 
			
		||||
                        runtime.log.audit({event: "flow.update", id: id}, opts.req);
 | 
			
		||||
                        return resolve(id);
 | 
			
		||||
                    }).catch(function (err) {
 | 
			
		||||
                    runtime.log.audit({event: "flow.update",error:err.code||"unexpected_error",message:err.toString()}, opts.req);
 | 
			
		||||
                        runtime.log.audit({
 | 
			
		||||
                            event: "flow.update",
 | 
			
		||||
                            error: err.code || "unexpected_error",
 | 
			
		||||
                            message: err.toString()
 | 
			
		||||
                        }, opts.req);
 | 
			
		||||
                        err.status = 400;
 | 
			
		||||
                        return reject(err);
 | 
			
		||||
                    })
 | 
			
		||||
@@ -178,13 +190,17 @@ var api = module.exports = {
 | 
			
		||||
                        err.code = "not_found";
 | 
			
		||||
                        return reject(err);
 | 
			
		||||
                    } else {
 | 
			
		||||
                    runtime.log.audit({event: "flow.update",error:err.code||"unexpected_error",message:err.toString()}, opts.req);
 | 
			
		||||
                        runtime.log.audit({
 | 
			
		||||
                            event: "flow.update",
 | 
			
		||||
                            error: err.code || "unexpected_error",
 | 
			
		||||
                            message: err.toString()
 | 
			
		||||
                        }, opts.req);
 | 
			
		||||
                        err.status = 400;
 | 
			
		||||
                        return reject(err);
 | 
			
		||||
                    }
 | 
			
		||||
                }
 | 
			
		||||
            });
 | 
			
		||||
 | 
			
		||||
        });
 | 
			
		||||
    },
 | 
			
		||||
    /**
 | 
			
		||||
    * Deletes a flow
 | 
			
		||||
@@ -196,6 +212,7 @@ var api = module.exports = {
 | 
			
		||||
    * @memberof @node-red/runtime_flows
 | 
			
		||||
    */
 | 
			
		||||
    deleteFlow: function(opts) {
 | 
			
		||||
        return mutex.runExclusive(function() {
 | 
			
		||||
            return new Promise(function (resolve, reject) {
 | 
			
		||||
                var id = opts.id;
 | 
			
		||||
                try {
 | 
			
		||||
@@ -203,7 +220,12 @@ var api = module.exports = {
 | 
			
		||||
                        runtime.log.audit({event: "flow.remove", id: id}, opts.req);
 | 
			
		||||
                        return resolve();
 | 
			
		||||
                    }).catch(function (err) {
 | 
			
		||||
                    runtime.log.audit({event: "flow.remove",id:id,error:err.code||"unexpected_error",message:err.toString()}, opts.req);
 | 
			
		||||
                        runtime.log.audit({
 | 
			
		||||
                            event: "flow.remove",
 | 
			
		||||
                            id: id,
 | 
			
		||||
                            error: err.code || "unexpected_error",
 | 
			
		||||
                            message: err.toString()
 | 
			
		||||
                        }, opts.req);
 | 
			
		||||
                        err.status = 400;
 | 
			
		||||
                        return reject(err);
 | 
			
		||||
                    });
 | 
			
		||||
@@ -215,12 +237,18 @@ var api = module.exports = {
 | 
			
		||||
                        err.code = "not_found";
 | 
			
		||||
                        return reject(err);
 | 
			
		||||
                    } else {
 | 
			
		||||
                    runtime.log.audit({event: "flow.remove",id:id,error:err.code||"unexpected_error",message:err.toString()}, opts.req);
 | 
			
		||||
                        runtime.log.audit({
 | 
			
		||||
                            event: "flow.remove",
 | 
			
		||||
                            id: id,
 | 
			
		||||
                            error: err.code || "unexpected_error",
 | 
			
		||||
                            message: err.toString()
 | 
			
		||||
                        }, opts.req);
 | 
			
		||||
                        err.status = 400;
 | 
			
		||||
                        return reject(err);
 | 
			
		||||
                    }
 | 
			
		||||
                }
 | 
			
		||||
            });
 | 
			
		||||
        });
 | 
			
		||||
    },
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
@@ -264,5 +292,4 @@ var api = module.exports = {
 | 
			
		||||
            resolve(sendCredentials);
 | 
			
		||||
        })
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
@@ -18,6 +18,7 @@
 | 
			
		||||
    "dependencies": {
 | 
			
		||||
        "@node-red/registry": "1.1.3",
 | 
			
		||||
        "@node-red/util": "1.1.3",
 | 
			
		||||
        "async-mutex": "0.2.4",
 | 
			
		||||
        "clone": "2.1.2",
 | 
			
		||||
        "express": "4.17.1",
 | 
			
		||||
        "fs-extra": "8.1.0",
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user