dach_cli/manager.sh

53 lines
1.4 KiB
Bash
Executable File

ACTION=$1
BASE_URL="http://localhost:1337"
print_help() {
echo "./manager.sh [ACTION] [ARGUMENTS] <UNNECESSARY ARGUMENTS>"
echo "./manager.sh login [login] [password]"
echo "./manager.sh create_board [boardId] [boardTitle]"
echo "./manager.sh create_thread [boardId] [threadTitle] [content] <isLocked> <isPinned> <options>"
echo "./manager.sh get_boards"
echo "./manager.sh get_threads [boardId]"
echo "./manager.sh post [options] [content] [threadId] [boardId]"
echo "./manager.sh get_posts [boardId] [threadId]"
}
curl_post() {
curl -X POST -H "Content-Type: application/json" -b cookies.txt -c cookies.txt --data $*
}
curl_get() {
curl -X GET -c cookies.txt -b cookies.txt ${BASE_URL}$*
}
case $ACTION in
"help")
print_help
;;
"login")
curl_post '{"login":"'${2}'","password":"'${3}'"}' ${BASE_URL}/api/login
;;
"create_board")
curl_post '{"boardId":"'${2}'","boardTitle":"'${3}'"}' ${BASE_URL}/api/createBoard
;;
"get_boards")
curl_get /api/getBoards
;;
"create_thread")
curl_post '{"boardId":"'${2}'","threadTitle":"'${3}'","content":"'${4}'","isLocked":"'${5}'","isPinned":"'${6}'","options":"'${7}'"}' ${BASE_URL}/api/createThread
;;
"get_threads")
curl_get /api/getThreads/${2}
;;
"post")
curl_post '{"options":"'${2}'","content":"'${3}'","threadId":"'${4}'","boardId":"'${5}'"}' ${BASE_URL}/api/post
;;
"get_posts")
curl_get /api/getPosts/${2}/${3}
;;
*)
print_help
;;
esac