notedux 1.0.1 → 1.0.3

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