#!/usr/bin/env bash

set -e

command:user() {
  get-args '?user:get-user'
  api-get "/users/$user"
  msg_404="User '$user' not found."
}

ok:user() {
  fields=(
    login type name html_url email blog location company bio
    followers following public_repos public_gists created_at
  )
  report-data
}

command:user-get() {
  get-args '?user:get-user' key
  api-get "/users/$user"
  OK || {
    msg_fail="User '$user' not found"
    return
  }
  local value="$(JSON.get -a "/$key" -)"
  if [ -n "$value" ]; then
    msg_ok="$value"
  else
    msg_fail="Couldn't get value for '$key'"
    OK=1
  fi
}

command:user-edit() {
  require-auth
  get-args %pairs
  api-patch /user "$(json-dump-object-pairs)"
}

# vim: set lisp:
