mecano
Version:
Common functions for system deployment.
53 lines (50 loc) • 1.26 kB
JavaScript
// Generated by CoffeeScript 1.9.1
var misc;
module.exports = function(options, callback) {
var do_gid, do_uid;
do_uid = function() {
if (options.uid == null) {
return do_gid();
}
if (typeof options.uid === 'string' && /\d+/.test(options.uid)) {
options.uid = parseInt(options.uid, 10);
}
if (typeof options.uid === 'number') {
return do_gid();
}
return misc.ssh.passwd(options.ssh, options.uid, function(err, user) {
if (err) {
return do_gid(err);
}
if (user) {
options.uid = user.uid;
if (options.gid == null) {
options.gid = user.gid;
}
}
return do_gid();
});
};
do_gid = function() {
if (options.gid == null) {
return callback();
}
if (typeof options.gid === 'string' && /\d+/.test(options.gid)) {
options.gid = parseInt(options.gid, 10);
}
if (typeof options.gid === 'number') {
return callback();
}
return misc.ssh.group(options.ssh, options.gid, function(err, group) {
if (err) {
return callback(err);
}
if (group) {
options.gid = group.gid;
}
return callback();
});
};
return do_uid();
};
misc = require('./index');