#!/usr/bin/env bash

service_extension_setup()
{
  local extension="${1}" module="${2}" path="${3}" ${language:=shell}

  enter "${path}"

  ensure_paths_exist "modules/${language}/${module}" "actions/${module}"

  for file in dsl initialize cli
  do
    write '#!/usr/bin/env bash' to "modules/${language}/${module}/${file}"
  done

  write "\n${module}_cli\n" append to "modules/${language}/${module}/cli"

  write '#!/usr/bin/env bash' to "actions/${module}/help"
  chmod_files 0755 "actions/${module}/help"

  write "
description \"Extension for managing ${extension} (${website_url}).\"

action \"service start\" \"Starts ${extension} service.\"
action \"service stop\" \"Stop ${extension} service.\"
action \"service restart\" \"Restarts ${extension} service.\"
action \"service status\" \"Display ${extension} status.\"
action \"service list\" \"List ${extension} master and worker processes.\"

show_help usage
" append to "actions/${module}/help"

  for action in start stop restart status
  do
    write "${action}=${module}_${action}()" append to "actions/${module}/.actions"
  done
  chmod_files 0755 "actions/${module}/.actions"
}

