Add username/password to Mongo nodes

Fixes #159
This commit is contained in:
Nick O'Leary
2014-02-16 23:17:15 +00:00
parent 7c24d4d760
commit b7e3e2d739
2 changed files with 149 additions and 51 deletions

View File

@@ -29,6 +29,14 @@
<label for="node-config-input-name"><i class="icon-tag"></i> Name</label>
<input type="text" id="node-config-input-name" placeholder="Name">
</div>
<div class="form-row">
<label for="node-config-input-user"><i class="icon-user"></i> Username</label>
<input type="text" id="node-config-input-user">
</div>
<div class="form-row">
<label for="node-config-input-pass"><i class="icon-lock"></i> Password</label>
<input type="password" id="node-config-input-pass">
</div>
</script>
<script type="text/javascript">
@@ -39,10 +47,47 @@
hostname: { value:"127.0.0.1",required:true},
port: { value: 27017,required:true},
db: { value:"",required:true},
name: { value:"" }
name: { value:"" },
//user -> credentials
//pass -> credentials
},
label: function() {
return this.name||this.hostname+":"+this.port+"//"+this.db;
return this.name||this.hostname+":"+this.port+"/"+this.db;
},
oneditprepare: function() {
$.getJSON('mongodb/'+this.id,function(data) {
if (data.user) {
$('#node-config-input-user').val(data.user);
}
if (data.hasPassword) {
$('#node-config-input-pass').val('__PWRD__');
} else {
$('#node-config-input-pass').val('');
}
});
},
oneditsave: function() {
var newUser = $('#node-config-input-user').val();
var newPass = $('#node-config-input-pass').val();
var credentials = {};
credentials.user = newUser;
if (newPass != '__PWRD__') {
credentials.password = newPass;
}
$.ajax({
url: 'mongodb/'+this.id,
type: 'POST',
data: credentials,
success:function(result){}
});
},
ondelete: function() {
$.ajax({
url: 'mongodb/'+this.id,
type: 'DELETE',
success: function(result) {}
});
}
});
</script>
@@ -110,7 +155,7 @@
align: "right",
label: function() {
var mongoNode = RED.nodes.node(this.mongodb);
return this.name||(mongoNode?mongoNode.label()+"//"+this.collection:"mongodb");
return this.name||(mongoNode?mongoNode.label()+" "+this.collection:"mongodb");
},
labelStyle: function() {
return this.name?"node_label_italic":"";
@@ -154,7 +199,7 @@
icon: "mongodb.png",
label: function() {
var mongoNode = RED.nodes.node(this.mongodb);
return this.name||(mongoNode?mongoNode.label()+"//"+this.collection:"mongodb");
return this.name||(mongoNode?mongoNode.label()+" "+this.collection:"mongodb");
},
labelStyle: function() {
return this.name?"node_label_italic":"";