@smbcloud / cli / commits / 6613c93

Add login command WIP

Seto Elkahfi committed Feb 18, 2023 at 23:36 UTC 6613c93ce98eecc2b1c86146b2a14a429c7b50eb
8 files changed +1363 -2
Cargo.lock
+1255
@@ -2,6 +2,1261 @@
2 # It is not intended for manual editing.
3 version = 3
4
5 +[[package]]
6 +name = "anyhow"
7 +version = "1.0.69"
8 +source = "registry+https://github.com/rust-lang/crates.io-index"
9 +checksum = "224afbd727c3d6e4b90103ece64b8d1b67fbb1973b1046c2281eed3f3803f800"
10 +
11 +[[package]]
12 +name = "autocfg"
13 +version = "1.1.0"
14 +source = "registry+https://github.com/rust-lang/crates.io-index"
15 +checksum = "d468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa"
16 +
17 +[[package]]
18 +name = "base64"
19 +version = "0.21.0"
20 +source = "registry+https://github.com/rust-lang/crates.io-index"
21 +checksum = "a4a4ddaa51a5bc52a6948f74c06d20aaaddb71924eab79b8c97a8c556e942d6a"
22 +
23 +[[package]]
24 +name = "bitflags"
25 +version = "1.3.2"
26 +source = "registry+https://github.com/rust-lang/crates.io-index"
27 +checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a"
28 +
29 +[[package]]
30 +name = "bumpalo"
31 +version = "3.12.0"
32 +source = "registry+https://github.com/rust-lang/crates.io-index"
33 +checksum = "0d261e256854913907f67ed06efbc3338dfe6179796deefc1ff763fc1aee5535"
34 +
35 +[[package]]
36 +name = "bytes"
37 +version = "1.4.0"
38 +source = "registry+https://github.com/rust-lang/crates.io-index"
39 +checksum = "89b2fd2a0dcf38d7971e2194b6b6eebab45ae01067456a7fd93d5547a61b70be"
40 +
41 +[[package]]
42 +name = "cc"
43 +version = "1.0.79"
44 +source = "registry+https://github.com/rust-lang/crates.io-index"
45 +checksum = "50d30906286121d95be3d479533b458f87493b30a4b5f79a607db8f5d11aa91f"
46 +
47 +[[package]]
48 +name = "cfg-if"
49 +version = "1.0.0"
50 +source = "registry+https://github.com/rust-lang/crates.io-index"
51 +checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd"
52 +
53 +[[package]]
54 +name = "clap"
55 +version = "4.1.6"
56 +source = "registry+https://github.com/rust-lang/crates.io-index"
57 +checksum = "ec0b0588d44d4d63a87dbd75c136c166bbfd9a86a31cb89e09906521c7d3f5e3"
58 +dependencies = [
59 + "bitflags",
60 + "clap_derive",
61 + "clap_lex",
62 + "is-terminal",
63 + "once_cell",
64 + "strsim",
65 + "termcolor",
66 +]
67 +
68 +[[package]]
69 +name = "clap_derive"
70 +version = "4.1.0"
71 +source = "registry+https://github.com/rust-lang/crates.io-index"
72 +checksum = "684a277d672e91966334af371f1a7b5833f9aa00b07c84e92fbce95e00208ce8"
73 +dependencies = [
74 + "heck",
75 + "proc-macro-error",
76 + "proc-macro2",
77 + "quote",
78 + "syn",
79 +]
80 +
81 +[[package]]
82 +name = "clap_lex"
83 +version = "0.3.1"
84 +source = "registry+https://github.com/rust-lang/crates.io-index"
85 +checksum = "783fe232adfca04f90f56201b26d79682d4cd2625e0bc7290b95123afe558ade"
86 +dependencies = [
87 + "os_str_bytes",
88 +]
89 +
90 +[[package]]
91 +name = "console"
92 +version = "0.15.5"
93 +source = "registry+https://github.com/rust-lang/crates.io-index"
94 +checksum = "c3d79fbe8970a77e3e34151cc13d3b3e248aa0faaecb9f6091fa07ebefe5ad60"
95 +dependencies = [
96 + "encode_unicode",
97 + "lazy_static",
98 + "libc",
99 + "unicode-width",
100 + "windows-sys 0.42.0",
101 +]
102 +
103 +[[package]]
104 +name = "core-foundation"
105 +version = "0.9.3"
106 +source = "registry+https://github.com/rust-lang/crates.io-index"
107 +checksum = "194a7a9e6de53fa55116934067c844d9d749312f75c6f6d0980e8c252f8c2146"
108 +dependencies = [
109 + "core-foundation-sys",
110 + "libc",
111 +]
112 +
113 +[[package]]
114 +name = "core-foundation-sys"
115 +version = "0.8.3"
116 +source = "registry+https://github.com/rust-lang/crates.io-index"
117 +checksum = "5827cebf4670468b8772dd191856768aedcb1b0278a04f989f7766351917b9dc"
118 +
119 +[[package]]
120 +name = "encode_unicode"
121 +version = "0.3.6"
122 +source = "registry+https://github.com/rust-lang/crates.io-index"
123 +checksum = "a357d28ed41a50f9c765dbfe56cbc04a64e53e5fc58ba79fbc34c10ef3df831f"
124 +
125 +[[package]]
126 +name = "encoding_rs"
127 +version = "0.8.32"
128 +source = "registry+https://github.com/rust-lang/crates.io-index"
129 +checksum = "071a31f4ee85403370b58aca746f01041ede6f0da2730960ad001edc2b71b394"
130 +dependencies = [
131 + "cfg-if",
132 +]
133 +
134 +[[package]]
135 +name = "errno"
136 +version = "0.2.8"
137 +source = "registry+https://github.com/rust-lang/crates.io-index"
138 +checksum = "f639046355ee4f37944e44f60642c6f3a7efa3cf6b78c78a0d989a8ce6c396a1"
139 +dependencies = [
140 + "errno-dragonfly",
141 + "libc",
142 + "winapi",
143 +]
144 +
145 +[[package]]
146 +name = "errno-dragonfly"
147 +version = "0.1.2"
148 +source = "registry+https://github.com/rust-lang/crates.io-index"
149 +checksum = "aa68f1b12764fab894d2755d2518754e71b4fd80ecfb822714a1206c2aab39bf"
150 +dependencies = [
151 + "cc",
152 + "libc",
153 +]
154 +
155 +[[package]]
156 +name = "fastrand"
157 +version = "1.9.0"
158 +source = "registry+https://github.com/rust-lang/crates.io-index"
159 +checksum = "e51093e27b0797c359783294ca4f0a911c270184cb10f85783b118614a1501be"
160 +dependencies = [
161 + "instant",
162 +]
163 +
164 +[[package]]
165 +name = "fnv"
166 +version = "1.0.7"
167 +source = "registry+https://github.com/rust-lang/crates.io-index"
168 +checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1"
169 +
170 +[[package]]
171 +name = "foreign-types"
172 +version = "0.3.2"
173 +source = "registry+https://github.com/rust-lang/crates.io-index"
174 +checksum = "f6f339eb8adc052cd2ca78910fda869aefa38d22d5cb648e6485e4d3fc06f3b1"
175 +dependencies = [
176 + "foreign-types-shared",
177 +]
178 +
179 +[[package]]
180 +name = "foreign-types-shared"
181 +version = "0.1.1"
182 +source = "registry+https://github.com/rust-lang/crates.io-index"
183 +checksum = "00b0228411908ca8685dba7fc2cdd70ec9990a6e753e89b6ac91a84c40fbaf4b"
184 +
185 +[[package]]
186 +name = "form_urlencoded"
187 +version = "1.1.0"
188 +source = "registry+https://github.com/rust-lang/crates.io-index"
189 +checksum = "a9c384f161156f5260c24a097c56119f9be8c798586aecc13afbcbe7b7e26bf8"
190 +dependencies = [
191 + "percent-encoding",
192 +]
193 +
194 +[[package]]
195 +name = "futures-channel"
196 +version = "0.3.26"
197 +source = "registry+https://github.com/rust-lang/crates.io-index"
198 +checksum = "2e5317663a9089767a1ec00a487df42e0ca174b61b4483213ac24448e4664df5"
199 +dependencies = [
200 + "futures-core",
201 +]
202 +
203 +[[package]]
204 +name = "futures-core"
205 +version = "0.3.26"
206 +source = "registry+https://github.com/rust-lang/crates.io-index"
207 +checksum = "ec90ff4d0fe1f57d600049061dc6bb68ed03c7d2fbd697274c41805dcb3f8608"
208 +
209 +[[package]]
210 +name = "futures-sink"
211 +version = "0.3.26"
212 +source = "registry+https://github.com/rust-lang/crates.io-index"
213 +checksum = "f310820bb3e8cfd46c80db4d7fb8353e15dfff853a127158425f31e0be6c8364"
214 +
215 +[[package]]
216 +name = "futures-task"
217 +version = "0.3.26"
218 +source = "registry+https://github.com/rust-lang/crates.io-index"
219 +checksum = "dcf79a1bf610b10f42aea489289c5a2c478a786509693b80cd39c44ccd936366"
220 +
221 +[[package]]
222 +name = "futures-util"
223 +version = "0.3.26"
224 +source = "registry+https://github.com/rust-lang/crates.io-index"
225 +checksum = "9c1d6de3acfef38d2be4b1f543f553131788603495be83da675e180c8d6b7bd1"
226 +dependencies = [
227 + "futures-core",
228 + "futures-task",
229 + "pin-project-lite",
230 + "pin-utils",
231 +]
232 +
233 +[[package]]
234 +name = "h2"
235 +version = "0.3.15"
236 +source = "registry+https://github.com/rust-lang/crates.io-index"
237 +checksum = "5f9f29bc9dda355256b2916cf526ab02ce0aeaaaf2bad60d65ef3f12f11dd0f4"
238 +dependencies = [
239 + "bytes",
240 + "fnv",
241 + "futures-core",
242 + "futures-sink",
243 + "futures-util",
244 + "http",
245 + "indexmap",
246 + "slab",
247 + "tokio",
248 + "tokio-util",
249 + "tracing",
250 +]
251 +
252 +[[package]]
253 +name = "hashbrown"
254 +version = "0.12.3"
255 +source = "registry+https://github.com/rust-lang/crates.io-index"
256 +checksum = "8a9ee70c43aaf417c914396645a0fa852624801b24ebb7ae78fe8272889ac888"
257 +
258 +[[package]]
259 +name = "heck"
260 +version = "0.4.1"
261 +source = "registry+https://github.com/rust-lang/crates.io-index"
262 +checksum = "95505c38b4572b2d910cecb0281560f54b440a19336cbbcb27bf6ce6adc6f5a8"
263 +
264 +[[package]]
265 +name = "hermit-abi"
266 +version = "0.2.6"
267 +source = "registry+https://github.com/rust-lang/crates.io-index"
268 +checksum = "ee512640fe35acbfb4bb779db6f0d80704c2cacfa2e39b601ef3e3f47d1ae4c7"
269 +dependencies = [
270 + "libc",
271 +]
272 +
273 +[[package]]
274 +name = "hermit-abi"
275 +version = "0.3.1"
276 +source = "registry+https://github.com/rust-lang/crates.io-index"
277 +checksum = "fed44880c466736ef9a5c5b5facefb5ed0785676d0c02d612db14e54f0d84286"
278 +
279 +[[package]]
280 +name = "http"
281 +version = "0.2.9"
282 +source = "registry+https://github.com/rust-lang/crates.io-index"
283 +checksum = "bd6effc99afb63425aff9b05836f029929e345a6148a14b7ecd5ab67af944482"
284 +dependencies = [
285 + "bytes",
286 + "fnv",
287 + "itoa",
288 +]
289 +
290 +[[package]]
291 +name = "http-body"
292 +version = "0.4.5"
293 +source = "registry+https://github.com/rust-lang/crates.io-index"
294 +checksum = "d5f38f16d184e36f2408a55281cd658ecbd3ca05cce6d6510a176eca393e26d1"
295 +dependencies = [
296 + "bytes",
297 + "http",
298 + "pin-project-lite",
299 +]
300 +
301 +[[package]]
302 +name = "httparse"
303 +version = "1.8.0"
304 +source = "registry+https://github.com/rust-lang/crates.io-index"
305 +checksum = "d897f394bad6a705d5f4104762e116a75639e470d80901eed05a860a95cb1904"
306 +
307 +[[package]]
308 +name = "httpdate"
309 +version = "1.0.2"
310 +source = "registry+https://github.com/rust-lang/crates.io-index"
311 +checksum = "c4a1e36c821dbe04574f602848a19f742f4fb3c98d40449f11bcad18d6b17421"
312 +
313 +[[package]]
314 +name = "hyper"
315 +version = "0.14.24"
316 +source = "registry+https://github.com/rust-lang/crates.io-index"
317 +checksum = "5e011372fa0b68db8350aa7a248930ecc7839bf46d8485577d69f117a75f164c"
318 +dependencies = [
319 + "bytes",
320 + "futures-channel",
321 + "futures-core",
322 + "futures-util",
323 + "h2",
324 + "http",
325 + "http-body",
326 + "httparse",
327 + "httpdate",
328 + "itoa",
329 + "pin-project-lite",
330 + "socket2",
331 + "tokio",
332 + "tower-service",
333 + "tracing",
334 + "want",
335 +]
336 +
337 +[[package]]
338 +name = "hyper-tls"
339 +version = "0.5.0"
340 +source = "registry+https://github.com/rust-lang/crates.io-index"
341 +checksum = "d6183ddfa99b85da61a140bea0efc93fdf56ceaa041b37d553518030827f9905"
342 +dependencies = [
343 + "bytes",
344 + "hyper",
345 + "native-tls",
346 + "tokio",
347 + "tokio-native-tls",
348 +]
349 +
350 +[[package]]
351 +name = "idna"
352 +version = "0.3.0"
353 +source = "registry+https://github.com/rust-lang/crates.io-index"
354 +checksum = "e14ddfc70884202db2244c223200c204c2bda1bc6e0998d11b5e024d657209e6"
355 +dependencies = [
356 + "unicode-bidi",
357 + "unicode-normalization",
358 +]
359 +
360 +[[package]]
361 +name = "indexmap"
362 +version = "1.9.2"
363 +source = "registry+https://github.com/rust-lang/crates.io-index"
364 +checksum = "1885e79c1fc4b10f0e172c475f458b7f7b93061064d98c3293e98c5ba0c8b399"
365 +dependencies = [
366 + "autocfg",
367 + "hashbrown",
368 +]
369 +
370 +[[package]]
371 +name = "instant"
372 +version = "0.1.12"
373 +source = "registry+https://github.com/rust-lang/crates.io-index"
374 +checksum = "7a5bbe824c507c5da5956355e86a746d82e0e1464f65d862cc5e71da70e94b2c"
375 +dependencies = [
376 + "cfg-if",
377 +]
378 +
379 +[[package]]
380 +name = "io-lifetimes"
381 +version = "1.0.5"
382 +source = "registry+https://github.com/rust-lang/crates.io-index"
383 +checksum = "1abeb7a0dd0f8181267ff8adc397075586500b81b28a73e8a0208b00fc170fb3"
384 +dependencies = [
385 + "libc",
386 + "windows-sys 0.45.0",
387 +]
388 +
389 +[[package]]
390 +name = "ipnet"
391 +version = "2.7.1"
392 +source = "registry+https://github.com/rust-lang/crates.io-index"
393 +checksum = "30e22bd8629359895450b59ea7a776c850561b96a3b1d31321c1949d9e6c9146"
394 +
395 +[[package]]
396 +name = "is-terminal"
397 +version = "0.4.3"
398 +source = "registry+https://github.com/rust-lang/crates.io-index"
399 +checksum = "22e18b0a45d56fe973d6db23972bf5bc46f988a4a2385deac9cc29572f09daef"
400 +dependencies = [
401 + "hermit-abi 0.3.1",
402 + "io-lifetimes",
403 + "rustix",
404 + "windows-sys 0.45.0",
405 +]
406 +
407 +[[package]]
408 +name = "itoa"
409 +version = "1.0.5"
410 +source = "registry+https://github.com/rust-lang/crates.io-index"
411 +checksum = "fad582f4b9e86b6caa621cabeb0963332d92eea04729ab12892c2533951e6440"
412 +
413 +[[package]]
414 +name = "js-sys"
415 +version = "0.3.61"
416 +source = "registry+https://github.com/rust-lang/crates.io-index"
417 +checksum = "445dde2150c55e483f3d8416706b97ec8e8237c307e5b7b4b8dd15e6af2a0730"
418 +dependencies = [
419 + "wasm-bindgen",
420 +]
421 +
422 +[[package]]
423 +name = "lazy_static"
424 +version = "1.4.0"
425 +source = "registry+https://github.com/rust-lang/crates.io-index"
426 +checksum = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646"
427 +
428 +[[package]]
429 +name = "libc"
430 +version = "0.2.139"
431 +source = "registry+https://github.com/rust-lang/crates.io-index"
432 +checksum = "201de327520df007757c1f0adce6e827fe8562fbc28bfd9c15571c66ca1f5f79"
433 +
434 +[[package]]
435 +name = "linux-raw-sys"
436 +version = "0.1.4"
437 +source = "registry+https://github.com/rust-lang/crates.io-index"
438 +checksum = "f051f77a7c8e6957c0696eac88f26b0117e54f52d3fc682ab19397a8812846a4"
439 +
440 +[[package]]
441 +name = "lock_api"
442 +version = "0.4.9"
443 +source = "registry+https://github.com/rust-lang/crates.io-index"
444 +checksum = "435011366fe56583b16cf956f9df0095b405b82d76425bc8981c0e22e60ec4df"
445 +dependencies = [
446 + "autocfg",
447 + "scopeguard",
448 +]
449 +
450 +[[package]]
451 +name = "log"
452 +version = "0.4.17"
453 +source = "registry+https://github.com/rust-lang/crates.io-index"
454 +checksum = "abb12e687cfb44aa40f41fc3978ef76448f9b6038cad6aef4259d3c095a2382e"
455 +dependencies = [
456 + "cfg-if",
457 +]
458 +
459 +[[package]]
460 +name = "memchr"
461 +version = "2.5.0"
462 +source = "registry+https://github.com/rust-lang/crates.io-index"
463 +checksum = "2dffe52ecf27772e601905b7522cb4ef790d2cc203488bbd0e2fe85fcb74566d"
464 +
465 +[[package]]
466 +name = "mime"
467 +version = "0.3.16"
468 +source = "registry+https://github.com/rust-lang/crates.io-index"
469 +checksum = "2a60c7ce501c71e03a9c9c0d35b861413ae925bd979cc7a4e30d060069aaac8d"
470 +
471 +[[package]]
472 +name = "mio"
473 +version = "0.8.6"
474 +source = "registry+https://github.com/rust-lang/crates.io-index"
475 +checksum = "5b9d9a46eff5b4ff64b45a9e316a6d1e0bc719ef429cbec4dc630684212bfdf9"
476 +dependencies = [
477 + "libc",
478 + "log",
479 + "wasi",
480 + "windows-sys 0.45.0",
481 +]
482 +
483 +[[package]]
484 +name = "native-tls"
485 +version = "0.2.11"
486 +source = "registry+https://github.com/rust-lang/crates.io-index"
487 +checksum = "07226173c32f2926027b63cce4bcd8076c3552846cbe7925f3aaffeac0a3b92e"
488 +dependencies = [
489 + "lazy_static",
490 + "libc",
491 + "log",
492 + "openssl",
493 + "openssl-probe",
494 + "openssl-sys",
495 + "schannel",
496 + "security-framework",
497 + "security-framework-sys",
498 + "tempfile",
499 +]
500 +
501 +[[package]]
502 +name = "num_cpus"
503 +version = "1.15.0"
504 +source = "registry+https://github.com/rust-lang/crates.io-index"
505 +checksum = "0fac9e2da13b5eb447a6ce3d392f23a29d8694bff781bf03a16cd9ac8697593b"
506 +dependencies = [
507 + "hermit-abi 0.2.6",
508 + "libc",
509 +]
510 +
511 +[[package]]
512 +name = "once_cell"
513 +version = "1.17.1"
514 +source = "registry+https://github.com/rust-lang/crates.io-index"
515 +checksum = "b7e5500299e16ebb147ae15a00a942af264cf3688f47923b8fc2cd5858f23ad3"
516 +
517 +[[package]]
518 +name = "openssl"
519 +version = "0.10.45"
520 +source = "registry+https://github.com/rust-lang/crates.io-index"
521 +checksum = "b102428fd03bc5edf97f62620f7298614c45cedf287c271e7ed450bbaf83f2e1"
522 +dependencies = [
523 + "bitflags",
524 + "cfg-if",
525 + "foreign-types",
526 + "libc",
527 + "once_cell",
528 + "openssl-macros",
529 + "openssl-sys",
530 +]
531 +
532 +[[package]]
533 +name = "openssl-macros"
534 +version = "0.1.0"
535 +source = "registry+https://github.com/rust-lang/crates.io-index"
536 +checksum = "b501e44f11665960c7e7fcf062c7d96a14ade4aa98116c004b2e37b5be7d736c"
537 +dependencies = [
538 + "proc-macro2",
539 + "quote",
540 + "syn",
541 +]
542 +
543 +[[package]]
544 +name = "openssl-probe"
545 +version = "0.1.5"
546 +source = "registry+https://github.com/rust-lang/crates.io-index"
547 +checksum = "ff011a302c396a5197692431fc1948019154afc178baf7d8e37367442a4601cf"
548 +
549 +[[package]]
550 +name = "openssl-sys"
551 +version = "0.9.80"
552 +source = "registry+https://github.com/rust-lang/crates.io-index"
553 +checksum = "23bbbf7854cd45b83958ebe919f0e8e516793727652e27fda10a8384cfc790b7"
554 +dependencies = [
555 + "autocfg",
556 + "cc",
557 + "libc",
558 + "pkg-config",
559 + "vcpkg",
560 +]
561 +
562 +[[package]]
563 +name = "os_str_bytes"
564 +version = "6.4.1"
565 +source = "registry+https://github.com/rust-lang/crates.io-index"
566 +checksum = "9b7820b9daea5457c9f21c69448905d723fbd21136ccf521748f23fd49e723ee"
567 +
568 +[[package]]
569 +name = "parking_lot"
570 +version = "0.12.1"
571 +source = "registry+https://github.com/rust-lang/crates.io-index"
572 +checksum = "3742b2c103b9f06bc9fff0a37ff4912935851bee6d36f3c02bcc755bcfec228f"
573 +dependencies = [
574 + "lock_api",
575 + "parking_lot_core",
576 +]
577 +
578 +[[package]]
579 +name = "parking_lot_core"
580 +version = "0.9.7"
581 +source = "registry+https://github.com/rust-lang/crates.io-index"
582 +checksum = "9069cbb9f99e3a5083476ccb29ceb1de18b9118cafa53e90c9551235de2b9521"
583 +dependencies = [
584 + "cfg-if",
585 + "libc",
586 + "redox_syscall",
587 + "smallvec",
588 + "windows-sys 0.45.0",
589 +]
590 +
591 +[[package]]
592 +name = "percent-encoding"
593 +version = "2.2.0"
594 +source = "registry+https://github.com/rust-lang/crates.io-index"
595 +checksum = "478c572c3d73181ff3c2539045f6eb99e5491218eae919370993b890cdbdd98e"
596 +
597 +[[package]]
598 +name = "pin-project-lite"
599 +version = "0.2.9"
600 +source = "registry+https://github.com/rust-lang/crates.io-index"
601 +checksum = "e0a7ae3ac2f1173085d398531c705756c94a4c56843785df85a60c1a0afac116"
602 +
603 +[[package]]
604 +name = "pin-utils"
605 +version = "0.1.0"
606 +source = "registry+https://github.com/rust-lang/crates.io-index"
607 +checksum = "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184"
608 +
609 +[[package]]
610 +name = "pkg-config"
611 +version = "0.3.26"
612 +source = "registry+https://github.com/rust-lang/crates.io-index"
613 +checksum = "6ac9a59f73473f1b8d852421e59e64809f025994837ef743615c6d0c5b305160"
614 +
615 +[[package]]
616 +name = "proc-macro-error"
617 +version = "1.0.4"
618 +source = "registry+https://github.com/rust-lang/crates.io-index"
619 +checksum = "da25490ff9892aab3fcf7c36f08cfb902dd3e71ca0f9f9517bea02a73a5ce38c"
620 +dependencies = [
621 + "proc-macro-error-attr",
622 + "proc-macro2",
623 + "quote",
624 + "syn",
625 + "version_check",
626 +]
627 +
628 +[[package]]
629 +name = "proc-macro-error-attr"
630 +version = "1.0.4"
631 +source = "registry+https://github.com/rust-lang/crates.io-index"
632 +checksum = "a1be40180e52ecc98ad80b184934baf3d0d29f979574e439af5a55274b35f869"
633 +dependencies = [
634 + "proc-macro2",
635 + "quote",
636 + "version_check",
637 +]
638 +
639 +[[package]]
640 +name = "proc-macro2"
641 +version = "1.0.51"
642 +source = "registry+https://github.com/rust-lang/crates.io-index"
643 +checksum = "5d727cae5b39d21da60fa540906919ad737832fe0b1c165da3a34d6548c849d6"
644 +dependencies = [
645 + "unicode-ident",
646 +]
647 +
648 +[[package]]
649 +name = "quote"
650 +version = "1.0.23"
651 +source = "registry+https://github.com/rust-lang/crates.io-index"
652 +checksum = "8856d8364d252a14d474036ea1358d63c9e6965c8e5c1885c18f73d70bff9c7b"
653 +dependencies = [
654 + "proc-macro2",
655 +]
656 +
657 +[[package]]
658 +name = "redox_syscall"
659 +version = "0.2.16"
660 +source = "registry+https://github.com/rust-lang/crates.io-index"
661 +checksum = "fb5a58c1855b4b6819d59012155603f0b22ad30cad752600aadfcb695265519a"
662 +dependencies = [
663 + "bitflags",
664 +]
665 +
666 +[[package]]
667 +name = "remove_dir_all"
668 +version = "0.5.3"
669 +source = "registry+https://github.com/rust-lang/crates.io-index"
670 +checksum = "3acd125665422973a33ac9d3dd2df85edad0f4ae9b00dafb1a05e43a9f5ef8e7"
671 +dependencies = [
672 + "winapi",
673 +]
674 +
675 +[[package]]
676 +name = "reqwest"
677 +version = "0.11.14"
678 +source = "registry+https://github.com/rust-lang/crates.io-index"
679 +checksum = "21eed90ec8570952d53b772ecf8f206aa1ec9a3d76b2521c56c42973f2d91ee9"
680 +dependencies = [
681 + "base64",
682 + "bytes",
683 + "encoding_rs",
684 + "futures-core",
685 + "futures-util",
686 + "h2",
687 + "http",
688 + "http-body",
689 + "hyper",
690 + "hyper-tls",
691 + "ipnet",
692 + "js-sys",
693 + "log",
694 + "mime",
695 + "native-tls",
696 + "once_cell",
697 + "percent-encoding",
698 + "pin-project-lite",
699 + "serde",
700 + "serde_json",
701 + "serde_urlencoded",
702 + "tokio",
703 + "tokio-native-tls",
704 + "tower-service",
705 + "url",
706 + "wasm-bindgen",
707 + "wasm-bindgen-futures",
708 + "web-sys",
709 + "winreg",
710 +]
711 +
712 +[[package]]
713 +name = "rustix"
714 +version = "0.36.8"
715 +source = "registry+https://github.com/rust-lang/crates.io-index"
716 +checksum = "f43abb88211988493c1abb44a70efa56ff0ce98f233b7b276146f1f3f7ba9644"
717 +dependencies = [
718 + "bitflags",
719 + "errno",
720 + "io-lifetimes",
721 + "libc",
722 + "linux-raw-sys",
723 + "windows-sys 0.45.0",
724 +]
725 +
726 +[[package]]
727 +name = "ryu"
728 +version = "1.0.12"
729 +source = "registry+https://github.com/rust-lang/crates.io-index"
730 +checksum = "7b4b9743ed687d4b4bcedf9ff5eaa7398495ae14e61cba0a295704edbc7decde"
731 +
732 +[[package]]
733 +name = "schannel"
734 +version = "0.1.21"
735 +source = "registry+https://github.com/rust-lang/crates.io-index"
736 +checksum = "713cfb06c7059f3588fb8044c0fad1d09e3c01d225e25b9220dbfdcf16dbb1b3"
737 +dependencies = [
738 + "windows-sys 0.42.0",
739 +]
740 +
741 +[[package]]
742 +name = "scopeguard"
743 +version = "1.1.0"
744 +source = "registry+https://github.com/rust-lang/crates.io-index"
745 +checksum = "d29ab0c6d3fc0ee92fe66e2d99f700eab17a8d57d1c1d3b748380fb20baa78cd"
746 +
747 +[[package]]
748 +name = "security-framework"
749 +version = "2.8.2"
750 +source = "registry+https://github.com/rust-lang/crates.io-index"
751 +checksum = "a332be01508d814fed64bf28f798a146d73792121129962fdf335bb3c49a4254"
752 +dependencies = [
753 + "bitflags",
754 + "core-foundation",
755 + "core-foundation-sys",
756 + "libc",
757 + "security-framework-sys",
758 +]
759 +
760 +[[package]]
761 +name = "security-framework-sys"
762 +version = "2.8.0"
763 +source = "registry+https://github.com/rust-lang/crates.io-index"
764 +checksum = "31c9bb296072e961fcbd8853511dd39c2d8be2deb1e17c6860b1d30732b323b4"
765 +dependencies = [
766 + "core-foundation-sys",
767 + "libc",
768 +]
769 +
770 +[[package]]
771 +name = "serde"
772 +version = "1.0.152"
773 +source = "registry+https://github.com/rust-lang/crates.io-index"
774 +checksum = "bb7d1f0d3021d347a83e556fc4683dea2ea09d87bccdf88ff5c12545d89d5efb"
775 +dependencies = [
776 + "serde_derive",
777 +]
778 +
779 +[[package]]
780 +name = "serde_derive"
781 +version = "1.0.152"
782 +source = "registry+https://github.com/rust-lang/crates.io-index"
783 +checksum = "af487d118eecd09402d70a5d72551860e788df87b464af30e5ea6a38c75c541e"
784 +dependencies = [
785 + "proc-macro2",
786 + "quote",
787 + "syn",
788 +]
789 +
790 +[[package]]
791 +name = "serde_json"
792 +version = "1.0.93"
793 +source = "registry+https://github.com/rust-lang/crates.io-index"
794 +checksum = "cad406b69c91885b5107daf2c29572f6c8cdb3c66826821e286c533490c0bc76"
795 +dependencies = [
796 + "itoa",
797 + "ryu",
798 + "serde",
799 +]
800 +
801 +[[package]]
802 +name = "serde_urlencoded"
803 +version = "0.7.1"
804 +source = "registry+https://github.com/rust-lang/crates.io-index"
805 +checksum = "d3491c14715ca2294c4d6a88f15e84739788c1d030eed8c110436aafdaa2f3fd"
806 +dependencies = [
807 + "form_urlencoded",
808 + "itoa",
809 + "ryu",
810 + "serde",
811 +]
812 +
813 +[[package]]
814 +name = "signal-hook-registry"
815 +version = "1.4.1"
816 +source = "registry+https://github.com/rust-lang/crates.io-index"
817 +checksum = "d8229b473baa5980ac72ef434c4415e70c4b5e71b423043adb4ba059f89c99a1"
818 +dependencies = [
819 + "libc",
820 +]
821 +
822 +[[package]]
823 +name = "slab"
824 +version = "0.4.7"
825 +source = "registry+https://github.com/rust-lang/crates.io-index"
826 +checksum = "4614a76b2a8be0058caa9dbbaf66d988527d86d003c11a94fbd335d7661edcef"
827 +dependencies = [
828 + "autocfg",
829 +]
830 +
831 +[[package]]
832 +name = "smallvec"
833 +version = "1.10.0"
834 +source = "registry+https://github.com/rust-lang/crates.io-index"
835 +checksum = "a507befe795404456341dfab10cef66ead4c041f62b8b11bbb92bffe5d0953e0"
836 +
837 [[package]]
838 name = "smbpndk-cli"
839 version = "0.1.0"
840 +dependencies = [
841 + "anyhow",
842 + "clap",
843 + "console",
844 + "reqwest",
845 + "serde",
846 + "tokio",
847 +]
848 +
849 +[[package]]
850 +name = "socket2"
851 +version = "0.4.7"
852 +source = "registry+https://github.com/rust-lang/crates.io-index"
853 +checksum = "02e2d2db9033d13a1567121ddd7a095ee144db4e1ca1b1bda3419bc0da294ebd"
854 +dependencies = [
855 + "libc",
856 + "winapi",
857 +]
858 +
859 +[[package]]
860 +name = "strsim"
861 +version = "0.10.0"
862 +source = "registry+https://github.com/rust-lang/crates.io-index"
863 +checksum = "73473c0e59e6d5812c5dfe2a064a6444949f089e20eec9a2e5506596494e4623"
864 +
865 +[[package]]
866 +name = "syn"
867 +version = "1.0.107"
868 +source = "registry+https://github.com/rust-lang/crates.io-index"
869 +checksum = "1f4064b5b16e03ae50984a5a8ed5d4f8803e6bc1fd170a3cda91a1be4b18e3f5"
870 +dependencies = [
871 + "proc-macro2",
872 + "quote",
873 + "unicode-ident",
874 +]
875 +
876 +[[package]]
877 +name = "tempfile"
878 +version = "3.3.0"
879 +source = "registry+https://github.com/rust-lang/crates.io-index"
880 +checksum = "5cdb1ef4eaeeaddc8fbd371e5017057064af0911902ef36b39801f67cc6d79e4"
881 +dependencies = [
882 + "cfg-if",
883 + "fastrand",
884 + "libc",
885 + "redox_syscall",
886 + "remove_dir_all",
887 + "winapi",
888 +]
889 +
890 +[[package]]
891 +name = "termcolor"
892 +version = "1.2.0"
893 +source = "registry+https://github.com/rust-lang/crates.io-index"
894 +checksum = "be55cf8942feac5c765c2c993422806843c9a9a45d4d5c407ad6dd2ea95eb9b6"
895 +dependencies = [
896 + "winapi-util",
897 +]
898 +
899 +[[package]]
900 +name = "tinyvec"
901 +version = "1.6.0"
902 +source = "registry+https://github.com/rust-lang/crates.io-index"
903 +checksum = "87cc5ceb3875bb20c2890005a4e226a4651264a5c75edb2421b52861a0a0cb50"
904 +dependencies = [
905 + "tinyvec_macros",
906 +]
907 +
908 +[[package]]
909 +name = "tinyvec_macros"
910 +version = "0.1.1"
911 +source = "registry+https://github.com/rust-lang/crates.io-index"
912 +checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20"
913 +
914 +[[package]]
915 +name = "tokio"
916 +version = "1.25.0"
917 +source = "registry+https://github.com/rust-lang/crates.io-index"
918 +checksum = "c8e00990ebabbe4c14c08aca901caed183ecd5c09562a12c824bb53d3c3fd3af"
919 +dependencies = [
920 + "autocfg",
921 + "bytes",
922 + "libc",
923 + "memchr",
924 + "mio",
925 + "num_cpus",
926 + "parking_lot",
927 + "pin-project-lite",
928 + "signal-hook-registry",
929 + "socket2",
930 + "tokio-macros",
931 + "windows-sys 0.42.0",
932 +]
933 +
934 +[[package]]
935 +name = "tokio-macros"
936 +version = "1.8.2"
937 +source = "registry+https://github.com/rust-lang/crates.io-index"
938 +checksum = "d266c00fde287f55d3f1c3e96c500c362a2b8c695076ec180f27918820bc6df8"
939 +dependencies = [
940 + "proc-macro2",
941 + "quote",
942 + "syn",
943 +]
944 +
945 +[[package]]
946 +name = "tokio-native-tls"
947 +version = "0.3.1"
948 +source = "registry+https://github.com/rust-lang/crates.io-index"
949 +checksum = "bbae76ab933c85776efabc971569dd6119c580d8f5d448769dec1764bf796ef2"
950 +dependencies = [
951 + "native-tls",
952 + "tokio",
953 +]
954 +
955 +[[package]]
956 +name = "tokio-util"
957 +version = "0.7.7"
958 +source = "registry+https://github.com/rust-lang/crates.io-index"
959 +checksum = "5427d89453009325de0d8f342c9490009f76e999cb7672d77e46267448f7e6b2"
960 +dependencies = [
961 + "bytes",
962 + "futures-core",
963 + "futures-sink",
964 + "pin-project-lite",
965 + "tokio",
966 + "tracing",
967 +]
968 +
969 +[[package]]
970 +name = "tower-service"
971 +version = "0.3.2"
972 +source = "registry+https://github.com/rust-lang/crates.io-index"
973 +checksum = "b6bc1c9ce2b5135ac7f93c72918fc37feb872bdc6a5533a8b85eb4b86bfdae52"
974 +
975 +[[package]]
976 +name = "tracing"
977 +version = "0.1.37"
978 +source = "registry+https://github.com/rust-lang/crates.io-index"
979 +checksum = "8ce8c33a8d48bd45d624a6e523445fd21ec13d3653cd51f681abf67418f54eb8"
980 +dependencies = [
981 + "cfg-if",
982 + "pin-project-lite",
983 + "tracing-core",
984 +]
985 +
986 +[[package]]
987 +name = "tracing-core"
988 +version = "0.1.30"
989 +source = "registry+https://github.com/rust-lang/crates.io-index"
990 +checksum = "24eb03ba0eab1fd845050058ce5e616558e8f8d8fca633e6b163fe25c797213a"
991 +dependencies = [
992 + "once_cell",
993 +]
994 +
995 +[[package]]
996 +name = "try-lock"
997 +version = "0.2.4"
998 +source = "registry+https://github.com/rust-lang/crates.io-index"
999 +checksum = "3528ecfd12c466c6f163363caf2d02a71161dd5e1cc6ae7b34207ea2d42d81ed"
1000 +
1001 +[[package]]
1002 +name = "unicode-bidi"
1003 +version = "0.3.10"
1004 +source = "registry+https://github.com/rust-lang/crates.io-index"
1005 +checksum = "d54675592c1dbefd78cbd98db9bacd89886e1ca50692a0692baefffdeb92dd58"
1006 +
1007 +[[package]]
1008 +name = "unicode-ident"
1009 +version = "1.0.6"
1010 +source = "registry+https://github.com/rust-lang/crates.io-index"
1011 +checksum = "84a22b9f218b40614adcb3f4ff08b703773ad44fa9423e4e0d346d5db86e4ebc"
1012 +
1013 +[[package]]
1014 +name = "unicode-normalization"
1015 +version = "0.1.22"
1016 +source = "registry+https://github.com/rust-lang/crates.io-index"
1017 +checksum = "5c5713f0fc4b5db668a2ac63cdb7bb4469d8c9fed047b1d0292cc7b0ce2ba921"
1018 +dependencies = [
1019 + "tinyvec",
1020 +]
1021 +
1022 +[[package]]
1023 +name = "unicode-width"
1024 +version = "0.1.10"
1025 +source = "registry+https://github.com/rust-lang/crates.io-index"
1026 +checksum = "c0edd1e5b14653f783770bce4a4dabb4a5108a5370a5f5d8cfe8710c361f6c8b"
1027 +
1028 +[[package]]
1029 +name = "url"
1030 +version = "2.3.1"
1031 +source = "registry+https://github.com/rust-lang/crates.io-index"
1032 +checksum = "0d68c799ae75762b8c3fe375feb6600ef5602c883c5d21eb51c09f22b83c4643"
1033 +dependencies = [
1034 + "form_urlencoded",
1035 + "idna",
1036 + "percent-encoding",
1037 +]
1038 +
1039 +[[package]]
1040 +name = "vcpkg"
1041 +version = "0.2.15"
1042 +source = "registry+https://github.com/rust-lang/crates.io-index"
1043 +checksum = "accd4ea62f7bb7a82fe23066fb0957d48ef677f6eeb8215f372f52e48bb32426"
1044 +
1045 +[[package]]
1046 +name = "version_check"
1047 +version = "0.9.4"
1048 +source = "registry+https://github.com/rust-lang/crates.io-index"
1049 +checksum = "49874b5167b65d7193b8aba1567f5c7d93d001cafc34600cee003eda787e483f"
1050 +
1051 +[[package]]
1052 +name = "want"
1053 +version = "0.3.0"
1054 +source = "registry+https://github.com/rust-lang/crates.io-index"
1055 +checksum = "1ce8a968cb1cd110d136ff8b819a556d6fb6d919363c61534f6860c7eb172ba0"
1056 +dependencies = [
1057 + "log",
1058 + "try-lock",
1059 +]
1060 +
1061 +[[package]]
1062 +name = "wasi"
1063 +version = "0.11.0+wasi-snapshot-preview1"
1064 +source = "registry+https://github.com/rust-lang/crates.io-index"
1065 +checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423"
1066 +
1067 +[[package]]
1068 +name = "wasm-bindgen"
1069 +version = "0.2.84"
1070 +source = "registry+https://github.com/rust-lang/crates.io-index"
1071 +checksum = "31f8dcbc21f30d9b8f2ea926ecb58f6b91192c17e9d33594b3df58b2007ca53b"
1072 +dependencies = [
1073 + "cfg-if",
1074 + "wasm-bindgen-macro",
1075 +]
1076 +
1077 +[[package]]
1078 +name = "wasm-bindgen-backend"
1079 +version = "0.2.84"
1080 +source = "registry+https://github.com/rust-lang/crates.io-index"
1081 +checksum = "95ce90fd5bcc06af55a641a86428ee4229e44e07033963a2290a8e241607ccb9"
1082 +dependencies = [
1083 + "bumpalo",
1084 + "log",
1085 + "once_cell",
1086 + "proc-macro2",
1087 + "quote",
1088 + "syn",
1089 + "wasm-bindgen-shared",
1090 +]
1091 +
1092 +[[package]]
1093 +name = "wasm-bindgen-futures"
1094 +version = "0.4.34"
1095 +source = "registry+https://github.com/rust-lang/crates.io-index"
1096 +checksum = "f219e0d211ba40266969f6dbdd90636da12f75bee4fc9d6c23d1260dadb51454"
1097 +dependencies = [
1098 + "cfg-if",
1099 + "js-sys",
1100 + "wasm-bindgen",
1101 + "web-sys",
1102 +]
1103 +
1104 +[[package]]
1105 +name = "wasm-bindgen-macro"
1106 +version = "0.2.84"
1107 +source = "registry+https://github.com/rust-lang/crates.io-index"
1108 +checksum = "4c21f77c0bedc37fd5dc21f897894a5ca01e7bb159884559461862ae90c0b4c5"
1109 +dependencies = [
1110 + "quote",
1111 + "wasm-bindgen-macro-support",
1112 +]
1113 +
1114 +[[package]]
1115 +name = "wasm-bindgen-macro-support"
1116 +version = "0.2.84"
1117 +source = "registry+https://github.com/rust-lang/crates.io-index"
1118 +checksum = "2aff81306fcac3c7515ad4e177f521b5c9a15f2b08f4e32d823066102f35a5f6"
1119 +dependencies = [
1120 + "proc-macro2",
1121 + "quote",
1122 + "syn",
1123 + "wasm-bindgen-backend",
1124 + "wasm-bindgen-shared",
1125 +]
1126 +
1127 +[[package]]
1128 +name = "wasm-bindgen-shared"
1129 +version = "0.2.84"
1130 +source = "registry+https://github.com/rust-lang/crates.io-index"
1131 +checksum = "0046fef7e28c3804e5e38bfa31ea2a0f73905319b677e57ebe37e49358989b5d"
1132 +
1133 +[[package]]
1134 +name = "web-sys"
1135 +version = "0.3.61"
1136 +source = "registry+https://github.com/rust-lang/crates.io-index"
1137 +checksum = "e33b99f4b23ba3eec1a53ac264e35a755f00e966e0065077d6027c0f575b0b97"
1138 +dependencies = [
1139 + "js-sys",
1140 + "wasm-bindgen",
1141 +]
1142 +
1143 +[[package]]
1144 +name = "winapi"
1145 +version = "0.3.9"
1146 +source = "registry+https://github.com/rust-lang/crates.io-index"
1147 +checksum = "5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419"
1148 +dependencies = [
1149 + "winapi-i686-pc-windows-gnu",
1150 + "winapi-x86_64-pc-windows-gnu",
1151 +]
1152 +
1153 +[[package]]
1154 +name = "winapi-i686-pc-windows-gnu"
1155 +version = "0.4.0"
1156 +source = "registry+https://github.com/rust-lang/crates.io-index"
1157 +checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6"
1158 +
1159 +[[package]]
1160 +name = "winapi-util"
1161 +version = "0.1.5"
1162 +source = "registry+https://github.com/rust-lang/crates.io-index"
1163 +checksum = "70ec6ce85bb158151cae5e5c87f95a8e97d2c0c4b001223f33a334e3ce5de178"
1164 +dependencies = [
1165 + "winapi",
1166 +]
1167 +
1168 +[[package]]
1169 +name = "winapi-x86_64-pc-windows-gnu"
1170 +version = "0.4.0"
1171 +source = "registry+https://github.com/rust-lang/crates.io-index"
1172 +checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f"
1173 +
1174 +[[package]]
1175 +name = "windows-sys"
1176 +version = "0.42.0"
1177 +source = "registry+https://github.com/rust-lang/crates.io-index"
1178 +checksum = "5a3e1820f08b8513f676f7ab6c1f99ff312fb97b553d30ff4dd86f9f15728aa7"
1179 +dependencies = [
1180 + "windows_aarch64_gnullvm",
1181 + "windows_aarch64_msvc",
1182 + "windows_i686_gnu",
1183 + "windows_i686_msvc",
1184 + "windows_x86_64_gnu",
1185 + "windows_x86_64_gnullvm",
1186 + "windows_x86_64_msvc",
1187 +]
1188 +
1189 +[[package]]
1190 +name = "windows-sys"
1191 +version = "0.45.0"
1192 +source = "registry+https://github.com/rust-lang/crates.io-index"
1193 +checksum = "75283be5efb2831d37ea142365f009c02ec203cd29a3ebecbc093d52315b66d0"
1194 +dependencies = [
1195 + "windows-targets",
1196 +]
1197 +
1198 +[[package]]
1199 +name = "windows-targets"
1200 +version = "0.42.1"
1201 +source = "registry+https://github.com/rust-lang/crates.io-index"
1202 +checksum = "8e2522491fbfcd58cc84d47aeb2958948c4b8982e9a2d8a2a35bbaed431390e7"
1203 +dependencies = [
1204 + "windows_aarch64_gnullvm",
1205 + "windows_aarch64_msvc",
1206 + "windows_i686_gnu",
1207 + "windows_i686_msvc",
1208 + "windows_x86_64_gnu",
1209 + "windows_x86_64_gnullvm",
1210 + "windows_x86_64_msvc",
1211 +]
1212 +
1213 +[[package]]
1214 +name = "windows_aarch64_gnullvm"
1215 +version = "0.42.1"
1216 +source = "registry+https://github.com/rust-lang/crates.io-index"
1217 +checksum = "8c9864e83243fdec7fc9c5444389dcbbfd258f745e7853198f365e3c4968a608"
1218 +
1219 +[[package]]
1220 +name = "windows_aarch64_msvc"
1221 +version = "0.42.1"
1222 +source = "registry+https://github.com/rust-lang/crates.io-index"
1223 +checksum = "4c8b1b673ffc16c47a9ff48570a9d85e25d265735c503681332589af6253c6c7"
1224 +
1225 +[[package]]
1226 +name = "windows_i686_gnu"
1227 +version = "0.42.1"
1228 +source = "registry+https://github.com/rust-lang/crates.io-index"
1229 +checksum = "de3887528ad530ba7bdbb1faa8275ec7a1155a45ffa57c37993960277145d640"
1230 +
1231 +[[package]]
1232 +name = "windows_i686_msvc"
1233 +version = "0.42.1"
1234 +source = "registry+https://github.com/rust-lang/crates.io-index"
1235 +checksum = "bf4d1122317eddd6ff351aa852118a2418ad4214e6613a50e0191f7004372605"
1236 +
1237 +[[package]]
1238 +name = "windows_x86_64_gnu"
1239 +version = "0.42.1"
1240 +source = "registry+https://github.com/rust-lang/crates.io-index"
1241 +checksum = "c1040f221285e17ebccbc2591ffdc2d44ee1f9186324dd3e84e99ac68d699c45"
1242 +
1243 +[[package]]
1244 +name = "windows_x86_64_gnullvm"
1245 +version = "0.42.1"
1246 +source = "registry+https://github.com/rust-lang/crates.io-index"
1247 +checksum = "628bfdf232daa22b0d64fdb62b09fcc36bb01f05a3939e20ab73aaf9470d0463"
1248 +
1249 +[[package]]
1250 +name = "windows_x86_64_msvc"
1251 +version = "0.42.1"
1252 +source = "registry+https://github.com/rust-lang/crates.io-index"
1253 +checksum = "447660ad36a13288b1db4d4248e857b510e8c3a225c822ba4fb748c0aafecffd"
1254 +
1255 +[[package]]
1256 +name = "winreg"
1257 +version = "0.10.1"
1258 +source = "registry+https://github.com/rust-lang/crates.io-index"
1259 +checksum = "80d0f4e272c85def139476380b12f9ac60926689dd2e01d4923222f40580869d"
1260 +dependencies = [
1261 + "winapi",
1262 +]
Cargo.toml
+6
@@ -14,3 +14,9 @@ name = "smb"
14 path = "src/main.rs"
15
16 [dependencies]
17 +anyhow = "1.0.58"
18 +clap = { version = "4.1.6", features = ["derive"] }
19 +console = "0.15.0"
20 +reqwest = { version = "0.11", features = ["json"] }
21 +serde = { version = "1", features = ["derive"] }
22 +tokio = { version = "1.14.1", features = ["full"] }
\ No newline at end of file
src/cli/mod.rs new
+19
@@ -0,0 +1,19 @@
1 +use clap::{Parser, Subcommand};
2 +
3 +#[derive(Parser)]
4 +#[clap(author, version, about)]
5 +pub struct Cli {
6 + #[clap(subcommand)]
7 + pub command: Commands,
8 +}
9 +
10 +#[derive(Subcommand)]
11 +pub enum Commands {
12 + #[clap(about = "Create a new project")]
13 + Login {
14 + #[clap(short, long)]
15 + username: String,
16 + #[clap(short, long)]
17 + password: String,
18 + },
19 +}
src/constants.rs new
+4
@@ -0,0 +1,4 @@
1 +use console::Emoji;
2 +pub const BASE_URL: &str = "http://localhost:3000";
3 +
4 +pub const GUARD_EMOJI: Emoji<'_, '_> = Emoji("🛡 ", "");
src/lib.rs new
+2
@@ -0,0 +1,2 @@
1 +pub mod cli;
2 +pub mod login;
src/login/mod.rs new
+2
@@ -0,0 +1,2 @@
1 +pub mod process;
2 +pub use process::*;
src/login/process.rs new
+45
@@ -0,0 +1,45 @@
1 +use anyhow::Result;
2 +use reqwest::Client;
3 +use serde::{Deserialize, Serialize};
4 +
5 +pub struct LoginArgs {
6 + pub username: String,
7 + pub password: String,
8 +}
9 +
10 +#[derive(Debug, Serialize)]
11 +struct LoginParams {
12 + user: User,
13 +}
14 +
15 +#[derive(Debug, Serialize)]
16 +struct User {
17 + email: String,
18 + password: String,
19 +}
20 +
21 +#[derive(Debug, Serialize, Deserialize)]
22 +struct LoginResult {
23 + status: i32,
24 + error: String,
25 +}
26 +
27 +pub async fn process_login(args: LoginArgs) -> Result<()> {
28 + let login_params = LoginParams {
29 + user: User {
30 + email: args.username,
31 + password: args.password,
32 + },
33 + };
34 +
35 + let response: LoginResult = Client::new()
36 + .post("http://localhost:3000/v1/users/sign_in")
37 + .json(&login_params)
38 + .send()
39 + .await?
40 + .json()
41 + .await?;
42 +
43 + println!("Response: {:?}", response);
44 + Ok(())
45 +}
src/main.rs
+30 -2
@@ -1,3 +1,31 @@
1 -fn main() {
2 - println!("Hello, world!");
1 +use anyhow::Result;
2 +use clap::Parser;
3 +use smbpndk_cli::{
4 + cli::{Cli, Commands},
5 + login::{process_login, LoginArgs},
6 +};
7 +
8 +#[tokio::main]
9 +async fn main() {
10 + match run().await {
11 + Ok(_) => {
12 + println!("Command successful.");
13 + }
14 + Err(e) => {
15 + eprintln!("{}", e);
16 + std::process::exit(1);
17 + }
18 + }
19 +}
20 +
21 +async fn run() -> Result<()> {
22 + let cli = Cli::parse();
23 + match cli.command {
24 + Commands::Login { username, password } => {
25 + println!("Login: {}, {}", username, password);
26 + process_login(LoginArgs { username, password }).await?;
27 + }
28 + }
29 +
30 + Ok(())
31 }