@smbcloud / cli / commits / 4c9c598

move logout to networking account

Seto committed Sep 27, 2025 at 09:45 UTC 4c9c5984aec7f4baca8f64a59d3abe6e9e62efa2
5 files changed +144 -131
Cargo.lock
+80 -102
@@ -4,9 +4,9 @@ version = 4
4
5 [[package]]
6 name = "addr2line"
7 -version = "0.24.2"
7 +version = "0.25.1"
8 source = "registry+https://github.com/rust-lang/crates.io-index"
9 -checksum = "dfbe277e56a376000877090da837660b4427aad530e3028d44e0bffe4f89a1c1"
9 +checksum = "1b5d307320b3181d6d7954e663bd7c774a838b8220fe0593c86d9fb09f498b4b"
10 dependencies = [
11 "gimli",
12 ]
@@ -149,9 +149,9 @@ checksum = "c08606f8c3cbf4ce6ec8e28fb0014a2c086708fe954eaa885384a6165172e7e8"
149
150 [[package]]
151 name = "backtrace"
152 -version = "0.3.75"
152 +version = "0.3.76"
153 source = "registry+https://github.com/rust-lang/crates.io-index"
154 -checksum = "6806a6321ec58106fea15becdad98371e28d92ccbc7c8f1b3b6dd724fe8f1002"
154 +checksum = "bb531853791a215d7c62a30daf0dde835f381ab5de4589cfe7c649d2cbe92bd6"
155 dependencies = [
156 "addr2line",
157 "cfg-if",
@@ -159,7 +159,7 @@ dependencies = [
159 "miniz_oxide",
160 "object",
161 "rustc-demangle",
162 - "windows-targets 0.52.6",
162 + "windows-link 0.2.0",
163 ]
164
165 [[package]]
@@ -215,9 +215,9 @@ checksum = "d71b6127be86fdcfddb610f7182ac57211d4b18a3e9c82eb2d17662f2227ad6a"
215
216 [[package]]
217 name = "cc"
218 -version = "1.2.38"
218 +version = "1.2.39"
219 source = "registry+https://github.com/rust-lang/crates.io-index"
220 -checksum = "80f41ae168f955c12fb8960b057d70d0ca153fb83182b57d86380443527be7e9"
220 +checksum = "e1354349954c6fc9cb0deab020f27f783cf0b604e8bb754dc4658ecf0d29c35f"
221 dependencies = [
222 "find-msvc-tools",
223 "jobserver",
@@ -339,7 +339,7 @@ dependencies = [
339 "libc",
340 "once_cell",
341 "unicode-width 0.2.1",
342 - "windows-sys 0.61.0",
342 + "windows-sys 0.61.1",
343 ]
344
345 [[package]]
@@ -388,9 +388,9 @@ dependencies = [
388
389 [[package]]
390 name = "deranged"
391 -version = "0.5.3"
391 +version = "0.5.4"
392 source = "registry+https://github.com/rust-lang/crates.io-index"
393 -checksum = "d630bccd429a5bb5a64b5e94f693bfc48c9f8566418fda4c494cc94f911f87cc"
393 +checksum = "a41953f86f8a05768a6cda24def994fd2f424b04ec5c719cf89989779f199071"
394 dependencies = [
395 "powerfmt",
396 ]
@@ -437,7 +437,7 @@ dependencies = [
437 "libc",
438 "option-ext",
439 "redox_users",
440 - "windows-sys 0.61.0",
440 + "windows-sys 0.61.1",
441 ]
442
443 [[package]]
@@ -479,7 +479,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
479 checksum = "39cab71617ae0d63f51a36d69f866391735b51691dbda63cf6f96d042b63efeb"
480 dependencies = [
481 "libc",
482 - "windows-sys 0.61.0",
482 + "windows-sys 0.61.1",
483 ]
484
485 [[package]]
@@ -546,17 +546,6 @@ version = "0.3.31"
546 source = "registry+https://github.com/rust-lang/crates.io-index"
547 checksum = "05f29059c0c2090612e8d742178b0580d2dc940c837851ad723096f87af6663e"
548
549 -[[package]]
550 -name = "futures-macro"
551 -version = "0.3.31"
552 -source = "registry+https://github.com/rust-lang/crates.io-index"
553 -checksum = "162ee34ebcb7c64a8abebc059ce0fee27c2262618d7b60ed8faf72fef13c3650"
554 -dependencies = [
555 - "proc-macro2",
556 - "quote",
557 - "syn 2.0.106",
558 -]
559 -
549 [[package]]
550 name = "futures-sink"
551 version = "0.3.31"
@@ -576,12 +565,10 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
565 checksum = "9fa08315bb612088cc391249efdc3bc77536f16c91f6cf495e6fbe85b20a4a81"
566 dependencies = [
567 "futures-core",
579 - "futures-macro",
568 "futures-sink",
569 "futures-task",
570 "pin-project-lite",
571 "pin-utils",
584 - "slab",
572 ]
573
574 [[package]]
@@ -642,9 +629,9 @@ dependencies = [
629
630 [[package]]
631 name = "gimli"
645 -version = "0.31.1"
632 +version = "0.32.3"
633 source = "registry+https://github.com/rust-lang/crates.io-index"
647 -checksum = "07e28edb80900c19c28f1072f2e8aeca7fa06b23cd4169cefe1af5aa3260783f"
634 +checksum = "e629b9b98ef3dd8afe6ca2bd0f89306cec16d43d907889945bc5d6687f2f13c7"
635
636 [[package]]
637 name = "git2"
@@ -854,7 +841,7 @@ dependencies = [
841 "libc",
842 "percent-encoding",
843 "pin-project-lite",
857 - "socket2 0.6.0",
844 + "socket2",
845 "system-configuration",
846 "tokio",
847 "tower-service",
@@ -1086,9 +1073,9 @@ dependencies = [
1073
1074 [[package]]
1075 name = "js-sys"
1089 -version = "0.3.80"
1076 +version = "0.3.81"
1077 source = "registry+https://github.com/rust-lang/crates.io-index"
1091 -checksum = "852f13bec5eba4ba9afbeb93fd7c13fe56147f055939ae21c43a29a0ecb2702e"
1078 +checksum = "ec48937a97411dcb524a265206ccd4c90bb711fca92b2792c407f268825b9305"
1079 dependencies = [
1080 "once_cell",
1081 "wasm-bindgen",
@@ -1102,9 +1089,9 @@ checksum = "bbd2bcb4c963f2ddae06a2efc7e9f3591312473c50c6685e1f298068316e66fe"
1089
1090 [[package]]
1091 name = "libc"
1105 -version = "0.2.175"
1092 +version = "0.2.176"
1093 source = "registry+https://github.com/rust-lang/crates.io-index"
1107 -checksum = "6a82ae493e598baaea5209805c49bbf2ea7de956d50d7da0da1164f9c6d28543"
1094 +checksum = "58f929b4d672ea937a23a1ab494143d968337a5f47e56d0815df1e0890ddf174"
1095
1096 [[package]]
1097 name = "libgit2-sys"
@@ -1238,9 +1225,9 @@ dependencies = [
1225
1226 [[package]]
1227 name = "memchr"
1241 -version = "2.7.5"
1228 +version = "2.7.6"
1229 source = "registry+https://github.com/rust-lang/crates.io-index"
1243 -checksum = "32a282da65faaf38286cf3be983213fcf1d2e2a58700e808f83f4ea9a4804bc0"
1230 +checksum = "f52b00d39961fc5b2736ea853c9cc86238e165017a493d1d5c8eac6bdc4cc273"
1231
1232 [[package]]
1233 name = "mime"
@@ -1317,9 +1304,9 @@ checksum = "830b246a0e5f20af87141b25c173cd1b609bd7779a4617d6ec582abaf90870f3"
1304
1305 [[package]]
1306 name = "object"
1320 -version = "0.36.7"
1307 +version = "0.37.3"
1308 source = "registry+https://github.com/rust-lang/crates.io-index"
1322 -checksum = "62948e14d923ea95ea2c7c86c71013138b66525b86bdc08d2dcc262bdb497b87"
1309 +checksum = "ff76201f031d8863c38aa7f905eca4f53abbfa15f609db4277d44cd8938f33fe"
1310 dependencies = [
1311 "memchr",
1312 ]
@@ -1445,18 +1432,19 @@ checksum = "9b4f627cb1b25917193a259e49bdad08f671f8d9708acfd5fe0a8c1455d87220"
1432
1433 [[package]]
1434 name = "phf"
1448 -version = "0.11.3"
1435 +version = "0.13.1"
1436 source = "registry+https://github.com/rust-lang/crates.io-index"
1450 -checksum = "1fd6780a80ae0c52cc120a26a1a42c1ae51b247a253e4e06113d23d2c2edd078"
1437 +checksum = "c1562dc717473dbaa4c1f85a36410e03c047b2e7df7f45ee938fbef64ae7fadf"
1438 dependencies = [
1439 "phf_shared",
1440 + "serde",
1441 ]
1442
1443 [[package]]
1444 name = "phf_shared"
1457 -version = "0.11.3"
1445 +version = "0.13.1"
1446 source = "registry+https://github.com/rust-lang/crates.io-index"
1459 -checksum = "67eabc2ef2a60eb7faa00097bd1ffdb5bd28e62bf39990626a582201b7a754e5"
1447 +checksum = "e57fef6bc5981e38c2ce2d63bfa546861309f875b8a75f092d1d54ae2d64f266"
1448 dependencies = [
1449 "siphasher",
1450 ]
@@ -1487,9 +1475,9 @@ checksum = "f84267b20a16ea918e43c6a88433c2d54fa145c92a811b5b047ccbe153674483"
1475
1476 [[package]]
1477 name = "postgres-protocol"
1490 -version = "0.6.8"
1478 +version = "0.6.9"
1479 source = "registry+https://github.com/rust-lang/crates.io-index"
1492 -checksum = "76ff0abab4a9b844b93ef7b81f1efc0a366062aaef2cd702c76256b5dc075c54"
1480 +checksum = "fbef655056b916eb868048276cfd5d6a7dea4f81560dfd047f97c8c6fe3fcfd4"
1481 dependencies = [
1482 "base64",
1483 "byteorder",
@@ -1505,9 +1493,9 @@ dependencies = [
1493
1494 [[package]]
1495 name = "postgres-types"
1508 -version = "0.2.9"
1496 +version = "0.2.10"
1497 source = "registry+https://github.com/rust-lang/crates.io-index"
1510 -checksum = "613283563cd90e1dfc3518d548caee47e0e725455ed619881f5cf21f36de4b48"
1498 +checksum = "77a120daaabfcb0e324d5bf6e411e9222994cb3795c79943a0ef28ed27ea76e4"
1499 dependencies = [
1500 "bytes",
1501 "fallible-iterator",
@@ -1659,9 +1647,9 @@ dependencies = [
1647
1648 [[package]]
1649 name = "regex"
1662 -version = "1.11.2"
1650 +version = "1.11.3"
1651 source = "registry+https://github.com/rust-lang/crates.io-index"
1664 -checksum = "23d7fd106d8c02486a8d64e778353d1cffe08ce79ac2e82f540c86d0facf6912"
1652 +checksum = "8b5288124840bee7b386bc413c487869b360b2b4ec421ea56425128692f2a82c"
1653 dependencies = [
1654 "aho-corasick",
1655 "memchr",
@@ -1671,9 +1659,9 @@ dependencies = [
1659
1660 [[package]]
1661 name = "regex-automata"
1674 -version = "0.4.10"
1662 +version = "0.4.11"
1663 source = "registry+https://github.com/rust-lang/crates.io-index"
1676 -checksum = "6b9458fa0bfeeac22b5ca447c63aaf45f28439a709ccd244698632f9aa6394d6"
1664 +checksum = "833eb9ce86d40ef33cb1306d8accf7bc8ec2bfea4355cbdebb3df68b40925cad"
1665 dependencies = [
1666 "aho-corasick",
1667 "memchr",
@@ -1762,7 +1750,7 @@ dependencies = [
1750 "errno",
1751 "libc",
1752 "linux-raw-sys",
1765 - "windows-sys 0.61.0",
1753 + "windows-sys 0.61.1",
1754 ]
1755
1756 [[package]]
@@ -1825,7 +1813,7 @@ version = "0.1.28"
1813 source = "registry+https://github.com/rust-lang/crates.io-index"
1814 checksum = "891d81b926048e76efe18581bf793546b4c0eaf8448d72be8de2bbee5fd166e1"
1815 dependencies = [
1828 - "windows-sys 0.61.0",
1816 + "windows-sys 0.61.1",
1817 ]
1818
1819 [[package]]
@@ -1865,9 +1853,9 @@ dependencies = [
1853
1854 [[package]]
1855 name = "serde"
1868 -version = "1.0.225"
1856 +version = "1.0.227"
1857 source = "registry+https://github.com/rust-lang/crates.io-index"
1870 -checksum = "fd6c24dee235d0da097043389623fb913daddf92c76e9f5a1db88607a0bcbd1d"
1858 +checksum = "80ece43fc6fbed4eb5392ab50c07334d3e577cbf40997ee896fe7af40bba4245"
1859 dependencies = [
1860 "serde_core",
1861 "serde_derive",
@@ -1886,18 +1874,18 @@ dependencies = [
1874
1875 [[package]]
1876 name = "serde_core"
1889 -version = "1.0.225"
1877 +version = "1.0.227"
1878 source = "registry+https://github.com/rust-lang/crates.io-index"
1891 -checksum = "659356f9a0cb1e529b24c01e43ad2bdf520ec4ceaf83047b83ddcc2251f96383"
1879 +checksum = "7a576275b607a2c86ea29e410193df32bc680303c82f31e275bbfcafe8b33be5"
1880 dependencies = [
1881 "serde_derive",
1882 ]
1883
1884 [[package]]
1885 name = "serde_derive"
1898 -version = "1.0.225"
1886 +version = "1.0.227"
1887 source = "registry+https://github.com/rust-lang/crates.io-index"
1900 -checksum = "0ea936adf78b1f766949a4977b91d2f5595825bd6ec079aa9543ad2685fc4516"
1888 +checksum = "51e694923b8824cf0e9b382adf0f60d4e05f348f357b38833a3fa5ed7c2ede04"
1889 dependencies = [
1890 "proc-macro2",
1891 "quote",
@@ -2136,16 +2124,6 @@ dependencies = [
2124 "smbcloud-model",
2125 ]
2126
2139 -[[package]]
2140 -name = "socket2"
2141 -version = "0.5.10"
2142 -source = "registry+https://github.com/rust-lang/crates.io-index"
2143 -checksum = "e22376abed350d73dd1cd119b57ffccad95b4e585a7cda43e286245ce23c0678"
2144 -dependencies = [
2145 - "libc",
2146 - "windows-sys 0.52.0",
2147 -]
2148 -
2127 [[package]]
2128 name = "socket2"
2129 version = "0.6.0"
@@ -2364,15 +2342,15 @@ dependencies = [
2342
2343 [[package]]
2344 name = "tempfile"
2367 -version = "3.22.0"
2345 +version = "3.23.0"
2346 source = "registry+https://github.com/rust-lang/crates.io-index"
2369 -checksum = "84fa4d11fadde498443cca10fd3ac23c951f0dc59e080e9f4b93d4df4e4eea53"
2347 +checksum = "2d31c77bdf42a745371d260a26ca7163f1e0924b64afa0b688e61b5a9fa02f16"
2348 dependencies = [
2349 "fastrand",
2350 "getrandom 0.3.3",
2351 "once_cell",
2352 "rustix",
2375 - "windows-sys 0.61.0",
2353 + "windows-sys 0.61.1",
2354 ]
2355
2356 [[package]]
@@ -2513,7 +2491,7 @@ dependencies = [
2491 "pin-project-lite",
2492 "signal-hook-registry",
2493 "slab",
2516 - "socket2 0.6.0",
2494 + "socket2",
2495 "tokio-macros",
2496 "windows-sys 0.59.0",
2497 ]
@@ -2541,9 +2519,9 @@ dependencies = [
2519
2520 [[package]]
2521 name = "tokio-postgres"
2544 -version = "0.7.13"
2522 +version = "0.7.14"
2523 source = "registry+https://github.com/rust-lang/crates.io-index"
2546 -checksum = "6c95d533c83082bb6490e0189acaa0bbeef9084e60471b696ca6988cd0541fb0"
2524 +checksum = "a156efe7fff213168257853e1dfde202eed5f487522cbbbf7d219941d753d853"
2525 dependencies = [
2526 "async-trait",
2527 "byteorder",
@@ -2559,7 +2537,7 @@ dependencies = [
2537 "postgres-protocol",
2538 "postgres-types",
2539 "rand",
2562 - "socket2 0.5.10",
2540 + "socket2",
2541 "tokio",
2542 "tokio-util",
2543 "whoami",
@@ -2567,9 +2545,9 @@ dependencies = [
2545
2546 [[package]]
2547 name = "tokio-rustls"
2570 -version = "0.26.3"
2548 +version = "0.26.4"
2549 source = "registry+https://github.com/rust-lang/crates.io-index"
2572 -checksum = "05f63835928ca123f1bef57abbcd23bb2ba0ac9ae1235f1e65bda0d06e7786bd"
2550 +checksum = "1729aa945f29d91ba541258c8df89027d5792d85a8841fb65e8bf0f4ede4ef61"
2551 dependencies = [
2552 "rustls",
2553 "tokio",
@@ -2955,9 +2933,9 @@ checksum = "b8dad83b4f25e74f184f64c43b150b91efe7647395b42289f38e50566d82855b"
2933
2934 [[package]]
2935 name = "wasm-bindgen"
2958 -version = "0.2.103"
2936 +version = "0.2.104"
2937 source = "registry+https://github.com/rust-lang/crates.io-index"
2960 -checksum = "ab10a69fbd0a177f5f649ad4d8d3305499c42bab9aef2f7ff592d0ec8f833819"
2938 +checksum = "c1da10c01ae9f1ae40cbfac0bac3b1e724b320abfcf52229f80b547c0d250e2d"
2939 dependencies = [
2940 "cfg-if",
2941 "once_cell",
@@ -2968,9 +2946,9 @@ dependencies = [
2946
2947 [[package]]
2948 name = "wasm-bindgen-backend"
2971 -version = "0.2.103"
2949 +version = "0.2.104"
2950 source = "registry+https://github.com/rust-lang/crates.io-index"
2973 -checksum = "0bb702423545a6007bbc368fde243ba47ca275e549c8a28617f56f6ba53b1d1c"
2951 +checksum = "671c9a5a66f49d8a47345ab942e2cb93c7d1d0339065d4f8139c486121b43b19"
2952 dependencies = [
2953 "bumpalo",
2954 "log",
@@ -2982,9 +2960,9 @@ dependencies = [
2960
2961 [[package]]
2962 name = "wasm-bindgen-futures"
2985 -version = "0.4.53"
2963 +version = "0.4.54"
2964 source = "registry+https://github.com/rust-lang/crates.io-index"
2987 -checksum = "a0b221ff421256839509adbb55998214a70d829d3a28c69b4a6672e9d2a42f67"
2965 +checksum = "7e038d41e478cc73bae0ff9b36c60cff1c98b8f38f8d7e8061e79ee63608ac5c"
2966 dependencies = [
2967 "cfg-if",
2968 "js-sys",
@@ -2995,9 +2973,9 @@ dependencies = [
2973
2974 [[package]]
2975 name = "wasm-bindgen-macro"
2998 -version = "0.2.103"
2976 +version = "0.2.104"
2977 source = "registry+https://github.com/rust-lang/crates.io-index"
3000 -checksum = "fc65f4f411d91494355917b605e1480033152658d71f722a90647f56a70c88a0"
2978 +checksum = "7ca60477e4c59f5f2986c50191cd972e3a50d8a95603bc9434501cf156a9a119"
2979 dependencies = [
2980 "quote",
2981 "wasm-bindgen-macro-support",
@@ -3005,9 +2983,9 @@ dependencies = [
2983
2984 [[package]]
2985 name = "wasm-bindgen-macro-support"
3008 -version = "0.2.103"
2986 +version = "0.2.104"
2987 source = "registry+https://github.com/rust-lang/crates.io-index"
3010 -checksum = "ffc003a991398a8ee604a401e194b6b3a39677b3173d6e74495eb51b82e99a32"
2988 +checksum = "9f07d2f20d4da7b26400c9f4a0511e6e0345b040694e8a75bd41d578fa4421d7"
2989 dependencies = [
2990 "proc-macro2",
2991 "quote",
@@ -3018,18 +2996,18 @@ dependencies = [
2996
2997 [[package]]
2998 name = "wasm-bindgen-shared"
3021 -version = "0.2.103"
2999 +version = "0.2.104"
3000 source = "registry+https://github.com/rust-lang/crates.io-index"
3023 -checksum = "293c37f4efa430ca14db3721dfbe48d8c33308096bd44d80ebaa775ab71ba1cf"
3001 +checksum = "bad67dc8b2a1a6e5448428adec4c3e84c43e561d8c9ee8a9e5aabeb193ec41d1"
3002 dependencies = [
3003 "unicode-ident",
3004 ]
3005
3006 [[package]]
3007 name = "web-sys"
3030 -version = "0.3.80"
3008 +version = "0.3.81"
3009 source = "registry+https://github.com/rust-lang/crates.io-index"
3032 -checksum = "fbe734895e869dc429d78c4b433f8d17d95f8d05317440b4fad5ab2d33e596dc"
3010 +checksum = "9367c417a924a74cae129e6a2ae3b47fabb1f8995595ab474029da749a8be120"
3011 dependencies = [
3012 "js-sys",
3013 "wasm-bindgen",
@@ -3078,7 +3056,7 @@ version = "0.1.11"
3056 source = "registry+https://github.com/rust-lang/crates.io-index"
3057 checksum = "c2a7b1c03c876122aa43f3020e6c3c3ee5c05081c9a00739faf7503aeba10d22"
3058 dependencies = [
3081 - "windows-sys 0.61.0",
3059 + "windows-sys 0.61.1",
3060 ]
3061
3062 [[package]]
@@ -3098,9 +3076,9 @@ dependencies = [
3076
3077 [[package]]
3078 name = "windows-core"
3101 -version = "0.62.0"
3079 +version = "0.62.1"
3080 source = "registry+https://github.com/rust-lang/crates.io-index"
3103 -checksum = "57fe7168f7de578d2d8a05b07fd61870d2e73b4020e9f49aa00da8471723497c"
3081 +checksum = "6844ee5416b285084d3d3fffd743b925a6c9385455f64f6d4fa3031c4c2749a9"
3082 dependencies = [
3083 "windows-implement",
3084 "windows-interface",
@@ -3111,9 +3089,9 @@ dependencies = [
3089
3090 [[package]]
3091 name = "windows-implement"
3114 -version = "0.60.0"
3092 +version = "0.60.1"
3093 source = "registry+https://github.com/rust-lang/crates.io-index"
3116 -checksum = "a47fddd13af08290e67f4acabf4b459f647552718f683a7b415d290ac744a836"
3094 +checksum = "edb307e42a74fb6de9bf3a02d9712678b22399c87e6fa869d6dfcd8c1b7754e0"
3095 dependencies = [
3096 "proc-macro2",
3097 "quote",
@@ -3122,9 +3100,9 @@ dependencies = [
3100
3101 [[package]]
3102 name = "windows-interface"
3125 -version = "0.59.1"
3103 +version = "0.59.2"
3104 source = "registry+https://github.com/rust-lang/crates.io-index"
3127 -checksum = "bd9211b69f8dcdfa817bfd14bf1c97c9188afa36f4750130fcdf3f400eca9fa8"
3105 +checksum = "c0abd1ddbc6964ac14db11c7213d6532ef34bd9aa042c2e5935f59d7908b46a5"
3106 dependencies = [
3107 "proc-macro2",
3108 "quote",
@@ -3214,14 +3192,14 @@ version = "0.60.2"
3192 source = "registry+https://github.com/rust-lang/crates.io-index"
3193 checksum = "f2f500e4d28234f72040990ec9d39e3a6b950f9f22d3dba18416c35882612bcb"
3194 dependencies = [
3217 - "windows-targets 0.53.3",
3195 + "windows-targets 0.53.4",
3196 ]
3197
3198 [[package]]
3199 name = "windows-sys"
3222 -version = "0.61.0"
3200 +version = "0.61.1"
3201 source = "registry+https://github.com/rust-lang/crates.io-index"
3224 -checksum = "e201184e40b2ede64bc2ea34968b28e33622acdbbf37104f0e4a33f7abe657aa"
3202 +checksum = "6f109e41dd4a3c848907eb83d5a42ea98b3769495597450cf6d153507b166f0f"
3203 dependencies = [
3204 "windows-link 0.2.0",
3205 ]
@@ -3259,11 +3237,11 @@ dependencies = [
3237
3238 [[package]]
3239 name = "windows-targets"
3262 -version = "0.53.3"
3240 +version = "0.53.4"
3241 source = "registry+https://github.com/rust-lang/crates.io-index"
3264 -checksum = "d5fe6031c4041849d7c496a8ded650796e7b6ecc19df1a431c1a363342e5dc91"
3242 +checksum = "2d42b7b7f66d2a06854650af09cfdf8713e427a439c97ad65a6375318033ac4b"
3243 dependencies = [
3266 - "windows-link 0.1.3",
3244 + "windows-link 0.2.0",
3245 "windows_aarch64_gnullvm 0.53.0",
3246 "windows_aarch64_msvc 0.53.0",
3247 "windows_i686_gnu 0.53.0",
crates/cli/src/account/logout/mod.rs
+15 -24
@@ -1,15 +1,17 @@
1 -use crate::token::{get_smb_token::get_smb_token, smb_token_file_path::smb_token_file_path};
2 -use anyhow::{anyhow, Result};
3 -use dialoguer::{theme::ColorfulTheme, Confirm};
4 -use reqwest::{Client, StatusCode};
5 -use smbcloud_network::environment::Environment;
6 -use smbcloud_networking::{constants::PATH_USERS_SIGN_OUT, smb_base_url_builder};
7 -use spinners::Spinner;
8 -use std::fs;
9 -
10 -use crate::{
11 - cli::CommandResult,
12 - ui::{fail_message, fail_symbol, succeed_message, succeed_symbol},
1 +use {
2 + crate::{
3 + cli::CommandResult,
4 + token::{get_smb_token::get_smb_token, smb_token_file_path::smb_token_file_path},
5 + ui::{fail_message, fail_symbol, succeed_message, succeed_symbol},
6 + },
7 + anyhow::{anyhow, Result},
8 + dialoguer::{theme::ColorfulTheme, Confirm},
9 + reqwest::{Client, StatusCode},
10 + smbcloud_network::environment::Environment,
11 + smbcloud_networking::{constants::PATH_USERS_SIGN_OUT, smb_base_url_builder},
12 + smbcloud_networking_account::logout::{self, logout},
13 + spinners::Spinner,
14 + std::fs,
15 };
16
17 pub async fn process_logout(env: Environment) -> Result<CommandResult> {
@@ -68,18 +70,7 @@ pub async fn process_logout(env: Environment) -> Result<CommandResult> {
70 async fn do_process_logout(env: Environment) -> Result<()> {
71 let token = get_smb_token(env)?;
72
71 - let response = Client::new()
72 - .delete(build_smb_logout_url(env))
73 - .header("Authorization", token)
74 - .header("Accept", "application/json")
75 - .header("Content-Type", "application/x-www-form-urlencoded")
76 - .send()
77 - .await?;
78 -
79 - match response.status() {
80 - StatusCode::OK => Ok(()),
81 - _ => Err(anyhow!("Failed to logout.")),
82 - }
73 + logout(env, token).await?
74 }
75
76 fn build_smb_logout_url(env: Environment) -> String {
crates/smbcloud-model/src/account.rs
+9 -5
@@ -1,11 +1,15 @@
1 -use crate::signup::GithubEmail;
2 -use chrono::{DateTime, Utc};
3 -use serde::{Deserialize, Serialize};
4 -use serde_repr::{Deserialize_repr, Serialize_repr};
5 -use std::fmt::{Display, Formatter};
1 +use {
2 + crate::signup::GithubEmail,
3 + chrono::{DateTime, Utc},
4 + serde::{Deserialize, Serialize},
5 + serde_repr::{Deserialize_repr, Serialize_repr},
6 + std::fmt::{Display, Formatter},
7 + tsync::tsync,
8 +};
9
10 // smbcloud Users.
11 #[derive(Debug, Serialize, Deserialize)]
12 +#[tsync]
13 pub struct User {
14 pub id: i32,
15 pub email: String,
crates/smbcloud-networking-account/src/lib.rs
+1
@@ -1,3 +1,4 @@
1 pub mod login;
2 +pub mod logout;
3 pub mod me;
4 pub mod signup;
crates/smbcloud-networking-account/src/logout.rs new
+39
@@ -0,0 +1,39 @@
1 +use {
2 + reqwest::{Client, StatusCode},
3 + smbcloud_model::error_codes::{ErrorCode, ErrorResponse},
4 + smbcloud_network::environment::Environment,
5 + smbcloud_networking::{constants::PATH_USERS_SIGN_OUT, smb_base_url_builder},
6 +};
7 +
8 +pub async fn logout(env: Environment, access_token: String) -> Result<(), ErrorResponse> {
9 + let response = match Client::new()
10 + .delete(build_smb_logout_url(env))
11 + .header("Authorization", access_token)
12 + .header("Accept", "application/json")
13 + .header("Content-Type", "application/x-www-form-urlencoded")
14 + .send()
15 + .await
16 + {
17 + Ok(response) => response,
18 + Err(_) => {
19 + return Err(ErrorResponse::Error {
20 + error_code: ErrorCode::Unknown,
21 + message: ErrorCode::Unknown.message(None).to_string(),
22 + });
23 + }
24 + };
25 +
26 + match response.status() {
27 + StatusCode::OK => Ok(()),
28 + _ => Err(ErrorResponse::Error {
29 + error_code: ErrorCode::Unauthorized,
30 + message: ErrorCode::Unauthorized.message(None).to_string(),
31 + }),
32 + }
33 +}
34 +
35 +fn build_smb_logout_url(env: Environment) -> String {
36 + let mut url_builder = smb_base_url_builder(env);
37 + url_builder.add_route(PATH_USERS_SIGN_OUT);
38 + url_builder.build()
39 +}