aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorfxqnlr <[email protected]>2024-07-02 14:56:01 +0200
committerfxqnlr <[email protected]>2024-07-02 14:56:01 +0200
commit9329d197f37b68c1800cc7c81a741491c3cd0c6c (patch)
treeb6bccb03702b0301305193acdb572e51cd286e78
parent7c631abbc607468e6796a1d47aa7d9da48d6340e (diff)
parente4a1dac094556f0a4000b429897402facc09e03f (diff)
downloadwebol-9329d197f37b68c1800cc7c81a741491c3cd0c6c.tar
webol-9329d197f37b68c1800cc7c81a741491c3cd0c6c.tar.gz
webol-9329d197f37b68c1800cc7c81a741491c3cd0c6c.zip
Merge branch 'main' into server-error
-rw-r--r--Cargo.lock468
-rw-r--r--Cargo.toml4
-rw-r--r--src/routes/device.rs4
3 files changed, 159 insertions, 317 deletions
diff --git a/Cargo.lock b/Cargo.lock
index 750d578..8205d07 100644
--- a/Cargo.lock
+++ b/Cargo.lock
@@ -58,7 +58,7 @@ checksum = "c6fa2087f2753a7da8cc1c0dbfcf89579dd57458e36769de5ac750b4671737ca"
58dependencies = [ 58dependencies = [
59 "proc-macro2", 59 "proc-macro2",
60 "quote", 60 "quote",
61 "syn 2.0.66", 61 "syn 2.0.68",
62] 62]
63 63
64[[package]] 64[[package]]
@@ -134,7 +134,7 @@ dependencies = [
134 "heck", 134 "heck",
135 "proc-macro2", 135 "proc-macro2",
136 "quote", 136 "quote",
137 "syn 2.0.66", 137 "syn 2.0.68",
138] 138]
139 139
140[[package]] 140[[package]]
@@ -166,9 +166,9 @@ checksum = "72b3254f16251a8381aa12e40e3c4d2f0199f8c6508fbecb9d91f575e0fbb8c6"
166 166
167[[package]] 167[[package]]
168name = "bitflags" 168name = "bitflags"
169version = "2.5.0" 169version = "2.6.0"
170source = "registry+https://github.com/rust-lang/crates.io-index" 170source = "registry+https://github.com/rust-lang/crates.io-index"
171checksum = "cf4b9d6a944f767f8e5e0db018570623c85f3d925ac718db4e06d0187adb21c1" 171checksum = "b048fb63fd8b5923fc5aa7b340d8e156aec7ec02f0c78fa8a6ddc2613f6f71de"
172dependencies = [ 172dependencies = [
173 "serde", 173 "serde",
174] 174]
@@ -202,9 +202,9 @@ checksum = "514de17de45fdb8dc022b1a7975556c53c86f9f0aa5f534b98977b171857c2c9"
202 202
203[[package]] 203[[package]]
204name = "cc" 204name = "cc"
205version = "1.0.99" 205version = "1.0.104"
206source = "registry+https://github.com/rust-lang/crates.io-index" 206source = "registry+https://github.com/rust-lang/crates.io-index"
207checksum = "96c51067fd44124faa7f870b4b1c969379ad32b2ba805aa959430ceaa384f695" 207checksum = "74b6a57f98764a267ff415d50a25e6e166f3831a5071af4995296ea97d210490"
208 208
209[[package]] 209[[package]]
210name = "cfg-if" 210name = "cfg-if"
@@ -363,11 +363,12 @@ dependencies = [
363 363
364[[package]] 364[[package]]
365name = "dashmap" 365name = "dashmap"
366version = "5.5.3" 366version = "6.0.1"
367source = "registry+https://github.com/rust-lang/crates.io-index" 367source = "registry+https://github.com/rust-lang/crates.io-index"
368checksum = "978747c1d849a7d2ee5e8adc0159961c48fb7e5db2f06af6723b80123bb53856" 368checksum = "804c8821570c3f8b70230c2ba75ffa5c0f9a4189b9a432b6656c536712acae28"
369dependencies = [ 369dependencies = [
370 "cfg-if", 370 "cfg-if",
371 "crossbeam-utils",
371 "hashbrown 0.14.5", 372 "hashbrown 0.14.5",
372 "lock_api", 373 "lock_api",
373 "once_cell", 374 "once_cell",
@@ -397,7 +398,7 @@ checksum = "67e77553c4162a157adbf834ebae5b415acbecbeafc7a74b0e886657506a7611"
397dependencies = [ 398dependencies = [
398 "proc-macro2", 399 "proc-macro2",
399 "quote", 400 "quote",
400 "syn 2.0.66", 401 "syn 2.0.68",
401] 402]
402 403
403[[package]] 404[[package]]
@@ -412,13 +413,13 @@ dependencies = [
412 413
413[[package]] 414[[package]]
414name = "displaydoc" 415name = "displaydoc"
415version = "0.2.4" 416version = "0.2.5"
416source = "registry+https://github.com/rust-lang/crates.io-index" 417source = "registry+https://github.com/rust-lang/crates.io-index"
417checksum = "487585f4d0c6655fe74905e2504d8ad6908e4db67f744eb140876906c2f3175d" 418checksum = "97369cbbc041bc366949bc74d34658d6cda5621039731c6310521892a3a20ae0"
418dependencies = [ 419dependencies = [
419 "proc-macro2", 420 "proc-macro2",
420 "quote", 421 "quote",
421 "syn 2.0.66", 422 "syn 2.0.68",
422] 423]
423 424
424[[package]] 425[[package]]
@@ -620,9 +621,9 @@ dependencies = [
620 621
621[[package]] 622[[package]]
622name = "httparse" 623name = "httparse"
623version = "1.9.3" 624version = "1.9.4"
624source = "registry+https://github.com/rust-lang/crates.io-index" 625source = "registry+https://github.com/rust-lang/crates.io-index"
625checksum = "d0e7a4dd27b9476dc40cb050d3632d3bba3a70ddbff012285f7f8559a1e7e545" 626checksum = "0fcc0b4a115bf80b728eb8ea024ad5bd707b615bfed49e0665b6e0f86fd082d9"
626 627
627[[package]] 628[[package]]
628name = "httpdate" 629name = "httpdate"
@@ -632,9 +633,9 @@ checksum = "df3b46402a9d5adb4c86a0cf463f42e19994e3ee891101b1841f30a545cb49a9"
632 633
633[[package]] 634[[package]]
634name = "hyper" 635name = "hyper"
635version = "1.3.1" 636version = "1.4.0"
636source = "registry+https://github.com/rust-lang/crates.io-index" 637source = "registry+https://github.com/rust-lang/crates.io-index"
637checksum = "fe575dd17d0862a9a33781c8c4696a55c320909004a67a00fb286ba8b1bc496d" 638checksum = "c4fe55fb7a772d59a5ff1dfbff4fe0258d19b89fec4b233e75d35d5d2316badc"
638dependencies = [ 639dependencies = [
639 "bytes", 640 "bytes",
640 "futures-channel", 641 "futures-channel",
@@ -652,9 +653,9 @@ dependencies = [
652 653
653[[package]] 654[[package]]
654name = "hyper-rustls" 655name = "hyper-rustls"
655version = "0.26.0" 656version = "0.27.2"
656source = "registry+https://github.com/rust-lang/crates.io-index" 657source = "registry+https://github.com/rust-lang/crates.io-index"
657checksum = "a0bea761b46ae2b24eb4aef630d8d1c398157b6fc29e6350ecf090a0b70c952c" 658checksum = "5ee4be2c948921a1a5320b629c4193916ed787a7f7f293fd3f7f5a6c9de74155"
658dependencies = [ 659dependencies = [
659 "futures-util", 660 "futures-util",
660 "http", 661 "http",
@@ -665,13 +666,14 @@ dependencies = [
665 "tokio", 666 "tokio",
666 "tokio-rustls", 667 "tokio-rustls",
667 "tower-service", 668 "tower-service",
669 "webpki-roots",
668] 670]
669 671
670[[package]] 672[[package]]
671name = "hyper-util" 673name = "hyper-util"
672version = "0.1.5" 674version = "0.1.6"
673source = "registry+https://github.com/rust-lang/crates.io-index" 675source = "registry+https://github.com/rust-lang/crates.io-index"
674checksum = "7b875924a60b96e5d7b9ae7b066540b1dd1cbd90d1828f54c92e02a283351c56" 676checksum = "3ab92f4f49ee4fb4f997c784b7a2e0fa70050211e0b6a287f898c3c9785ca956"
675dependencies = [ 677dependencies = [
676 "bytes", 678 "bytes",
677 "futures-channel", 679 "futures-channel",
@@ -711,133 +713,13 @@ dependencies = [
711] 713]
712 714
713[[package]] 715[[package]]
714name = "icu_collections"
715version = "1.5.0"
716source = "registry+https://github.com/rust-lang/crates.io-index"
717checksum = "db2fa452206ebee18c4b5c2274dbf1de17008e874b4dc4f0aea9d01ca79e4526"
718dependencies = [
719 "displaydoc",
720 "yoke",
721 "zerofrom",
722 "zerovec",
723]
724
725[[package]]
726name = "icu_locid"
727version = "1.5.0"
728source = "registry+https://github.com/rust-lang/crates.io-index"
729checksum = "13acbb8371917fc971be86fc8057c41a64b521c184808a698c02acc242dbf637"
730dependencies = [
731 "displaydoc",
732 "litemap",
733 "tinystr",
734 "writeable",
735 "zerovec",
736]
737
738[[package]]
739name = "icu_locid_transform"
740version = "1.5.0"
741source = "registry+https://github.com/rust-lang/crates.io-index"
742checksum = "01d11ac35de8e40fdeda00d9e1e9d92525f3f9d887cdd7aa81d727596788b54e"
743dependencies = [
744 "displaydoc",
745 "icu_locid",
746 "icu_locid_transform_data",
747 "icu_provider",
748 "tinystr",
749 "zerovec",
750]
751
752[[package]]
753name = "icu_locid_transform_data"
754version = "1.5.0"
755source = "registry+https://github.com/rust-lang/crates.io-index"
756checksum = "fdc8ff3388f852bede6b579ad4e978ab004f139284d7b28715f773507b946f6e"
757
758[[package]]
759name = "icu_normalizer"
760version = "1.5.0"
761source = "registry+https://github.com/rust-lang/crates.io-index"
762checksum = "19ce3e0da2ec68599d193c93d088142efd7f9c5d6fc9b803774855747dc6a84f"
763dependencies = [
764 "displaydoc",
765 "icu_collections",
766 "icu_normalizer_data",
767 "icu_properties",
768 "icu_provider",
769 "smallvec",
770 "utf16_iter",
771 "utf8_iter",
772 "write16",
773 "zerovec",
774]
775
776[[package]]
777name = "icu_normalizer_data"
778version = "1.5.0"
779source = "registry+https://github.com/rust-lang/crates.io-index"
780checksum = "f8cafbf7aa791e9b22bec55a167906f9e1215fd475cd22adfcf660e03e989516"
781
782[[package]]
783name = "icu_properties"
784version = "1.5.0"
785source = "registry+https://github.com/rust-lang/crates.io-index"
786checksum = "1f8ac670d7422d7f76b32e17a5db556510825b29ec9154f235977c9caba61036"
787dependencies = [
788 "displaydoc",
789 "icu_collections",
790 "icu_locid_transform",
791 "icu_properties_data",
792 "icu_provider",
793 "tinystr",
794 "zerovec",
795]
796
797[[package]]
798name = "icu_properties_data"
799version = "1.5.0"
800source = "registry+https://github.com/rust-lang/crates.io-index"
801checksum = "67a8effbc3dd3e4ba1afa8ad918d5684b8868b3b26500753effea8d2eed19569"
802
803[[package]]
804name = "icu_provider"
805version = "1.5.0"
806source = "registry+https://github.com/rust-lang/crates.io-index"
807checksum = "6ed421c8a8ef78d3e2dbc98a973be2f3770cb42b606e3ab18d6237c4dfde68d9"
808dependencies = [
809 "displaydoc",
810 "icu_locid",
811 "icu_provider_macros",
812 "stable_deref_trait",
813 "tinystr",
814 "writeable",
815 "yoke",
816 "zerofrom",
817 "zerovec",
818]
819
820[[package]]
821name = "icu_provider_macros"
822version = "1.5.0"
823source = "registry+https://github.com/rust-lang/crates.io-index"
824checksum = "1ec89e9337638ecdc08744df490b221a7399bf8d164eb52a665454e60e075ad6"
825dependencies = [
826 "proc-macro2",
827 "quote",
828 "syn 2.0.66",
829]
830
831[[package]]
832name = "idna" 716name = "idna"
833version = "1.0.0" 717version = "0.5.0"
834source = "registry+https://github.com/rust-lang/crates.io-index" 718source = "registry+https://github.com/rust-lang/crates.io-index"
835checksum = "4716a3a0933a1d01c2f72450e89596eb51dd34ef3c211ccd875acdf1f8fe47ed" 719checksum = "634d9b1461af396cad843f47fdba5597a4f9e6ddd4bfb6ff5d85028c25cb12f6"
836dependencies = [ 720dependencies = [
837 "icu_normalizer", 721 "unicode-bidi",
838 "icu_properties", 722 "unicode-normalization",
839 "smallvec",
840 "utf8_iter",
841] 723]
842 724
843[[package]] 725[[package]]
@@ -900,9 +782,9 @@ dependencies = [
900 782
901[[package]] 783[[package]]
902name = "lazy_static" 784name = "lazy_static"
903version = "1.4.0" 785version = "1.5.0"
904source = "registry+https://github.com/rust-lang/crates.io-index" 786source = "registry+https://github.com/rust-lang/crates.io-index"
905checksum = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646" 787checksum = "bbd2bcb4c963f2ddae06a2efc7e9f3591312473c50c6685e1f298068316e66fe"
906 788
907[[package]] 789[[package]]
908name = "libc" 790name = "libc"
@@ -917,12 +799,6 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
917checksum = "0717cef1bc8b636c6e1c1bbdefc09e6322da8a9321966e8928ef80d20f7f770f" 799checksum = "0717cef1bc8b636c6e1c1bbdefc09e6322da8a9321966e8928ef80d20f7f770f"
918 800
919[[package]] 801[[package]]
920name = "litemap"
921version = "0.7.3"
922source = "registry+https://github.com/rust-lang/crates.io-index"
923checksum = "643cb0b8d4fcc284004d5fd0d67ccf61dfffadb7f75e1e71bc420f4688a3a704"
924
925[[package]]
926name = "lock_api" 802name = "lock_api"
927version = "0.4.12" 803version = "0.4.12"
928source = "registry+https://github.com/rust-lang/crates.io-index" 804source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -934,9 +810,9 @@ dependencies = [
934 810
935[[package]] 811[[package]]
936name = "log" 812name = "log"
937version = "0.4.21" 813version = "0.4.22"
938source = "registry+https://github.com/rust-lang/crates.io-index" 814source = "registry+https://github.com/rust-lang/crates.io-index"
939checksum = "90ed8c1e510134f979dbc4f070f87d4313098b704861a105fe34231c70a3901c" 815checksum = "a7a70ba024b9dc04c27ea2f0c0548feb474ec5c54bba33a7f72f873a39d07b24"
940 816
941[[package]] 817[[package]]
942name = "mac_address" 818name = "mac_address"
@@ -987,9 +863,9 @@ checksum = "6877bb514081ee2a7ff5ef9de3281f14a4dd4bceac4c09388074a6b5df8a139a"
987 863
988[[package]] 864[[package]]
989name = "mime_guess" 865name = "mime_guess"
990version = "2.0.4" 866version = "2.0.5"
991source = "registry+https://github.com/rust-lang/crates.io-index" 867source = "registry+https://github.com/rust-lang/crates.io-index"
992checksum = "4192263c238a5f0d0c6bfd21f336a313a4ce1c450542449ca191bb657b4642ef" 868checksum = "f7c44f8e672c00fe5308fa235f821cb4198414e1c77935c1ab6948d3fd78550e"
993dependencies = [ 869dependencies = [
994 "mime", 870 "mime",
995 "unicase", 871 "unicase",
@@ -1003,9 +879,9 @@ checksum = "68354c5c6bd36d73ff3feceb05efa59b6acb7626617f4962be322a825e61f79a"
1003 879
1004[[package]] 880[[package]]
1005name = "miniz_oxide" 881name = "miniz_oxide"
1006version = "0.7.3" 882version = "0.7.4"
1007source = "registry+https://github.com/rust-lang/crates.io-index" 883source = "registry+https://github.com/rust-lang/crates.io-index"
1008checksum = "87dfd01fe195c66b572b37921ad8803d010623c0aca821bea2302239d155cdae" 884checksum = "b8a240ddb74feaf34a79a7add65a741f3167852fba007066dcac1ca548d89c08"
1009dependencies = [ 885dependencies = [
1010 "adler", 886 "adler",
1011] 887]
@@ -1103,7 +979,7 @@ dependencies = [
1103 "proc-macro-crate", 979 "proc-macro-crate",
1104 "proc-macro2", 980 "proc-macro2",
1105 "quote", 981 "quote",
1106 "syn 2.0.66", 982 "syn 2.0.68",
1107] 983]
1108 984
1109[[package]] 985[[package]]
@@ -1189,9 +1065,9 @@ checksum = "e3148f5046208a5d56bcfc03053e3ca6334e51da8dfb19b6cdc8b306fae3283e"
1189 1065
1190[[package]] 1066[[package]]
1191name = "pest" 1067name = "pest"
1192version = "2.7.10" 1068version = "2.7.11"
1193source = "registry+https://github.com/rust-lang/crates.io-index" 1069source = "registry+https://github.com/rust-lang/crates.io-index"
1194checksum = "560131c633294438da9f7c4b08189194b20946c8274c6b9e38881a7874dc8ee8" 1070checksum = "cd53dff83f26735fdc1ca837098ccf133605d794cdae66acfc2bfac3ec809d95"
1195dependencies = [ 1071dependencies = [
1196 "memchr", 1072 "memchr",
1197 "thiserror", 1073 "thiserror",
@@ -1200,9 +1076,9 @@ dependencies = [
1200 1076
1201[[package]] 1077[[package]]
1202name = "pest_derive" 1078name = "pest_derive"
1203version = "2.7.10" 1079version = "2.7.11"
1204source = "registry+https://github.com/rust-lang/crates.io-index" 1080source = "registry+https://github.com/rust-lang/crates.io-index"
1205checksum = "26293c9193fbca7b1a3bf9b79dc1e388e927e6cacaa78b4a3ab705a1d3d41459" 1081checksum = "2a548d2beca6773b1c244554d36fcf8548a8a58e74156968211567250e48e49a"
1206dependencies = [ 1082dependencies = [
1207 "pest", 1083 "pest",
1208 "pest_generator", 1084 "pest_generator",
@@ -1210,22 +1086,22 @@ dependencies = [
1210 1086
1211[[package]] 1087[[package]]
1212name = "pest_generator" 1088name = "pest_generator"
1213version = "2.7.10" 1089version = "2.7.11"
1214source = "registry+https://github.com/rust-lang/crates.io-index" 1090source = "registry+https://github.com/rust-lang/crates.io-index"
1215checksum = "3ec22af7d3fb470a85dd2ca96b7c577a1eb4ef6f1683a9fe9a8c16e136c04687" 1091checksum = "3c93a82e8d145725dcbaf44e5ea887c8a869efdcc28706df2d08c69e17077183"
1216dependencies = [ 1092dependencies = [
1217 "pest", 1093 "pest",
1218 "pest_meta", 1094 "pest_meta",
1219 "proc-macro2", 1095 "proc-macro2",
1220 "quote", 1096 "quote",
1221 "syn 2.0.66", 1097 "syn 2.0.68",
1222] 1098]
1223 1099
1224[[package]] 1100[[package]]
1225name = "pest_meta" 1101name = "pest_meta"
1226version = "2.7.10" 1102version = "2.7.11"
1227source = "registry+https://github.com/rust-lang/crates.io-index" 1103source = "registry+https://github.com/rust-lang/crates.io-index"
1228checksum = "d7a240022f37c361ec1878d646fc5b7d7c4d28d5946e1a80ad5a7a4f4ca0bdcd" 1104checksum = "a941429fea7e08bedec25e4f6785b6ffaacc6b755da98df5ef3e7dcf4a124c4f"
1229dependencies = [ 1105dependencies = [
1230 "once_cell", 1106 "once_cell",
1231 "pest", 1107 "pest",
@@ -1249,7 +1125,7 @@ checksum = "2f38a4412a78282e09a2cf38d195ea5420d15ba0602cb375210efbc877243965"
1249dependencies = [ 1125dependencies = [
1250 "proc-macro2", 1126 "proc-macro2",
1251 "quote", 1127 "quote",
1252 "syn 2.0.66", 1128 "syn 2.0.68",
1253] 1129]
1254 1130
1255[[package]] 1131[[package]]
@@ -1282,7 +1158,7 @@ dependencies = [
1282 "proc-macro2", 1158 "proc-macro2",
1283 "quote", 1159 "quote",
1284 "regex", 1160 "regex",
1285 "syn 2.0.66", 1161 "syn 2.0.68",
1286] 1162]
1287 1163
1288[[package]] 1164[[package]]
@@ -1353,14 +1229,61 @@ dependencies = [
1353 1229
1354[[package]] 1230[[package]]
1355name = "proc-macro2" 1231name = "proc-macro2"
1356version = "1.0.85" 1232version = "1.0.86"
1357source = "registry+https://github.com/rust-lang/crates.io-index" 1233source = "registry+https://github.com/rust-lang/crates.io-index"
1358checksum = "22244ce15aa966053a896d1accb3a6e68469b97c7f33f284b99f0d576879fc23" 1234checksum = "5e719e8df665df0d1c8fbfd238015744736151d4445ec0836b8e628aae103b77"
1359dependencies = [ 1235dependencies = [
1360 "unicode-ident", 1236 "unicode-ident",
1361] 1237]
1362 1238
1363[[package]] 1239[[package]]
1240name = "quinn"
1241version = "0.11.2"
1242source = "registry+https://github.com/rust-lang/crates.io-index"
1243checksum = "e4ceeeeabace7857413798eb1ffa1e9c905a9946a57d81fb69b4b71c4d8eb3ad"
1244dependencies = [
1245 "bytes",
1246 "pin-project-lite",
1247 "quinn-proto",
1248 "quinn-udp",
1249 "rustc-hash",
1250 "rustls",
1251 "thiserror",
1252 "tokio",
1253 "tracing",
1254]
1255
1256[[package]]
1257name = "quinn-proto"
1258version = "0.11.3"
1259source = "registry+https://github.com/rust-lang/crates.io-index"
1260checksum = "ddf517c03a109db8100448a4be38d498df8a210a99fe0e1b9eaf39e78c640efe"
1261dependencies = [
1262 "bytes",
1263 "rand",
1264 "ring",
1265 "rustc-hash",
1266 "rustls",
1267 "slab",
1268 "thiserror",
1269 "tinyvec",
1270 "tracing",
1271]
1272
1273[[package]]
1274name = "quinn-udp"
1275version = "0.5.2"
1276source = "registry+https://github.com/rust-lang/crates.io-index"
1277checksum = "9096629c45860fc7fb143e125eb826b5e721e10be3263160c7d60ca832cf8c46"
1278dependencies = [
1279 "libc",
1280 "once_cell",
1281 "socket2",
1282 "tracing",
1283 "windows-sys 0.52.0",
1284]
1285
1286[[package]]
1364name = "quote" 1287name = "quote"
1365version = "1.0.36" 1288version = "1.0.36"
1366source = "registry+https://github.com/rust-lang/crates.io-index" 1289source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -1454,9 +1377,9 @@ checksum = "7a66a03ae7c801facd77a29370b4faec201768915ac14a721ba36f20bc9c209b"
1454 1377
1455[[package]] 1378[[package]]
1456name = "reqwest" 1379name = "reqwest"
1457version = "0.12.4" 1380version = "0.12.5"
1458source = "registry+https://github.com/rust-lang/crates.io-index" 1381source = "registry+https://github.com/rust-lang/crates.io-index"
1459checksum = "566cafdd92868e0939d3fb961bd0dc25fcfaaed179291093b3d43e6b3150ea10" 1382checksum = "c7d6d2a27d57148378eb5e111173f4276ad26340ecc5c49a4a2152167a2d6a37"
1460dependencies = [ 1383dependencies = [
1461 "base64 0.22.1", 1384 "base64 0.22.1",
1462 "bytes", 1385 "bytes",
@@ -1476,13 +1399,14 @@ dependencies = [
1476 "once_cell", 1399 "once_cell",
1477 "percent-encoding", 1400 "percent-encoding",
1478 "pin-project-lite", 1401 "pin-project-lite",
1402 "quinn",
1479 "rustls", 1403 "rustls",
1480 "rustls-pemfile", 1404 "rustls-pemfile",
1481 "rustls-pki-types", 1405 "rustls-pki-types",
1482 "serde", 1406 "serde",
1483 "serde_json", 1407 "serde_json",
1484 "serde_urlencoded", 1408 "serde_urlencoded",
1485 "sync_wrapper 0.1.2", 1409 "sync_wrapper 1.0.1",
1486 "tokio", 1410 "tokio",
1487 "tokio-rustls", 1411 "tokio-rustls",
1488 "tower-service", 1412 "tower-service",
@@ -1541,7 +1465,7 @@ dependencies = [
1541 "proc-macro2", 1465 "proc-macro2",
1542 "quote", 1466 "quote",
1543 "rust-embed-utils", 1467 "rust-embed-utils",
1544 "syn 2.0.66", 1468 "syn 2.0.68",
1545 "walkdir", 1469 "walkdir",
1546] 1470]
1547 1471
@@ -1572,12 +1496,18 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
1572checksum = "719b953e2095829ee67db738b3bfa9fa368c94900df327b3f07fe6e794d2fe1f" 1496checksum = "719b953e2095829ee67db738b3bfa9fa368c94900df327b3f07fe6e794d2fe1f"
1573 1497
1574[[package]] 1498[[package]]
1499name = "rustc-hash"
1500version = "1.1.0"
1501source = "registry+https://github.com/rust-lang/crates.io-index"
1502checksum = "08d43f7aa6b08d49f382cde6a7982047c3426db949b1424bc4b7ec9ae12c6ce2"
1503
1504[[package]]
1575name = "rustls" 1505name = "rustls"
1576version = "0.22.4" 1506version = "0.23.10"
1577source = "registry+https://github.com/rust-lang/crates.io-index" 1507source = "registry+https://github.com/rust-lang/crates.io-index"
1578checksum = "bf4ef73721ac7bcd79b2b315da7779d8fc09718c6b3d2d1b2d94850eb8c18432" 1508checksum = "05cff451f60db80f490f3c182b77c35260baace73209e9cdbbe526bfe3a4d402"
1579dependencies = [ 1509dependencies = [
1580 "log", 1510 "once_cell",
1581 "ring", 1511 "ring",
1582 "rustls-pki-types", 1512 "rustls-pki-types",
1583 "rustls-webpki", 1513 "rustls-webpki",
@@ -1656,14 +1586,14 @@ checksum = "500cbc0ebeb6f46627f50f3f5811ccf6bf00643be300b4c3eabc0ef55dc5b5ba"
1656dependencies = [ 1586dependencies = [
1657 "proc-macro2", 1587 "proc-macro2",
1658 "quote", 1588 "quote",
1659 "syn 2.0.66", 1589 "syn 2.0.68",
1660] 1590]
1661 1591
1662[[package]] 1592[[package]]
1663name = "serde_json" 1593name = "serde_json"
1664version = "1.0.117" 1594version = "1.0.120"
1665source = "registry+https://github.com/rust-lang/crates.io-index" 1595source = "registry+https://github.com/rust-lang/crates.io-index"
1666checksum = "455182ea6142b14f93f4bc5320a2b31c1f266b66a4a5c858b013302a5d8cbfc3" 1596checksum = "4e0d21c9a8cae1235ad58a00c11cb40d4b1e5c784f1ef2c537876ed6ffd8b7c5"
1667dependencies = [ 1597dependencies = [
1668 "itoa", 1598 "itoa",
1669 "ryu", 1599 "ryu",
@@ -1764,16 +1694,10 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
1764checksum = "6980e8d7511241f8acf4aebddbb1ff938df5eebe98691418c4468d0b72a96a67" 1694checksum = "6980e8d7511241f8acf4aebddbb1ff938df5eebe98691418c4468d0b72a96a67"
1765 1695
1766[[package]] 1696[[package]]
1767name = "stable_deref_trait"
1768version = "1.2.0"
1769source = "registry+https://github.com/rust-lang/crates.io-index"
1770checksum = "a8f112729512f8e442d81f95a8a7ddf2b7c6b8a1a6f509a95864142b30cab2d3"
1771
1772[[package]]
1773name = "subtle" 1697name = "subtle"
1774version = "2.5.0" 1698version = "2.6.1"
1775source = "registry+https://github.com/rust-lang/crates.io-index" 1699source = "registry+https://github.com/rust-lang/crates.io-index"
1776checksum = "81cdd64d312baedb58e21336b31bc043b77e01cc99033ce76ef539f78e965ebc" 1700checksum = "13c2bddecc57b384dee18652358fb23172facb8a2c51ccc10d74c157bdea3292"
1777 1701
1778[[package]] 1702[[package]]
1779name = "surge-ping" 1703name = "surge-ping"
@@ -1803,9 +1727,9 @@ dependencies = [
1803 1727
1804[[package]] 1728[[package]]
1805name = "syn" 1729name = "syn"
1806version = "2.0.66" 1730version = "2.0.68"
1807source = "registry+https://github.com/rust-lang/crates.io-index" 1731source = "registry+https://github.com/rust-lang/crates.io-index"
1808checksum = "c42f3f41a2de00b01c0aaad383c5a45241efc8b2d1eda5661812fda5f3cdcff5" 1732checksum = "901fa70d88b9d6c98022e23b4136f9f3e54e4662c3bc1bd1d84a42a9a0f0c1e9"
1809dependencies = [ 1733dependencies = [
1810 "proc-macro2", 1734 "proc-macro2",
1811 "quote", 1735 "quote",
@@ -1825,17 +1749,6 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
1825checksum = "a7065abeca94b6a8a577f9bd45aa0867a2238b74e8eb67cf10d492bc39351394" 1749checksum = "a7065abeca94b6a8a577f9bd45aa0867a2238b74e8eb67cf10d492bc39351394"
1826 1750
1827[[package]] 1751[[package]]
1828name = "synstructure"
1829version = "0.13.1"
1830source = "registry+https://github.com/rust-lang/crates.io-index"
1831checksum = "c8af7666ab7b6390ab78131fb5b0fce11d6b7a6951602017c35fa82800708971"
1832dependencies = [
1833 "proc-macro2",
1834 "quote",
1835 "syn 2.0.66",
1836]
1837
1838[[package]]
1839name = "thiserror" 1752name = "thiserror"
1840version = "1.0.61" 1753version = "1.0.61"
1841source = "registry+https://github.com/rust-lang/crates.io-index" 1754source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -1852,7 +1765,7 @@ checksum = "46c3384250002a6d5af4d114f2845d37b57521033f30d5c3f46c4d70e1197533"
1852dependencies = [ 1765dependencies = [
1853 "proc-macro2", 1766 "proc-macro2",
1854 "quote", 1767 "quote",
1855 "syn 2.0.66", 1768 "syn 2.0.68",
1856] 1769]
1857 1770
1858[[package]] 1771[[package]]
@@ -1908,16 +1821,21 @@ dependencies = [
1908] 1821]
1909 1822
1910[[package]] 1823[[package]]
1911name = "tinystr" 1824name = "tinyvec"
1912version = "0.7.6" 1825version = "1.6.1"
1913source = "registry+https://github.com/rust-lang/crates.io-index" 1826source = "registry+https://github.com/rust-lang/crates.io-index"
1914checksum = "9117f5d4db391c1cf6927e7bea3db74b9a1c1add8f7eda9ffd5364f40f57b82f" 1827checksum = "c55115c6fbe2d2bef26eb09ad74bde02d8255476fc0c7b515ef09fbb35742d82"
1915dependencies = [ 1828dependencies = [
1916 "displaydoc", 1829 "tinyvec_macros",
1917 "zerovec",
1918] 1830]
1919 1831
1920[[package]] 1832[[package]]
1833name = "tinyvec_macros"
1834version = "0.1.1"
1835source = "registry+https://github.com/rust-lang/crates.io-index"
1836checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20"
1837
1838[[package]]
1921name = "tokio" 1839name = "tokio"
1922version = "1.38.0" 1840version = "1.38.0"
1923source = "registry+https://github.com/rust-lang/crates.io-index" 1841source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -1942,14 +1860,14 @@ checksum = "5f5ae998a069d4b5aba8ee9dad856af7d520c3699e6159b185c2acd48155d39a"
1942dependencies = [ 1860dependencies = [
1943 "proc-macro2", 1861 "proc-macro2",
1944 "quote", 1862 "quote",
1945 "syn 2.0.66", 1863 "syn 2.0.68",
1946] 1864]
1947 1865
1948[[package]] 1866[[package]]
1949name = "tokio-rustls" 1867name = "tokio-rustls"
1950version = "0.25.0" 1868version = "0.26.0"
1951source = "registry+https://github.com/rust-lang/crates.io-index" 1869source = "registry+https://github.com/rust-lang/crates.io-index"
1952checksum = "775e0c0f0adb3a2f22a00c4745d728b479985fc15ee7ca6a2608388c5569860f" 1870checksum = "0c7bc40d0e5a97695bb96e27995cd3a08538541b0a846f65bba7a359f36700d4"
1953dependencies = [ 1871dependencies = [
1954 "rustls", 1872 "rustls",
1955 "rustls-pki-types", 1873 "rustls-pki-types",
@@ -2073,7 +1991,7 @@ checksum = "34704c8d6ebcbc939824180af020566b01a7c01f80641264eba0999f6c2b6be7"
2073dependencies = [ 1991dependencies = [
2074 "proc-macro2", 1992 "proc-macro2",
2075 "quote", 1993 "quote",
2076 "syn 2.0.66", 1994 "syn 2.0.68",
2077] 1995]
2078 1996
2079[[package]] 1997[[package]]
@@ -2174,12 +2092,27 @@ dependencies = [
2174] 2092]
2175 2093
2176[[package]] 2094[[package]]
2095name = "unicode-bidi"
2096version = "0.3.15"
2097source = "registry+https://github.com/rust-lang/crates.io-index"
2098checksum = "08f95100a766bf4f8f28f90d77e0a5461bbdb219042e7679bebe79004fed8d75"
2099
2100[[package]]
2177name = "unicode-ident" 2101name = "unicode-ident"
2178version = "1.0.12" 2102version = "1.0.12"
2179source = "registry+https://github.com/rust-lang/crates.io-index" 2103source = "registry+https://github.com/rust-lang/crates.io-index"
2180checksum = "3354b9ac3fae1ff6755cb6db53683adb661634f67557942dea4facebec0fee4b" 2104checksum = "3354b9ac3fae1ff6755cb6db53683adb661634f67557942dea4facebec0fee4b"
2181 2105
2182[[package]] 2106[[package]]
2107name = "unicode-normalization"
2108version = "0.1.23"
2109source = "registry+https://github.com/rust-lang/crates.io-index"
2110checksum = "a56d1686db2308d901306f92a263857ef59ea39678a5458e7cb17f01415101f5"
2111dependencies = [
2112 "tinyvec",
2113]
2114
2115[[package]]
2183name = "unicode-segmentation" 2116name = "unicode-segmentation"
2184version = "1.11.0" 2117version = "1.11.0"
2185source = "registry+https://github.com/rust-lang/crates.io-index" 2118source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -2193,9 +2126,9 @@ checksum = "8ecb6da28b8a351d773b68d5825ac39017e680750f980f3a1a85cd8dd28a47c1"
2193 2126
2194[[package]] 2127[[package]]
2195name = "url" 2128name = "url"
2196version = "2.5.1" 2129version = "2.5.2"
2197source = "registry+https://github.com/rust-lang/crates.io-index" 2130source = "registry+https://github.com/rust-lang/crates.io-index"
2198checksum = "f7c25da092f0a868cdf09e8674cd3b7ef3a7d92a24253e663a2fb85e2496de56" 2131checksum = "22784dbdf76fdde8af1aeda5622b546b422b6fc585325248a2bf9f5e41e94d6c"
2199dependencies = [ 2132dependencies = [
2200 "form_urlencoded", 2133 "form_urlencoded",
2201 "idna", 2134 "idna",
@@ -2209,18 +2142,6 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
2209checksum = "09cc8ee72d2a9becf2f2febe0205bbed8fc6615b7cb429ad062dc7b7ddd036a9" 2142checksum = "09cc8ee72d2a9becf2f2febe0205bbed8fc6615b7cb429ad062dc7b7ddd036a9"
2210 2143
2211[[package]] 2144[[package]]
2212name = "utf16_iter"
2213version = "1.0.5"
2214source = "registry+https://github.com/rust-lang/crates.io-index"
2215checksum = "c8232dd3cdaed5356e0f716d285e4b40b932ac434100fe9b7e0e8e935b9e6246"
2216
2217[[package]]
2218name = "utf8_iter"
2219version = "1.0.4"
2220source = "registry+https://github.com/rust-lang/crates.io-index"
2221checksum = "b6c140620e7ffbb22c2dee59cafe6084a59b5ffc27a8859a5f0d494b5d52b6be"
2222
2223[[package]]
2224name = "utoipa" 2145name = "utoipa"
2225version = "4.2.3" 2146version = "4.2.3"
2226source = "registry+https://github.com/rust-lang/crates.io-index" 2147source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -2242,7 +2163,7 @@ dependencies = [
2242 "proc-macro2", 2163 "proc-macro2",
2243 "quote", 2164 "quote",
2244 "regex", 2165 "regex",
2245 "syn 2.0.66", 2166 "syn 2.0.68",
2246] 2167]
2247 2168
2248[[package]] 2169[[package]]
@@ -2265,9 +2186,9 @@ dependencies = [
2265 2186
2266[[package]] 2187[[package]]
2267name = "uuid" 2188name = "uuid"
2268version = "1.8.0" 2189version = "1.9.1"
2269source = "registry+https://github.com/rust-lang/crates.io-index" 2190source = "registry+https://github.com/rust-lang/crates.io-index"
2270checksum = "a183cf7feeba97b4dd1c0d46788634f6221d87fa961b305bed08c851829efcc0" 2191checksum = "5de17fd2f7da591098415cff336e12965a28061ddace43b59cb3c430179c9439"
2271dependencies = [ 2192dependencies = [
2272 "getrandom", 2193 "getrandom",
2273 "rand", 2194 "rand",
@@ -2331,7 +2252,7 @@ dependencies = [
2331 "once_cell", 2252 "once_cell",
2332 "proc-macro2", 2253 "proc-macro2",
2333 "quote", 2254 "quote",
2334 "syn 2.0.66", 2255 "syn 2.0.68",
2335 "wasm-bindgen-shared", 2256 "wasm-bindgen-shared",
2336] 2257]
2337 2258
@@ -2365,7 +2286,7 @@ checksum = "e94f17b526d0a461a191c78ea52bbce64071ed5c04c9ffe424dcb38f74171bb7"
2365dependencies = [ 2286dependencies = [
2366 "proc-macro2", 2287 "proc-macro2",
2367 "quote", 2288 "quote",
2368 "syn 2.0.66", 2289 "syn 2.0.68",
2369 "wasm-bindgen-backend", 2290 "wasm-bindgen-backend",
2370 "wasm-bindgen-shared", 2291 "wasm-bindgen-shared",
2371] 2292]
@@ -2413,9 +2334,9 @@ dependencies = [
2413 2334
2414[[package]] 2335[[package]]
2415name = "webpki-roots" 2336name = "webpki-roots"
2416version = "0.26.2" 2337version = "0.26.3"
2417source = "registry+https://github.com/rust-lang/crates.io-index" 2338source = "registry+https://github.com/rust-lang/crates.io-index"
2418checksum = "3c452ad30530b54a4d8e71952716a212b08efd0f3562baa66c29a618b07da7c3" 2339checksum = "bd7c23921eeb1713a4e851530e9b9756e4fb0e89978582942612524cf09f01cd"
2419dependencies = [ 2340dependencies = [
2420 "rustls-pki-types", 2341 "rustls-pki-types",
2421] 2342]
@@ -2628,18 +2549,6 @@ dependencies = [
2628] 2549]
2629 2550
2630[[package]] 2551[[package]]
2631name = "write16"
2632version = "1.0.0"
2633source = "registry+https://github.com/rust-lang/crates.io-index"
2634checksum = "d1890f4022759daae28ed4fe62859b1236caebfc61ede2f63ed4e695f3f6d936"
2635
2636[[package]]
2637name = "writeable"
2638version = "0.5.5"
2639source = "registry+https://github.com/rust-lang/crates.io-index"
2640checksum = "1e9df38ee2d2c3c5948ea468a8406ff0db0b29ae1ffde1bcf20ef305bcc95c51"
2641
2642[[package]]
2643name = "yaml-rust" 2552name = "yaml-rust"
2644version = "0.4.5" 2553version = "0.4.5"
2645source = "registry+https://github.com/rust-lang/crates.io-index" 2554source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -2649,79 +2558,12 @@ dependencies = [
2649] 2558]
2650 2559
2651[[package]] 2560[[package]]
2652name = "yoke"
2653version = "0.7.4"
2654source = "registry+https://github.com/rust-lang/crates.io-index"
2655checksum = "6c5b1314b079b0930c31e3af543d8ee1757b1951ae1e1565ec704403a7240ca5"
2656dependencies = [
2657 "serde",
2658 "stable_deref_trait",
2659 "yoke-derive",
2660 "zerofrom",
2661]
2662
2663[[package]]
2664name = "yoke-derive"
2665version = "0.7.4"
2666source = "registry+https://github.com/rust-lang/crates.io-index"
2667checksum = "28cc31741b18cb6f1d5ff12f5b7523e3d6eb0852bbbad19d73905511d9849b95"
2668dependencies = [
2669 "proc-macro2",
2670 "quote",
2671 "syn 2.0.66",
2672 "synstructure",
2673]
2674
2675[[package]]
2676name = "zerofrom"
2677version = "0.1.4"
2678source = "registry+https://github.com/rust-lang/crates.io-index"
2679checksum = "91ec111ce797d0e0784a1116d0ddcdbea84322cd79e5d5ad173daeba4f93ab55"
2680dependencies = [
2681 "zerofrom-derive",
2682]
2683
2684[[package]]
2685name = "zerofrom-derive"
2686version = "0.1.4"
2687source = "registry+https://github.com/rust-lang/crates.io-index"
2688checksum = "0ea7b4a3637ea8669cedf0f1fd5c286a17f3de97b8dd5a70a6c167a1730e63a5"
2689dependencies = [
2690 "proc-macro2",
2691 "quote",
2692 "syn 2.0.66",
2693 "synstructure",
2694]
2695
2696[[package]]
2697name = "zeroize" 2561name = "zeroize"
2698version = "1.8.1" 2562version = "1.8.1"
2699source = "registry+https://github.com/rust-lang/crates.io-index" 2563source = "registry+https://github.com/rust-lang/crates.io-index"
2700checksum = "ced3678a2879b30306d323f4542626697a464a97c0a07c9aebf7ebca65cd4dde" 2564checksum = "ced3678a2879b30306d323f4542626697a464a97c0a07c9aebf7ebca65cd4dde"
2701 2565
2702[[package]] 2566[[package]]
2703name = "zerovec"
2704version = "0.10.2"
2705source = "registry+https://github.com/rust-lang/crates.io-index"
2706checksum = "bb2cc8827d6c0994478a15c53f374f46fbd41bea663d809b14744bc42e6b109c"
2707dependencies = [
2708 "yoke",
2709 "zerofrom",
2710 "zerovec-derive",
2711]
2712
2713[[package]]
2714name = "zerovec-derive"
2715version = "0.10.2"
2716source = "registry+https://github.com/rust-lang/crates.io-index"
2717checksum = "97cf56601ee5052b4417d90c8755c6683473c926039908196cf35d99f893ebe7"
2718dependencies = [
2719 "proc-macro2",
2720 "quote",
2721 "syn 2.0.66",
2722]
2723
2724[[package]]
2725name = "zip" 2567name = "zip"
2726version = "1.1.4" 2568version = "1.1.4"
2727source = "registry+https://github.com/rust-lang/crates.io-index" 2569source = "registry+https://github.com/rust-lang/crates.io-index"
diff --git a/Cargo.toml b/Cargo.toml
index d8b3032..0e63e35 100644
--- a/Cargo.toml
+++ b/Cargo.toml
@@ -17,11 +17,11 @@ config = "0.14"
17surge-ping = "0.8" 17surge-ping = "0.8"
18axum-macros = "0.4" 18axum-macros = "0.4"
19uuid = { version = "1.8", features = ["v4", "fast-rng"] } 19uuid = { version = "1.8", features = ["v4", "fast-rng"] }
20dashmap = "5.5" 20dashmap = "6.0"
21color-eyre = "0.6" 21color-eyre = "0.6"
22thiserror = "1.0" 22thiserror = "1.0"
23ipnetwork = "0.20" 23ipnetwork = "0.20"
24mac_address = { version = "1.1", features = ["serde"] } 24mac_address = { version = "1.1", features = ["serde"] }
25tracing-appender = "0.2.3" 25tracing-appender = "0.2"
26utoipa = { version = "4.2", features = ["axum_extras"] } 26utoipa = { version = "4.2", features = ["axum_extras"] }
27utoipa-swagger-ui = { version = "7.1", features = ["axum"] } 27utoipa-swagger-ui = { version = "7.1", features = ["axum"] }
diff --git a/src/routes/device.rs b/src/routes/device.rs
index f767eab..6f1c371 100644
--- a/src/routes/device.rs
+++ b/src/routes/device.rs
@@ -44,7 +44,7 @@ pub struct DPayload {
44 path = "/device", 44 path = "/device",
45 request_body = DPayload, 45 request_body = DPayload,
46 responses( 46 responses(
47 (status = 200, description = "add device to storage", body = [DeviceSchema]) 47 (status = 200, description = "add device to storage", body = [Device])
48 ), 48 ),
49 security((), ("api_key" = [])) 49 security((), ("api_key" = []))
50)] 50)]
@@ -77,7 +77,7 @@ pub async fn put(Json(payload): Json<DPayload>) -> Result<Json<Value>, Error> {
77 path = "/device", 77 path = "/device",
78 request_body = DPayload, 78 request_body = DPayload,
79 responses( 79 responses(
80 (status = 200, description = "update device in storage", body = [DeviceSchema]) 80 (status = 200, description = "update device in storage", body = [Device])
81 ), 81 ),
82 security((), ("api_key" = [])) 82 security((), ("api_key" = []))
83)] 83)]