From 262dc06b99a4840f2487ee5e3ea913c1e5de588b Mon Sep 17 00:00:00 2001 From: Rafal Szczesniak Date: Tue, 29 May 2007 05:49:35 +0000 Subject: r23178: add simple js code I use for testing and which starts to look like ejsnet command line utility (perhaps to be moved to utils later...) rafal (This used to be commit 43f9d9ba71f51007e80b340600a55fb07d89fd4c) --- testprogs/ejs/ejsnet/nethost.js | 45 +++++++++++++++++++++ testprogs/ejs/ejsnet/netusr.js | 86 +++++++++++++++++++++++++++++++++++++++++ 2 files changed, 131 insertions(+) create mode 100644 testprogs/ejs/ejsnet/nethost.js create mode 100644 testprogs/ejs/ejsnet/netusr.js (limited to 'testprogs/ejs/ejsnet') diff --git a/testprogs/ejs/ejsnet/nethost.js b/testprogs/ejs/ejsnet/nethost.js new file mode 100644 index 0000000000..9e11ae89c5 --- /dev/null +++ b/testprogs/ejs/ejsnet/nethost.js @@ -0,0 +1,45 @@ +function PrintNetHostHelp() +{ + println("Host management - available commands:"); + println("\t domainlist - list users in specified domain"); +} + + +function ListDomains(hostCtx) +{ + var domain; + + var list = hostCtx.DomainList(); + if (list == undefined) { + println("Error when listing domains"); + return -1; + } + + for (var i = 0; i < list.Count; i++) { + domain = list.Domains[i]; + printf("%s\n", domain.Name); + } + + printf("\nResult: %s\n", list.Status.errstr); +} + + +function HostManager(ctx, options) +{ + var hostCtx; + + if (options.ARGV.length < 2) { + PrintNetHostHelp(); + return -1; + } + + var hostCmd = options.ARGV[1]; + + if (hostCmd == "domainlist") { + hostCtx = ctx.HostMgr(); + ListDomains(hostCtx); + + } else { + println("unknown command"); + } +} diff --git a/testprogs/ejs/ejsnet/netusr.js b/testprogs/ejs/ejsnet/netusr.js new file mode 100644 index 0000000000..da6e851ce7 --- /dev/null +++ b/testprogs/ejs/ejsnet/netusr.js @@ -0,0 +1,86 @@ +function PrintNetUsrHelp(options) +{ + println("User management - available commands:"); + println("\t list - list users in specified domain"); + println("\t info - display user account information"); +} + + +function ListUsers(usrCtx) +{ + var list, user; + var finished = false; + + for (list = usrCtx.List(list); list.Status.is_ok && !finished; list = usrCtx.List(list)) { + for (i = 0; i < list.Count; i++) { + user = list.Users[i]; + printf("%s\n", user.Username); + } + + finished = list.EndOfList; + } + + printf("\nResult: %s\n", list.Status.errstr); +} + + +function UserInfo(usrCtx, username) +{ + var info; + + info = usrCtx.Info(username); + if (info == null) { + println("Account unknown"); + return -1; + } + + println("User account info:\n"); + printf("AccountName = %s\n", info.AccountName); + printf("Description = %s\n", info.Description); + printf("FullName = %s\n", info.FullName); + printf("AcctExpiry = %s\n", info.AcctExpiry); +} + + +function UserManager(ctx, options) +{ + var usrCtx; + + if (options.ARGV.length < 2) { + PrintNetUsrHelp(options); + return -1; + + } + + var usrCmd = options.ARGV[1]; + + if (usrCmd == "create") { + + } else if (usrCmd == "info") { + var userName; + + if (options.ARGV.length > 2) { + userName = options.ARGV[2]; + } else { + println("No username provided"); + return -1; + } + usrCtx = ctx.UserMgr(); + + UserInfo(usrCtx, userName); + + } else if (usrCmd == "list") { + + if (options.ARGV.length > 2) { + usrCtx = ctx.UserMgr(options.ARGV[2]); + } else { + usrCtx = ctx.UserMgr(); + } + + ListUsers(usrCtx); + + } else { + println("Unknown command specified."); + PrintNetUsrHelp(options); + } +} -- cgit