summaryrefslogtreecommitdiff
path: root/lib/gitano/command.lua
diff options
context:
space:
mode:
authorDaniel Silverstone <dsilvers@digital-scurf.org>2012-05-01 11:35:40 +0100
committerDaniel Silverstone <dsilvers@digital-scurf.org>2012-05-01 11:35:40 +0100
commit4523e3873a2f33828f1455489740d8f9242b1f47 (patch)
treec8acc6a6b1bd40de82d3b6e31c059017ddba2c3d /lib/gitano/command.lua
parent292d3ec86154bf9dd1972e32ba92f7959f2c8dd3 (diff)
downloadgitano-4523e3873a2f33828f1455489740d8f9242b1f47.tar.gz
COMMAND: Add a whoami command
Diffstat (limited to 'lib/gitano/command.lua')
-rw-r--r--lib/gitano/command.lua30
1 files changed, 30 insertions, 0 deletions
diff --git a/lib/gitano/command.lua b/lib/gitano/command.lua
index 3135bb8..b0c3ebd 100644
--- a/lib/gitano/command.lua
+++ b/lib/gitano/command.lua
@@ -180,6 +180,36 @@ end
assert(register_cmd("set-owner", builtin_set_owner_validate,
builtin_set_owner_prep, builtin_set_owner_run))
+local function builtin_whoami_validate(config, repo, cmdline)
+ -- whoami
+ if #cmdline > 1 then
+ log.error("usage: whoami")
+ return false
+ end
+ return true
+end
+
+local function builtin_whoami_prep(config, repo, cmdline)
+ return {
+ ["gitano/action"] = "self"
+ }
+end
+
+local function builtin_whoami_run(config, repo, cmdline, env)
+ local username = env["GITANO_USER"]
+ local userdata = config.users[username]
+ log.state(" User name:", username)
+ log.state(" Real name:", userdata.real_name or "Unknown")
+ log.state("Email Address:", userdata.email_address or "unknown@example.com")
+ for tagname, keydata in pairs(userdata.keys) do
+ log.state(" SSH key:", tagname, "=>", keydata.keytag)
+ end
+ return "exit", 0
+end
+
+assert(register_cmd("whoami", builtin_whoami_validate,
+ builtin_whoami_prep, builtin_whoami_run))
+
return {
register = register_cmd,
get = get_cmd,