@@ 4,32 4,6 @@ protocol="http"
domain="blog.eddiebarraco.docker"
api_prefix_url="$protocol://$domain/api"
-send_request()
-{
- url="$1"
- post_data="$2"
- method="${3:-GET}"
- authentication="$4"
-
- if [ ! -z "$authentication" ]
- then
- ensure_token
- fi
-
- echo $(curl -s -X "$method" -H "Authorization: Bearer $TOKEN" -H "Content-Type: application/json" -d "$post_data" "$url")
-}
-
-cmd_token_get() {
- username="$1"
- read -s password
-
- url="$api_prefix_url/login_check"
- post_data="{\"username\": \"$username\", \"password\": \"$password\"}"
-
- token=$(send_request "$url" "$post_data" "POST" | jq -r .token)
- echo "export TOKEN=$token"
-}
-
ensure_token() {
if [ -z "$TOKEN" ]
then
@@ 40,102 14,77 @@ ensure_token() {
fi
}
-cmd_tag_post() {
- ensure_token
-
- url="$api_prefix_url/tags"
-
- label="$1"
+send_request()
+{
+ url="$1"
+ post_data="$2"
+ method="$3"
- if [ -z "$label" ]
- then
- cmd_tag_post_usage
- exit 1
- fi
-
- post_data="{\"label\": \"$label\"}"
-
- response=$(send_request "$url" "$post_data" "POST" true)
-
- echo $response | jq .
+ echo $(curl -s -X "$method" -H "Authorization: Bearer $TOKEN" -H "Content-Type: application/json" -d "$post_data" "$url")
}
-cmd_tag_get() {
- ensure_token
-
- id="$1"
+send_rest_get_request()
+{
+ target="$1"
+ id="$2"
+ query_parameters="$3"
if [ -z "$id" ]
then
- cmd_tag_get_usage
+ url="$api_prefix_url/$target"
+ else
+ url="$api_prefix_url/$target/$id"
+ fi
+
+ if [ ! -z "$query_parameters" ]
+ then
+ url="$url?$query_parameters"
+ fi
+
+ send_request "$url" "$post_data" "GET"
+}
+
+send_rest_post_request()
+{
+ target="$1"
+ post_data="$2"
+
+ url="$api_prefix_url/$target"
+
+ send_request "$url" "$post_data" "POST"
+}
+
+cmd_token_get_usage() {
+ echo "$0 token get user-name"
+ echo " password is read from stdin"
+}
+
+cmd_token_usage() {
+ cmd_token_get_usage
+}
+
+cmd_token() {
+ case "$1" in
+ get) shift; cmd_token_get "$@";;
+ *) cmd_token_usage ;;
+ esac
+}
+
+cmd_token_get() {
+ username="$1"
+ if [ -z "$username" ]
+ then
+ cmd_token_get_usage
exit 1
fi
- url="$api_prefix_url/tags/$id"
-
- response=$(send_request "$url" "$post_data" "GET" true)
-
- echo $response | jq .
-}
-
-cmd_tag_list() {
- ensure_token
-
- url="$api_prefix_url/tags"
-
- response=$(send_request "$url" "$post_data" "GET" true)
-
- echo $response | jq .
-}
-
-cmd_tag_find() {
- ensure_token
-
- search="$1"
-
- if [ -z "$search" ]
- then
- cmd_tag_find_usage
- exit 1
- fi
-
- url="$api_prefix_url/tags?$search"
-
- response=$(send_request "$url" "$post_data" "GET" true)
+ read -s password
- echo $response | jq .
-}
-
-cmd_tag_put() {
- ensure_token
-
- id="$1"
- label="$2"
-
- if [ -z "$id" ] || [ -z "$label" ]
- then
- cmd_tag_put_usage
- exit 1
- fi
-
- url="$api_prefix_url/tags/$id"
+ url="$api_prefix_url/login_check"
+ post_data="{\"username\": \"$username\", \"password\": \"$password\"}"
- post_data="{\"label\": \"$label\"}"
-
- response=$(send_request "$url" "$post_data" "PUT" true)
-
- echo $response | jq .
-}
-
-cmd_tag() {
- case "$1" in
- post) shift; cmd_tag_post "$@";;
- put) shift; cmd_tag_put "$@";;
- get) shift; cmd_tag_get "$@";;
- list) shift; cmd_tag_list "$@";;
- find) shift; cmd_tag_find "$@";;
- *) cmd_tag_usage ;;
- esac
+ token=$(send_request "$url" "$post_data" "POST" | jq -r .token)
+ echo "export TOKEN=$token"
}
cmd_tag_post_usage() {
@@ 167,16 116,79 @@ cmd_tag_usage() {
cmd_tag_put_usage
}
-cmd_token() {
+cmd_tag() {
+ ensure_token
case "$1" in
- get) shift; cmd_token_get "$@";;
- *) cmd_token_usage ;;
+ post) shift; cmd_tag_post "$@";;
+ put) shift; cmd_tag_put "$@";;
+ get) shift; cmd_tag_get "$@";;
+ list) shift; cmd_tag_list "$@";;
+ find) shift; cmd_tag_find "$@";;
+ *) cmd_tag_usage ;;
esac
}
+cmd_tag_list() {
-cmd_token_usage() {
- echo "$0 token get user-name"
- echo " password is read from stdin"
+ echo $(send_rest_get_request "tags") | jq .
+}
+
+cmd_tag_find() {
+
+ search="$1"
+
+ if [ -z "$search" ]
+ then
+ cmd_tag_find_usage
+ exit 1
+ fi
+
+ echo $(send_rest_get_request "tags" "$id" "$search") | jq .
+}
+
+cmd_tag_get() {
+ id="$1"
+
+ if [ -z "$id" ]
+ then
+ cmd_tag_get_usage
+ exit 1
+ fi
+
+ echo $(send_rest_get_request "tags" "$id") | jq .
+}
+
+cmd_tag_post() {
+ label="$1"
+
+ if [ -z "$label" ]
+ then
+ cmd_tag_post_usage
+ exit 1
+ fi
+
+ post_data="{\"label\": \"$label\"}"
+
+ echo $(send_rest_post_request "tags" "$post_data") | jq .
+}
+
+cmd_tag_put() {
+
+ id="$1"
+ label="$2"
+
+ if [ -z "$id" ] || [ -z "$label" ]
+ then
+ cmd_tag_put_usage
+ exit 1
+ fi
+
+ url="$api_prefix_url/tags/$id"
+
+ post_data="{\"label\": \"$label\"}"
+
+ response=$(send_request "$url" "$post_data" "PUT")
+
+ echo $response | jq .
}
cmd_global_usage() {