Skip to content

Commit 152c023

Browse files
committed
Wraps runsetup in function to prevent early execution with curl
1 parent 5923347 commit 152c023

File tree

1 file changed

+98
-94
lines changed

1 file changed

+98
-94
lines changed

bootstrap.sh

+98-94
Original file line numberDiff line numberDiff line change
@@ -52,112 +52,116 @@ check_npm() {
5252
}
5353

5454

55-
echo ''
56-
echo 'This will setup parse-server in the current directory'
57-
confirm 'Y' 'Do you want to continue? (Y/n): '
55+
function runsetup {
56+
echo ''
57+
echo 'This will setup parse-server in the current directory'
58+
confirm 'Y' 'Do you want to continue? (Y/n): '
5859

59-
check_node
60-
check_npm
60+
check_node
61+
check_npm
6162

62-
echo "Setting up parse-server in $PWD"
63+
echo "Setting up parse-server in $PWD"
6364

64-
if [ -f './package.json' ]; then
65-
echo "\n${RED}package.json exists${NC}"
66-
confirm 'N' "Do you want to continue? \n${RED}this will erase your configuration${NC} (y/N): "
67-
fi
65+
if [ -f './package.json' ]; then
66+
echo "\n${RED}package.json exists${NC}"
67+
confirm 'N' "Do you want to continue? \n${RED}this will erase your configuration${NC} (y/N): "
68+
fi
6869

6970

70-
if [ -f 'config.json' ]; then
71-
echo "\n${RED}config.json exists${NC}"
72-
confirm 'N' "Do you want to continue? \n${RED}this will erase your configuration${NC} (y/N): "
73-
fi
71+
if [ -f 'config.json' ]; then
72+
echo "\n${RED}config.json exists${NC}"
73+
confirm 'N' "Do you want to continue? \n${RED}this will erase your configuration${NC} (y/N): "
74+
fi
7475

75-
APP_NAME=''
76-
i=0
77-
while [ "$APP_NAME" = "" ]
78-
do
79-
[[ $i != 0 ]] && printf "${RED}An application name is required!${NC}\n"
80-
printf 'Enter your Application Name: '
81-
read -r APP_NAME
82-
i=$(($i+1))
83-
done
76+
APP_NAME=''
77+
i=0
78+
while [ "$APP_NAME" = "" ]
79+
do
80+
[[ $i != 0 ]] && printf "${RED}An application name is required!${NC}\n"
81+
printf 'Enter your Application Name: '
82+
read -r APP_NAME
83+
i=$(($i+1))
84+
done
8485

85-
printf 'Enter your appId (leave empty to generate): '
86-
read -r APP_ID
86+
printf 'Enter your appId (leave empty to generate): '
87+
read -r APP_ID
8788

88-
[[ $APP_ID = '' ]] && APP_ID=$(genstring) && printf "\n$APP_ID\n\n"
89+
[[ $APP_ID = '' ]] && APP_ID=$(genstring) && printf "\n$APP_ID\n\n"
8990

90-
printf 'Enter your masterKey (leave empty to generate): '
91-
read -r MASTER_KEY
91+
printf 'Enter your masterKey (leave empty to generate): '
92+
read -r MASTER_KEY
9293

93-
[[ $MASTER_KEY = '' ]] && MASTER_KEY=$(genstring) && printf "\n$MASTER_KEY\n\n"
94+
[[ $MASTER_KEY = '' ]] && MASTER_KEY=$(genstring) && printf "\n$MASTER_KEY\n\n"
9495

95-
printf "Enter your mongodbURI (%s): " $DEFAULT_MONGODB_URI
96-
read -r MONGODB_URI
96+
printf "Enter your mongodbURI (%s): " $DEFAULT_MONGODB_URI
97+
read -r MONGODB_URI
9798

98-
[[ $MONGODB_URI = '' ]] && MONGODB_URI="$DEFAULT_MONGODB_URI"
99+
[[ $MONGODB_URI = '' ]] && MONGODB_URI="$DEFAULT_MONGODB_URI"
99100

100-
cat > ./config.json << EOF
101-
{
102-
"appId": "$APP_ID",
103-
"masterKey": "$MASTER_KEY",
104-
"appName": "$APP_NAME",
105-
"cloud": "./cloud/main",
106-
"mongodbURI": "$MONGODB_URI"
107-
}
108-
EOF
109-
echo "${CHECK} Created config.json"
110-
111-
# Make a proper npm app name
112-
NPM_APP_NAME=$(echo "$APP_NAME" | tr '[:upper:]' '[:lower:]' | tr ' ' '-')
113-
cat > ./package.json << EOF
114-
{
115-
"name": "$NPM_APP_NAME",
116-
"scripts": {
117-
"start": "parse-server ./config.json"
118-
},
119-
"dependencies": {
120-
"parse-server": "^2.0.0"
101+
cat > ./config.json << EOF
102+
{
103+
"appId": "$APP_ID",
104+
"masterKey": "$MASTER_KEY",
105+
"appName": "$APP_NAME",
106+
"cloud": "./cloud/main",
107+
"mongodbURI": "$MONGODB_URI"
121108
}
109+
EOF
110+
echo "${CHECK} Created config.json"
111+
112+
# Make a proper npm app name
113+
NPM_APP_NAME=$(echo "$APP_NAME" | tr '[:upper:]' '[:lower:]' | tr ' ' '-')
114+
cat > ./package.json << EOF
115+
{
116+
"name": "$NPM_APP_NAME",
117+
"scripts": {
118+
"start": "parse-server ./config.json"
119+
},
120+
"dependencies": {
121+
"parse-server": "^2.0.0"
122+
}
123+
}
124+
EOF
125+
echo "${CHECK} Created package.json"
126+
127+
if [ -d "./cloud/" ]; then
128+
echo "${CHECK} cloud/ exists"
129+
else
130+
mkdir -p ./cloud
131+
echo "${CHECK} Created cloud/"
132+
fi
133+
134+
if [ -e "./cloud/main.js" ]; then
135+
echo "${CHECK} cloud/main.js exists"
136+
else
137+
echo "${CHECK} Created cloud/main.js"
138+
cat > ./cloud/main.js << EOF
139+
// Cloud Code entry point
140+
141+
EOF
142+
fi
143+
144+
if [ -d "./public/" ]; then
145+
echo "${CHECK} public/ exists"
146+
else
147+
mkdir -p ./public
148+
echo "${CHECK} Created public/"
149+
fi
150+
151+
echo "\n${CHECK} running npm install\n"
152+
153+
npm install
154+
155+
CURL_CMD=$(cat << EOF
156+
curl -X POST -H 'X-Parse-Application-Id: ${APP_ID}' \\
157+
-H 'Content-Type: application/json' \\
158+
-d '{"foo":"bar"}' http://localhost:1337/parse/classes/TestObject
159+
EOF)
160+
161+
echo "\n${CHECK} Happy Parsing!\n\n"
162+
echo "${CHECK} Make sure you have ${BOLD}mongo${NC} listening on ${BOLD}${MONGODB_URI}${NC}"
163+
echo "${CHECK} start parse-server by running ${BOLD}npm start${NC}"
164+
echo "${CHECK} Test your setup with:\n\n${CURL_CMD}\n"
122165
}
123-
EOF
124-
echo "${CHECK} Created package.json"
125-
126-
if [ -d "./cloud/" ]; then
127-
echo "${CHECK} cloud/ exists"
128-
else
129-
mkdir -p ./cloud
130-
echo "${CHECK} Created cloud/"
131-
fi
132-
133-
if [ -e "./cloud/main.js" ]; then
134-
echo "${CHECK} cloud/main.js exists"
135-
else
136-
echo "${CHECK} Created cloud/main.js"
137-
cat > ./cloud/main.js << EOF
138-
// Cloud Code entry point
139-
140-
EOF
141-
fi
142-
143-
if [ -d "./public/" ]; then
144-
echo "${CHECK} public/ exists"
145-
else
146-
mkdir -p ./public
147-
echo "${CHECK} Created public/"
148-
fi
149-
150-
echo "\n${CHECK} running npm install\n"
151-
152-
npm install
153-
154-
CURL_CMD=$(cat << EOF
155-
curl -X POST -H 'X-Parse-Application-Id: ${APP_ID}' \\
156-
-H 'Content-Type: application/json' \\
157-
-d '{"foo":"bar"}' http://localhost:1337/parse/classes/TestObject
158-
EOF)
159-
160-
echo "\n${CHECK} Happy Parsing!\n\n"
161-
echo "${CHECK} Make sure you have ${BOLD}mongo${NC} listening on ${BOLD}${MONGODB_URI}${NC}"
162-
echo "${CHECK} start parse-server by running ${BOLD}npm start${NC}"
163-
echo "${CHECK} Test your setup with:\n\n${CURL_CMD}\n"
166+
167+
runsetup

0 commit comments

Comments
 (0)