#!/bin/bash
#
# use the command line interface to install standard actions deployed
# automatically
#
# To run this command
# ./installCatalog.sh <authkey> <edgehost> <dburl> <dbprefix> <apihost> <workers>

set -e
set -x

: ${OPENWHISK_HOME:?"OPENWHISK_HOME must be set and non-empty"}
WSK_CLI="$OPENWHISK_HOME/bin/wsk"

if [ $# -eq 0 ]
then
echo "Usage: ./installCatalog.sh <authkey> <edgehost> <dburl> <dbprefix> <apihost> <workers>"
fi

AUTH="$1"
EDGEHOST="$2"
DB_URL="$3"
DB_NAME="${4}cloudanttrigger"
APIHOST="$5"
WORKERS="$6"

# If the auth key file exists, read the key in the file. Otherwise, take the
# first argument as the key itself.
if [ -f "$AUTH" ]; then
    AUTH=`cat $AUTH`
fi

# Make sure that the EDGEHOST is not empty.
: ${EDGEHOST:?"EDGEHOST must be set and non-empty"}

# Make sure that the DB_URL is not empty.
: ${DB_URL:?"DB_URL must be set and non-empty"}

# Make sure that the DB_NAME is not empty.
: ${DB_NAME:?"DB_NAME must be set and non-empty"}

# Make sure that the APIHOST is not empty.
: ${APIHOST:?"APIHOST must be set and non-empty"}

PACKAGE_HOME="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"

export WSK_CONFIG_FILE= # override local property file to avoid namespace clashes

echo Installing Cloudant package.

$WSK_CLI -i --apihost "$EDGEHOST" package update --auth "$AUTH"  --shared yes cloudant \
    -a description "Cloudant database service" \
    -a parameters '[ {"name":"bluemixServiceName", "required":false, "bindTime":true}, {"name":"username", "required":true, "bindTime":true, "description": "Your Cloudant username"}, {"name":"password", "required":true, "type":"password", "bindTime":true, "description": "Your Cloudant password"}, {"name":"host", "required":true, "bindTime":true, "description": "This is usually your username.cloudant.com"}, {"name":"dbname", "required":false, "description": "The name of your Cloudant database"}, {"name":"overwrite", "required":false, "type": "boolean"} ]' \
    -p bluemixServiceName 'cloudantNoSQLDB' \
    -p host '' \
    -p username '' \
    -p password '' \
    -p dbname '' \
    -p apihost "$APIHOST"

if [ -n "$WORKERS" ];
then
    $WSK_CLI -i --apihost "$EDGEHOST" package update --auth "$AUTH" --shared no cloudantWeb \
        -p DB_URL "$DB_URL" \
        -p DB_NAME "$DB_NAME" \
        -p apihost "$APIHOST" \
        -p workers "$WORKERS"
else
    $WSK_CLI -i --apihost "$EDGEHOST" package update --auth "$AUTH" --shared no cloudantWeb \
        -p DB_URL "$DB_URL" \
        -p DB_NAME "$DB_NAME" \
        -p apihost "$APIHOST"
fi

# Cloudant feed action

$WSK_CLI -i --apihost "$EDGEHOST" action update --auth "$AUTH" cloudant/changes "$PACKAGE_HOME/actions/changes.js" \
    -t 90000 \
    -a feed true \
    -a description 'Database change feed' \
    -a parameters '[ {"name":"dbname", "required":true}, {"name": "filter", "required":false, "type": "string", "description": "The name of your Cloudant database filter"}, {"name": "query_params", "required":false, "description": "JSON Object containing query parameters that are passed to the filter"} ]' \
    -a sampleInput '{ "dbname": "mydb", "filter": "mailbox/by_status", "query_params": {"status": "new"} }'

# Cloudant web feed action

$WSK_CLI -i --apihost "$EDGEHOST" action update --auth "$AUTH" cloudantWeb/changesWebAction "$PACKAGE_HOME/actions/changesWebAction.js" \
    -a description 'Create/Delete a trigger in cloudant provider Database' \
    --web true

# Cloudant account actions

$WSK_CLI -i --apihost "$EDGEHOST" action update --auth "$AUTH" cloudant/create-database \
    "$PACKAGE_HOME/actions/account-actions/create-database.js" \
    -a description 'Create Cloudant database' \
    -a parameters '[ {"name":"dbname", "required":true} ]'

$WSK_CLI -i --apihost "$EDGEHOST" action update --auth "$AUTH" cloudant/read-database \
    "$PACKAGE_HOME/actions/account-actions/read-database.js" \
    -a description 'Read Cloudant database' \
    -a parameters '[ {"name":"dbname", "required":true} ]'

$WSK_CLI -i --apihost "$EDGEHOST" action update --auth "$AUTH" cloudant/delete-database \
    "$PACKAGE_HOME/actions/account-actions/delete-database.js" \
    -a description 'Delete Cloudant database' \
    -a parameters '[ {"name":"dbname", "required":true} ]'

$WSK_CLI -i --apihost "$EDGEHOST" action update --auth "$AUTH" cloudant/list-all-databases \
    "$PACKAGE_HOME/actions/account-actions/list-all-databases.js" \
    -a description 'List all Cloudant databases'

$WSK_CLI -i --apihost "$EDGEHOST" action update --auth "$AUTH" cloudant/read-updates-feed \
    "$PACKAGE_HOME/actions/account-actions/read-updates-feed.js" \
    -a description 'Read updates feed from Cloudant account (non-continuous)' \
    -a parameters '[ {"name":"dbname", "required":true}, {"name":"params", "required":false} ]'

# Cloudant database actions

$WSK_CLI -i --apihost "$EDGEHOST" action update --auth "$AUTH" cloudant/create-document \
    "$PACKAGE_HOME/actions/database-actions/create-document.js" \
    -a description 'Create document in database' \
    -a parameters '[ {"name":"dbname", "required":true}, {"name":"doc", "required":true, "description": "The JSON document to insert"}, {"name":"params", "required":false} ]' \

$WSK_CLI -i --apihost "$EDGEHOST" action update --auth "$AUTH" cloudant/read \
    "$PACKAGE_HOME/actions/database-actions/read-document.js" \
    -a description 'Read document from database' \
    -a parameters '[ {"name":"dbname", "required":true}, {"name":"id", "required":true, "description": "The Cloudant document id to fetch"}, {"name":"params", "required":false}]' \
    -p id ''

$WSK_CLI -i --apihost "$EDGEHOST" action update --auth "$AUTH" cloudant/read-document \
    "$PACKAGE_HOME/actions/database-actions/read-document.js" \
    -a description 'Read document from database' \
    -a parameters '[ {"name":"dbname", "required":true}, {"name":"docid", "required":true, "description": "The Cloudant document id to fetch"}, {"name":"params", "required":false}]' \
    -p docid ''

$WSK_CLI -i --apihost "$EDGEHOST" action update --auth "$AUTH" cloudant/write \
    "$PACKAGE_HOME/actions/database-actions/write-document.js" \
    -a description 'Write document in database' \
    -a parameters '[ {"name":"dbname", "required":true}, {"name":"doc", "required":true} ]' \
    -p doc '{}'

$WSK_CLI -i --apihost "$EDGEHOST" action update --auth "$AUTH" cloudant/update-document \
    "$PACKAGE_HOME/actions/database-actions/update-document.js" \
    -a description 'Update document in database' \
    -a parameters '[ {"name":"dbname", "required":true}, {"name":"doc", "required":true}, {"name":"params", "required":false} ]' \
    -p doc '{}'

$WSK_CLI -i --apihost "$EDGEHOST" action update --auth "$AUTH" cloudant/delete-document \
    "$PACKAGE_HOME/actions/database-actions/delete-document.js" \
    -a description 'Delete document from database' \
    -a parameters '[ {"name":"dbname", "required":true}, {"name":"docid", "required":true, "description": "The Cloudant document id to delete"},  {"name":"docrev", "required":true, "description": "The document revision number"} ]' \
    -p docid '' \
    -p docrev ''

$WSK_CLI -i --apihost "$EDGEHOST" action update --auth "$AUTH" cloudant/list-documents \
    "$PACKAGE_HOME/actions/database-actions/list-documents.js" \
    -a description 'List all docs from database' \
    -a parameters '[ {"name":"dbname", "required":true}, {"name":"params", "required":false} ]'

$WSK_CLI -i --apihost "$EDGEHOST" action update --auth "$AUTH" cloudant/list-design-documents \
    "$PACKAGE_HOME/actions/database-actions/list-design-documents.js" \
    -a description 'List design documents from database' \
    -a parameters '[ {"name":"dbname", "required":true}, {"name":"includedocs", "required":false} ]' \

$WSK_CLI -i --apihost "$EDGEHOST" action update --auth "$AUTH" cloudant/create-query-index \
    "$PACKAGE_HOME/actions/database-actions/create-query-index.js" \
    -a description 'Create a Cloudant Query index into database' \
    -a parameters '[ {"name":"dbname", "required":true}, {"name":"index", "required":true} ]' \
    -p index ''

$WSK_CLI -i --apihost "$EDGEHOST" action update --auth "$AUTH" cloudant/list-query-indexes \
    "$PACKAGE_HOME/actions/database-actions/list-query-indexes.js" \
    -a description 'List Cloudant Query indexes from database' \
    -a parameters '[ {"name":"dbname", "required":true} ]' \

$WSK_CLI -i --apihost "$EDGEHOST" action update --auth "$AUTH" cloudant/exec-query-find \
    "$PACKAGE_HOME/actions/database-actions/exec-query-find.js" \
    -a description 'Execute query against Cloudant Query index' \
    -a parameters '[ {"name":"dbname", "required":true}, {"name":"query", "required":true} ]' \
    -p query ''

$WSK_CLI -i --apihost "$EDGEHOST" action update --auth "$AUTH" cloudant/exec-query-search \
    "$PACKAGE_HOME/actions/database-actions/exec-query-search.js" \
    -a description 'Execute query against Cloudant search' \
    -a parameters '[ {"name":"dbname", "required":true}, {"name":"docid", "required":true}, {"name":"indexname", "required":true}, {"name":"search", "required":true} ]' \
    -p docid '' \
    -p indexname '' \
    -p search ''

$WSK_CLI -i --apihost "$EDGEHOST" action update --auth "$AUTH" cloudant/exec-query-view \
    "$PACKAGE_HOME/actions/database-actions/exec-query-view.js" \
    -a description 'Call view in design document from database' \
    -a parameters '[ {"name":"dbname", "required":true}, {"name":"docid", "required":true}, {"name":"viewname", "required":true}, {"name":"params", "required":false} ]' \
    -p docid '' \
    -p viewname ''

$WSK_CLI -i --apihost "$EDGEHOST" action update --auth "$AUTH" cloudant/manage-bulk-documents \
    "$PACKAGE_HOME/actions/database-actions/manage-bulk-documents.js" \
    -a description 'Create, Update, and Delete documents in bulk' \
    -a parameters '[ {"name":"dbname", "required":true}, {"name":"docs", "required":true}, {"name":"params", "required":false} ]' \
    -p docs '{}'

$WSK_CLI -i --apihost "$EDGEHOST" action update --auth "$AUTH" cloudant/delete-view \
    "$PACKAGE_HOME/actions/database-actions/delete-view.js" \
    -a description 'Delete view from design document' \
    -a parameters '[ {"name":"dbname", "required":true}, {"name":"docid", "required":true}, {"name":"viewname", "required":true}, {"name":"params", "required":false} ]' \
    -p docid '' \
    -p viewname ''

$WSK_CLI -i --apihost "$EDGEHOST" action update --auth "$AUTH" cloudant/delete-query-index \
    "$PACKAGE_HOME/actions/database-actions/delete-query-index.js" \
    -a description 'Delete index from design document' \
    -a parameters '[ {"name":"dbname", "required":true}, {"name":"docid", "required":true}, {"name":"indexname", "required":true}, {"name":"params", "required":false} ]' \
    -p docid '' \
    -p indexname ''

$WSK_CLI -i --apihost "$EDGEHOST" action update --auth "$AUTH" cloudant/read-changes-feed \
    "$PACKAGE_HOME/actions/database-actions/read-changes-feed.js" \
    -a description 'Read Cloudant database changes feed (non-continuous)' \
    -a parameters '[ {"name":"dbname", "required":true}, {"name":"params", "required":false} ]'

$WSK_CLI -i --apihost "$EDGEHOST" action update --auth "$AUTH" cloudant/create-attachment \
    "$PACKAGE_HOME/actions/database-actions/create-update-attachment.js" \
    -a description 'Create document attachment in database' \
    -a parameters '[ {"name":"dbname", "required":true}, {"name":"docid", "required":true}, {"name":"docrev", "required":true}, {"name":"attachment", "required":true}, {"name":"attachmentname", "required":true}, {"name":"contenttype", "required":true}, {"name":"params", "required":false} ]' \
    -p docid '' \
    -p docrev '' \
    -p attachment '{}' \
    -p attachmentname '' \
    -p contenttype ''

$WSK_CLI -i --apihost "$EDGEHOST" action update --auth "$AUTH" cloudant/read-attachment \
    "$PACKAGE_HOME/actions/database-actions/read-attachment.js" \
    -a description 'Read document attachment from database' \
    -a parameters '[ {"name":"dbname", "required":true}, {"name":"docid", "required":true}, {"name":"attachmentname", "required":true}, {"name":"params", "required":false} ]' \
    -p docid '' \
    -p attachmentname ''

$WSK_CLI -i --apihost "$EDGEHOST" action update --auth "$AUTH" cloudant/update-attachment \
    "$PACKAGE_HOME/actions/database-actions/create-update-attachment.js" \
    -a description 'Update document attachment in database' \
    -a parameters '[ {"name":"dbname", "required":true}, {"name":"docid", "required":true}, {"name":"docrev", "required":true}, {"name":"attachment", "required":true}, {"name":"attachmentname", "required":true}, {"name":"contenttype", "required":true}, {"name":"params", "required":false} ]' \
    -p docid '' \
    -p docrev '' \
    -p attachment '{}' \
    -p attachmentname '' \
    -p contenttype ''

$WSK_CLI -i --apihost "$EDGEHOST" action update --auth "$AUTH" cloudant/delete-attachment \
    "$PACKAGE_HOME/actions/database-actions/delete-attachment.js" \
    -a description 'Delete document attachment from database' \
    -a parameters '[ {"name":"dbname", "required":true}, {"name":"docid", "required":true}, {"name":"docrev", "required":true}, {"name":"attachmentname", "required":true}, {"name":"params", "required":false} ]' \
    -p docid '' \
    -p docrev '' \
    -p attachmentname ''