notedux 1.0.1 → 1.0.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (2) hide show
  1. package/notedux +149 -60
  2. package/package.json +1 -1
package/notedux CHANGED
@@ -2,7 +2,6 @@
2
2
 
3
3
  CONFIG_FILE="$HOME/.notedux.conf"
4
4
  API="https://notedux.com/api/note"
5
-
6
5
  show_help() {
7
6
  cat <<EOF
8
7
 
@@ -52,8 +51,17 @@ save_token() {
52
51
 
53
52
 
54
53
  delete_token() {
55
- rm -f "$CONFIG_FILE"
56
- echo "Token deleted."
54
+ read -p "Are you sure you want to delete the token? [y/N] " answer
55
+
56
+ case "$answer" in
57
+ [Yy]|[Yy][Ee][Ss])
58
+ rm -f "$CONFIG_FILE"
59
+ echo "Token deleted."
60
+ ;;
61
+ *)
62
+ echo "Operation cancelled."
63
+ ;;
64
+ esac
57
65
  }
58
66
 
59
67
 
@@ -73,6 +81,10 @@ confirm() {
73
81
 
74
82
  generate_token() {
75
83
 
84
+ if grep -q '^DEFAULT_TOKEN=' "$CONFIG_FILE" 2>/dev/null; then
85
+ echo "Default token is already set."
86
+ return 1
87
+ fi
76
88
  echo "Generating token..."
77
89
 
78
90
  RESPONSE=$(curl -s -X POST "$API/create")
@@ -115,16 +127,25 @@ show_note() {
115
127
  HEADERS=$(mktemp)
116
128
 
117
129
  RESPONSE=$(curl -s -D "$HEADERS" \
130
+ -w "\n%{http_code}" \
118
131
  -X POST \
119
132
  "$API/get" \
120
- --data-urlencode "token=$TOKEN" )
121
- echo ""
122
-
123
- echo "$RESPONSE"| nl -ba
133
+ --data-urlencode "token=$TOKEN")
124
134
  echo ""
135
+ HTTP_CODE=$(echo "$RESPONSE" | tail -n1)
136
+ RESPONSE=$(echo "$RESPONSE" | sed '$d')
137
+
125
138
  LINK=$(grep -i '^x-note-link:' "$HEADERS" | cut -d' ' -f2- | tr -d '\r')
126
- echo -e "Link: \033[1;34m$LINK\033[0m (Copied to clipboard.)"
127
- echo "$LINK" | pbcopy
139
+ if [ "$HTTP_CODE" == "200" ]; then
140
+ echo "$RESPONSE"| nl -ba
141
+ echo ""
142
+ echo -e "Link: \033[1;34m$LINK\033[0m (Copied to clipboard.)"
143
+ echo "$LINK" | pbcopy
144
+ else
145
+ echo "$RESPONSE"
146
+ echo ""
147
+ fi
148
+
128
149
  }
129
150
 
130
151
 
@@ -141,60 +162,89 @@ add_note() {
141
162
 
142
163
  HEADERS=$(mktemp)
143
164
 
144
- NOTE=$(curl -s -D "$HEADERS" \
165
+ RESPONSE=$(curl -s -D "$HEADERS" \
166
+ -w "\n%{http_code}" \
145
167
  -X POST \
146
168
  "$API/add" \
147
169
  --data-urlencode "token=$TOKEN" \
148
170
  --data-urlencode "text=$TEXT")
149
-
150
- LINK=$(grep -i '^x-note-link:' "$HEADERS" | cut -d' ' -f2- | tr -d '\r')
151
- echo 'Saved.'
171
+ HTTP_CODE=$(echo "$RESPONSE" | tail -n1)
172
+ RESPONSE=$(echo "$RESPONSE" | sed '$d')
152
173
  echo ""
153
- echo -e "Link: \033[1;34m$LINK\033[0m (Copied to clipboard.)"
154
- echo "$LINK" | pbcopy
174
+ echo "$RESPONSE"
175
+ echo ""
176
+ LINK="https://notedux.com/n/$TOKEN"
177
+ if [ "$HTTP_CODE" = "200" ]; then
178
+ echo -e "Link: \033[1;34m$LINK\033[0m (Copied to clipboard.)"
179
+ echo "$LINK" | pbcopy
180
+ fi
155
181
  }
156
182
 
157
183
 
158
184
  set_note() {
159
185
 
160
- TEXT="$*"
186
+ read -p "The content of the note will be overwritten. Are you sure ? [y/N] " answer
161
187
 
162
- if [ -z "$TEXT" ]; then
163
- echo "Error: text missing."
164
- exit 1
165
- fi
166
-
167
-
168
- RESPONSE=$(curl -s -X POST "$API/set" \
169
- --data-urlencode "token=$TOKEN" \
170
- --data-urlencode "text=$TEXT")
171
-
172
- echo "$RESPONSE"
173
- # get and show the link to the note
174
- LINK=$(echo "$RESPONSE" | grep -o '"link"[ ]*:[ ]*"[^"]*"' | sed 's/.*:\s*"//;s/"//')
175
- echo "$LINK" | pbcopy
176
- echo -e "\033[1;34m$LINK\033[0m"
177
- echo "Copied to clipboard."
188
+ case "$answer" in
189
+ [Yy]|[Yy][Ee][Ss])
190
+ TEXT="$*"
191
+ if [ -z "$TEXT" ]; then
192
+ echo "Error: text missing."
193
+ exit 1
194
+ fi
195
+ HEADERS=$(mktemp)
196
+ RESPONSE=$(curl -s -D "$HEADERS" \
197
+ -w "\n%{http_code}" \
198
+ -X POST \
199
+ "$API/set" \
200
+ --data-urlencode "token=$TOKEN" \
201
+ --data-urlencode "text=$TEXT")
202
+ HTTP_CODE=$(echo "$RESPONSE" | tail -n1)
203
+ RESPONSE=$(echo "$RESPONSE" | sed '$d')
204
+ echo ""
205
+ echo "$RESPONSE"
206
+ echo ""
207
+ LINK="https://notedux.com/n/$TOKEN"
208
+ if [ "$HTTP_CODE" = "200" ]; then
209
+ echo -e "Link: \033[1;34m$LINK\033[0m (Copied to clipboard.)"
210
+ echo "$LINK" | pbcopy
211
+ fi
212
+ ;;
213
+ *)
214
+ echo "Operation cancelled."
215
+ ;;
216
+ esac
178
217
  }
179
218
 
180
219
 
181
- delete_all() {
182
-
183
- if ! confirm "Delete complete note"; then
184
- echo "Cancelled."
185
- exit
186
- fi
187
220
 
221
+ delete_all() {
188
222
 
189
- RESPONSE=$(curl -s -X POST "$API/delall" \
190
- --data-urlencode "token=$TOKEN")
223
+ read -p "Delete complete note. Are you sure ? [y/N] " answer
191
224
 
192
- echo "$RESPONSE"
193
- # get and show the link to the note
194
- LINK=$(echo "$RESPONSE" | grep -o '"link"[ ]*:[ ]*"[^"]*"' | sed 's/.*:\s*"//;s/"//')
195
- echo "$LINK" | pbcopy
196
- echo -e "\033[1;34m$LINK\033[0m"
197
- echo "Copied to clipboard."
225
+ case "$answer" in
226
+ [Yy]|[Yy][Ee][Ss])
227
+ HEADERS=$(mktemp)
228
+ RESPONSE=$(curl -s -D "$HEADERS" \
229
+ -w "\n%{http_code}" \
230
+ -X POST \
231
+ "$API/deleteall" \
232
+ --data-urlencode "token=$TOKEN")
233
+ HTTP_CODE=$(echo "$RESPONSE" | tail -n1)
234
+ RESPONSE=$(echo "$RESPONSE" | sed '$d')
235
+ echo ""
236
+ echo "$RESPONSE"
237
+ echo ""
238
+ LINK="https://notedux.com/n/$TOKEN"
239
+ if [ "$HTTP_CODE" = "200" ]; then
240
+ echo -e "Link: \033[1;34m$LINK\033[0m (Copied to clipboard.)"
241
+ echo "$LINK" | pbcopy
242
+ fi
243
+ ;;
244
+ *)
245
+ echo "Operation cancelled."
246
+ ;;
247
+ esac
198
248
  }
199
249
 
200
250
 
@@ -216,30 +266,69 @@ delete_last() {
216
266
  echo -e "\033[1;34m$LINK\033[0m"
217
267
  echo "Copied to clipboard."
218
268
  }
269
+ delete_last() {
219
270
 
271
+ read -p "Delete last line. Are you sure ? [y/N] " answer
220
272
 
221
- delete_line() {
273
+ case "$answer" in
274
+ [Yy]|[Yy][Ee][Ss])
275
+ HEADERS=$(mktemp)
276
+ RESPONSE=$(curl -s -D "$HEADERS" \
277
+ -w "\n%{http_code}" \
278
+ -X POST \
279
+ "$API/deletelast" \
280
+ --data-urlencode "token=$TOKEN")
281
+ HTTP_CODE=$(echo "$RESPONSE" | tail -n1)
282
+ RESPONSE=$(echo "$RESPONSE" | sed '$d')
283
+ echo ""
284
+ echo "$RESPONSE"
285
+ echo ""
286
+ LINK="https://notedux.com/n/$TOKEN"
287
+ if [ "$HTTP_CODE" = "200" ]; then
288
+ echo -e "Link: \033[1;34m$LINK\033[0m (Copied to clipboard.)"
289
+ echo "$LINK" | pbcopy
290
+ fi
291
+ ;;
292
+ *)
293
+ echo "Operation cancelled."
294
+ ;;
295
+ esac
296
+ }
222
297
 
298
+ delete_line() {
299
+
223
300
  NUMBER="$1"
224
-
225
-
226
301
  if [ -z "$NUMBER" ]; then
227
302
  echo "Error: line number required."
228
303
  echo "Usage: notedux dell <number>"
229
304
  exit 1
230
305
  fi
306
+ read -p "Delete line $NUMBER. Are you sure ? [y/N] " answer
231
307
 
232
-
233
- RESPONSE=$(curl -s -X POST "$API/dell" \
234
- --data-urlencode "token=$TOKEN" \
235
- --data-urlencode "line=$NUMBER")
236
-
237
- echo "$RESPONSE"
238
- # get and show the link to the note
239
- LINK=$(echo "$RESPONSE" | grep -o '"link"[ ]*:[ ]*"[^"]*"' | sed 's/.*:\s*"//;s/"//')
240
- echo "$LINK" | pbcopy
241
- echo -e "\033[1;34m$LINK\033[0m"
242
- echo "Copied to clipboard."
308
+ case "$answer" in
309
+ [Yy]|[Yy][Ee][Ss])
310
+ HEADERS=$(mktemp)
311
+ RESPONSE=$(curl -s -D "$HEADERS" \
312
+ -w "\n%{http_code}" \
313
+ -X POST \
314
+ "$API/deleten" \
315
+ --data-urlencode "token=$TOKEN" \
316
+ --data-urlencode "line=$NUMBER")
317
+ HTTP_CODE=$(echo "$RESPONSE" | tail -n1)
318
+ RESPONSE=$(echo "$RESPONSE" | sed '$d')
319
+ echo ""
320
+ echo "$RESPONSE"
321
+ echo ""
322
+ LINK="https://notedux.com/n/$TOKEN"
323
+ if [ "$HTTP_CODE" = "200" ]; then
324
+ echo -e "Link: \033[1;34m$LINK\033[0m (Copied to clipboard.)"
325
+ echo "$LINK" | pbcopy
326
+ fi
327
+ ;;
328
+ *)
329
+ echo "Operation cancelled."
330
+ ;;
331
+ esac
243
332
  }
244
333
 
245
334
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "notedux",
3
- "version": "1.0.1",
3
+ "version": "1.0.2",
4
4
  "description": "Take notes from terminal",
5
5
  "bin": {
6
6
  "notedux": "notedux"