From a47d9da174f9ac1f1e93143641fe1fbb35f03ad2 Mon Sep 17 00:00:00 2001 From: Nikolai Oplachko Date: Wed, 2 Jul 2025 14:07:11 +0200 Subject: [PATCH 1/7] bump teloxide to 0.16 --- Cargo.lock | 719 ++++++++++--------- teloxide_tests/Cargo.toml | 2 +- teloxide_tests/src/dataset/chat_full_info.rs | 17 +- teloxide_tests/src/dataset/message_common.rs | 81 ++- teloxide_tests/src/dataset/mod.rs | 27 +- teloxide_tests/src/dataset/queries.rs | 9 +- teloxide_tests/src/dataset/tests.rs | 19 +- teloxide_tests/src/dataset/update.rs | 2 +- teloxide_tests/src/mock_bot.rs | 1 - teloxide_tests/src/server/routes/get_file.rs | 2 +- teloxide_tests/src/tests.rs | 2 +- teloxide_tests/src/utils.rs | 4 +- 12 files changed, 497 insertions(+), 388 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 0cfc928..1ce8138 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -21,9 +21,9 @@ dependencies = [ [[package]] name = "actix-http" -version = "3.10.0" +version = "3.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0fa882656b67966045e4152c634051e70346939fced7117d5f0b52146a7c74c9" +checksum = "44dfe5c9e0004c623edc65391dfd51daa201e7e30ebd9c9bedf873048ec32bc2" dependencies = [ "actix-codec", "actix-rt", @@ -133,9 +133,9 @@ dependencies = [ [[package]] name = "actix-server" -version = "2.5.1" +version = "2.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6398974fd4284f4768af07965701efbbb5fdc0616bff20cade1bb14b77675e24" +checksum = "a65064ea4a457eaf07f2fba30b4c695bf43b721790e9530d26cb6f9019ff7502" dependencies = [ "actix-rt", "actix-service", @@ -170,9 +170,9 @@ dependencies = [ [[package]] name = "actix-web" -version = "4.10.2" +version = "4.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f2e3b15b3dc6c6ed996e4032389e9849d4ab002b1e92fbfe85b5f307d1479b4d" +checksum = "a597b77b5c6d6a1e1097fddde329a83665e25c5437c696a3a9a4aa514a614dea" dependencies = [ "actix-codec", "actix-http", @@ -283,21 +283,21 @@ dependencies = [ [[package]] name = "adler2" -version = "2.0.0" +version = "2.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "512761e0bb2578dd7380c6baaa0f4ce03e84f95e960231d1dec8bf4d7d6e2627" +checksum = "320119579fcad9c21884f5c4861d16174d0e06250625266f50fe6898340abefa" [[package]] name = "ahash" -version = "0.8.11" +version = "0.8.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e89da841a80418a9b391ebaea17f5c112ffaaa96f621d2c285b5174da76b9011" +checksum = "5a15f179cd60c4584b8a8c596927aadc462e27f2ca70c04e0071964a73ba7a75" dependencies = [ "cfg-if", - "getrandom 0.2.16", + "getrandom 0.3.3", "once_cell", "version_check", - "zerocopy 0.7.35", + "zerocopy", ] [[package]] @@ -347,9 +347,9 @@ dependencies = [ [[package]] name = "anstream" -version = "0.6.18" +version = "0.6.19" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8acc5369981196006228e28809f761875c0327210a891e941f4c683b3a99529b" +checksum = "301af1932e46185686725e0fad2f8f2aa7da69dd70bf6ecc44d6b703844a3933" dependencies = [ "anstyle", "anstyle-parse", @@ -362,36 +362,36 @@ dependencies = [ [[package]] name = "anstyle" -version = "1.0.10" +version = "1.0.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "55cc3b69f167a1ef2e161439aa98aed94e6028e5f9a59be9a6ffb47aef1651f9" +checksum = "862ed96ca487e809f1c8e5a8447f6ee2cf102f846893800b20cebdf541fc6bbd" [[package]] name = "anstyle-parse" -version = "0.2.6" +version = "0.2.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3b2d16507662817a6a20a9ea92df6652ee4f94f914589377d69f3b21bc5798a9" +checksum = "4e7644824f0aa2c7b9384579234ef10eb7efb6a0deb83f9630a49594dd9c15c2" dependencies = [ "utf8parse", ] [[package]] name = "anstyle-query" -version = "1.1.2" +version = "1.1.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "79947af37f4177cfead1110013d678905c37501914fba0efea834c3fe9a8d60c" +checksum = "6c8bdeb6047d8983be085bab0ba1472e6dc604e7041dbf6fcd5e71523014fae9" dependencies = [ "windows-sys 0.59.0", ] [[package]] name = "anstyle-wincon" -version = "3.0.7" +version = "3.0.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ca3534e77181a9cc07539ad51f2141fe32f6c3ffd4df76db8ad92346b003ae4e" +checksum = "403f75924867bb1033c59fbf0797484329750cfbe3c4325cd33127941fabc882" dependencies = [ "anstyle", - "once_cell", + "once_cell_polyfill", "windows-sys 0.59.0", ] @@ -432,15 +432,15 @@ checksum = "1505bd5d3d116872e7271a6d4e16d81d0c8570876c8de68093a09ac269d8aac0" [[package]] name = "autocfg" -version = "1.4.0" +version = "1.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ace50bade8e6234aa140d9a2f552bbee1db4d353f69b8217bc503490fc1a9f26" +checksum = "c08606f8c3cbf4ce6ec8e28fb0014a2c086708fe954eaa885384a6165172e7e8" [[package]] name = "backtrace" -version = "0.3.74" +version = "0.3.75" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8d82cb332cdfaed17ae235a638438ac4d4839913cc2af585c3c6746e8f8bee1a" +checksum = "6806a6321ec58106fea15becdad98371e28d92ccbc7c8f1b3b6dd724fe8f1002" dependencies = [ "addr2line", "cfg-if", @@ -459,9 +459,9 @@ checksum = "72b3254f16251a8381aa12e40e3c4d2f0199f8c6508fbecb9d91f575e0fbb8c6" [[package]] name = "bitflags" -version = "2.9.0" +version = "2.9.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5c8214115b7bf84099f1309324e63141d4c5d7cc26862f97a0a857dbefe165bd" +checksum = "1b8e56985ec62d17e9c1001dc89c88ecd7dc08e47eba5ec7c29c7b5eeecde967" [[package]] name = "block-buffer" @@ -474,9 +474,9 @@ dependencies = [ [[package]] name = "brotli" -version = "7.0.0" +version = "8.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cc97b8f16f944bba54f0433f07e30be199b6dc2bd25937444bbad560bcea29bd" +checksum = "9991eea70ea4f293524138648e41ee89b0b2b12ddef3b255effa43c8056e0e0d" dependencies = [ "alloc-no-stdlib", "alloc-stdlib", @@ -485,9 +485,9 @@ dependencies = [ [[package]] name = "brotli-decompressor" -version = "4.0.3" +version = "5.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a334ef7c9e23abf0ce748e8cd309037da93e606ad52eb372e4ce327a0dcfbdfd" +checksum = "874bb8112abecc98cbd6d81ea4fa7e94fb9449648c93cc89aa40c81c24d7de03" dependencies = [ "alloc-no-stdlib", "alloc-stdlib", @@ -495,15 +495,15 @@ dependencies = [ [[package]] name = "bumpalo" -version = "3.17.0" +version = "3.19.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1628fb46dfa0b37568d12e5edd512553eccf6a22a78e8bde00bb4aed84d5bdbf" +checksum = "46c5e41b57b8bba42a04676d81cb89e9ee8e859a1a66f80a5a72e1cb76b34d43" [[package]] name = "bytemuck" -version = "1.22.0" +version = "1.23.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b6b1fc10dbac614ebc03540c9dbd60e83887fda27794998c6528f1782047d540" +checksum = "5c76a5792e44e4abe34d3abf15636779261d45a7450612059293d1d2cfc63422" [[package]] name = "byteorder" @@ -528,9 +528,9 @@ dependencies = [ [[package]] name = "cc" -version = "1.2.19" +version = "1.2.27" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8e3a13707ac958681c13b39b458c073d0d9bc8a22cb1b2f4c8e55eb72c13f362" +checksum = "d487aa071b5f64da6f19a3e848e3578944b726ee5a4854b82172f02aa876bfdc" dependencies = [ "jobserver", "libc", @@ -539,9 +539,9 @@ dependencies = [ [[package]] name = "cfg-if" -version = "1.0.0" +version = "1.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" +checksum = "9555578bc9e57714c812a1f84e4fc5b4d21fcb063490c624de019f7464c91268" [[package]] name = "cfg_aliases" @@ -551,9 +551,9 @@ checksum = "613afe47fcd5fac7ccf1db93babcb082c5994d996f20b8b159f2ad1658eb5724" [[package]] name = "chrono" -version = "0.4.40" +version = "0.4.41" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1a7964611d71df112cb1730f2ee67324fcf4d0fc6606acbbe9bfe06df124637c" +checksum = "c469d952047f47f91b68d1cba3f10d63c11d73e4636f24f08daf0278abf01c4d" dependencies = [ "android-tzdata", "iana-time-zone", @@ -566,9 +566,18 @@ dependencies = [ [[package]] name = "colorchoice" -version = "1.0.3" +version = "1.0.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b05b61dc5112cbb17e4b6cd61790d9845d13888356391624cbe7e41efeac1e75" + +[[package]] +name = "colored" +version = "3.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5b63caa9aa9397e2d9480a9b13673856c78d8ac123288526c37d7839f2a86990" +checksum = "fde0e0ec90c9dfb3b4b1a0891a7dcd0e2bffde2f7efed5fe7c9bb00e5bfb915e" +dependencies = [ + "windows-sys 0.59.0", +] [[package]] name = "concurrent-queue" @@ -623,9 +632,9 @@ dependencies = [ [[package]] name = "crc" -version = "3.2.1" +version = "3.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "69e6e4d7b33a94f0991c26729976b10ebde1d34c3ee82408fb536164fa10d636" +checksum = "9710d3b3739c2e349eb44fe848ad0b7c8cb1e42bd87ee49371df2f7acaf3e675" dependencies = [ "crc-catalog", ] @@ -693,9 +702,9 @@ dependencies = [ [[package]] name = "ctrlc" -version = "3.4.6" +version = "3.4.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "697b5419f348fd5ae2478e8018cb016c00a5881c7f46c717de98ffd135a5651c" +checksum = "46f93780a459b7d656ef7f071fe699c4d3d2cb201c4b24d085b6ddc505276e73" dependencies = [ "nix", "windows-sys 0.59.0", @@ -837,13 +846,20 @@ checksum = "1aaf95b3e5c8f23aa320147307562d361db0ae0d51242340f558153b4eb2439b" [[package]] name = "dptree" -version = "0.3.0" +version = "0.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d81175dab5ec79c30e0576df2ed2c244e1721720c302000bb321b107e82e265c" +checksum = "d12280a6070b0c46830fcb4011f77ac56e9e1ca224c039f1d61d2024fa1ee870" dependencies = [ + "colored", "futures", ] +[[package]] +name = "dyn-clone" +version = "1.0.19" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1c7a8fb8a9fbf66c1f703fe16184d10ca0ee9d23be5b4436400408ba54a95005" + [[package]] name = "either" version = "1.15.0" @@ -916,12 +932,12 @@ dependencies = [ [[package]] name = "errno" -version = "0.3.11" +version = "0.3.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "976dd42dc7e85965fe702eb8164f21f450704bdde31faefd6471dba214cb594e" +checksum = "778e2ac28f6c47af28e4907f13ffd1e1ddbd400980a9abd7c8df189bf578a5ad" dependencies = [ "libc", - "windows-sys 0.59.0", + "windows-sys 0.60.2", ] [[package]] @@ -965,9 +981,9 @@ dependencies = [ [[package]] name = "flate2" -version = "1.1.1" +version = "1.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7ced92e76e966ca2fd84c8f7aa01a4aea65b0eb6648d72f7c8f3e2764a67fece" +checksum = "4a3d7db9596fecd151c5f638c0ee5d5bd487b6e0ea232e5dc96d5250f6f94b1d" dependencies = [ "crc32fast", "miniz_oxide", @@ -1148,14 +1164,14 @@ checksum = "335ff9f135e4384c8150d6f27c6daed433577f86b4750418338c01a1a2528592" dependencies = [ "cfg-if", "libc", - "wasi 0.11.0+wasi-snapshot-preview1", + "wasi 0.11.1+wasi-snapshot-preview1", ] [[package]] name = "getrandom" -version = "0.3.2" +version = "0.3.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "73fea8450eea4bac3940448fb7ae50d91f034f941199fcd9d909a5a07aa455f0" +checksum = "26145e563e54f2cadc477553f1ec5ee650b00862f0a58bcd12cbdc5f0ea2d2f4" dependencies = [ "cfg-if", "libc", @@ -1181,7 +1197,7 @@ dependencies = [ "futures-sink", "futures-util", "http 0.2.12", - "indexmap 2.9.0", + "indexmap 2.10.0", "slab", "tokio", "tokio-util", @@ -1190,9 +1206,9 @@ dependencies = [ [[package]] name = "h2" -version = "0.4.9" +version = "0.4.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "75249d144030531f8dee69fe9cea04d3edf809a017ae445e2abdff6629e86633" +checksum = "17da50a276f1e01e0ba6c029e47b7100754904ee8a278f886546e98575380785" dependencies = [ "atomic-waker", "bytes", @@ -1200,7 +1216,7 @@ dependencies = [ "futures-core", "futures-sink", "http 1.3.1", - "indexmap 2.9.0", + "indexmap 2.10.0", "slab", "tokio", "tokio-util", @@ -1215,9 +1231,9 @@ checksum = "8a9ee70c43aaf417c914396645a0fa852624801b24ebb7ae78fe8272889ac888" [[package]] name = "hashbrown" -version = "0.15.2" +version = "0.15.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bf151400ff0baff5465007dd2f3e717f3fe502074ca563069ce3a6629d07b289" +checksum = "5971ac85611da7067dbfcabef3c70ebb5606018acd9e2a3903a0da507521e0d5" dependencies = [ "allocator-api2", "equivalent", @@ -1230,7 +1246,7 @@ version = "0.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7382cf6263419f2d8df38c55d7da83da5c18aef87fc7a7fc1fb1e344edfe14c1" dependencies = [ - "hashbrown 0.15.2", + "hashbrown 0.15.4", ] [[package]] @@ -1241,9 +1257,9 @@ checksum = "2304e00983f87ffb38b55b444b5e3b60a884b5d30c0fca7d82fe33449bbe55ea" [[package]] name = "hermit-abi" -version = "0.5.0" +version = "0.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fbd780fe5cc30f81464441920d82ac8740e2e46b29a6fad543ddd075229ce37e" +checksum = "fc0fef456e4baa96da950455cd02c081ca953b141298e41db3fc7e36b1da849c" [[package]] name = "hex" @@ -1350,7 +1366,7 @@ dependencies = [ "bytes", "futures-channel", "futures-util", - "h2 0.4.9", + "h2 0.4.11", "http 1.3.1", "http-body", "httparse", @@ -1363,11 +1379,10 @@ dependencies = [ [[package]] name = "hyper-rustls" -version = "0.27.5" +version = "0.27.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2d191583f3da1305256f22463b9bb0471acad48a4e534a5218b9963e9c1f59b2" +checksum = "e3c93eb611681b207e1fe55d5a71ecf91572ec8a6705cdb6857f7d8d5242cf58" dependencies = [ - "futures-util", "http 1.3.1", "hyper", "hyper-util", @@ -1396,22 +1411,28 @@ dependencies = [ [[package]] name = "hyper-util" -version = "0.1.11" +version = "0.1.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "497bbc33a26fdd4af9ed9c70d63f61cf56a938375fbb32df34db9b1cd6d643f2" +checksum = "dc2fdfdbff08affe55bb779f33b053aa1fe5dd5b54c257343c17edfa55711bdb" dependencies = [ + "base64", "bytes", "futures-channel", + "futures-core", "futures-util", "http 1.3.1", "http-body", "hyper", + "ipnet", "libc", + "percent-encoding", "pin-project-lite", "socket2", + "system-configuration", "tokio", "tower-service", "tracing", + "windows-registry", ] [[package]] @@ -1440,21 +1461,22 @@ dependencies = [ [[package]] name = "icu_collections" -version = "1.5.0" +version = "2.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "db2fa452206ebee18c4b5c2274dbf1de17008e874b4dc4f0aea9d01ca79e4526" +checksum = "200072f5d0e3614556f94a9930d5dc3e0662a652823904c3a75dc3b0af7fee47" dependencies = [ "displaydoc", + "potential_utf", "yoke", "zerofrom", "zerovec", ] [[package]] -name = "icu_locid" -version = "1.5.0" +name = "icu_locale_core" +version = "2.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "13acbb8371917fc971be86fc8057c41a64b521c184808a698c02acc242dbf637" +checksum = "0cde2700ccaed3872079a65fb1a78f6c0a36c91570f28755dda67bc8f7d9f00a" dependencies = [ "displaydoc", "litemap", @@ -1463,31 +1485,11 @@ dependencies = [ "zerovec", ] -[[package]] -name = "icu_locid_transform" -version = "1.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "01d11ac35de8e40fdeda00d9e1e9d92525f3f9d887cdd7aa81d727596788b54e" -dependencies = [ - "displaydoc", - "icu_locid", - "icu_locid_transform_data", - "icu_provider", - "tinystr", - "zerovec", -] - -[[package]] -name = "icu_locid_transform_data" -version = "1.5.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7515e6d781098bf9f7205ab3fc7e9709d34554ae0b21ddbcb5febfa4bc7df11d" - [[package]] name = "icu_normalizer" -version = "1.5.0" +version = "2.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "19ce3e0da2ec68599d193c93d088142efd7f9c5d6fc9b803774855747dc6a84f" +checksum = "436880e8e18df4d7bbc06d58432329d6458cc84531f7ac5f024e93deadb37979" dependencies = [ "displaydoc", "icu_collections", @@ -1495,67 +1497,54 @@ dependencies = [ "icu_properties", "icu_provider", "smallvec", - "utf16_iter", - "utf8_iter", - "write16", "zerovec", ] [[package]] name = "icu_normalizer_data" -version = "1.5.1" +version = "2.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c5e8338228bdc8ab83303f16b797e177953730f601a96c25d10cb3ab0daa0cb7" +checksum = "00210d6893afc98edb752b664b8890f0ef174c8adbb8d0be9710fa66fbbf72d3" [[package]] name = "icu_properties" -version = "1.5.1" +version = "2.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "93d6020766cfc6302c15dbbc9c8778c37e62c14427cb7f6e601d849e092aeef5" +checksum = "016c619c1eeb94efb86809b015c58f479963de65bdb6253345c1a1276f22e32b" dependencies = [ "displaydoc", "icu_collections", - "icu_locid_transform", + "icu_locale_core", "icu_properties_data", "icu_provider", - "tinystr", + "potential_utf", + "zerotrie", "zerovec", ] [[package]] name = "icu_properties_data" -version = "1.5.1" +version = "2.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "85fb8799753b75aee8d2a21d7c14d9f38921b54b3dbda10f5a3c7a7b82dba5e2" +checksum = "298459143998310acd25ffe6810ed544932242d3f07083eee1084d83a71bd632" [[package]] name = "icu_provider" -version = "1.5.0" +version = "2.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6ed421c8a8ef78d3e2dbc98a973be2f3770cb42b606e3ab18d6237c4dfde68d9" +checksum = "03c80da27b5f4187909049ee2d72f276f0d9f99a42c306bd0131ecfe04d8e5af" dependencies = [ "displaydoc", - "icu_locid", - "icu_provider_macros", + "icu_locale_core", "stable_deref_trait", "tinystr", "writeable", "yoke", "zerofrom", + "zerotrie", "zerovec", ] -[[package]] -name = "icu_provider_macros" -version = "1.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1ec89e9337638ecdc08744df490b221a7399bf8d164eb52a665454e60e075ad6" -dependencies = [ - "proc-macro2", - "quote", - "syn", -] - [[package]] name = "ident_case" version = "1.0.1" @@ -1575,9 +1564,9 @@ dependencies = [ [[package]] name = "idna_adapter" -version = "1.2.0" +version = "1.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "daca1df1c957320b2cf139ac61e7bd64fed304c5040df000a745aa1de3b4ef71" +checksum = "3acae9609540aa318d1bc588455225fb2085b9ed0c4f6bd0d9d5bcd86f1a0344" dependencies = [ "icu_normalizer", "icu_properties", @@ -1621,21 +1610,42 @@ dependencies = [ [[package]] name = "indexmap" -version = "2.9.0" +version = "2.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cea70ddb795996207ad57735b50c5982d8844f38ba9ee5f1aedcfb708a2aa11e" +checksum = "fe4cd85333e22411419a0bcae1297d25e58c9443848b11dc6a86fefe8c78a661" dependencies = [ "equivalent", - "hashbrown 0.15.2", + "hashbrown 0.15.4", "serde", ] +[[package]] +name = "io-uring" +version = "0.7.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b86e202f00093dcba4275d4636b93ef9dd75d025ae560d2521b45ea28ab49013" +dependencies = [ + "bitflags", + "cfg-if", + "libc", +] + [[package]] name = "ipnet" version = "2.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "469fb0b9cefa57e3ef31275ee7cacb78f2fdca44e4765491884a2b119d4eb130" +[[package]] +name = "iri-string" +version = "0.7.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dbc5ebe9c3a1a7a5127f920a418f7585e9e758e911d0466ed004f393b0e380b2" +dependencies = [ + "memchr", + "serde", +] + [[package]] name = "is-terminal" version = "0.4.16" @@ -1679,9 +1689,9 @@ checksum = "4a5f13b858c8d314ee3e8f639011f7ccefe71f97f96e50151fb991f267928e2c" [[package]] name = "jiff" -version = "0.2.10" +version = "0.2.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5a064218214dc6a10fbae5ec5fa888d80c45d611aba169222fc272072bf7aef6" +checksum = "be1f93b8b1eb69c77f24bbb0afdf66f54b632ee39af40ca21c4365a1d7347e49" dependencies = [ "jiff-static", "log", @@ -1692,9 +1702,9 @@ dependencies = [ [[package]] name = "jiff-static" -version = "0.2.10" +version = "0.2.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "199b7932d97e325aff3a7030e141eafe7f2c6268e1d1b24859b753a627f45254" +checksum = "03343451ff899767262ec32146f6d559dd759fdadf42ff0e227c7c48f72594b4" dependencies = [ "proc-macro2", "quote", @@ -1707,7 +1717,7 @@ version = "0.1.33" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "38f262f097c174adebe41eb73d66ae9c06b2844fb0da69969647bbddd9b0538a" dependencies = [ - "getrandom 0.3.2", + "getrandom 0.3.3", "libc", ] @@ -1735,9 +1745,9 @@ checksum = "bbd2bcb4c963f2ddae06a2efc7e9f3591312473c50c6685e1f298068316e66fe" [[package]] name = "libc" -version = "0.2.172" +version = "0.2.174" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d750af042f7ef4f724306de029d18836c26c1765a54a6a3f094cbd23a7267ffa" +checksum = "1171693293099992e19cddea4e8b849964e9846f4acee11b3948bcc337be8776" [[package]] name = "libsqlite3-sys" @@ -1758,9 +1768,9 @@ checksum = "cd945864f07fe9f5371a27ad7b52a172b4b499999f1d97574c9fa68373937e12" [[package]] name = "litemap" -version = "0.7.5" +version = "0.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "23fb14cb19457329c82206317a5663005a4d404783dc74f4252769b0d5f42856" +checksum = "241eaef5fd12c88705a01fc1066c48c4b36e0dd4377dcdc7ec3942cea7a69956" [[package]] name = "local-channel" @@ -1781,9 +1791,9 @@ checksum = "4d873d7c67ce09b42110d801813efbc9364414e356be9935700d368351657487" [[package]] name = "lock_api" -version = "0.4.12" +version = "0.4.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "07af8b9cdd281b7915f413fa73f29ebd5d55d0d3f0155584dade1ff18cea1b17" +checksum = "96936507f153605bddfcda068dd804796c84324ed2510809e5b2a624c81da765" dependencies = [ "autocfg", "scopeguard", @@ -1813,9 +1823,9 @@ checksum = "33746aadcb41349ec291e7f2f0a3aa6834d1d7c58066fb4b01f68efc4c4b7631" [[package]] name = "memchr" -version = "2.7.4" +version = "2.7.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "78ca9ab1a0babb1e7d5695e3530886289c18cf2f87ec19a575a0abdce112e3a3" +checksum = "32a282da65faaf38286cf3be983213fcf1d2e2a58700e808f83f4ea9a4804bc0" [[package]] name = "mime" @@ -1835,23 +1845,23 @@ dependencies = [ [[package]] name = "miniz_oxide" -version = "0.8.8" +version = "0.8.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3be647b768db090acb35d5ec5db2b0e1f1de11133ca123b9eacf5137868f892a" +checksum = "1fa76a2c86f704bdb222d66965fb3d63269ce38518b83cb0575fca855ebb6316" dependencies = [ "adler2", ] [[package]] name = "mio" -version = "1.0.3" +version = "1.0.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2886843bf800fba2e3377cff24abf6379b4c4d5c6681eaf9ea5b0d15090450bd" +checksum = "78bed444cc8a2160f01cbcf811ef18cac863ad68ae8ca62092e8db51d51c761c" dependencies = [ "libc", "log", - "wasi 0.11.0+wasi-snapshot-preview1", - "windows-sys 0.52.0", + "wasi 0.11.1+wasi-snapshot-preview1", + "windows-sys 0.59.0", ] [[package]] @@ -1873,9 +1883,9 @@ dependencies = [ [[package]] name = "nix" -version = "0.29.0" +version = "0.30.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "71e2746dc3a24dd78b3cfcb7be93368c6de9963d30f43a6a73998a9cf4b17b46" +checksum = "74523f3a35e05aba87a1d978330aef40f67b0304ac79c1c00b294c9830543db6" dependencies = [ "bitflags", "cfg-if", @@ -1913,11 +1923,17 @@ version = "1.21.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "42f5e15c9953c5e4ccceeb2e7382a716482c34515315f7b03532b8b4e8393d2d" +[[package]] +name = "once_cell_polyfill" +version = "1.70.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a4895175b425cb1f87721b59f0f286c2092bd4af812243672510e1ac53e2e0ad" + [[package]] name = "openssl" -version = "0.10.72" +version = "0.10.73" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fedfea7d58a1f73118430a55da6a286e7b044961736ce96a16a17068ea25e5da" +checksum = "8505734d46c8ab1e19a1dce3aef597ad87dcb4c37e7188231769bd6bd51cebf8" dependencies = [ "bitflags", "cfg-if", @@ -1947,9 +1963,9 @@ checksum = "d05e27ee213611ffe7d6348b942e8f942b37114c00cc03cec254295a4a17852e" [[package]] name = "openssl-sys" -version = "0.9.107" +version = "0.9.109" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8288979acd84749c744a9014b4382d42b8f7b2592847b5afb2ed29e5d16ede07" +checksum = "90096e2e47630d78b7d1c20952dc621f957103f8bc2c8359ec81290d75238571" dependencies = [ "cc", "libc", @@ -1965,9 +1981,9 @@ checksum = "f38d5652c16fde515bb1ecef450ab0f6a219d619a7274976324d5e377f7dceba" [[package]] name = "parking_lot" -version = "0.12.3" +version = "0.12.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f1bf18183cf54e8d6059647fc3063646a1801cf30896933ec2311622cc4b9a27" +checksum = "70d58bf43669b5795d1576d0641cfb6fbb2057bf629506267a92807158584a13" dependencies = [ "lock_api", "parking_lot_core", @@ -1975,9 +1991,9 @@ dependencies = [ [[package]] name = "parking_lot_core" -version = "0.9.10" +version = "0.9.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1e401f977ab385c9e4e3ab30627d6f26d00e2c73eef317493c4ec6d468726cf8" +checksum = "bc838d2a56b5b1a6c25f55575dfc605fabb63bb2365f6c2353ef9159aa69e4a5" dependencies = [ "cfg-if", "libc", @@ -2038,9 +2054,9 @@ checksum = "7edddbd0b52d732b21ad9a5fab5c704c14cd949e5e9a1ec5929a24fded1b904c" [[package]] name = "portable-atomic" -version = "1.11.0" +version = "1.11.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "350e9b48cbc6b0e028b0473b114454c6316e57336ee184ceab6e53f72c178b3e" +checksum = "f84267b20a16ea918e43c6a88433c2d54fa145c92a811b5b047ccbe153674483" [[package]] name = "portable-atomic-util" @@ -2051,6 +2067,15 @@ dependencies = [ "portable-atomic", ] +[[package]] +name = "potential_utf" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e5a7c30837279ca13e7c867e9e40053bc68740f988cb07f7ca6df43cc734b585" +dependencies = [ + "zerovec", +] + [[package]] name = "powerfmt" version = "0.2.0" @@ -2063,7 +2088,7 @@ version = "0.2.21" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "85eae3c4ed2f50dcfe72643da4befc30deadb458a9b590d720cde2f2b1e97da9" dependencies = [ - "zerocopy 0.8.24", + "zerocopy", ] [[package]] @@ -2108,9 +2133,9 @@ dependencies = [ [[package]] name = "psm" -version = "0.1.25" +version = "0.1.26" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f58e5423e24c18cc840e1c98370b3993c6649cd1678b4d24318bcf0a083cbe88" +checksum = "6e944464ec8536cd1beb0bbfd96987eb5e3b72f2ecdafdc5c769a37f1fa2ae1f" dependencies = [ "cc", ] @@ -2126,9 +2151,9 @@ dependencies = [ [[package]] name = "r-efi" -version = "5.2.0" +version = "5.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "74765f6d916ee2faa39bc8e68e4f3ed8949b48cccdac59983d287a7cb71ce9c5" +checksum = "69cdb34c158ceb288df11e18b4bd39de994f6657d83847bdffdbd7f346754b0f" [[package]] name = "rand" @@ -2186,7 +2211,7 @@ version = "0.9.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "99d9a13982dcf210057a8a78572b2217b667c3beacbf3a0d8b454f6f82837d38" dependencies = [ - "getrandom 0.3.2", + "getrandom 0.3.3", ] [[package]] @@ -2200,13 +2225,33 @@ dependencies = [ [[package]] name = "redox_syscall" -version = "0.5.11" +version = "0.5.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d2f103c6d277498fbceb16e84d317e2a400f160f46904d5f5410848c829511a3" +checksum = "0d04b7d0ee6b4a0207a0a7adb104d23ecb0b47d6beae7152d0fa34b692b29fd6" dependencies = [ "bitflags", ] +[[package]] +name = "ref-cast" +version = "1.0.24" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4a0ae411dbe946a674d89546582cea4ba2bb8defac896622d6496f14c23ba5cf" +dependencies = [ + "ref-cast-impl", +] + +[[package]] +name = "ref-cast-impl" +version = "1.0.24" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1165225c21bff1f3bbce98f5a1f889949bc902d3575308cc7b0de30b4f6d27c7" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + [[package]] name = "regex" version = "1.11.1" @@ -2244,16 +2289,16 @@ checksum = "2b15c43186be67a4fd63bee50d0303afffcef381492ebe2c5d87f324e1b8815c" [[package]] name = "reqwest" -version = "0.12.15" +version = "0.12.22" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d19c46a6fdd48bc4dab94b6103fccc55d34c67cc0ad04653aad4ea2a07cd7bbb" +checksum = "cbc931937e6ca3a06e3b6c0aa7841849b160a90351d6ab467a8b9b9959767531" dependencies = [ "base64", "bytes", "encoding_rs", "futures-core", "futures-util", - "h2 0.4.9", + "h2 0.4.11", "http 1.3.1", "http-body", "http-body-util", @@ -2261,32 +2306,29 @@ dependencies = [ "hyper-rustls", "hyper-tls", "hyper-util", - "ipnet", "js-sys", "log", "mime", "mime_guess", "native-tls", - "once_cell", "percent-encoding", "pin-project-lite", - "rustls-pemfile", + "rustls-pki-types", "serde", "serde_json", "serde_urlencoded", "sync_wrapper", - "system-configuration", "tokio", "tokio-native-tls", "tokio-util", "tower", + "tower-http", "tower-service", "url", "wasm-bindgen", "wasm-bindgen-futures", "wasm-streams", "web-sys", - "windows-registry", ] [[package]] @@ -2314,9 +2356,9 @@ dependencies = [ [[package]] name = "rustc-demangle" -version = "0.1.24" +version = "0.1.25" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "719b953e2095829ee67db738b3bfa9fa368c94900df327b3f07fe6e794d2fe1f" +checksum = "989e6739f80c4ad5b13e0fd7fe89531180375b18520cc8c82080e4dc4035b84f" [[package]] name = "rustc_version" @@ -2329,9 +2371,9 @@ dependencies = [ [[package]] name = "rustix" -version = "1.0.5" +version = "1.0.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d97817398dd4bb2e6da002002db259209759911da105da92bec29ccb12cf58bf" +checksum = "c71e83d6afe7ff64890ec6b71d6a69bb8a610ab78ce364b3352876bb4c801266" dependencies = [ "bitflags", "errno", @@ -2342,9 +2384,9 @@ dependencies = [ [[package]] name = "rustls" -version = "0.23.26" +version = "0.23.28" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "df51b5869f3a441595eac5e8ff14d486ff285f7b8c0df8770e49c3b56351f0f0" +checksum = "7160e3e10bf4535308537f3c4e1641468cd0e485175d6163087c0393c7d46643" dependencies = [ "once_cell", "rustls-pki-types", @@ -2354,25 +2396,19 @@ dependencies = [ ] [[package]] -name = "rustls-pemfile" -version = "2.2.0" +name = "rustls-pki-types" +version = "1.12.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dce314e5fee3f39953d46bb63bb8a46d40c2f8fb7cc5a3b6cab2bde9721d6e50" +checksum = "229a4a4c221013e7e1f1a043678c5cc39fe5171437c88fb47151a21e6f5b5c79" dependencies = [ - "rustls-pki-types", + "zeroize", ] -[[package]] -name = "rustls-pki-types" -version = "1.11.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "917ce264624a4b4db1c364dcc35bfca9ded014d0a958cd47ad3e960e988ea51c" - [[package]] name = "rustls-webpki" -version = "0.103.1" +version = "0.103.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fef8b8769aaccf73098557a87cd1816b4f9c7c16811c9c77142aa695c16f2c03" +checksum = "e4a72fe2bcf7a6ac6fd7d0b9e5cb68aeb7d4c0a0271730218b3e92d43b4eb435" dependencies = [ "ring", "rustls-pki-types", @@ -2381,9 +2417,9 @@ dependencies = [ [[package]] name = "rustversion" -version = "1.0.20" +version = "1.0.21" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eded382c5f5f786b989652c49544c4877d9f015cc22e145a5ea8ea66c2921cd2" +checksum = "8a0d197bd2c9dc6e53b84da9556a69ba4cdfab8619eb41a8bd1cc2027a0f6b1d" [[package]] name = "ryu" @@ -2409,6 +2445,30 @@ dependencies = [ "windows-sys 0.59.0", ] +[[package]] +name = "schemars" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4cd191f9397d57d581cddd31014772520aa448f65ef991055d7f61582c65165f" +dependencies = [ + "dyn-clone", + "ref-cast", + "serde", + "serde_json", +] + +[[package]] +name = "schemars" +version = "1.0.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1375ba8ef45a6f15d83fa8748f1079428295d403d6ea991d09ab100155fbc06d" +dependencies = [ + "dyn-clone", + "ref-cast", + "serde", + "serde_json", +] + [[package]] name = "scopeguard" version = "1.2.0" @@ -2477,7 +2537,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9d2de91cf02bbc07cde38891769ccd5d4f073d22a40683aa4bc7a95781aaa2c4" dependencies = [ "form_urlencoded", - "indexmap 2.9.0", + "indexmap 2.10.0", "itoa", "ryu", "serde", @@ -2528,15 +2588,17 @@ dependencies = [ [[package]] name = "serde_with" -version = "3.12.0" +version = "3.14.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d6b6f7f2fcb69f747921f79f3926bd1e203fce4fef62c268dd3abfb6d86029aa" +checksum = "f2c45cd61fefa9db6f254525d46e392b852e0e61d9a1fd36e5bd183450a556d5" dependencies = [ "base64", "chrono", "hex", "indexmap 1.9.3", - "indexmap 2.9.0", + "indexmap 2.10.0", + "schemars 0.9.0", + "schemars 1.0.3", "serde", "serde_derive", "serde_json", @@ -2546,9 +2608,9 @@ dependencies = [ [[package]] name = "serde_with_macros" -version = "3.12.0" +version = "3.14.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8d00caa5193a3c8362ac2b73be6b9e768aa5a4b2f721d8f4b339600c3cb51f8e" +checksum = "de90945e6565ce0d9a25098082ed4ee4002e047cb59892c318d66821e14bb30f" dependencies = [ "darling", "proc-macro2", @@ -2594,9 +2656,9 @@ dependencies = [ [[package]] name = "sha2" -version = "0.10.8" +version = "0.10.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "793db75ad2bcafc3ffa7c68b215fee268f537982cd901d132f89c6343f3a3dc8" +checksum = "a7507d819769d01a365ab707794a4084392c824f54a7a6a7862f8c3d0892b283" dependencies = [ "cfg-if", "cpufeatures", @@ -2620,27 +2682,24 @@ dependencies = [ [[package]] name = "slab" -version = "0.4.9" +version = "0.4.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8f92a496fb766b417c996b9c5e57daf2f7ad3b0bebe1ccfca4856390e3d3bb67" -dependencies = [ - "autocfg", -] +checksum = "04dc19736151f35336d325007ac991178d504a119863a2fcb3758cdb5e52c50d" [[package]] name = "smallvec" -version = "1.15.0" +version = "1.15.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8917285742e9f3e1683f0a9c4e6b57960b7314d0b08d30d1ecd426713ee2eee9" +checksum = "67b1b7a3b5fe4f1376887184045fcf45c69e92af734b7aaddc05fb777b6fbd03" dependencies = [ "serde", ] [[package]] name = "socket2" -version = "0.5.9" +version = "0.5.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4f5fd57c80058a56cf5c777ab8a126398ece8e442983605d280a44ce79d0edef" +checksum = "e22376abed350d73dd1cd119b57ffccad95b4e585a7cda43e286245ce23c0678" dependencies = [ "libc", "windows-sys 0.52.0", @@ -2657,9 +2716,9 @@ dependencies = [ [[package]] name = "sqlx" -version = "0.8.5" +version = "0.8.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f3c3a85280daca669cfd3bcb68a337882a8bc57ec882f72c5d13a430613a738e" +checksum = "1fefb893899429669dcdd979aff487bd78f4064e5e7907e4269081e0ef7d97dc" dependencies = [ "sqlx-core", "sqlx-macros", @@ -2669,9 +2728,9 @@ dependencies = [ [[package]] name = "sqlx-core" -version = "0.8.5" +version = "0.8.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f743f2a3cea30a58cd479013f75550e879009e3a02f616f18ca699335aa248c3" +checksum = "ee6798b1838b6a0f69c007c133b8df5866302197e404e8b6ee8ed3e3a5e68dc6" dependencies = [ "base64", "bytes", @@ -2683,9 +2742,9 @@ dependencies = [ "futures-intrusive", "futures-io", "futures-util", - "hashbrown 0.15.2", + "hashbrown 0.15.4", "hashlink", - "indexmap 2.9.0", + "indexmap 2.10.0", "log", "memchr", "native-tls", @@ -2704,9 +2763,9 @@ dependencies = [ [[package]] name = "sqlx-macros" -version = "0.8.5" +version = "0.8.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7f4200e0fde19834956d4252347c12a083bdcb237d7a1a1446bffd8768417dce" +checksum = "a2d452988ccaacfbf5e0bdbc348fb91d7c8af5bee192173ac3636b5fb6e6715d" dependencies = [ "proc-macro2", "quote", @@ -2717,9 +2776,9 @@ dependencies = [ [[package]] name = "sqlx-macros-core" -version = "0.8.5" +version = "0.8.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "882ceaa29cade31beca7129b6beeb05737f44f82dbe2a9806ecea5a7093d00b7" +checksum = "19a9c1841124ac5a61741f96e1d9e2ec77424bf323962dd894bdb93f37d5219b" dependencies = [ "dotenvy", "either", @@ -2735,16 +2794,15 @@ dependencies = [ "sqlx-postgres", "sqlx-sqlite", "syn", - "tempfile", "tokio", "url", ] [[package]] name = "sqlx-postgres" -version = "0.8.5" +version = "0.8.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a0bedbe1bbb5e2615ef347a5e9d8cd7680fb63e77d9dafc0f29be15e53f1ebe6" +checksum = "db58fcd5a53cf07c184b154801ff91347e4c30d17a3562a635ff028ad5deda46" dependencies = [ "atoi", "base64", @@ -2779,9 +2837,9 @@ dependencies = [ [[package]] name = "sqlx-sqlite" -version = "0.8.5" +version = "0.8.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c26083e9a520e8eb87a06b12347679b142dc2ea29e6e409f805644a7a979a5bc" +checksum = "c2d12fe70b2c1b4401038055f90f151b78208de1f9f89a7dbfd41587a10c3eea" dependencies = [ "atoi", "flume", @@ -2809,9 +2867,9 @@ checksum = "a8f112729512f8e442d81f95a8a7ddf2b7c6b8a1a6f509a95864142b30cab2d3" [[package]] name = "stacker" -version = "0.1.20" +version = "0.1.21" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "601f9201feb9b09c00266478bf459952b9ef9a6b94edb2f21eba14ab681a60a9" +checksum = "cddb07e32ddb770749da91081d8d0ac3a16f1a569a18b20348cd371f5dead06b" dependencies = [ "cc", "cfg-if", @@ -2845,9 +2903,9 @@ checksum = "13c2bddecc57b384dee18652358fb23172facb8a2c51ccc10d74c157bdea3292" [[package]] name = "syn" -version = "2.0.100" +version = "2.0.104" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b09a44accad81e1ba1cd74a32461ba89dee89095ba17b32f5d03683b1b1fc2a0" +checksum = "17b6f705963418cdb9927482fa304bc562ece2fdd4f616084c50b7023b435a40" dependencies = [ "proc-macro2", "quote", @@ -2865,9 +2923,9 @@ dependencies = [ [[package]] name = "synstructure" -version = "0.13.1" +version = "0.13.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c8af7666ab7b6390ab78131fb5b0fce11d6b7a6951602017c35fa82800708971" +checksum = "728a70f3dbaf5bab7f0c4b1ac8d7ae5ea60a4b5549c8a5914361c99147a709d2" dependencies = [ "proc-macro2", "quote", @@ -2909,9 +2967,9 @@ checksum = "20f34339676cdcab560c9a82300c4c2581f68b9369aedf0fae86f2ff9565ff3e" [[package]] name = "teloxide" -version = "0.15.0" +version = "0.16.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "17cb7c03a9217286fe11021dc72d5a674acbb0d3b24ba38d04f7efe7920e4948" +checksum = "d407992f53f23d781dfef19bddfbf33ec63a9f24f2bfb2808cf7bd3890d4be29" dependencies = [ "aquamarine", "bytes", @@ -2936,9 +2994,9 @@ dependencies = [ [[package]] name = "teloxide-core" -version = "0.11.2" +version = "0.12.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "aa2f70a3cd58c2b31ca899691b99573a40c6da713ab230bb78bbb4fb0b5c751a" +checksum = "dd7c27c35350ddf2965403b7ffe122ae8b8090c6882f520e31717e81cc839296" dependencies = [ "bitflags", "bytes", @@ -2968,9 +3026,9 @@ dependencies = [ [[package]] name = "teloxide-macros" -version = "0.9.0" +version = "0.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3118a980ed2ec11f73d9495a6606905bd74726e3ffe95a42fbeb187ded8fdbf4" +checksum = "300fadcaf0c182f19b5ca10bf23a45dc9a48925f00c704405fd90ee2c03942f9" dependencies = [ "heck", "proc-macro2", @@ -3030,12 +3088,12 @@ dependencies = [ [[package]] name = "tempfile" -version = "3.19.1" +version = "3.20.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7437ac7763b9b123ccf33c338a5cc1bac6f69b45a136c19bdd8a65e3916435bf" +checksum = "e8a64e3985349f2441a1a9ef0b853f869006c3855f2cda6862a94d26ebb9d6a1" dependencies = [ "fastrand", - "getrandom 0.3.2", + "getrandom 0.3.3", "once_cell", "rustix", "windows-sys 0.59.0", @@ -3123,9 +3181,9 @@ dependencies = [ [[package]] name = "tinystr" -version = "0.7.6" +version = "0.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9117f5d4db391c1cf6927e7bea3db74b9a1c1add8f7eda9ffd5364f40f57b82f" +checksum = "5d4f6d1145dcb577acf783d4e601bc1d76a13337bb54e6233add580b07344c8b" dependencies = [ "displaydoc", "zerovec", @@ -3148,17 +3206,19 @@ checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20" [[package]] name = "tokio" -version = "1.44.2" +version = "1.46.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e6b88822cbe49de4185e3a4cbf8321dd487cf5fe0c5c65695fef6346371e9c48" +checksum = "1140bb80481756a8cbe10541f37433b459c5aa1e727b4c020fbfebdc25bf3ec4" dependencies = [ "backtrace", "bytes", + "io-uring", "libc", "mio", "parking_lot", "pin-project-lite", "signal-hook-registry", + "slab", "socket2", "tokio-macros", "windows-sys 0.52.0", @@ -3234,6 +3294,24 @@ dependencies = [ "tower-service", ] +[[package]] +name = "tower-http" +version = "0.6.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "adc82fd73de2a9722ac5da747f12383d2bfdb93591ee6c58486e0097890f05f2" +dependencies = [ + "bitflags", + "bytes", + "futures-util", + "http 1.3.1", + "http-body", + "iri-string", + "pin-project-lite", + "tower", + "tower-layer", + "tower-service", +] + [[package]] name = "tower-layer" version = "0.3.3" @@ -3260,9 +3338,9 @@ dependencies = [ [[package]] name = "tracing-attributes" -version = "0.1.28" +version = "0.1.30" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "395ae124c09f9e6918a2310af6038fba074bcf474ac352496d5910dd59a2226d" +checksum = "81383ab64e72a7a8b8e13130c49e3dab29def6d0c7d76a03087b3cf71c5c6903" dependencies = [ "proc-macro2", "quote", @@ -3271,9 +3349,9 @@ dependencies = [ [[package]] name = "tracing-core" -version = "0.1.33" +version = "0.1.34" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e672c95779cf947c5311f83787af4fa8fffd12fb27e4993211a84bdfd9610f9c" +checksum = "b9d12581f227e93f094d3af2ae690a574abb8a2b9b7a96e7cfe9647b2b617678" dependencies = [ "once_cell", ] @@ -3347,12 +3425,6 @@ dependencies = [ "serde", ] -[[package]] -name = "utf16_iter" -version = "1.0.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c8232dd3cdaed5356e0f716d285e4b40b932ac434100fe9b7e0e8e935b9e6246" - [[package]] name = "utf8_iter" version = "1.0.4" @@ -3367,11 +3439,13 @@ checksum = "06abde3611657adf66d383f00b093d7faecc7fa57071cce2578660c9f1010821" [[package]] name = "uuid" -version = "1.16.0" +version = "1.17.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "458f7a779bf54acc9f347480ac654f68407d3aab21269a6e3c9f922acd9e2da9" +checksum = "3cf4199d1e5d15ddd86a694e4d0dffa9c323ce759fea589f00fef9d81cc1931d" dependencies = [ - "getrandom 0.3.2", + "getrandom 0.3.3", + "js-sys", + "wasm-bindgen", ] [[package]] @@ -3397,9 +3471,9 @@ dependencies = [ [[package]] name = "wasi" -version = "0.11.0+wasi-snapshot-preview1" +version = "0.11.1+wasi-snapshot-preview1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423" +checksum = "ccf3ec651a847eb01de73ccad15eb7d99f80485de043efb2f370cd654f4ea44b" [[package]] name = "wasi" @@ -3553,15 +3627,15 @@ checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" [[package]] name = "windows-core" -version = "0.61.0" +version = "0.61.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4763c1de310c86d75a878046489e2e5ba02c649d185f21c67d4cf8a56d098980" +checksum = "c0fdd3ddb90610c7638aa2b3a3ab2904fb9e5cdbecc643ddb3647212781c4ae3" dependencies = [ "windows-implement", "windows-interface", "windows-link", "windows-result", - "windows-strings 0.4.0", + "windows-strings", ] [[package]] @@ -3588,44 +3662,35 @@ dependencies = [ [[package]] name = "windows-link" -version = "0.1.1" +version = "0.1.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "76840935b766e1b0a05c0066835fb9ec80071d4c09a16f6bd5f7e655e3c14c38" +checksum = "5e6ad25900d524eaabdbbb96d20b4311e1e7ae1699af4fb28c17ae66c80d798a" [[package]] name = "windows-registry" -version = "0.4.0" +version = "0.5.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4286ad90ddb45071efd1a66dfa43eb02dd0dfbae1545ad6cc3c51cf34d7e8ba3" +checksum = "5b8a9ed28765efc97bbc954883f4e6796c33a06546ebafacbabee9696967499e" dependencies = [ + "windows-link", "windows-result", - "windows-strings 0.3.1", - "windows-targets 0.53.0", + "windows-strings", ] [[package]] name = "windows-result" -version = "0.3.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c64fd11a4fd95df68efcfee5f44a294fe71b8bc6a91993e2791938abcc712252" -dependencies = [ - "windows-link", -] - -[[package]] -name = "windows-strings" -version = "0.3.1" +version = "0.3.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "87fa48cc5d406560701792be122a10132491cff9d0aeb23583cc2dcafc847319" +checksum = "56f42bd332cc6c8eac5af113fc0c1fd6a8fd2aa08a0119358686e5160d0586c6" dependencies = [ "windows-link", ] [[package]] name = "windows-strings" -version = "0.4.0" +version = "0.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7a2ba9642430ee452d5a7aa78d72907ebe8cfda358e8cb7918a2050581322f97" +checksum = "56e6c93f3a0c3b36176cb1327a4958a0353d5d166c2a35cb268ace15e91d3b57" dependencies = [ "windows-link", ] @@ -3657,6 +3722,15 @@ dependencies = [ "windows-targets 0.52.6", ] +[[package]] +name = "windows-sys" +version = "0.60.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f2f500e4d28234f72040990ec9d39e3a6b950f9f22d3dba18416c35882612bcb" +dependencies = [ + "windows-targets 0.53.2", +] + [[package]] name = "windows-targets" version = "0.48.5" @@ -3690,9 +3764,9 @@ dependencies = [ [[package]] name = "windows-targets" -version = "0.53.0" +version = "0.53.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b1e4c7e8ceaaf9cb7d7507c974735728ab453b67ef8f18febdd7c11fe59dca8b" +checksum = "c66f69fcc9ce11da9966ddb31a40968cad001c5bedeb5c2b82ede4253ab48aef" dependencies = [ "windows_aarch64_gnullvm 0.53.0", "windows_aarch64_msvc 0.53.0", @@ -3851,23 +3925,17 @@ dependencies = [ "bitflags", ] -[[package]] -name = "write16" -version = "1.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d1890f4022759daae28ed4fe62859b1236caebfc61ede2f63ed4e695f3f6d936" - [[package]] name = "writeable" -version = "0.5.5" +version = "0.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1e9df38ee2d2c3c5948ea468a8406ff0db0b29ae1ffde1bcf20ef305bcc95c51" +checksum = "ea2f10b9bb0928dfb1b42b65e1f9e36f7f54dbdf08457afefb38afcdec4fa2bb" [[package]] name = "yoke" -version = "0.7.5" +version = "0.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "120e6aef9aa629e3d4f52dc8cc43a015c7724194c97dfaf45180d2daf2b77f40" +checksum = "5f41bb01b8226ef4bfd589436a297c53d118f65921786300e427be8d487695cc" dependencies = [ "serde", "stable_deref_trait", @@ -3877,9 +3945,9 @@ dependencies = [ [[package]] name = "yoke-derive" -version = "0.7.5" +version = "0.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2380878cad4ac9aac1e2435f3eb4020e8374b5f13c296cb75b4620ff8e229154" +checksum = "38da3c9736e16c5d3c8c597a9aaa5d1fa565d0532ae05e27c24aa62fb32c0ab6" dependencies = [ "proc-macro2", "quote", @@ -3889,38 +3957,18 @@ dependencies = [ [[package]] name = "zerocopy" -version = "0.7.35" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1b9b4fd18abc82b8136838da5d50bae7bdea537c574d8dc1a34ed098d6c166f0" -dependencies = [ - "zerocopy-derive 0.7.35", -] - -[[package]] -name = "zerocopy" -version = "0.8.24" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2586fea28e186957ef732a5f8b3be2da217d65c5969d4b1e17f973ebbe876879" -dependencies = [ - "zerocopy-derive 0.8.24", -] - -[[package]] -name = "zerocopy-derive" -version = "0.7.35" +version = "0.8.26" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fa4f8080344d4671fb4e831a13ad1e68092748387dfc4f55e356242fae12ce3e" +checksum = "1039dd0d3c310cf05de012d8a39ff557cb0d23087fd44cad61df08fc31907a2f" dependencies = [ - "proc-macro2", - "quote", - "syn", + "zerocopy-derive", ] [[package]] name = "zerocopy-derive" -version = "0.8.24" +version = "0.8.26" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a996a8f63c5c4448cd959ac1bab0aaa3306ccfd060472f85943ee0750f0169be" +checksum = "9ecf5b4cc5364572d7f4c329661bcc82724222973f2cab6f050a4e5c22f75181" dependencies = [ "proc-macro2", "quote", @@ -3954,11 +4002,22 @@ version = "1.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ced3678a2879b30306d323f4542626697a464a97c0a07c9aebf7ebca65cd4dde" +[[package]] +name = "zerotrie" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "36f0bbd478583f79edad978b407914f61b2972f5af6fa089686016be8f9af595" +dependencies = [ + "displaydoc", + "yoke", + "zerofrom", +] + [[package]] name = "zerovec" -version = "0.10.4" +version = "0.11.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "aa2b893d79df23bfb12d5461018d408ea19dfafe76c2c7ef6d4eba614f8ff079" +checksum = "4a05eb080e015ba39cc9e23bbe5e7fb04d5fb040350f99f34e338d5fdd294428" dependencies = [ "yoke", "zerofrom", @@ -3967,9 +4026,9 @@ dependencies = [ [[package]] name = "zerovec-derive" -version = "0.10.3" +version = "0.11.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6eafa6dfb17584ea3e2bd6e76e0cc15ad7af12b09abdd1ca55961bed9b1063c6" +checksum = "5b96237efa0c878c64bd89c436f661be4e46b2f3eff1ebb976f7ef2321d2f58f" dependencies = [ "proc-macro2", "quote", diff --git a/teloxide_tests/Cargo.toml b/teloxide_tests/Cargo.toml index 84ed69f..f59dd5d 100644 --- a/teloxide_tests/Cargo.toml +++ b/teloxide_tests/Cargo.toml @@ -20,7 +20,7 @@ log = "0.4" pretty_env_logger = "0.5" url = "2.5.1" reqwest = "0.12.5" -teloxide = { version = "0.15.0", features = ["macros", "sqlite-storage-nativetls"] } +teloxide = { version = "0.16.0", features = ["macros", "sqlite-storage-nativetls"] } tokio = { version = "1.38", features = ["rt-multi-thread", "macros"] } serde = { version = "1.0", features = ["derive"] } serde_json = "1.0" diff --git a/teloxide_tests/src/dataset/chat_full_info.rs b/teloxide_tests/src/dataset/chat_full_info.rs index f739f17..e3e3318 100644 --- a/teloxide_tests/src/dataset/chat_full_info.rs +++ b/teloxide_tests/src/dataset/chat_full_info.rs @@ -65,10 +65,16 @@ macro_rules! ChatFullInfo { has_hidden_members: self.has_hidden_members, has_aggressive_anti_spam_enabled: self.has_aggressive_anti_spam_enabled, accent_color_id: self.accent_color_id, - background_custom_emoji_id: self.background_custom_emoji_id, + background_custom_emoji_id: self + .background_custom_emoji_id + .map(Into::into), profile_accent_color_id: self.profile_accent_color_id, - profile_background_custom_emoji_id: self.profile_background_custom_emoji_id, - emoji_status_custom_emoji_id: self.emoji_status_custom_emoji_id, + profile_background_custom_emoji_id: self + .profile_background_custom_emoji_id + .map(Into::into), + emoji_status_custom_emoji_id: self + .emoji_status_custom_emoji_id + .map(Into::into), emoji_status_expiration_date: self.emoji_status_expiration_date, has_visible_history: self.has_visible_history, max_reaction_count: self.max_reaction_count, @@ -169,10 +175,12 @@ ChatFullInfoPublic! { pub struct MockChatFullInfoChannel { pub username: Option, pub linked_chat_id: Option, + pub can_send_paid_media: bool, } } impl MockChatFullInfoChannel { + pub const CAN_SEND_PAID_MEDIA: bool = false; /// Creates a new easily changable channel chat full info builder /// /// Example: @@ -186,7 +194,7 @@ impl MockChatFullInfoChannel { /// ``` /// pub fn new() -> Self { - Self::new_chat_full_info_public(None, None) + Self::new_chat_full_info_public(None, None, Self::CAN_SEND_PAID_MEDIA) } /// Builds the channel chat full info @@ -205,6 +213,7 @@ impl MockChatFullInfoChannel { ChatFullInfoPublicChannel { username: self.username, linked_chat_id: self.linked_chat_id, + can_send_paid_media: self.can_send_paid_media, }, )) } diff --git a/teloxide_tests/src/dataset/message_common.rs b/teloxide_tests/src/dataset/message_common.rs index 8316359..91a5401 100644 --- a/teloxide_tests/src/dataset/message_common.rs +++ b/teloxide_tests/src/dataset/message_common.rs @@ -65,7 +65,7 @@ macro_rules! MessageCommon { // Rust was supposed to be used without inheritanc pub(crate) fn build_message_common(self, media_kind: MediaKind) -> Message { self.clone().build_message(MessageKind::Common(MessageCommon { author_signature: self.author_signature, - effect_id: self.effect_id, + effect_id: self.effect_id.map(Into::into), forward_origin: self.forward_origin, reply_to_message: self.reply_to_message, external_reply: self.external_reply, @@ -217,8 +217,8 @@ impl MockMessageAnimation { has_media_spoiler: self.has_media_spoiler, animation: Animation { file: FileMeta { - id: self.file_id, - unique_id: self.file_unique_id, + id: self.file_id.into(), + unique_id: self.file_unique_id.into(), size: self.file_size, }, width: self.width, @@ -300,11 +300,11 @@ impl MockMessageAudio { .build_message_common(MediaKind::Audio(MediaAudio { caption: self.caption, caption_entities: self.caption_entities, - media_group_id: self.media_group_id, + media_group_id: self.media_group_id.map(Into::into), audio: Audio { file: FileMeta { - id: self.file_id, - unique_id: self.file_unique_id, + id: self.file_id.into(), + unique_id: self.file_unique_id.into(), size: self.file_size, }, duration: self.duration, @@ -405,7 +405,10 @@ impl MockMessageDocument { /// let message = teloxide_tests::MockMessageDocument::new() /// .file_id("12345") /// .build(); - /// assert_eq!(message.document().unwrap().file.id, "12345"); // FILE_ID is a default value + /// assert_eq!( + /// message.document().unwrap().file.id, + /// "12345".into() + /// ); // FILE_ID is a default value /// ``` /// pub fn new() -> Self { @@ -428,7 +431,10 @@ impl MockMessageDocument { /// ``` /// let mock_message = teloxide_tests::MockMessageDocument::new(); /// let message = mock_message.build(); - /// assert_eq!(message.document().unwrap().file.id, teloxide_tests::MockMessageDocument::FILE_ID); // FILE_ID is a default value + /// assert_eq!( + /// message.document().unwrap().file.id, + /// teloxide_tests::MockMessageDocument::FILE_ID.into() + /// ); // FILE_ID is a default value /// ``` /// pub fn build(self) -> Message { @@ -436,11 +442,11 @@ impl MockMessageDocument { .build_message_common(MediaKind::Document(MediaDocument { caption: self.caption, caption_entities: self.caption_entities, - media_group_id: self.media_group_id, + media_group_id: self.media_group_id.map(Into::into), document: Document { file: FileMeta { - id: self.file_id, - unique_id: self.file_unique_id, + id: self.file_id.into(), + unique_id: self.file_unique_id.into(), size: self.file_size, }, thumbnail: self.thumbnail, @@ -683,7 +689,7 @@ impl MockMessagePhoto { .build_message_common(MediaKind::Photo(MediaPhoto { caption: self.caption, caption_entities: self.caption_entities, - media_group_id: self.media_group_id, + media_group_id: self.media_group_id.map(Into::into), show_caption_above_media: self.show_caption_above_media, has_media_spoiler: self.has_media_spoiler, photo: self.photo, @@ -728,7 +734,7 @@ impl MockMessagePoll { /// .poll_id("123456") /// .build(); /// - /// assert_eq!(message.poll().unwrap().id, "123456"); + /// assert_eq!(message.poll().unwrap().id, "123456".into()); /// ``` /// pub fn new() -> Self { @@ -756,14 +762,17 @@ impl MockMessagePoll { /// ``` /// let mock_message = teloxide_tests::MockMessagePoll::new(); /// let message = mock_message.build(); - /// assert_eq!(message.poll().unwrap().id, teloxide_tests::MockMessagePoll::POLL_ID); // POLL_ID is a default value + /// assert_eq!( + /// message.poll().unwrap().id, + /// teloxide_tests::MockMessagePoll::POLL_ID.into() + /// ); // POLL_ID is a default value /// ``` /// pub fn build(self) -> Message { self.clone() .build_message_common(MediaKind::Poll(MediaPoll { poll: Poll { - id: self.poll_id, + id: self.poll_id.into(), question: self.question, question_entities: self.question_entities, options: self.options, @@ -816,7 +825,7 @@ impl MockMessageSticker { /// ``` /// let message = teloxide_tests::MockMessageSticker::new().file_id("12345").build(); /// - /// assert_eq!(message.sticker().unwrap().file.id, "12345"); + /// assert_eq!(message.sticker().unwrap().file.id, "12345".into()); /// ``` /// pub fn new() -> Self { @@ -844,7 +853,10 @@ impl MockMessageSticker { /// ``` /// let mock_message = teloxide_tests::MockMessageSticker::new(); /// let message = mock_message.build(); - /// assert_eq!(message.sticker().unwrap().file.id, teloxide_tests::MockMessageSticker::FILE_ID); // FILE_ID is a default value + /// assert_eq!( + /// message.sticker().unwrap().file.id, + /// teloxide_tests::MockMessageSticker::FILE_ID.into() + /// ); // FILE_ID is a default value /// ``` /// pub fn build(self) -> Message { @@ -852,8 +864,8 @@ impl MockMessageSticker { .build_message_common(MediaKind::Sticker(MediaSticker { sticker: Sticker { file: FileMeta { - id: self.file_id, - unique_id: self.file_unique_id, + id: self.file_id.into(), + unique_id: self.file_unique_id.into(), size: self.file_size, }, width: self.width, @@ -890,8 +902,10 @@ impl MockMessageVideo { /// # Example /// ``` /// let message = - /// teloxide_tests::MockMessageVideo::new().video(teloxide_tests::MockVideo::new().file_id("12345").build()).build(); - /// assert_eq!(message.video().unwrap().file.id, "12345"); + /// teloxide_tests::MockMessageVideo::new() + /// .video(teloxide_tests::MockVideo::new().file_id("12345").build()) + /// .build(); + /// assert_eq!(message.video().unwrap().file.id, "12345".into()); /// ``` /// pub fn new() -> Self { @@ -911,7 +925,10 @@ impl MockMessageVideo { /// ``` /// let mock_message = teloxide_tests::MockMessageVideo::new(); /// let message = mock_message.build(); - /// assert_eq!(message.video().unwrap().file.id, teloxide_tests::MockVideo::FILE_ID); // FILE_ID is a default value + /// assert_eq!( + /// message.video().unwrap().file.id, + /// teloxide_tests::MockVideo::FILE_ID.into() + /// ); // FILE_ID is a default value /// ``` /// pub fn build(self) -> Message { @@ -919,7 +936,7 @@ impl MockMessageVideo { .build_message_common(MediaKind::Video(MediaVideo { caption: self.caption, caption_entities: self.caption_entities, - media_group_id: self.media_group_id, + media_group_id: self.media_group_id.map(Into::into), show_caption_above_media: self.show_caption_above_media, has_media_spoiler: self.has_media_spoiler, video: self.video, @@ -972,7 +989,10 @@ impl MockMessageVideoNote { /// ``` /// let mock_message = teloxide_tests::MockMessageVideoNote::new(); /// let message = mock_message.build(); - /// assert_eq!(message.video_note().unwrap().file.id, teloxide_tests::MockMessageVideoNote::FILE_ID); // FILE_ID is a default value + /// assert_eq!( + /// message.video_note().unwrap().file.id, + /// teloxide_tests::MockMessageVideoNote::FILE_ID.into() + /// ); // FILE_ID is a default value /// ``` /// pub fn build(self) -> Message { @@ -980,8 +1000,8 @@ impl MockMessageVideoNote { .build_message_common(MediaKind::VideoNote(MediaVideoNote { video_note: VideoNote { file: FileMeta { - id: self.file_id, - unique_id: self.file_unique_id, + id: self.file_id.into(), + unique_id: self.file_unique_id.into(), size: self.file_size, }, length: self.length, @@ -1039,7 +1059,10 @@ impl MockMessageVoice { /// ``` /// let mock_message = teloxide_tests::MockMessageVoice::new(); /// let message = mock_message.build(); - /// assert_eq!(message.voice().unwrap().file.id, teloxide_tests::MockMessageVoice::FILE_ID); // FILE_ID is a default value + /// assert_eq!( + /// message.voice().unwrap().file.id, + /// teloxide_tests::MockMessageVoice::FILE_ID.into() + /// ); // FILE_ID is a default value /// ``` /// pub fn build(self) -> Message { @@ -1047,8 +1070,8 @@ impl MockMessageVoice { .build_message_common(MediaKind::Voice(MediaVoice { voice: Voice { file: FileMeta { - id: self.file_id, - unique_id: self.file_unique_id, + id: self.file_id.into(), + unique_id: self.file_unique_id.into(), size: self.file_size, }, duration: self.duration, diff --git a/teloxide_tests/src/dataset/mod.rs b/teloxide_tests/src/dataset/mod.rs index ef8d7e4..818529e 100644 --- a/teloxide_tests/src/dataset/mod.rs +++ b/teloxide_tests/src/dataset/mod.rs @@ -133,6 +133,7 @@ pub struct MockMe { pub can_read_all_group_messages: bool, pub supports_inline_queries: bool, pub can_connect_to_business: bool, + pub has_main_web_app: bool, } impl MockMe { @@ -146,6 +147,7 @@ impl MockMe { pub const CAN_READ_ALL_GROUP_MESSAGES: bool = false; pub const SUPPORTS_INLINE_QUERIES: bool = false; pub const CAN_CONNECT_TO_BUSINESS: bool = false; + pub const HAS_MAIN_WEB_APP: bool = false; /// Creates a new easily changable me builder /// @@ -169,6 +171,7 @@ impl MockMe { can_read_all_group_messages: Self::CAN_READ_ALL_GROUP_MESSAGES, supports_inline_queries: Self::SUPPORTS_INLINE_QUERIES, can_connect_to_business: Self::CAN_CONNECT_TO_BUSINESS, + has_main_web_app: Self::HAS_MAIN_WEB_APP, } } @@ -197,6 +200,7 @@ impl MockMe { can_read_all_group_messages: self.can_read_all_group_messages, supports_inline_queries: self.supports_inline_queries, can_connect_to_business: self.can_connect_to_business, + has_main_web_app: self.has_main_web_app, } } } @@ -226,7 +230,7 @@ impl MockChatPhoto { /// let chat_photo = teloxide_tests::MockChatPhoto::new() /// .small_file_id("small_file_id") /// .build(); - /// assert_eq!(chat_photo.small_file_id, "small_file_id"); + /// assert_eq!(chat_photo.small_file_id, "small_file_id".into()); /// ``` /// pub fn new() -> Self { @@ -244,15 +248,18 @@ impl MockChatPhoto { /// ``` /// let mock_chat_photo = teloxide_tests::MockChatPhoto::new(); /// let chat_photo = mock_chat_photo.build(); - /// assert_eq!(chat_photo.small_file_id, teloxide_tests::MockChatPhoto::SMALL_FILE_ID); // SMALL_FILE_ID is a default value + /// assert_eq!( + /// chat_photo.small_file_id, + /// teloxide_tests::MockChatPhoto::SMALL_FILE_ID.into() + /// ); // SMALL_FILE_ID is a default value /// ``` /// pub fn build(self) -> ChatPhoto { ChatPhoto { - small_file_id: self.small_file_id, - small_file_unique_id: self.small_file_unique_id, - big_file_id: self.big_file_id, - big_file_unique_id: self.big_file_unique_id, + small_file_id: self.small_file_id.into(), + small_file_unique_id: self.small_file_unique_id.into(), + big_file_id: self.big_file_id.into(), + big_file_unique_id: self.big_file_unique_id.into(), } } } @@ -362,8 +369,8 @@ impl MockPhotoSize { pub fn build(self) -> PhotoSize { PhotoSize { file: FileMeta { - id: self.file_id, - unique_id: self.file_unique_id, + id: self.file_id.into(), + unique_id: self.file_unique_id.into(), size: self.file_size, }, width: self.width, @@ -436,8 +443,8 @@ impl MockVideo { file_name: self.file_name, mime_type: self.mime_type, file: FileMeta { - id: self.file_id, - unique_id: self.file_unique_id, + id: self.file_id.into(), + unique_id: self.file_unique_id.into(), size: self.file_size, }, } diff --git a/teloxide_tests/src/dataset/queries.rs b/teloxide_tests/src/dataset/queries.rs index 7cc67d8..6989049 100644 --- a/teloxide_tests/src/dataset/queries.rs +++ b/teloxide_tests/src/dataset/queries.rs @@ -28,7 +28,7 @@ impl MockCallbackQuery { /// let callback_query = teloxide_tests::MockCallbackQuery::new() /// .id("id") /// .build(); - /// assert_eq!(callback_query.id, "id"); + /// assert_eq!(callback_query.id, "id".into()); /// ``` /// pub fn new() -> Self { @@ -76,12 +76,15 @@ impl MockCallbackQuery { /// ``` /// let mock_callback_query = teloxide_tests::MockCallbackQuery::new(); /// let callback_query = mock_callback_query.build(); - /// assert_eq!(callback_query.id, teloxide_tests::MockCallbackQuery::ID); // ID is a default value + /// assert_eq!( + /// callback_query.id, + /// teloxide_tests::MockCallbackQuery::ID.into() + /// ); // ID is a default value /// ``` /// pub fn build(self) -> CallbackQuery { CallbackQuery { - id: self.id, + id: self.id.into(), from: self.from, message: self.message.map(|message| { if !self.make_message_inaccessible { diff --git a/teloxide_tests/src/dataset/tests.rs b/teloxide_tests/src/dataset/tests.rs index 915c41b..b8048bd 100644 --- a/teloxide_tests/src/dataset/tests.rs +++ b/teloxide_tests/src/dataset/tests.rs @@ -1,6 +1,9 @@ use teloxide::{ dispatching::dialogue::GetChatId, - types::{ChatId, MessageEntity, MessageId, UpdateId, UpdateKind, UserId}, + types::{ + CallbackQueryId, ChatId, FileId, MediaGroupId, MessageEntity, MessageId, PollId, UpdateId, + UpdateKind, UserId, + }, }; use update::MockUpdatePoll; @@ -207,7 +210,10 @@ fn test_message_common_audio() { message_object.caption_entities(), Some(vec![MessageEntity::bold(0, 3)]).as_deref() ); - assert_eq!(message_object.media_group_id(), Some("123")); + assert_eq!( + message_object.media_group_id(), + Some(&MediaGroupId("123".to_string())) + ); } #[test] @@ -328,7 +334,7 @@ fn test_message_common_sticker() { let message_object = message.build(); assert_eq!( message_object.sticker().unwrap().file.id, - MockMessageSticker::FILE_ID + FileId(MockMessageSticker::FILE_ID.to_string()) ); } @@ -397,7 +403,10 @@ fn test_message_common_migration_from_chat() { fn test_callback_query() { let query = MockCallbackQuery::new(); let query_object = query.build(); - assert_eq!(query_object.id, MockCallbackQuery::ID); + assert_eq!( + query_object.id, + CallbackQueryId(MockCallbackQuery::ID.into()) + ); assert_eq!(query_object.from.first_name, MockUser::FIRST_NAME); } @@ -414,7 +423,7 @@ fn test_update_poll() { if let UpdateKind::Poll(poll) = update_object.kind { assert_eq!(poll.question, MockMessagePoll::QUESTION); assert_eq!(poll.poll_type, MockMessagePoll::POLL_TYPE); - assert_eq!(poll.id, "123".to_owned()); + assert_eq!(poll.id, PollId("123".to_owned())); } else { unreachable!() } diff --git a/teloxide_tests/src/dataset/update.rs b/teloxide_tests/src/dataset/update.rs index ce610dd..4b85774 100644 --- a/teloxide_tests/src/dataset/update.rs +++ b/teloxide_tests/src/dataset/update.rs @@ -62,7 +62,7 @@ impl IntoUpdate for MockUpdatePoll { vec![Update { id: UpdateId(id.fetch_add(1, Ordering::Relaxed) as u32), kind: UpdateKind::Poll(Poll { - id: self.poll_id, + id: self.poll_id.into(), question: self.question, question_entities: self.question_entities, options: self.options, diff --git a/teloxide_tests/src/mock_bot.rs b/teloxide_tests/src/mock_bot.rs index cf71de7..bbb0715 100644 --- a/teloxide_tests/src/mock_bot.rs +++ b/teloxide_tests/src/mock_bot.rs @@ -15,7 +15,6 @@ use teloxide::{ dialogue::{ErasedStorage, GetChatId, InMemStorage, Storage}, UpdateHandler, }, - dptree::di::DependencySupplier, error_handlers::ErrorHandler, prelude::*, types::{MaybeInaccessibleMessage, Me, UpdateKind}, diff --git a/teloxide_tests/src/server/routes/get_file.rs b/teloxide_tests/src/server/routes/get_file.rs index ce12320..146815a 100644 --- a/teloxide_tests/src/server/routes/get_file.rs +++ b/teloxide_tests/src/server/routes/get_file.rs @@ -16,7 +16,7 @@ pub async fn get_file( state: web::Data>, ) -> impl Responder { let lock = state.lock().unwrap(); - let Some(file) = lock.files.iter().find(|f| f.id == query.file_id) else { + let Some(file) = lock.files.iter().find(|f| f.id.0 == query.file_id) else { return ErrorBadRequest("File not found").into(); }; make_telegram_result(file) diff --git a/teloxide_tests/src/tests.rs b/teloxide_tests/src/tests.rs index 07b7134..33fd480 100644 --- a/teloxide_tests/src/tests.rs +++ b/teloxide_tests/src/tests.rs @@ -325,7 +325,7 @@ async fn handler( .await?; } AllCommands::EditCaption => { - let photo = InputFile::file_id("fileid".to_string()); + let photo = InputFile::file_id("fileid".into()); let photo_message = bot.send_photo(msg.chat.id, photo).await?; bot.edit_message_caption(msg.chat.id, photo_message.id) .caption("edited") diff --git a/teloxide_tests/src/utils.rs b/teloxide_tests/src/utils.rs index 76906cc..db93da5 100644 --- a/teloxide_tests/src/utils.rs +++ b/teloxide_tests/src/utils.rs @@ -50,8 +50,8 @@ pub fn find_file(value: Value) -> Option { } if let (Some(id), Some(unique_id)) = (file_id, file_unique_id) { return Some(FileMeta { - id, - unique_id, + id: id.into(), + unique_id: unique_id.into(), size: file_size.unwrap_or(0), }); } From 9715ea0b14fa1f2fde1a5d51c600fe6de44308bd Mon Sep 17 00:00:00 2001 From: Nikolai Oplachko Date: Wed, 2 Jul 2025 15:56:21 +0200 Subject: [PATCH 2/7] bump teloxide to 0.16 in examples --- examples/Cargo.lock | 26 ++++++++++++++++++-------- examples/album_bot/Cargo.toml | 2 +- examples/calculator_bot/Cargo.toml | 2 +- examples/deep_linking_bot/Cargo.toml | 2 +- examples/file_download_bot/Cargo.toml | 2 +- examples/hello_world_bot/Cargo.toml | 2 +- examples/phrase_bot/Cargo.toml | 2 +- 7 files changed, 24 insertions(+), 14 deletions(-) diff --git a/examples/Cargo.lock b/examples/Cargo.lock index 1445a09..cb7d51c 100644 --- a/examples/Cargo.lock +++ b/examples/Cargo.lock @@ -596,6 +596,15 @@ version = "1.0.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5b63caa9aa9397e2d9480a9b13673856c78d8ac123288526c37d7839f2a86990" +[[package]] +name = "colored" +version = "3.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fde0e0ec90c9dfb3b4b1a0891a7dcd0e2bffde2f7efed5fe7c9bb00e5bfb915e" +dependencies = [ + "windows-sys 0.59.0", +] + [[package]] name = "combine" version = "4.6.7" @@ -954,10 +963,11 @@ checksum = "1aaf95b3e5c8f23aa320147307562d361db0ae0d51242340f558153b4eb2439b" [[package]] name = "dptree" -version = "0.3.0" +version = "0.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d81175dab5ec79c30e0576df2ed2c244e1721720c302000bb321b107e82e265c" +checksum = "d12280a6070b0c46830fcb4011f77ac56e9e1ca224c039f1d61d2024fa1ee870" dependencies = [ + "colored", "futures", ] @@ -3117,9 +3127,9 @@ checksum = "20f34339676cdcab560c9a82300c4c2581f68b9369aedf0fae86f2ff9565ff3e" [[package]] name = "teloxide" -version = "0.15.0" +version = "0.16.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "17cb7c03a9217286fe11021dc72d5a674acbb0d3b24ba38d04f7efe7920e4948" +checksum = "d407992f53f23d781dfef19bddfbf33ec63a9f24f2bfb2808cf7bd3890d4be29" dependencies = [ "aquamarine", "bytes", @@ -3146,9 +3156,9 @@ dependencies = [ [[package]] name = "teloxide-core" -version = "0.11.2" +version = "0.12.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "aa2f70a3cd58c2b31ca899691b99573a40c6da713ab230bb78bbb4fb0b5c751a" +checksum = "dd7c27c35350ddf2965403b7ffe122ae8b8090c6882f520e31717e81cc839296" dependencies = [ "bitflags", "bytes", @@ -3178,9 +3188,9 @@ dependencies = [ [[package]] name = "teloxide-macros" -version = "0.9.0" +version = "0.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3118a980ed2ec11f73d9495a6606905bd74726e3ffe95a42fbeb187ded8fdbf4" +checksum = "300fadcaf0c182f19b5ca10bf23a45dc9a48925f00c704405fd90ee2c03942f9" dependencies = [ "heck", "proc-macro2", diff --git a/examples/album_bot/Cargo.toml b/examples/album_bot/Cargo.toml index 0e304cc..23549e1 100644 --- a/examples/album_bot/Cargo.toml +++ b/examples/album_bot/Cargo.toml @@ -4,7 +4,7 @@ version = "0.1.0" edition = "2021" [dependencies] -teloxide = { version = "0.15.0", features = ["macros"] } +teloxide = { version = "0.16.0", features = ["macros"] } tokio = { version = "1.38", features = ["rt-multi-thread", "macros"] } dotenv = "0.15.0" log = "0.4" diff --git a/examples/calculator_bot/Cargo.toml b/examples/calculator_bot/Cargo.toml index d908335..1ba3803 100644 --- a/examples/calculator_bot/Cargo.toml +++ b/examples/calculator_bot/Cargo.toml @@ -4,7 +4,7 @@ version = "0.1.0" edition = "2021" [dependencies] -teloxide = { version = "0.15.0", features = ["macros", "redis-storage", "cbor-serializer"] } +teloxide = { version = "0.16.0", features = ["macros", "redis-storage", "cbor-serializer"] } tokio = { version = "1.38", features = ["rt-multi-thread", "macros"] } dotenv = "0.15.0" serde = { version = "1.0", features = ["derive"] } diff --git a/examples/deep_linking_bot/Cargo.toml b/examples/deep_linking_bot/Cargo.toml index 4741c14..4fe312a 100644 --- a/examples/deep_linking_bot/Cargo.toml +++ b/examples/deep_linking_bot/Cargo.toml @@ -4,7 +4,7 @@ version = "0.1.0" edition = "2021" [dependencies] -teloxide = { version = "0.15.0", features = ["macros"] } +teloxide = { version = "0.16.0", features = ["macros"] } tokio = { version = "1.38", features = ["rt-multi-thread", "macros"] } dotenv = "0.15.0" serde = { version = "1.0", features = ["derive"] } diff --git a/examples/file_download_bot/Cargo.toml b/examples/file_download_bot/Cargo.toml index 0b4de67..837b9cb 100644 --- a/examples/file_download_bot/Cargo.toml +++ b/examples/file_download_bot/Cargo.toml @@ -4,7 +4,7 @@ version = "0.1.0" edition = "2021" [dependencies] -teloxide = { version = "0.15.0", features = ["macros"] } +teloxide = { version = "0.16.0", features = ["macros"] } tokio = { version = "1.38", features = ["rt-multi-thread", "macros"] } dotenv = "0.15.0" diff --git a/examples/hello_world_bot/Cargo.toml b/examples/hello_world_bot/Cargo.toml index ca9d6fb..a87be13 100644 --- a/examples/hello_world_bot/Cargo.toml +++ b/examples/hello_world_bot/Cargo.toml @@ -4,7 +4,7 @@ version = "0.1.0" edition = "2021" [dependencies] -teloxide = { version = "0.15.0", features = ["macros"] } +teloxide = { version = "0.16.0", features = ["macros"] } tokio = { version = "1.38", features = ["rt-multi-thread", "macros"] } dotenv = "0.15.0" diff --git a/examples/phrase_bot/Cargo.toml b/examples/phrase_bot/Cargo.toml index 353e9a8..23dd52f 100644 --- a/examples/phrase_bot/Cargo.toml +++ b/examples/phrase_bot/Cargo.toml @@ -4,7 +4,7 @@ version = "0.1.0" edition = "2021" [dependencies] -teloxide = { version = "0.15.0", features = ["macros", "redis-storage", "cbor-serializer"] } +teloxide = { version = "0.16.0", features = ["macros", "redis-storage", "cbor-serializer"] } tokio = { version = "1.38", features = ["rt-multi-thread", "macros"] } dotenv = "0.15.0" serde = { version = "1.0", features = ["derive"] } From 4ee854f94fad56f4e4677f4fca00a4f0d5bd365c Mon Sep 17 00:00:00 2001 From: Nikolai Oplachko Date: Wed, 2 Jul 2025 16:06:10 +0200 Subject: [PATCH 3/7] fix phrase_bot tests --- examples/phrase_bot/src/handlers/public.rs | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/examples/phrase_bot/src/handlers/public.rs b/examples/phrase_bot/src/handlers/public.rs index 51c80e2..c948ed9 100644 --- a/examples/phrase_bot/src/handlers/public.rs +++ b/examples/phrase_bot/src/handlers/public.rs @@ -53,7 +53,7 @@ pub async fn bot_phrase(bot: Bot, msg: Message) -> HandlerResult { mod tests { use teloxide_tests::{MockBot, MockGroupChat, MockMessageText, MockUser}; - use crate::{db, handler_tree::handler_tree, text}; + use crate::{db, dptree::deps, get_bot_storage, handler_tree::handler_tree, text}; #[tokio::test] async fn test_phrase() { @@ -71,6 +71,7 @@ mod tests { .reply_to_message(reply_message.build()); let mut bot = MockBot::new(me_message, handler_tree()); + bot.dependencies(deps![get_bot_storage().await]); // !!! IMPORTANT !!! same as in test_delete_phrase in private handlers, do all db stuff // after creating the bot db::full_user_redeletion(1234, Some("nick1".to_string())); @@ -105,6 +106,7 @@ mod tests { .from(MockUser::new().first_name("me").id(1234).build()); let mut bot = MockBot::new(me_message.clone(), handler_tree()); + bot.dependencies(deps![get_bot_storage().await]); db::full_user_redeletion(1234, None); db::create_phrase( 1234, From 510c615a51bdf67d4c2d4c67bdf28e9a8f4c5cc4 Mon Sep 17 00:00:00 2001 From: Nikolai Oplachko Date: Wed, 2 Jul 2025 17:24:48 +0200 Subject: [PATCH 4/7] typify fields with new teloxide types --- teloxide_tests/src/dataset/chat_full_info.rs | 18 +-- teloxide_tests/src/dataset/message_common.rs | 143 ++++++++---------- teloxide_tests/src/dataset/mod.rs | 54 +++---- teloxide_tests/src/dataset/queries.rs | 8 +- teloxide_tests/src/dataset/tests.rs | 21 +-- teloxide_tests/src/dataset/update.rs | 10 +- teloxide_tests/src/server/routes/get_file.rs | 5 +- .../src/server/routes/send_animation.rs | 13 +- .../src/server/routes/send_audio.rs | 13 +- .../src/server/routes/send_contact.rs | 4 +- .../src/server/routes/send_document.rs | 13 +- .../src/server/routes/send_location.rs | 6 +- .../src/server/routes/send_media_group.rs | 32 ++-- .../src/server/routes/send_message.rs | 4 +- .../src/server/routes/send_photo.rs | 14 +- teloxide_tests/src/server/routes/send_poll.rs | 6 +- .../src/server/routes/send_sticker.rs | 4 +- .../src/server/routes/send_venue.rs | 4 +- .../src/server/routes/send_video.rs | 13 +- .../src/server/routes/send_video_note.rs | 14 +- .../src/server/routes/send_voice.rs | 13 +- teloxide_tests/src/utils.rs | 8 +- 22 files changed, 197 insertions(+), 223 deletions(-) diff --git a/teloxide_tests/src/dataset/chat_full_info.rs b/teloxide_tests/src/dataset/chat_full_info.rs index e3e3318..710e8ba 100644 --- a/teloxide_tests/src/dataset/chat_full_info.rs +++ b/teloxide_tests/src/dataset/chat_full_info.rs @@ -20,10 +20,10 @@ macro_rules! ChatFullInfo { pub has_hidden_members: bool, pub has_aggressive_anti_spam_enabled: bool, pub accent_color_id: Option, - pub background_custom_emoji_id: Option, + pub background_custom_emoji_id: Option, pub profile_accent_color_id: Option, - pub profile_background_custom_emoji_id: Option, - pub emoji_status_custom_emoji_id: Option, + pub profile_background_custom_emoji_id: Option, + pub emoji_status_custom_emoji_id: Option, pub emoji_status_expiration_date: Option>, pub has_visible_history: bool, pub max_reaction_count: u8, @@ -65,16 +65,10 @@ macro_rules! ChatFullInfo { has_hidden_members: self.has_hidden_members, has_aggressive_anti_spam_enabled: self.has_aggressive_anti_spam_enabled, accent_color_id: self.accent_color_id, - background_custom_emoji_id: self - .background_custom_emoji_id - .map(Into::into), + background_custom_emoji_id: self.background_custom_emoji_id, profile_accent_color_id: self.profile_accent_color_id, - profile_background_custom_emoji_id: self - .profile_background_custom_emoji_id - .map(Into::into), - emoji_status_custom_emoji_id: self - .emoji_status_custom_emoji_id - .map(Into::into), + profile_background_custom_emoji_id: self.profile_background_custom_emoji_id, + emoji_status_custom_emoji_id: self.emoji_status_custom_emoji_id, emoji_status_expiration_date: self.emoji_status_expiration_date, has_visible_history: self.has_visible_history, max_reaction_count: self.max_reaction_count, diff --git a/teloxide_tests/src/dataset/message_common.rs b/teloxide_tests/src/dataset/message_common.rs index 91a5401..60b318e 100644 --- a/teloxide_tests/src/dataset/message_common.rs +++ b/teloxide_tests/src/dataset/message_common.rs @@ -20,7 +20,7 @@ macro_rules! MessageCommon { // Rust was supposed to be used without inheritanc #[derive($($derive),*)] $pub struct $name { pub author_signature: Option, - pub effect_id: Option, + pub effect_id: Option, pub forward_origin: Option, pub reply_to_message: Option>, pub external_reply: Option, @@ -65,7 +65,7 @@ macro_rules! MessageCommon { // Rust was supposed to be used without inheritanc pub(crate) fn build_message_common(self, media_kind: MediaKind) -> Message { self.clone().build_message(MessageKind::Common(MessageCommon { author_signature: self.author_signature, - effect_id: self.effect_id.map(Into::into), + effect_id: self.effect_id, forward_origin: self.forward_origin, reply_to_message: self.reply_to_message, external_reply: self.external_reply, @@ -155,8 +155,8 @@ MessageCommon! { pub file_name: Option, pub mime_type: Option, // FileMeta - pub file_id: String, - pub file_unique_id: String, + pub file_id: FileId, + pub file_unique_id: FileUniqueId, pub file_size: u32, } } @@ -193,8 +193,8 @@ impl MockMessageAnimation { None, None, None, - Self::FILE_ID.to_string(), - Self::UNIQUE_FILE_ID.to_string(), + Self::FILE_ID.into(), + Self::UNIQUE_FILE_ID.into(), Self::FILE_SIZE, ) } @@ -217,8 +217,8 @@ impl MockMessageAnimation { has_media_spoiler: self.has_media_spoiler, animation: Animation { file: FileMeta { - id: self.file_id.into(), - unique_id: self.file_unique_id.into(), + id: self.file_id, + unique_id: self.file_unique_id, size: self.file_size, }, width: self.width, @@ -237,7 +237,7 @@ MessageCommon! { pub struct MockMessageAudio { pub caption: Option, pub caption_entities: Vec, - pub media_group_id: Option, + pub media_group_id: Option, // Audio pub duration: Seconds, pub performer: Option, @@ -246,8 +246,8 @@ MessageCommon! { pub file_name: Option, pub mime_type: Option, // FileMeta - pub file_id: String, - pub file_unique_id: String, + pub file_id: FileId, + pub file_unique_id: FileUniqueId, pub file_size: u32, } } @@ -280,8 +280,8 @@ impl MockMessageAudio { None, None, None, - Self::FILE_ID.to_string(), - Self::UNIQUE_FILE_ID.to_string(), + Self::FILE_ID.into(), + Self::UNIQUE_FILE_ID.into(), Self::FILE_SIZE, ) } @@ -300,11 +300,11 @@ impl MockMessageAudio { .build_message_common(MediaKind::Audio(MediaAudio { caption: self.caption, caption_entities: self.caption_entities, - media_group_id: self.media_group_id.map(Into::into), + media_group_id: self.media_group_id, audio: Audio { file: FileMeta { - id: self.file_id.into(), - unique_id: self.file_unique_id.into(), + id: self.file_id, + unique_id: self.file_unique_id, size: self.file_size, }, duration: self.duration, @@ -381,14 +381,14 @@ MessageCommon! { pub struct MockMessageDocument { pub caption: Option, pub caption_entities: Vec, - pub media_group_id: Option, + pub media_group_id: Option, // Document pub thumbnail: Option, pub file_name: Option, pub mime_type: Option, // FileMeta - pub file_id: String, - pub file_unique_id: String, + pub file_id: FileId, + pub file_unique_id: FileUniqueId, pub file_size: u32, } } @@ -403,12 +403,9 @@ impl MockMessageDocument { /// # Example /// ``` /// let message = teloxide_tests::MockMessageDocument::new() - /// .file_id("12345") + /// .file_id("12345".into()) /// .build(); - /// assert_eq!( - /// message.document().unwrap().file.id, - /// "12345".into() - /// ); // FILE_ID is a default value + /// assert_eq!(message.document().unwrap().file.id, "12345".into()); // FILE_ID is a default value /// ``` /// pub fn new() -> Self { @@ -419,8 +416,8 @@ impl MockMessageDocument { None, None, None, - Self::FILE_ID.to_string(), - Self::UNIQUE_FILE_ID.to_string(), + Self::FILE_ID.into(), + Self::UNIQUE_FILE_ID.into(), Self::FILE_SIZE, ) } @@ -431,10 +428,7 @@ impl MockMessageDocument { /// ``` /// let mock_message = teloxide_tests::MockMessageDocument::new(); /// let message = mock_message.build(); - /// assert_eq!( - /// message.document().unwrap().file.id, - /// teloxide_tests::MockMessageDocument::FILE_ID.into() - /// ); // FILE_ID is a default value + /// assert_eq!(message.document().unwrap().file.id, teloxide_tests::MockMessageDocument::FILE_ID.into()); // FILE_ID is a default value /// ``` /// pub fn build(self) -> Message { @@ -442,11 +436,11 @@ impl MockMessageDocument { .build_message_common(MediaKind::Document(MediaDocument { caption: self.caption, caption_entities: self.caption_entities, - media_group_id: self.media_group_id.map(Into::into), + media_group_id: self.media_group_id, document: Document { file: FileMeta { - id: self.file_id.into(), - unique_id: self.file_unique_id.into(), + id: self.file_id, + unique_id: self.file_unique_id, size: self.file_size, }, thumbnail: self.thumbnail, @@ -641,7 +635,7 @@ MessageCommon! { pub struct MockMessagePhoto { pub caption: Option, pub caption_entities: Vec, - pub media_group_id: Option, + pub media_group_id: Option, pub show_caption_above_media: bool, pub has_media_spoiler: bool, pub photo: Vec, @@ -689,7 +683,7 @@ impl MockMessagePhoto { .build_message_common(MediaKind::Photo(MediaPhoto { caption: self.caption, caption_entities: self.caption_entities, - media_group_id: self.media_group_id.map(Into::into), + media_group_id: self.media_group_id, show_caption_above_media: self.show_caption_above_media, has_media_spoiler: self.has_media_spoiler, photo: self.photo, @@ -700,7 +694,7 @@ impl MockMessagePhoto { MessageCommon! { #[derive(Changeable, Clone)] pub struct MockMessagePoll { - pub poll_id: String, + pub poll_id: PollId, pub question: String, pub question_entities: Option>, pub options: Vec, @@ -731,7 +725,7 @@ impl MockMessagePoll { /// # Example /// ``` /// let message = teloxide_tests::MockMessagePoll::new() - /// .poll_id("123456") + /// .poll_id("123456".into()) /// .build(); /// /// assert_eq!(message.poll().unwrap().id, "123456".into()); @@ -739,7 +733,7 @@ impl MockMessagePoll { /// pub fn new() -> Self { Self::new_message_common( - Self::POLL_ID.to_string(), + Self::POLL_ID.into(), Self::QUESTION.to_string(), None, vec![], @@ -762,17 +756,14 @@ impl MockMessagePoll { /// ``` /// let mock_message = teloxide_tests::MockMessagePoll::new(); /// let message = mock_message.build(); - /// assert_eq!( - /// message.poll().unwrap().id, - /// teloxide_tests::MockMessagePoll::POLL_ID.into() - /// ); // POLL_ID is a default value + /// assert_eq!(message.poll().unwrap().id, teloxide_tests::MockMessagePoll::POLL_ID.into()); // POLL_ID is a default value /// ``` /// pub fn build(self) -> Message { self.clone() .build_message_common(MediaKind::Poll(MediaPoll { poll: Poll { - id: self.poll_id.into(), + id: self.poll_id, question: self.question, question_entities: self.question_entities, options: self.options, @@ -803,8 +794,8 @@ MessageCommon! { pub set_name: Option, pub needs_repainting: bool, // File meta - pub file_id: String, - pub file_unique_id: String, + pub file_id: FileId, + pub file_unique_id: FileUniqueId, pub file_size: u32, } } @@ -823,7 +814,7 @@ impl MockMessageSticker { /// /// # Example /// ``` - /// let message = teloxide_tests::MockMessageSticker::new().file_id("12345").build(); + /// let message = teloxide_tests::MockMessageSticker::new().file_id("12345".into()).build(); /// /// assert_eq!(message.sticker().unwrap().file.id, "12345".into()); /// ``` @@ -841,8 +832,8 @@ impl MockMessageSticker { None, None, false, - Self::FILE_ID.to_string(), - Self::FILE_UNIQUE_ID.to_string(), + Self::FILE_ID.into(), + Self::FILE_UNIQUE_ID.into(), Self::FILE_SIZE, ) } @@ -853,10 +844,7 @@ impl MockMessageSticker { /// ``` /// let mock_message = teloxide_tests::MockMessageSticker::new(); /// let message = mock_message.build(); - /// assert_eq!( - /// message.sticker().unwrap().file.id, - /// teloxide_tests::MockMessageSticker::FILE_ID.into() - /// ); // FILE_ID is a default value + /// assert_eq!(message.sticker().unwrap().file.id, teloxide_tests::MockMessageSticker::FILE_ID.into()); // FILE_ID is a default value /// ``` /// pub fn build(self) -> Message { @@ -864,8 +852,8 @@ impl MockMessageSticker { .build_message_common(MediaKind::Sticker(MediaSticker { sticker: Sticker { file: FileMeta { - id: self.file_id.into(), - unique_id: self.file_unique_id.into(), + id: self.file_id, + unique_id: self.file_unique_id, size: self.file_size, }, width: self.width, @@ -886,7 +874,7 @@ MessageCommon! { pub struct MockMessageVideo { pub caption: Option, pub caption_entities: Vec, - pub media_group_id: Option, + pub media_group_id: Option, pub show_caption_above_media: bool, pub has_media_spoiler: bool, pub video: Video, @@ -902,9 +890,7 @@ impl MockMessageVideo { /// # Example /// ``` /// let message = - /// teloxide_tests::MockMessageVideo::new() - /// .video(teloxide_tests::MockVideo::new().file_id("12345").build()) - /// .build(); + /// teloxide_tests::MockMessageVideo::new().video(teloxide_tests::MockVideo::new().file_id("12345".into()).build()).build(); /// assert_eq!(message.video().unwrap().file.id, "12345".into()); /// ``` /// @@ -925,10 +911,7 @@ impl MockMessageVideo { /// ``` /// let mock_message = teloxide_tests::MockMessageVideo::new(); /// let message = mock_message.build(); - /// assert_eq!( - /// message.video().unwrap().file.id, - /// teloxide_tests::MockVideo::FILE_ID.into() - /// ); // FILE_ID is a default value + /// assert_eq!(message.video().unwrap().file.id, teloxide_tests::MockVideo::FILE_ID.into()); // FILE_ID is a default value /// ``` /// pub fn build(self) -> Message { @@ -936,7 +919,7 @@ impl MockMessageVideo { .build_message_common(MediaKind::Video(MediaVideo { caption: self.caption, caption_entities: self.caption_entities, - media_group_id: self.media_group_id.map(Into::into), + media_group_id: self.media_group_id, show_caption_above_media: self.show_caption_above_media, has_media_spoiler: self.has_media_spoiler, video: self.video, @@ -951,8 +934,8 @@ MessageCommon! { pub duration: Seconds, pub thumbnail: Option, // File meta - pub file_id: String, - pub file_unique_id: String, + pub file_id: FileId, + pub file_unique_id: FileUniqueId, pub file_size: u32, } } @@ -977,8 +960,8 @@ impl MockMessageVideoNote { Self::LENGTH, Self::DURATION, None, - Self::FILE_ID.to_string(), - Self::FILE_UNIQUE_ID.to_string(), + Self::FILE_ID.into(), + Self::FILE_UNIQUE_ID.into(), Self::FILE_SIZE, ) } @@ -989,10 +972,7 @@ impl MockMessageVideoNote { /// ``` /// let mock_message = teloxide_tests::MockMessageVideoNote::new(); /// let message = mock_message.build(); - /// assert_eq!( - /// message.video_note().unwrap().file.id, - /// teloxide_tests::MockMessageVideoNote::FILE_ID.into() - /// ); // FILE_ID is a default value + /// assert_eq!(message.video_note().unwrap().file.id, teloxide_tests::MockMessageVideoNote::FILE_ID.into()); // FILE_ID is a default value /// ``` /// pub fn build(self) -> Message { @@ -1000,8 +980,8 @@ impl MockMessageVideoNote { .build_message_common(MediaKind::VideoNote(MediaVideoNote { video_note: VideoNote { file: FileMeta { - id: self.file_id.into(), - unique_id: self.file_unique_id.into(), + id: self.file_id, + unique_id: self.file_unique_id, size: self.file_size, }, length: self.length, @@ -1020,8 +1000,8 @@ MessageCommon! { pub caption: Option, pub caption_entities: Vec, // File meta - pub file_id: String, - pub file_unique_id: String, + pub file_id: FileId, + pub file_unique_id: FileUniqueId, pub file_size: u32, } } @@ -1047,8 +1027,8 @@ impl MockMessageVoice { None, None, vec![], - Self::FILE_ID.to_string(), - Self::FILE_UNIQUE_ID.to_string(), + Self::FILE_ID.into(), + Self::FILE_UNIQUE_ID.into(), Self::FILE_SIZE, ) } @@ -1059,10 +1039,7 @@ impl MockMessageVoice { /// ``` /// let mock_message = teloxide_tests::MockMessageVoice::new(); /// let message = mock_message.build(); - /// assert_eq!( - /// message.voice().unwrap().file.id, - /// teloxide_tests::MockMessageVoice::FILE_ID.into() - /// ); // FILE_ID is a default value + /// assert_eq!(message.voice().unwrap().file.id, teloxide_tests::MockMessageVoice::FILE_ID.into()); // FILE_ID is a default value /// ``` /// pub fn build(self) -> Message { @@ -1070,8 +1047,8 @@ impl MockMessageVoice { .build_message_common(MediaKind::Voice(MediaVoice { voice: Voice { file: FileMeta { - id: self.file_id.into(), - unique_id: self.file_unique_id.into(), + id: self.file_id, + unique_id: self.file_unique_id, size: self.file_size, }, duration: self.duration, diff --git a/teloxide_tests/src/dataset/mod.rs b/teloxide_tests/src/dataset/mod.rs index 818529e..6346c8c 100644 --- a/teloxide_tests/src/dataset/mod.rs +++ b/teloxide_tests/src/dataset/mod.rs @@ -4,8 +4,8 @@ use std::sync::atomic::{AtomicI32, Ordering}; use mime::Mime; use proc_macros::Changeable; use teloxide::types::{ - ChatPhoto, FileMeta, LinkPreviewOptions, LivePeriod, Location, Me, PhotoSize, Seconds, Update, - UpdateId, User, UserId, Video, + ChatPhoto, FileId, FileMeta, FileUniqueId, LinkPreviewOptions, LivePeriod, Location, Me, + PhotoSize, Seconds, Update, UpdateId, User, UserId, Video, }; pub mod chat; pub mod chat_full_info; @@ -211,10 +211,10 @@ impl MockMe { #[derive(Changeable, Clone)] pub struct MockChatPhoto { - pub small_file_id: String, - pub small_file_unique_id: String, - pub big_file_id: String, - pub big_file_unique_id: String, + pub small_file_id: FileId, + pub small_file_unique_id: FileUniqueId, + pub big_file_id: FileId, + pub big_file_unique_id: FileUniqueId, } impl MockChatPhoto { @@ -228,17 +228,17 @@ impl MockChatPhoto { /// # Examples /// ``` /// let chat_photo = teloxide_tests::MockChatPhoto::new() - /// .small_file_id("small_file_id") + /// .small_file_id("small_file_id".into()) /// .build(); /// assert_eq!(chat_photo.small_file_id, "small_file_id".into()); /// ``` /// pub fn new() -> Self { Self { - small_file_id: Self::SMALL_FILE_ID.to_string(), - small_file_unique_id: Self::SMALL_FILE_UNIQUE_ID.to_string(), - big_file_id: Self::BIG_FILE_ID.to_string(), - big_file_unique_id: Self::BIG_FILE_UNIQUE_ID.to_string(), + small_file_id: Self::SMALL_FILE_ID.into(), + small_file_unique_id: Self::SMALL_FILE_UNIQUE_ID.into(), + big_file_id: Self::BIG_FILE_ID.into(), + big_file_unique_id: Self::BIG_FILE_UNIQUE_ID.into(), } } @@ -256,10 +256,10 @@ impl MockChatPhoto { /// pub fn build(self) -> ChatPhoto { ChatPhoto { - small_file_id: self.small_file_id.into(), - small_file_unique_id: self.small_file_unique_id.into(), - big_file_id: self.big_file_id.into(), - big_file_unique_id: self.big_file_unique_id.into(), + small_file_id: self.small_file_id, + small_file_unique_id: self.small_file_unique_id, + big_file_id: self.big_file_id, + big_file_unique_id: self.big_file_unique_id, } } } @@ -325,8 +325,8 @@ pub struct MockPhotoSize { pub width: u32, pub height: u32, // FileMeta - pub file_id: String, - pub file_unique_id: String, + pub file_id: FileId, + pub file_unique_id: FileUniqueId, pub file_size: u32, } @@ -351,8 +351,8 @@ impl MockPhotoSize { Self { width: Self::WIDTH, height: Self::HEIGHT, - file_id: Self::FILE_ID.to_string(), - file_unique_id: Self::UNIQUE_FILE_ID.to_string(), + file_id: Self::FILE_ID.into(), + file_unique_id: Self::UNIQUE_FILE_ID.into(), file_size: Self::FILE_SIZE, } } @@ -369,8 +369,8 @@ impl MockPhotoSize { pub fn build(self) -> PhotoSize { PhotoSize { file: FileMeta { - id: self.file_id.into(), - unique_id: self.file_unique_id.into(), + id: self.file_id, + unique_id: self.file_unique_id, size: self.file_size, }, width: self.width, @@ -388,8 +388,8 @@ pub struct MockVideo { pub file_name: Option, pub mime_type: Option, // FileMeta - pub file_id: String, - pub file_unique_id: String, + pub file_id: FileId, + pub file_unique_id: FileUniqueId, pub file_size: u32, } @@ -419,8 +419,8 @@ impl MockVideo { thumbnail: None, file_name: None, mime_type: None, - file_id: Self::FILE_ID.to_string(), - file_unique_id: Self::UNIQUE_FILE_ID.to_string(), + file_id: Self::FILE_ID.into(), + file_unique_id: Self::UNIQUE_FILE_ID.into(), file_size: Self::FILE_SIZE, } } @@ -443,8 +443,8 @@ impl MockVideo { file_name: self.file_name, mime_type: self.mime_type, file: FileMeta { - id: self.file_id.into(), - unique_id: self.file_unique_id.into(), + id: self.file_id, + unique_id: self.file_unique_id, size: self.file_size, }, } diff --git a/teloxide_tests/src/dataset/queries.rs b/teloxide_tests/src/dataset/queries.rs index 6989049..64a801d 100644 --- a/teloxide_tests/src/dataset/queries.rs +++ b/teloxide_tests/src/dataset/queries.rs @@ -7,7 +7,7 @@ use crate::proc_macros::Changeable; #[derive(Changeable, Clone)] pub struct MockCallbackQuery { - pub id: String, + pub id: CallbackQueryId, pub from: User, pub message: Option, pub inline_message_id: Option, @@ -26,14 +26,14 @@ impl MockCallbackQuery { /// # Examples /// ``` /// let callback_query = teloxide_tests::MockCallbackQuery::new() - /// .id("id") + /// .id("id".into()) /// .build(); /// assert_eq!(callback_query.id, "id".into()); /// ``` /// pub fn new() -> Self { Self { - id: Self::ID.to_string(), + id: Self::ID.into(), from: MockUser::new().build(), message: Some( MockMessageText::new() @@ -84,7 +84,7 @@ impl MockCallbackQuery { /// pub fn build(self) -> CallbackQuery { CallbackQuery { - id: self.id.into(), + id: self.id, from: self.from, message: self.message.map(|message| { if !self.make_message_inaccessible { diff --git a/teloxide_tests/src/dataset/tests.rs b/teloxide_tests/src/dataset/tests.rs index b8048bd..54677e1 100644 --- a/teloxide_tests/src/dataset/tests.rs +++ b/teloxide_tests/src/dataset/tests.rs @@ -1,9 +1,6 @@ use teloxide::{ dispatching::dialogue::GetChatId, - types::{ - CallbackQueryId, ChatId, FileId, MediaGroupId, MessageEntity, MessageId, PollId, UpdateId, - UpdateKind, UserId, - }, + types::{ChatId, MessageEntity, MessageId, UpdateId, UpdateKind, UserId}, }; use update::MockUpdatePoll; @@ -210,10 +207,7 @@ fn test_message_common_audio() { message_object.caption_entities(), Some(vec![MessageEntity::bold(0, 3)]).as_deref() ); - assert_eq!( - message_object.media_group_id(), - Some(&MediaGroupId("123".to_string())) - ); + assert_eq!(message_object.media_group_id(), Some(&"123".into())); } #[test] @@ -334,7 +328,7 @@ fn test_message_common_sticker() { let message_object = message.build(); assert_eq!( message_object.sticker().unwrap().file.id, - FileId(MockMessageSticker::FILE_ID.to_string()) + MockMessageSticker::FILE_ID.into() ); } @@ -403,10 +397,7 @@ fn test_message_common_migration_from_chat() { fn test_callback_query() { let query = MockCallbackQuery::new(); let query_object = query.build(); - assert_eq!( - query_object.id, - CallbackQueryId(MockCallbackQuery::ID.into()) - ); + assert_eq!(query_object.id, MockCallbackQuery::ID.into()); assert_eq!(query_object.from.first_name, MockUser::FIRST_NAME); } @@ -416,14 +407,14 @@ fn test_callback_query() { #[test] fn test_update_poll() { - let update = MockUpdatePoll::new().poll_id("123"); + let update = MockUpdatePoll::new().poll_id("123".into()); let update_object = update.into_update(&AtomicI32::new(1))[0].clone(); if let UpdateKind::Poll(poll) = update_object.kind { assert_eq!(poll.question, MockMessagePoll::QUESTION); assert_eq!(poll.poll_type, MockMessagePoll::POLL_TYPE); - assert_eq!(poll.id, PollId("123".to_owned())); + assert_eq!(poll.id, "123".into()); } else { unreachable!() } diff --git a/teloxide_tests/src/dataset/update.rs b/teloxide_tests/src/dataset/update.rs index 4b85774..d86c19d 100644 --- a/teloxide_tests/src/dataset/update.rs +++ b/teloxide_tests/src/dataset/update.rs @@ -2,7 +2,7 @@ use std::sync::atomic::Ordering; use chrono::{DateTime, Utc}; use teloxide::types::{ - MessageEntity, Poll, PollOption, PollType, Seconds, Update, UpdateId, UpdateKind, + MessageEntity, Poll, PollId, PollOption, PollType, Seconds, Update, UpdateId, UpdateKind, }; use teloxide_tests_macros::Changeable; @@ -10,7 +10,7 @@ use super::{IntoUpdate, MockMessagePoll}; #[derive(Changeable, Clone)] pub struct MockUpdatePoll { - pub poll_id: String, + pub poll_id: PollId, pub question: String, pub question_entities: Option>, pub options: Vec, @@ -32,9 +32,9 @@ impl MockUpdatePoll { /// # Example /// ``` /// let update = teloxide_tests::MockUpdatePoll::new() - /// .poll_id("123456"); + /// .poll_id("123456".into()); /// - /// assert_eq!(update.poll_id, "123456"); + /// assert_eq!(update.poll_id, "123456".into()); /// ``` pub fn new() -> Self { let poll = MockMessagePoll::new(); @@ -62,7 +62,7 @@ impl IntoUpdate for MockUpdatePoll { vec![Update { id: UpdateId(id.fetch_add(1, Ordering::Relaxed) as u32), kind: UpdateKind::Poll(Poll { - id: self.poll_id.into(), + id: self.poll_id, question: self.question, question_entities: self.question_entities, options: self.options, diff --git a/teloxide_tests/src/server/routes/get_file.rs b/teloxide_tests/src/server/routes/get_file.rs index 146815a..572f49a 100644 --- a/teloxide_tests/src/server/routes/get_file.rs +++ b/teloxide_tests/src/server/routes/get_file.rs @@ -2,13 +2,14 @@ use std::sync::Mutex; use actix_web::{error::ErrorBadRequest, web, Responder}; use serde::Deserialize; +use teloxide::types::FileId; use super::make_telegram_result; use crate::state::State; #[derive(Deserialize)] pub struct GetFileQuery { - file_id: String, + file_id: FileId, } pub async fn get_file( @@ -16,7 +17,7 @@ pub async fn get_file( state: web::Data>, ) -> impl Responder { let lock = state.lock().unwrap(); - let Some(file) = lock.files.iter().find(|f| f.id.0 == query.file_id) else { + let Some(file) = lock.files.iter().find(|f| f.id == query.file_id) else { return ErrorBadRequest("File not found").into(); }; make_telegram_result(file) diff --git a/teloxide_tests/src/server/routes/send_animation.rs b/teloxide_tests/src/server/routes/send_animation.rs index 516ca41..9bc9931 100644 --- a/teloxide_tests/src/server/routes/send_animation.rs +++ b/teloxide_tests/src/server/routes/send_animation.rs @@ -6,7 +6,8 @@ use mime::Mime; use rand::distr::{Alphanumeric, SampleString}; use serde::Deserialize; use teloxide::types::{ - BusinessConnectionId, Me, MessageEntity, ParseMode, ReplyMarkup, ReplyParameters, Seconds, + BusinessConnectionId, EffectId, FileId, FileUniqueId, Me, MessageEntity, ParseMode, + ReplyMarkup, ReplyParameters, Seconds, }; use super::{get_raw_multipart_fields, make_telegram_result, BodyChatId}; @@ -55,12 +56,12 @@ pub async fn send_animation( message.reply_markup = Some(markup); } - let file_id = Alphanumeric.sample_string(&mut rand::rng(), 16); - let file_unique_id = Alphanumeric.sample_string(&mut rand::rng(), 8); + let file_id = FileId(Alphanumeric.sample_string(&mut rand::rng(), 16)); + let file_unique_id = FileUniqueId(Alphanumeric.sample_string(&mut rand::rng(), 8)); message.file_name = Some(body.file_name.clone()); - message.file_id = file_id.clone(); - message.file_unique_id = file_unique_id.clone(); + message.file_id = file_id; + message.file_unique_id = file_unique_id; message.file_size = body.file_data.bytes().len() as u32; message.duration = body.duration.unwrap_or(Seconds::from_seconds(0)); message.width = body.width.unwrap_or(100); @@ -105,7 +106,7 @@ pub struct SendMessageAnimationBody { pub has_spoiler: Option, pub disable_notification: Option, pub protect_content: Option, - pub message_effect_id: Option, + pub message_effect_id: Option, pub reply_markup: Option, pub reply_parameters: Option, pub business_connection_id: Option, diff --git a/teloxide_tests/src/server/routes/send_audio.rs b/teloxide_tests/src/server/routes/send_audio.rs index a6a09ce..fee437f 100644 --- a/teloxide_tests/src/server/routes/send_audio.rs +++ b/teloxide_tests/src/server/routes/send_audio.rs @@ -6,7 +6,8 @@ use mime::Mime; use rand::distr::{Alphanumeric, SampleString}; use serde::Deserialize; use teloxide::types::{ - BusinessConnectionId, Me, MessageEntity, ParseMode, ReplyMarkup, ReplyParameters, Seconds, + BusinessConnectionId, EffectId, FileId, FileUniqueId, Me, MessageEntity, ParseMode, + ReplyMarkup, ReplyParameters, Seconds, }; use super::{get_raw_multipart_fields, make_telegram_result, BodyChatId}; @@ -51,11 +52,11 @@ pub async fn send_audio( message.reply_markup = Some(markup); } - let file_id = Alphanumeric.sample_string(&mut rand::rng(), 16); - let file_unique_id = Alphanumeric.sample_string(&mut rand::rng(), 8); + let file_id = FileId(Alphanumeric.sample_string(&mut rand::rng(), 16)); + let file_unique_id = FileUniqueId(Alphanumeric.sample_string(&mut rand::rng(), 8)); - message.file_id = file_id.clone(); - message.file_unique_id = file_unique_id.clone(); + message.file_id = file_id; + message.file_unique_id = file_unique_id; message.performer = body.performer.clone(); message.title = body.title.clone(); message.duration = body.duration.unwrap_or(Seconds::from_seconds(0)); @@ -93,7 +94,7 @@ pub struct SendMessageAudioBody { pub title: Option, pub disable_notification: Option, pub protect_content: Option, - pub message_effect_id: Option, + pub message_effect_id: Option, pub reply_parameters: Option, pub reply_markup: Option, pub business_connection_id: Option, diff --git a/teloxide_tests/src/server/routes/send_contact.rs b/teloxide_tests/src/server/routes/send_contact.rs index 6bc0440..3a1f047 100644 --- a/teloxide_tests/src/server/routes/send_contact.rs +++ b/teloxide_tests/src/server/routes/send_contact.rs @@ -2,7 +2,7 @@ use std::sync::Mutex; use actix_web::{error::ErrorBadRequest, web, Responder}; use serde::Deserialize; -use teloxide::types::{BusinessConnectionId, Me, ReplyMarkup, ReplyParameters}; +use teloxide::types::{BusinessConnectionId, EffectId, Me, ReplyMarkup, ReplyParameters}; use super::{make_telegram_result, BodyChatId}; use crate::{ @@ -21,7 +21,7 @@ pub struct SendMessageContactBody { pub vcard: Option, pub disable_notification: Option, pub protect_content: Option, - pub message_effect_id: Option, + pub message_effect_id: Option, pub reply_markup: Option, pub reply_parameters: Option, pub business_connection_id: Option, diff --git a/teloxide_tests/src/server/routes/send_document.rs b/teloxide_tests/src/server/routes/send_document.rs index 6d848ee..3e3ed47 100644 --- a/teloxide_tests/src/server/routes/send_document.rs +++ b/teloxide_tests/src/server/routes/send_document.rs @@ -6,7 +6,8 @@ use mime::Mime; use rand::distr::{Alphanumeric, SampleString}; use serde::Deserialize; use teloxide::types::{ - BusinessConnectionId, Me, MessageEntity, ParseMode, ReplyMarkup, ReplyParameters, + BusinessConnectionId, EffectId, FileId, FileUniqueId, Me, MessageEntity, ParseMode, + ReplyMarkup, ReplyParameters, }; use super::{get_raw_multipart_fields, make_telegram_result, BodyChatId}; @@ -52,12 +53,12 @@ pub async fn send_document( message.reply_markup = Some(markup); } - let file_id = Alphanumeric.sample_string(&mut rand::rng(), 16); - let file_unique_id = Alphanumeric.sample_string(&mut rand::rng(), 8); + let file_id = FileId(Alphanumeric.sample_string(&mut rand::rng(), 16)); + let file_unique_id = FileUniqueId(Alphanumeric.sample_string(&mut rand::rng(), 8)); message.file_name = Some(body.file_name.clone()); - message.file_id = file_id.clone(); - message.file_unique_id = file_unique_id.clone(); + message.file_id = file_id; + message.file_unique_id = file_unique_id; message.file_size = body.file_data.bytes().len() as u32; message.mime_type = Some( mime_guess::from_path(body.file_name.clone()) @@ -96,7 +97,7 @@ pub struct SendMessageDocumentBody { pub disable_content_type_detection: Option, pub disable_notification: Option, pub protect_content: Option, - pub message_effect_id: Option, + pub message_effect_id: Option, pub reply_markup: Option, pub reply_parameters: Option, pub business_connection_id: Option, diff --git a/teloxide_tests/src/server/routes/send_location.rs b/teloxide_tests/src/server/routes/send_location.rs index 381d802..7cdb4f2 100644 --- a/teloxide_tests/src/server/routes/send_location.rs +++ b/teloxide_tests/src/server/routes/send_location.rs @@ -2,7 +2,9 @@ use std::sync::Mutex; use actix_web::{error::ErrorBadRequest, web, Responder}; use serde::Deserialize; -use teloxide::types::{BusinessConnectionId, LivePeriod, Me, ReplyMarkup, ReplyParameters}; +use teloxide::types::{ + BusinessConnectionId, EffectId, LivePeriod, Me, ReplyMarkup, ReplyParameters, +}; use super::{make_telegram_result, BodyChatId}; use crate::{ @@ -23,7 +25,7 @@ pub struct SendMessageLocationBody { pub message_thread_id: Option, pub disable_notification: Option, pub protect_content: Option, - pub message_effect_id: Option, + pub message_effect_id: Option, pub reply_markup: Option, pub reply_parameters: Option, pub business_connection_id: Option, diff --git a/teloxide_tests/src/server/routes/send_media_group.rs b/teloxide_tests/src/server/routes/send_media_group.rs index 23b2d26..1b3586b 100644 --- a/teloxide_tests/src/server/routes/send_media_group.rs +++ b/teloxide_tests/src/server/routes/send_media_group.rs @@ -6,8 +6,8 @@ use rand::distr::{Alphanumeric, SampleString}; use serde::Deserialize; use serde_json::Value; use teloxide::types::{ - BusinessConnectionId, Me, Message, MessageEntity, MessageId, ParseMode, ReplyParameters, - Seconds, + BusinessConnectionId, EffectId, FileId, FileUniqueId, Me, MediaGroupId, Message, MessageEntity, + MessageId, ParseMode, ReplyParameters, Seconds, }; use super::{ @@ -49,13 +49,13 @@ pub async fn send_media_group( .unwrap(), )); } - let media_group_id = Alphanumeric.sample_string(&mut rand::rng(), 16); + let media_group_id = MediaGroupId(Alphanumeric.sample_string(&mut rand::rng(), 16)); let mut messages: Vec = vec![]; for media in &body.media { - let file_id = Alphanumeric.sample_string(&mut rand::rng(), 16); - let file_unique_id = Alphanumeric.sample_string(&mut rand::rng(), 8); + let file_id = FileId(Alphanumeric.sample_string(&mut rand::rng(), 16)); + let file_unique_id = FileUniqueId(Alphanumeric.sample_string(&mut rand::rng(), 8)); let last_id = lock.messages.max_message_id(); let message: Message; match media { @@ -76,8 +76,8 @@ pub async fn send_media_group( mock_message.business_connection_id = business_connection_id.clone(); mock_message.file_name = Some(audio.file_name.clone()); - mock_message.file_id = file_id.clone(); - mock_message.file_unique_id = file_unique_id.clone(); + mock_message.file_id = file_id; + mock_message.file_unique_id = file_unique_id; mock_message.file_size = audio.file_data.bytes().len() as u32; mock_message.mime_type = mime_guess::from_path(&audio.file_name).first(); @@ -104,8 +104,8 @@ pub async fn send_media_group( mock_message.business_connection_id = business_connection_id.clone(); mock_message.file_name = Some(document.file_name.clone()); - mock_message.file_id = file_id.clone(); - mock_message.file_unique_id = file_unique_id.clone(); + mock_message.file_id = file_id; + mock_message.file_unique_id = file_unique_id; mock_message.file_size = document.file_data.bytes().len() as u32; mock_message.mime_type = mime_guess::from_path(&document.file_name).first(); @@ -132,8 +132,8 @@ pub async fn send_media_group( let mut mock_photo = MockPhotoSize::new(); - mock_photo.file_id = file_id.clone(); - mock_photo.file_unique_id = file_unique_id.clone(); + mock_photo.file_id = file_id; + mock_photo.file_unique_id = file_unique_id; mock_photo.file_size = photo.file_data.bytes().len() as u32; mock_message.photo = vec![mock_photo.build()]; @@ -165,8 +165,8 @@ pub async fn send_media_group( mock_video.width = video.width.unwrap_or(100); mock_video.height = video.height.unwrap_or(100); mock_video.duration = video.duration.unwrap_or(Seconds::from_seconds(1)); - mock_video.file_id = file_id.clone(); - mock_video.file_unique_id = file_unique_id.clone(); + mock_video.file_id = file_id; + mock_video.file_unique_id = file_unique_id; mock_video.file_size = video.file_data.bytes().len() as u32; mock_video.file_name = Some(video.file_name.clone()); @@ -201,7 +201,7 @@ pub struct SendMediaGroupBody { pub media: Vec, pub disable_notification: Option, pub protect_content: Option, - pub message_effect_id: Option, + pub message_effect_id: Option, pub reply_parameters: Option, pub business_connection_id: Option, } @@ -337,7 +337,9 @@ impl SendMediaGroupBody { .get("disable_notification") .map(|s| s.parse().unwrap()), protect_content: fields.get("protect_content").map(|s| s.parse().unwrap()), - message_effect_id: fields.get("message_effect_id").map(|s| s.to_string()), + message_effect_id: fields + .get("message_effect_id") + .map(|s| s.to_string().into()), reply_parameters: fields .get("reply_parameters") .map(|s| serde_json::from_str(s).unwrap()), diff --git a/teloxide_tests/src/server/routes/send_message.rs b/teloxide_tests/src/server/routes/send_message.rs index 9cada8a..474b64c 100644 --- a/teloxide_tests/src/server/routes/send_message.rs +++ b/teloxide_tests/src/server/routes/send_message.rs @@ -3,7 +3,7 @@ use std::sync::Mutex; use actix_web::{error::ErrorBadRequest, web, Responder}; use serde::Deserialize; use teloxide::types::{ - BusinessConnectionId, LinkPreviewOptions, Me, MessageEntity, ParseMode, ReplyMarkup, + BusinessConnectionId, EffectId, LinkPreviewOptions, Me, MessageEntity, ParseMode, ReplyMarkup, ReplyParameters, }; @@ -24,7 +24,7 @@ pub struct SendMessageTextBody { pub link_preview_options: Option, pub disable_notification: Option, pub protect_content: Option, - pub message_effect_id: Option, + pub message_effect_id: Option, pub reply_markup: Option, pub reply_parameters: Option, pub business_connection_id: Option, diff --git a/teloxide_tests/src/server/routes/send_photo.rs b/teloxide_tests/src/server/routes/send_photo.rs index 059b472..ba04ae2 100644 --- a/teloxide_tests/src/server/routes/send_photo.rs +++ b/teloxide_tests/src/server/routes/send_photo.rs @@ -5,8 +5,8 @@ use actix_web::{error::ErrorBadRequest, web, Responder}; use rand::distr::{Alphanumeric, SampleString}; use serde::Deserialize; use teloxide::types::{ - BusinessConnectionId, LinkPreviewOptions, Me, MessageEntity, ParseMode, ReplyMarkup, - ReplyParameters, + BusinessConnectionId, EffectId, FileId, FileUniqueId, LinkPreviewOptions, Me, MessageEntity, + ParseMode, ReplyMarkup, ReplyParameters, }; use super::{get_raw_multipart_fields, make_telegram_result, BodyChatId}; @@ -53,12 +53,12 @@ pub async fn send_photo( message.reply_markup = Some(markup); } - let file_id = Alphanumeric.sample_string(&mut rand::rng(), 16); - let file_unique_id = Alphanumeric.sample_string(&mut rand::rng(), 8); + let file_id = FileId(Alphanumeric.sample_string(&mut rand::rng(), 16)); + let file_unique_id = FileUniqueId(Alphanumeric.sample_string(&mut rand::rng(), 8)); message.photo = vec![MockPhotoSize::new() - .file_id(file_id.clone()) - .file_unique_id(file_unique_id.clone()) + .file_id(file_id) + .file_unique_id(file_unique_id) .file_size(body.file_data.bytes().len() as u32) .build()]; @@ -91,7 +91,7 @@ pub struct SendMessagePhotoBody { pub disable_notification: Option, pub protect_content: Option, pub show_caption_above_media: Option, - pub message_effect_id: Option, + pub message_effect_id: Option, pub reply_markup: Option, pub reply_parameters: Option, pub business_connection_id: Option, diff --git a/teloxide_tests/src/server/routes/send_poll.rs b/teloxide_tests/src/server/routes/send_poll.rs index c7fb734..870ffe9 100644 --- a/teloxide_tests/src/server/routes/send_poll.rs +++ b/teloxide_tests/src/server/routes/send_poll.rs @@ -4,8 +4,8 @@ use actix_web::{error::ErrorBadRequest, web, Responder}; use chrono::DateTime; use serde::Deserialize; use teloxide::types::{ - BusinessConnectionId, InputPollOption, Me, MessageEntity, ParseMode, PollOption, PollType, - ReplyMarkup, ReplyParameters, Seconds, + BusinessConnectionId, EffectId, InputPollOption, Me, MessageEntity, ParseMode, PollOption, + PollType, ReplyMarkup, ReplyParameters, Seconds, }; use super::{make_telegram_result, BodyChatId}; @@ -35,7 +35,7 @@ pub struct SendMessagePollBody { pub is_closed: Option, pub disable_notification: Option, pub protect_content: Option, - pub message_effect_id: Option, + pub message_effect_id: Option, pub reply_markup: Option, pub reply_parameters: Option, pub business_connection_id: Option, diff --git a/teloxide_tests/src/server/routes/send_sticker.rs b/teloxide_tests/src/server/routes/send_sticker.rs index 4a04983..cf1c3f1 100644 --- a/teloxide_tests/src/server/routes/send_sticker.rs +++ b/teloxide_tests/src/server/routes/send_sticker.rs @@ -3,7 +3,7 @@ use std::{collections::HashMap, sync::Mutex}; use actix_multipart::Multipart; use actix_web::{error::ErrorBadRequest, web, Responder}; use serde::Deserialize; -use teloxide::types::{BusinessConnectionId, Me, ReplyMarkup, ReplyParameters}; +use teloxide::types::{BusinessConnectionId, EffectId, Me, ReplyMarkup, ReplyParameters}; use super::{get_raw_multipart_fields, make_telegram_result, BodyChatId}; use crate::{ @@ -77,7 +77,7 @@ pub struct SendMessageStickerBody { pub emoji: Option, pub disable_notification: Option, pub protect_content: Option, - pub message_effect_id: Option, + pub message_effect_id: Option, pub reply_markup: Option, pub reply_parameters: Option, pub business_connection_id: Option, diff --git a/teloxide_tests/src/server/routes/send_venue.rs b/teloxide_tests/src/server/routes/send_venue.rs index af6b809..b0d9c62 100644 --- a/teloxide_tests/src/server/routes/send_venue.rs +++ b/teloxide_tests/src/server/routes/send_venue.rs @@ -2,7 +2,7 @@ use std::sync::Mutex; use actix_web::{error::ErrorBadRequest, web, Responder}; use serde::Deserialize; -use teloxide::types::{BusinessConnectionId, Me, ReplyMarkup, ReplyParameters}; +use teloxide::types::{BusinessConnectionId, EffectId, Me, ReplyMarkup, ReplyParameters}; use super::{make_telegram_result, BodyChatId}; use crate::{ @@ -25,7 +25,7 @@ pub struct SendMessageVenueBody { pub google_place_type: Option, pub disable_notification: Option, pub protect_content: Option, - pub message_effect_id: Option, + pub message_effect_id: Option, pub reply_markup: Option, pub reply_parameters: Option, pub business_connection_id: Option, diff --git a/teloxide_tests/src/server/routes/send_video.rs b/teloxide_tests/src/server/routes/send_video.rs index efe8c10..7629bd9 100644 --- a/teloxide_tests/src/server/routes/send_video.rs +++ b/teloxide_tests/src/server/routes/send_video.rs @@ -6,7 +6,8 @@ use mime::Mime; use rand::distr::{Alphanumeric, SampleString}; use serde::Deserialize; use teloxide::types::{ - BusinessConnectionId, Me, MessageEntity, ParseMode, ReplyMarkup, ReplyParameters, Seconds, + BusinessConnectionId, EffectId, FileId, FileUniqueId, Me, MessageEntity, ParseMode, + ReplyMarkup, ReplyParameters, Seconds, }; use super::{get_raw_multipart_fields, make_telegram_result, BodyChatId}; @@ -53,12 +54,12 @@ pub async fn send_video( message.reply_markup = Some(markup); } - let file_id = Alphanumeric.sample_string(&mut rand::rng(), 16); - let file_unique_id = Alphanumeric.sample_string(&mut rand::rng(), 8); + let file_id = FileId(Alphanumeric.sample_string(&mut rand::rng(), 16)); + let file_unique_id = FileUniqueId(Alphanumeric.sample_string(&mut rand::rng(), 8)); message.video = MockVideo::new() - .file_id(file_id.clone()) - .file_unique_id(file_unique_id.clone()) + .file_id(file_id) + .file_unique_id(file_unique_id) .file_size(body.file_data.bytes().len() as u32) .file_name(body.file_name.clone()) .width(body.width.unwrap_or(100)) @@ -100,7 +101,7 @@ pub struct SendMessageVideoBody { pub supports_streaming: Option, pub disable_notification: Option, pub protect_content: Option, - pub message_effect_id: Option, + pub message_effect_id: Option, pub reply_markup: Option, pub reply_parameters: Option, pub business_connection_id: Option, diff --git a/teloxide_tests/src/server/routes/send_video_note.rs b/teloxide_tests/src/server/routes/send_video_note.rs index 3104812..6327199 100644 --- a/teloxide_tests/src/server/routes/send_video_note.rs +++ b/teloxide_tests/src/server/routes/send_video_note.rs @@ -4,7 +4,9 @@ use actix_multipart::Multipart; use actix_web::{error::ErrorBadRequest, web, Responder}; use rand::distr::{Alphanumeric, SampleString}; use serde::Deserialize; -use teloxide::types::{BusinessConnectionId, Me, ReplyMarkup, ReplyParameters, Seconds}; +use teloxide::types::{ + BusinessConnectionId, EffectId, FileId, FileUniqueId, Me, ReplyMarkup, ReplyParameters, Seconds, +}; use super::{get_raw_multipart_fields, make_telegram_result, BodyChatId}; use crate::{ @@ -45,11 +47,11 @@ pub async fn send_video_note( message.reply_markup = Some(markup); } - let file_id = Alphanumeric.sample_string(&mut rand::rng(), 16); - let file_unique_id = Alphanumeric.sample_string(&mut rand::rng(), 8); + let file_id = FileId(Alphanumeric.sample_string(&mut rand::rng(), 16)); + let file_unique_id = FileUniqueId(Alphanumeric.sample_string(&mut rand::rng(), 8)); - message.file_id = file_id.clone(); - message.file_unique_id = file_unique_id.clone(); + message.file_id = file_id; + message.file_unique_id = file_unique_id; message.duration = body.duration.unwrap_or(Seconds::from_seconds(0)); message.length = body.length.unwrap_or(100); message.file_size = body.file_data.bytes().len() as u32; @@ -84,7 +86,7 @@ pub struct SendMessageVideoNoteBody { pub length: Option, pub disable_notification: Option, pub protect_content: Option, - pub message_effect_id: Option, + pub message_effect_id: Option, pub reply_parameters: Option, pub reply_markup: Option, pub business_connection_id: Option, diff --git a/teloxide_tests/src/server/routes/send_voice.rs b/teloxide_tests/src/server/routes/send_voice.rs index 15a764e..a4b1af7 100644 --- a/teloxide_tests/src/server/routes/send_voice.rs +++ b/teloxide_tests/src/server/routes/send_voice.rs @@ -6,7 +6,8 @@ use mime::Mime; use rand::distr::{Alphanumeric, SampleString}; use serde::Deserialize; use teloxide::types::{ - BusinessConnectionId, Me, MessageEntity, ParseMode, ReplyMarkup, ReplyParameters, Seconds, + BusinessConnectionId, EffectId, FileId, FileUniqueId, Me, MessageEntity, ParseMode, + ReplyMarkup, ReplyParameters, Seconds, }; use super::{get_raw_multipart_fields, make_telegram_result, BodyChatId}; @@ -50,11 +51,11 @@ pub async fn send_voice( message.reply_markup = Some(markup); } - let file_id = Alphanumeric.sample_string(&mut rand::rng(), 16); - let file_unique_id = Alphanumeric.sample_string(&mut rand::rng(), 8); + let file_id = FileId(Alphanumeric.sample_string(&mut rand::rng(), 16)); + let file_unique_id = FileUniqueId(Alphanumeric.sample_string(&mut rand::rng(), 8)); - message.file_id = file_id.clone(); - message.file_unique_id = file_unique_id.clone(); + message.file_id = file_id; + message.file_unique_id = file_unique_id; message.duration = body.duration.unwrap_or(Seconds::from_seconds(0)); message.file_size = body.file_data.bytes().len() as u32; message.mime_type = Some(Mime::from_str("audio/mp3").unwrap()); @@ -88,7 +89,7 @@ pub struct SendMessageVoiceBody { pub caption_entities: Option>, pub disable_notification: Option, pub protect_content: Option, - pub message_effect_id: Option, + pub message_effect_id: Option, pub reply_parameters: Option, pub reply_markup: Option, pub business_connection_id: Option, diff --git a/teloxide_tests/src/utils.rs b/teloxide_tests/src/utils.rs index db93da5..de8ae41 100644 --- a/teloxide_tests/src/utils.rs +++ b/teloxide_tests/src/utils.rs @@ -38,9 +38,9 @@ pub fn find_file(value: Value) -> Option { if let Value::Object(map) = value { for (k, v) in map { if k == "file_id" { - file_id = Some(v.as_str().unwrap().to_string()); + file_id = Some(v.as_str().unwrap().to_string().into()); } else if k == "file_unique_id" { - file_unique_id = Some(v.as_str().unwrap().to_string()); + file_unique_id = Some(v.as_str().unwrap().to_string().into()); } else if k == "file_size" { file_size = Some(v.as_u64().unwrap() as u32); } else if let Some(found) = find_file(v) { @@ -50,8 +50,8 @@ pub fn find_file(value: Value) -> Option { } if let (Some(id), Some(unique_id)) = (file_id, file_unique_id) { return Some(FileMeta { - id: id.into(), - unique_id: unique_id.into(), + id, + unique_id, size: file_size.unwrap_or(0), }); } From f3dac9b02c19d5962eeaa2fa6a936cceae78b505 Mon Sep 17 00:00:00 2001 From: Nikolai Oplachko Date: Wed, 2 Jul 2025 17:28:55 +0200 Subject: [PATCH 5/7] bump crate version to 0.4.0 --- Cargo.lock | 2 +- examples/Cargo.lock | 2 +- teloxide_tests/Cargo.toml | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 1ce8138..650e53b 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -3038,7 +3038,7 @@ dependencies = [ [[package]] name = "teloxide_tests" -version = "0.3.0" +version = "0.4.0" dependencies = [ "actix-multipart", "actix-web", diff --git a/examples/Cargo.lock b/examples/Cargo.lock index cb7d51c..da7e421 100644 --- a/examples/Cargo.lock +++ b/examples/Cargo.lock @@ -3200,7 +3200,7 @@ dependencies = [ [[package]] name = "teloxide_tests" -version = "0.3.0" +version = "0.4.0" dependencies = [ "actix-multipart", "actix-web", diff --git a/teloxide_tests/Cargo.toml b/teloxide_tests/Cargo.toml index f59dd5d..4fb117b 100644 --- a/teloxide_tests/Cargo.toml +++ b/teloxide_tests/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "teloxide_tests" -version = "0.3.0" +version = "0.4.0" edition = "2021" description = "Test suite for teloxide bots" From 17872e960d5fc3d2d787eb5269e3937107e06237 Mon Sep 17 00:00:00 2001 From: Nikolai Oplachko Date: Wed, 2 Jul 2025 17:41:24 +0200 Subject: [PATCH 6/7] update teloxide version in readme --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index bb8bd9c..cdab086 100644 --- a/README.md +++ b/README.md @@ -11,7 +11,7 @@ - + From 929a984045bba88c4c8bb24453f1d9e9af9325e6 Mon Sep 17 00:00:00 2001 From: Nikolai Oplachko Date: Sat, 19 Jul 2025 16:11:49 +0200 Subject: [PATCH 7/7] revert version --- Cargo.lock | 2 +- examples/Cargo.lock | 745 ++++++++++++++++++++------------------ teloxide_tests/Cargo.toml | 2 +- 3 files changed, 396 insertions(+), 353 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 650e53b..1ce8138 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -3038,7 +3038,7 @@ dependencies = [ [[package]] name = "teloxide_tests" -version = "0.4.0" +version = "0.3.0" dependencies = [ "actix-multipart", "actix-web", diff --git a/examples/Cargo.lock b/examples/Cargo.lock index da7e421..db1ce1c 100644 --- a/examples/Cargo.lock +++ b/examples/Cargo.lock @@ -21,9 +21,9 @@ dependencies = [ [[package]] name = "actix-http" -version = "3.10.0" +version = "3.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0fa882656b67966045e4152c634051e70346939fced7117d5f0b52146a7c74c9" +checksum = "44dfe5c9e0004c623edc65391dfd51daa201e7e30ebd9c9bedf873048ec32bc2" dependencies = [ "actix-codec", "actix-rt", @@ -39,7 +39,7 @@ dependencies = [ "flate2", "foldhash", "futures-core", - "h2 0.3.26", + "h2 0.3.27", "http 0.2.12", "httparse", "httpdate", @@ -133,9 +133,9 @@ dependencies = [ [[package]] name = "actix-server" -version = "2.5.1" +version = "2.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6398974fd4284f4768af07965701efbbb5fdc0616bff20cade1bb14b77675e24" +checksum = "a65064ea4a457eaf07f2fba30b4c695bf43b721790e9530d26cb6f9019ff7502" dependencies = [ "actix-rt", "actix-service", @@ -170,9 +170,9 @@ dependencies = [ [[package]] name = "actix-web" -version = "4.10.2" +version = "4.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f2e3b15b3dc6c6ed996e4032389e9849d4ab002b1e92fbfe85b5f307d1479b4d" +checksum = "a597b77b5c6d6a1e1097fddde329a83665e25c5437c696a3a9a4aa514a614dea" dependencies = [ "actix-codec", "actix-http", @@ -283,21 +283,21 @@ dependencies = [ [[package]] name = "adler2" -version = "2.0.0" +version = "2.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "512761e0bb2578dd7380c6baaa0f4ce03e84f95e960231d1dec8bf4d7d6e2627" +checksum = "320119579fcad9c21884f5c4861d16174d0e06250625266f50fe6898340abefa" [[package]] name = "ahash" -version = "0.8.11" +version = "0.8.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e89da841a80418a9b391ebaea17f5c112ffaaa96f621d2c285b5174da76b9011" +checksum = "5a15f179cd60c4584b8a8c596927aadc462e27f2ca70c04e0071964a73ba7a75" dependencies = [ "cfg-if", - "getrandom 0.2.16", + "getrandom 0.3.3", "once_cell", "version_check", - "zerocopy 0.7.35", + "zerocopy", ] [[package]] @@ -359,9 +359,9 @@ dependencies = [ [[package]] name = "anstream" -version = "0.6.18" +version = "0.6.19" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8acc5369981196006228e28809f761875c0327210a891e941f4c683b3a99529b" +checksum = "301af1932e46185686725e0fad2f8f2aa7da69dd70bf6ecc44d6b703844a3933" dependencies = [ "anstyle", "anstyle-parse", @@ -374,36 +374,36 @@ dependencies = [ [[package]] name = "anstyle" -version = "1.0.10" +version = "1.0.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "55cc3b69f167a1ef2e161439aa98aed94e6028e5f9a59be9a6ffb47aef1651f9" +checksum = "862ed96ca487e809f1c8e5a8447f6ee2cf102f846893800b20cebdf541fc6bbd" [[package]] name = "anstyle-parse" -version = "0.2.6" +version = "0.2.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3b2d16507662817a6a20a9ea92df6652ee4f94f914589377d69f3b21bc5798a9" +checksum = "4e7644824f0aa2c7b9384579234ef10eb7efb6a0deb83f9630a49594dd9c15c2" dependencies = [ "utf8parse", ] [[package]] name = "anstyle-query" -version = "1.1.2" +version = "1.1.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "79947af37f4177cfead1110013d678905c37501914fba0efea834c3fe9a8d60c" +checksum = "6c8bdeb6047d8983be085bab0ba1472e6dc604e7041dbf6fcd5e71523014fae9" dependencies = [ "windows-sys 0.59.0", ] [[package]] name = "anstyle-wincon" -version = "3.0.7" +version = "3.0.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ca3534e77181a9cc07539ad51f2141fe32f6c3ffd4df76db8ad92346b003ae4e" +checksum = "403f75924867bb1033c59fbf0797484329750cfbe3c4325cd33127941fabc882" dependencies = [ "anstyle", - "once_cell", + "once_cell_polyfill", "windows-sys 0.59.0", ] @@ -444,15 +444,15 @@ checksum = "1505bd5d3d116872e7271a6d4e16d81d0c8570876c8de68093a09ac269d8aac0" [[package]] name = "autocfg" -version = "1.4.0" +version = "1.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ace50bade8e6234aa140d9a2f552bbee1db4d353f69b8217bc503490fc1a9f26" +checksum = "c08606f8c3cbf4ce6ec8e28fb0014a2c086708fe954eaa885384a6165172e7e8" [[package]] name = "backtrace" -version = "0.3.74" +version = "0.3.75" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8d82cb332cdfaed17ae235a638438ac4d4839913cc2af585c3c6746e8f8bee1a" +checksum = "6806a6321ec58106fea15becdad98371e28d92ccbc7c8f1b3b6dd724fe8f1002" dependencies = [ "addr2line", "cfg-if", @@ -471,9 +471,9 @@ checksum = "72b3254f16251a8381aa12e40e3c4d2f0199f8c6508fbecb9d91f575e0fbb8c6" [[package]] name = "bitflags" -version = "2.9.0" +version = "2.9.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5c8214115b7bf84099f1309324e63141d4c5d7cc26862f97a0a857dbefe165bd" +checksum = "1b8e56985ec62d17e9c1001dc89c88ecd7dc08e47eba5ec7c29c7b5eeecde967" [[package]] name = "block-buffer" @@ -486,9 +486,9 @@ dependencies = [ [[package]] name = "brotli" -version = "7.0.0" +version = "8.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cc97b8f16f944bba54f0433f07e30be199b6dc2bd25937444bbad560bcea29bd" +checksum = "9991eea70ea4f293524138648e41ee89b0b2b12ddef3b255effa43c8056e0e0d" dependencies = [ "alloc-no-stdlib", "alloc-stdlib", @@ -497,9 +497,9 @@ dependencies = [ [[package]] name = "brotli-decompressor" -version = "4.0.3" +version = "5.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a334ef7c9e23abf0ce748e8cd309037da93e606ad52eb372e4ce327a0dcfbdfd" +checksum = "874bb8112abecc98cbd6d81ea4fa7e94fb9449648c93cc89aa40c81c24d7de03" dependencies = [ "alloc-no-stdlib", "alloc-stdlib", @@ -507,15 +507,15 @@ dependencies = [ [[package]] name = "bumpalo" -version = "3.17.0" +version = "3.19.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1628fb46dfa0b37568d12e5edd512553eccf6a22a78e8bde00bb4aed84d5bdbf" +checksum = "46c5e41b57b8bba42a04676d81cb89e9ee8e859a1a66f80a5a72e1cb76b34d43" [[package]] name = "bytemuck" -version = "1.22.0" +version = "1.23.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b6b1fc10dbac614ebc03540c9dbd60e83887fda27794998c6528f1782047d540" +checksum = "5c76a5792e44e4abe34d3abf15636779261d45a7450612059293d1d2cfc63422" [[package]] name = "byteorder" @@ -554,9 +554,9 @@ dependencies = [ [[package]] name = "cc" -version = "1.2.19" +version = "1.2.30" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8e3a13707ac958681c13b39b458c073d0d9bc8a22cb1b2f4c8e55eb72c13f362" +checksum = "deec109607ca693028562ed836a5f1c4b8bd77755c4e132fc5ce11b0b6211ae7" dependencies = [ "jobserver", "libc", @@ -565,9 +565,9 @@ dependencies = [ [[package]] name = "cfg-if" -version = "1.0.0" +version = "1.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" +checksum = "9555578bc9e57714c812a1f84e4fc5b4d21fcb063490c624de019f7464c91268" [[package]] name = "cfg_aliases" @@ -577,9 +577,9 @@ checksum = "613afe47fcd5fac7ccf1db93babcb082c5994d996f20b8b159f2ad1658eb5724" [[package]] name = "chrono" -version = "0.4.40" +version = "0.4.41" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1a7964611d71df112cb1730f2ee67324fcf4d0fc6606acbbe9bfe06df124637c" +checksum = "c469d952047f47f91b68d1cba3f10d63c11d73e4636f24f08daf0278abf01c4d" dependencies = [ "android-tzdata", "iana-time-zone", @@ -592,9 +592,9 @@ dependencies = [ [[package]] name = "colorchoice" -version = "1.0.3" +version = "1.0.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5b63caa9aa9397e2d9480a9b13673856c78d8ac123288526c37d7839f2a86990" +checksum = "b05b61dc5112cbb17e4b6cd61790d9845d13888356391624cbe7e41efeac1e75" [[package]] name = "colored" @@ -672,9 +672,9 @@ dependencies = [ [[package]] name = "crc" -version = "3.2.1" +version = "3.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "69e6e4d7b33a94f0991c26729976b10ebde1d34c3ee82408fb536164fa10d636" +checksum = "9710d3b3739c2e349eb44fe848ad0b7c8cb1e42bd87ee49371df2f7acaf3e675" dependencies = [ "crc-catalog", ] @@ -687,9 +687,9 @@ checksum = "19d374276b40fb8bbdee95aef7c7fa6b5316ec764510eb64b8dd0e2ed0d7e7f5" [[package]] name = "crc32fast" -version = "1.4.2" +version = "1.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a97769d94ddab943e4510d138150169a2758b5ef3eb191a9ee688de3e23ef7b3" +checksum = "9481c1c90cbf2ac953f07c8d4a58aa3945c425b7185c9154d67a65e4230da511" dependencies = [ "cfg-if", ] @@ -742,9 +742,9 @@ dependencies = [ [[package]] name = "ctrlc" -version = "3.4.6" +version = "3.4.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "697b5419f348fd5ae2478e8018cb016c00a5881c7f46c717de98ffd135a5651c" +checksum = "46f93780a459b7d656ef7f071fe699c4d3d2cb201c4b24d085b6ddc505276e73" dependencies = [ "nix", "windows-sys 0.59.0", @@ -894,9 +894,9 @@ dependencies = [ [[package]] name = "diesel" -version = "2.2.9" +version = "2.2.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "34d3950690ba3a6910126162b47e775e203006d4242a15de912bec6c0a695153" +checksum = "229850a212cd9b84d4f0290ad9d294afc0ae70fccaa8949dbe8b43ffafa1e20c" dependencies = [ "bitflags", "byteorder", @@ -907,9 +907,9 @@ dependencies = [ [[package]] name = "diesel_derives" -version = "2.2.4" +version = "2.2.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a93958254b70bea63b4187ff73d10180599d9d8d177071b7f91e6da4e0c0ad55" +checksum = "1b96984c469425cb577bf6f17121ecb3e4fe1e81de5d8f780dd372802858d756" dependencies = [ "diesel_table_macro_syntax", "dsl_auto_type", @@ -963,9 +963,9 @@ checksum = "1aaf95b3e5c8f23aa320147307562d361db0ae0d51242340f558153b4eb2439b" [[package]] name = "dptree" -version = "0.5.0" +version = "0.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d12280a6070b0c46830fcb4011f77ac56e9e1ca224c039f1d61d2024fa1ee870" +checksum = "db96968fcf52fe063a98c75df1d1f2b1fba304e7ae29b72fdc81c1165b7e2fd0" dependencies = [ "colored", "futures", @@ -985,6 +985,12 @@ dependencies = [ "syn", ] +[[package]] +name = "dyn-clone" +version = "1.0.19" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1c7a8fb8a9fbf66c1f703fe16184d10ca0ee9d23be5b4436400408ba54a95005" + [[package]] name = "either" version = "1.15.0" @@ -1057,12 +1063,12 @@ dependencies = [ [[package]] name = "errno" -version = "0.3.11" +version = "0.3.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "976dd42dc7e85965fe702eb8164f21f450704bdde31faefd6471dba214cb594e" +checksum = "778e2ac28f6c47af28e4907f13ffd1e1ddbd400980a9abd7c8df189bf578a5ad" dependencies = [ "libc", - "windows-sys 0.59.0", + "windows-sys 0.60.2", ] [[package]] @@ -1116,9 +1122,9 @@ dependencies = [ [[package]] name = "flate2" -version = "1.1.1" +version = "1.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7ced92e76e966ca2fd84c8f7aa01a4aea65b0eb6648d72f7c8f3e2764a67fece" +checksum = "4a3d7db9596fecd151c5f638c0ee5d5bd487b6e0ea232e5dc96d5250f6f94b1d" dependencies = [ "crc32fast", "miniz_oxide", @@ -1299,14 +1305,14 @@ checksum = "335ff9f135e4384c8150d6f27c6daed433577f86b4750418338c01a1a2528592" dependencies = [ "cfg-if", "libc", - "wasi 0.11.0+wasi-snapshot-preview1", + "wasi 0.11.1+wasi-snapshot-preview1", ] [[package]] name = "getrandom" -version = "0.3.2" +version = "0.3.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "73fea8450eea4bac3940448fb7ae50d91f034f941199fcd9d909a5a07aa455f0" +checksum = "26145e563e54f2cadc477553f1ec5ee650b00862f0a58bcd12cbdc5f0ea2d2f4" dependencies = [ "cfg-if", "libc", @@ -1322,9 +1328,9 @@ checksum = "07e28edb80900c19c28f1072f2e8aeca7fa06b23cd4169cefe1af5aa3260783f" [[package]] name = "h2" -version = "0.3.26" +version = "0.3.27" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "81fe527a889e1532da5c525686d96d4c2e74cdd345badf8dfef9f6b39dd5f5e8" +checksum = "0beca50380b1fc32983fc1cb4587bfa4bb9e78fc259aad4a0032d2080309222d" dependencies = [ "bytes", "fnv", @@ -1332,7 +1338,7 @@ dependencies = [ "futures-sink", "futures-util", "http 0.2.12", - "indexmap 2.9.0", + "indexmap 2.10.0", "slab", "tokio", "tokio-util", @@ -1341,9 +1347,9 @@ dependencies = [ [[package]] name = "h2" -version = "0.4.9" +version = "0.4.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "75249d144030531f8dee69fe9cea04d3edf809a017ae445e2abdff6629e86633" +checksum = "17da50a276f1e01e0ba6c029e47b7100754904ee8a278f886546e98575380785" dependencies = [ "atomic-waker", "bytes", @@ -1351,7 +1357,7 @@ dependencies = [ "futures-core", "futures-sink", "http 1.3.1", - "indexmap 2.9.0", + "indexmap 2.10.0", "slab", "tokio", "tokio-util", @@ -1372,9 +1378,9 @@ checksum = "8a9ee70c43aaf417c914396645a0fa852624801b24ebb7ae78fe8272889ac888" [[package]] name = "hashbrown" -version = "0.15.2" +version = "0.15.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bf151400ff0baff5465007dd2f3e717f3fe502074ca563069ce3a6629d07b289" +checksum = "5971ac85611da7067dbfcabef3c70ebb5606018acd9e2a3903a0da507521e0d5" dependencies = [ "allocator-api2", "equivalent", @@ -1387,7 +1393,7 @@ version = "0.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7382cf6263419f2d8df38c55d7da83da5c18aef87fc7a7fc1fb1e344edfe14c1" dependencies = [ - "hashbrown 0.15.2", + "hashbrown 0.15.4", ] [[package]] @@ -1408,15 +1414,9 @@ dependencies = [ [[package]] name = "hermit-abi" -version = "0.3.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d231dfb89cfffdbc30e7fc41579ed6066ad03abda9e567ccafae602b97ec5024" - -[[package]] -name = "hermit-abi" -version = "0.5.0" +version = "0.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fbd780fe5cc30f81464441920d82ac8740e2e46b29a6fad543ddd075229ce37e" +checksum = "fc0fef456e4baa96da950455cd02c081ca953b141298e41db3fc7e36b1da849c" [[package]] name = "hex" @@ -1523,7 +1523,7 @@ dependencies = [ "bytes", "futures-channel", "futures-util", - "h2 0.4.9", + "h2 0.4.11", "http 1.3.1", "http-body", "httparse", @@ -1536,11 +1536,10 @@ dependencies = [ [[package]] name = "hyper-rustls" -version = "0.27.5" +version = "0.27.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2d191583f3da1305256f22463b9bb0471acad48a4e534a5218b9963e9c1f59b2" +checksum = "e3c93eb611681b207e1fe55d5a71ecf91572ec8a6705cdb6857f7d8d5242cf58" dependencies = [ - "futures-util", "http 1.3.1", "hyper", "hyper-util", @@ -1569,22 +1568,28 @@ dependencies = [ [[package]] name = "hyper-util" -version = "0.1.11" +version = "0.1.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "497bbc33a26fdd4af9ed9c70d63f61cf56a938375fbb32df34db9b1cd6d643f2" +checksum = "7f66d5bd4c6f02bf0542fad85d626775bab9258cf795a4256dcaf3161114d1df" dependencies = [ + "base64", "bytes", "futures-channel", + "futures-core", "futures-util", "http 1.3.1", "http-body", "hyper", + "ipnet", "libc", + "percent-encoding", "pin-project-lite", "socket2", + "system-configuration", "tokio", "tower-service", "tracing", + "windows-registry", ] [[package]] @@ -1613,21 +1618,22 @@ dependencies = [ [[package]] name = "icu_collections" -version = "1.5.0" +version = "2.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "db2fa452206ebee18c4b5c2274dbf1de17008e874b4dc4f0aea9d01ca79e4526" +checksum = "200072f5d0e3614556f94a9930d5dc3e0662a652823904c3a75dc3b0af7fee47" dependencies = [ "displaydoc", + "potential_utf", "yoke", "zerofrom", "zerovec", ] [[package]] -name = "icu_locid" -version = "1.5.0" +name = "icu_locale_core" +version = "2.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "13acbb8371917fc971be86fc8057c41a64b521c184808a698c02acc242dbf637" +checksum = "0cde2700ccaed3872079a65fb1a78f6c0a36c91570f28755dda67bc8f7d9f00a" dependencies = [ "displaydoc", "litemap", @@ -1636,31 +1642,11 @@ dependencies = [ "zerovec", ] -[[package]] -name = "icu_locid_transform" -version = "1.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "01d11ac35de8e40fdeda00d9e1e9d92525f3f9d887cdd7aa81d727596788b54e" -dependencies = [ - "displaydoc", - "icu_locid", - "icu_locid_transform_data", - "icu_provider", - "tinystr", - "zerovec", -] - -[[package]] -name = "icu_locid_transform_data" -version = "1.5.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7515e6d781098bf9f7205ab3fc7e9709d34554ae0b21ddbcb5febfa4bc7df11d" - [[package]] name = "icu_normalizer" -version = "1.5.0" +version = "2.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "19ce3e0da2ec68599d193c93d088142efd7f9c5d6fc9b803774855747dc6a84f" +checksum = "436880e8e18df4d7bbc06d58432329d6458cc84531f7ac5f024e93deadb37979" dependencies = [ "displaydoc", "icu_collections", @@ -1668,67 +1654,54 @@ dependencies = [ "icu_properties", "icu_provider", "smallvec", - "utf16_iter", - "utf8_iter", - "write16", "zerovec", ] [[package]] name = "icu_normalizer_data" -version = "1.5.1" +version = "2.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c5e8338228bdc8ab83303f16b797e177953730f601a96c25d10cb3ab0daa0cb7" +checksum = "00210d6893afc98edb752b664b8890f0ef174c8adbb8d0be9710fa66fbbf72d3" [[package]] name = "icu_properties" -version = "1.5.1" +version = "2.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "93d6020766cfc6302c15dbbc9c8778c37e62c14427cb7f6e601d849e092aeef5" +checksum = "016c619c1eeb94efb86809b015c58f479963de65bdb6253345c1a1276f22e32b" dependencies = [ "displaydoc", "icu_collections", - "icu_locid_transform", + "icu_locale_core", "icu_properties_data", "icu_provider", - "tinystr", + "potential_utf", + "zerotrie", "zerovec", ] [[package]] name = "icu_properties_data" -version = "1.5.1" +version = "2.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "85fb8799753b75aee8d2a21d7c14d9f38921b54b3dbda10f5a3c7a7b82dba5e2" +checksum = "298459143998310acd25ffe6810ed544932242d3f07083eee1084d83a71bd632" [[package]] name = "icu_provider" -version = "1.5.0" +version = "2.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6ed421c8a8ef78d3e2dbc98a973be2f3770cb42b606e3ab18d6237c4dfde68d9" +checksum = "03c80da27b5f4187909049ee2d72f276f0d9f99a42c306bd0131ecfe04d8e5af" dependencies = [ "displaydoc", - "icu_locid", - "icu_provider_macros", + "icu_locale_core", "stable_deref_trait", "tinystr", "writeable", "yoke", "zerofrom", + "zerotrie", "zerovec", ] -[[package]] -name = "icu_provider_macros" -version = "1.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1ec89e9337638ecdc08744df490b221a7399bf8d164eb52a665454e60e075ad6" -dependencies = [ - "proc-macro2", - "quote", - "syn", -] - [[package]] name = "ident_case" version = "1.0.1" @@ -1748,9 +1721,9 @@ dependencies = [ [[package]] name = "idna_adapter" -version = "1.2.0" +version = "1.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "daca1df1c957320b2cf139ac61e7bd64fed304c5040df000a745aa1de3b4ef71" +checksum = "3acae9609540aa318d1bc588455225fb2085b9ed0c4f6bd0d9d5bcd86f1a0344" dependencies = [ "icu_normalizer", "icu_properties", @@ -1794,28 +1767,49 @@ dependencies = [ [[package]] name = "indexmap" -version = "2.9.0" +version = "2.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cea70ddb795996207ad57735b50c5982d8844f38ba9ee5f1aedcfb708a2aa11e" +checksum = "fe4cd85333e22411419a0bcae1297d25e58c9443848b11dc6a86fefe8c78a661" dependencies = [ "equivalent", - "hashbrown 0.15.2", + "hashbrown 0.15.4", "serde", ] +[[package]] +name = "io-uring" +version = "0.7.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b86e202f00093dcba4275d4636b93ef9dd75d025ae560d2521b45ea28ab49013" +dependencies = [ + "bitflags", + "cfg-if", + "libc", +] + [[package]] name = "ipnet" version = "2.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "469fb0b9cefa57e3ef31275ee7cacb78f2fdca44e4765491884a2b119d4eb130" +[[package]] +name = "iri-string" +version = "0.7.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dbc5ebe9c3a1a7a5127f920a418f7585e9e758e911d0466ed004f393b0e380b2" +dependencies = [ + "memchr", + "serde", +] + [[package]] name = "is-terminal" version = "0.4.16" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e04d7f318608d35d4b61ddd75cbdaee86b023ebe2bd5a66ee0915f0bf93095a9" dependencies = [ - "hermit-abi 0.5.0", + "hermit-abi", "libc", "windows-sys 0.59.0", ] @@ -1852,9 +1846,9 @@ checksum = "4a5f13b858c8d314ee3e8f639011f7ccefe71f97f96e50151fb991f267928e2c" [[package]] name = "jiff" -version = "0.2.10" +version = "0.2.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5a064218214dc6a10fbae5ec5fa888d80c45d611aba169222fc272072bf7aef6" +checksum = "be1f93b8b1eb69c77f24bbb0afdf66f54b632ee39af40ca21c4365a1d7347e49" dependencies = [ "jiff-static", "log", @@ -1865,9 +1859,9 @@ dependencies = [ [[package]] name = "jiff-static" -version = "0.2.10" +version = "0.2.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "199b7932d97e325aff3a7030e141eafe7f2c6268e1d1b24859b753a627f45254" +checksum = "03343451ff899767262ec32146f6d559dd759fdadf42ff0e227c7c48f72594b4" dependencies = [ "proc-macro2", "quote", @@ -1880,7 +1874,7 @@ version = "0.1.33" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "38f262f097c174adebe41eb73d66ae9c06b2844fb0da69969647bbddd9b0538a" dependencies = [ - "getrandom 0.3.2", + "getrandom 0.3.3", "libc", ] @@ -1908,9 +1902,9 @@ checksum = "bbd2bcb4c963f2ddae06a2efc7e9f3591312473c50c6685e1f298068316e66fe" [[package]] name = "libc" -version = "0.2.172" +version = "0.2.174" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d750af042f7ef4f724306de029d18836c26c1765a54a6a3f094cbd23a7267ffa" +checksum = "1171693293099992e19cddea4e8b849964e9846f4acee11b3948bcc337be8776" [[package]] name = "libsqlite3-sys" @@ -1931,9 +1925,9 @@ checksum = "cd945864f07fe9f5371a27ad7b52a172b4b499999f1d97574c9fa68373937e12" [[package]] name = "litemap" -version = "0.7.5" +version = "0.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "23fb14cb19457329c82206317a5663005a4d404783dc74f4252769b0d5f42856" +checksum = "241eaef5fd12c88705a01fc1066c48c4b36e0dd4377dcdc7ec3942cea7a69956" [[package]] name = "local-channel" @@ -1954,9 +1948,9 @@ checksum = "4d873d7c67ce09b42110d801813efbc9364414e356be9935700d368351657487" [[package]] name = "lock_api" -version = "0.4.12" +version = "0.4.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "07af8b9cdd281b7915f413fa73f29ebd5d55d0d3f0155584dade1ff18cea1b17" +checksum = "96936507f153605bddfcda068dd804796c84324ed2510809e5b2a624c81da765" dependencies = [ "autocfg", "scopeguard", @@ -1986,9 +1980,9 @@ checksum = "33746aadcb41349ec291e7f2f0a3aa6834d1d7c58066fb4b01f68efc4c4b7631" [[package]] name = "memchr" -version = "2.7.4" +version = "2.7.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "78ca9ab1a0babb1e7d5695e3530886289c18cf2f87ec19a575a0abdce112e3a3" +checksum = "32a282da65faaf38286cf3be983213fcf1d2e2a58700e808f83f4ea9a4804bc0" [[package]] name = "mime" @@ -2008,23 +2002,23 @@ dependencies = [ [[package]] name = "miniz_oxide" -version = "0.8.8" +version = "0.8.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3be647b768db090acb35d5ec5db2b0e1f1de11133ca123b9eacf5137868f892a" +checksum = "1fa76a2c86f704bdb222d66965fb3d63269ce38518b83cb0575fca855ebb6316" dependencies = [ "adler2", ] [[package]] name = "mio" -version = "1.0.3" +version = "1.0.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2886843bf800fba2e3377cff24abf6379b4c4d5c6681eaf9ea5b0d15090450bd" +checksum = "78bed444cc8a2160f01cbcf811ef18cac863ad68ae8ca62092e8db51d51c761c" dependencies = [ "libc", "log", - "wasi 0.11.0+wasi-snapshot-preview1", - "windows-sys 0.52.0", + "wasi 0.11.1+wasi-snapshot-preview1", + "windows-sys 0.59.0", ] [[package]] @@ -2046,9 +2040,9 @@ dependencies = [ [[package]] name = "nix" -version = "0.29.0" +version = "0.30.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "71e2746dc3a24dd78b3cfcb7be93368c6de9963d30f43a6a73998a9cf4b17b46" +checksum = "74523f3a35e05aba87a1d978330aef40f67b0304ac79c1c00b294c9830543db6" dependencies = [ "bitflags", "cfg-if", @@ -2092,11 +2086,11 @@ dependencies = [ [[package]] name = "num_cpus" -version = "1.16.0" +version = "1.17.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4161fcb6d602d4d2081af7c3a45852d875a03dd337a6bfdd6e06407b61342a43" +checksum = "91df4bbde75afed763b708b7eee1e8e7651e02d97f6d5dd763e89367e957b23b" dependencies = [ - "hermit-abi 0.3.9", + "hermit-abi", "libc", ] @@ -2115,11 +2109,17 @@ version = "1.21.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "42f5e15c9953c5e4ccceeb2e7382a716482c34515315f7b03532b8b4e8393d2d" +[[package]] +name = "once_cell_polyfill" +version = "1.70.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a4895175b425cb1f87721b59f0f286c2092bd4af812243672510e1ac53e2e0ad" + [[package]] name = "openssl" -version = "0.10.72" +version = "0.10.73" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fedfea7d58a1f73118430a55da6a286e7b044961736ce96a16a17068ea25e5da" +checksum = "8505734d46c8ab1e19a1dce3aef597ad87dcb4c37e7188231769bd6bd51cebf8" dependencies = [ "bitflags", "cfg-if", @@ -2149,9 +2149,9 @@ checksum = "d05e27ee213611ffe7d6348b942e8f942b37114c00cc03cec254295a4a17852e" [[package]] name = "openssl-sys" -version = "0.9.107" +version = "0.9.109" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8288979acd84749c744a9014b4382d42b8f7b2592847b5afb2ed29e5d16ede07" +checksum = "90096e2e47630d78b7d1c20952dc621f957103f8bc2c8359ec81290d75238571" dependencies = [ "cc", "libc", @@ -2167,9 +2167,9 @@ checksum = "f38d5652c16fde515bb1ecef450ab0f6a219d619a7274976324d5e377f7dceba" [[package]] name = "parking_lot" -version = "0.12.3" +version = "0.12.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f1bf18183cf54e8d6059647fc3063646a1801cf30896933ec2311622cc4b9a27" +checksum = "70d58bf43669b5795d1576d0641cfb6fbb2057bf629506267a92807158584a13" dependencies = [ "lock_api", "parking_lot_core", @@ -2177,9 +2177,9 @@ dependencies = [ [[package]] name = "parking_lot_core" -version = "0.9.10" +version = "0.9.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1e401f977ab385c9e4e3ab30627d6f26d00e2c73eef317493c4ec6d468726cf8" +checksum = "bc838d2a56b5b1a6c25f55575dfc605fabb63bb2365f6c2353ef9159aa69e4a5" dependencies = [ "cfg-if", "libc", @@ -2255,9 +2255,9 @@ checksum = "7edddbd0b52d732b21ad9a5fab5c704c14cd949e5e9a1ec5929a24fded1b904c" [[package]] name = "portable-atomic" -version = "1.11.0" +version = "1.11.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "350e9b48cbc6b0e028b0473b114454c6316e57336ee184ceab6e53f72c178b3e" +checksum = "f84267b20a16ea918e43c6a88433c2d54fa145c92a811b5b047ccbe153674483" [[package]] name = "portable-atomic-util" @@ -2268,6 +2268,15 @@ dependencies = [ "portable-atomic", ] +[[package]] +name = "potential_utf" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e5a7c30837279ca13e7c867e9e40053bc68740f988cb07f7ca6df43cc734b585" +dependencies = [ + "zerovec", +] + [[package]] name = "powerfmt" version = "0.2.0" @@ -2280,14 +2289,14 @@ version = "0.2.21" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "85eae3c4ed2f50dcfe72643da4befc30deadb458a9b590d720cde2f2b1e97da9" dependencies = [ - "zerocopy 0.8.24", + "zerocopy", ] [[package]] name = "pq-sys" -version = "0.7.1" +version = "0.7.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "41c852911b98f5981956037b2ca976660612e548986c30af075e753107bc3400" +checksum = "dfd6cf44cca8f9624bc19df234fc4112873432f5fda1caff174527846d026fa9" dependencies = [ "libc", "vcpkg", @@ -2335,9 +2344,9 @@ dependencies = [ [[package]] name = "psm" -version = "0.1.25" +version = "0.1.26" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f58e5423e24c18cc840e1c98370b3993c6649cd1678b4d24318bcf0a083cbe88" +checksum = "6e944464ec8536cd1beb0bbfd96987eb5e3b72f2ecdafdc5c769a37f1fa2ae1f" dependencies = [ "cc", ] @@ -2353,9 +2362,9 @@ dependencies = [ [[package]] name = "r-efi" -version = "5.2.0" +version = "5.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "74765f6d916ee2faa39bc8e68e4f3ed8949b48cccdac59983d287a7cb71ce9c5" +checksum = "69cdb34c158ceb288df11e18b4bd39de994f6657d83847bdffdbd7f346754b0f" [[package]] name = "rand" @@ -2413,7 +2422,7 @@ version = "0.9.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "99d9a13982dcf210057a8a78572b2217b667c3beacbf3a0d8b454f6f82837d38" dependencies = [ - "getrandom 0.3.2", + "getrandom 0.3.3", ] [[package]] @@ -2448,13 +2457,33 @@ dependencies = [ [[package]] name = "redox_syscall" -version = "0.5.11" +version = "0.5.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d2f103c6d277498fbceb16e84d317e2a400f160f46904d5f5410848c829511a3" +checksum = "0d04b7d0ee6b4a0207a0a7adb104d23ecb0b47d6beae7152d0fa34b692b29fd6" dependencies = [ "bitflags", ] +[[package]] +name = "ref-cast" +version = "1.0.24" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4a0ae411dbe946a674d89546582cea4ba2bb8defac896622d6496f14c23ba5cf" +dependencies = [ + "ref-cast-impl", +] + +[[package]] +name = "ref-cast-impl" +version = "1.0.24" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1165225c21bff1f3bbce98f5a1f889949bc902d3575308cc7b0de30b4f6d27c7" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + [[package]] name = "regex" version = "1.11.1" @@ -2492,16 +2521,16 @@ checksum = "2b15c43186be67a4fd63bee50d0303afffcef381492ebe2c5d87f324e1b8815c" [[package]] name = "reqwest" -version = "0.12.15" +version = "0.12.22" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d19c46a6fdd48bc4dab94b6103fccc55d34c67cc0ad04653aad4ea2a07cd7bbb" +checksum = "cbc931937e6ca3a06e3b6c0aa7841849b160a90351d6ab467a8b9b9959767531" dependencies = [ "base64", "bytes", "encoding_rs", "futures-core", "futures-util", - "h2 0.4.9", + "h2 0.4.11", "http 1.3.1", "http-body", "http-body-util", @@ -2509,39 +2538,36 @@ dependencies = [ "hyper-rustls", "hyper-tls", "hyper-util", - "ipnet", "js-sys", "log", "mime", "mime_guess", "native-tls", - "once_cell", "percent-encoding", "pin-project-lite", - "rustls-pemfile", + "rustls-pki-types", "serde", "serde_json", "serde_urlencoded", "sync_wrapper", - "system-configuration", "tokio", "tokio-native-tls", "tokio-util", "tower", + "tower-http", "tower-service", "url", "wasm-bindgen", "wasm-bindgen-futures", "wasm-streams", "web-sys", - "windows-registry", ] [[package]] name = "rgb" -version = "0.8.50" +version = "0.8.52" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "57397d16646700483b67d2dd6511d79318f9d057fdbd21a4066aeac8b41d310a" +checksum = "0c6a884d2998352bb4daf0183589aec883f16a6da1f4dde84d8e2e9a5409a1ce" dependencies = [ "bytemuck", ] @@ -2562,9 +2588,9 @@ dependencies = [ [[package]] name = "rustc-demangle" -version = "0.1.24" +version = "0.1.25" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "719b953e2095829ee67db738b3bfa9fa368c94900df327b3f07fe6e794d2fe1f" +checksum = "989e6739f80c4ad5b13e0fd7fe89531180375b18520cc8c82080e4dc4035b84f" [[package]] name = "rustc_version" @@ -2577,22 +2603,22 @@ dependencies = [ [[package]] name = "rustix" -version = "1.0.5" +version = "1.0.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d97817398dd4bb2e6da002002db259209759911da105da92bec29ccb12cf58bf" +checksum = "11181fbabf243db407ef8df94a6ce0b2f9a733bd8be4ad02b4eda9602296cac8" dependencies = [ "bitflags", "errno", "libc", "linux-raw-sys", - "windows-sys 0.59.0", + "windows-sys 0.60.2", ] [[package]] name = "rustls" -version = "0.23.26" +version = "0.23.29" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "df51b5869f3a441595eac5e8ff14d486ff285f7b8c0df8770e49c3b56351f0f0" +checksum = "2491382039b29b9b11ff08b76ff6c97cf287671dbb74f0be44bda389fffe9bd1" dependencies = [ "once_cell", "rustls-pki-types", @@ -2602,25 +2628,19 @@ dependencies = [ ] [[package]] -name = "rustls-pemfile" -version = "2.2.0" +name = "rustls-pki-types" +version = "1.12.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dce314e5fee3f39953d46bb63bb8a46d40c2f8fb7cc5a3b6cab2bde9721d6e50" +checksum = "229a4a4c221013e7e1f1a043678c5cc39fe5171437c88fb47151a21e6f5b5c79" dependencies = [ - "rustls-pki-types", + "zeroize", ] -[[package]] -name = "rustls-pki-types" -version = "1.11.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "917ce264624a4b4db1c364dcc35bfca9ded014d0a958cd47ad3e960e988ea51c" - [[package]] name = "rustls-webpki" -version = "0.103.1" +version = "0.103.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fef8b8769aaccf73098557a87cd1816b4f9c7c16811c9c77142aa695c16f2c03" +checksum = "0a17884ae0c1b773f1ccd2bd4a8c72f16da897310a98b0e84bf349ad5ead92fc" dependencies = [ "ring", "rustls-pki-types", @@ -2629,9 +2649,9 @@ dependencies = [ [[package]] name = "rustversion" -version = "1.0.20" +version = "1.0.21" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eded382c5f5f786b989652c49544c4877d9f015cc22e145a5ea8ea66c2921cd2" +checksum = "8a0d197bd2c9dc6e53b84da9556a69ba4cdfab8619eb41a8bd1cc2027a0f6b1d" [[package]] name = "ryu" @@ -2648,6 +2668,30 @@ dependencies = [ "windows-sys 0.59.0", ] +[[package]] +name = "schemars" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4cd191f9397d57d581cddd31014772520aa448f65ef991055d7f61582c65165f" +dependencies = [ + "dyn-clone", + "ref-cast", + "serde", + "serde_json", +] + +[[package]] +name = "schemars" +version = "1.0.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "82d20c4491bc164fa2f6c5d44565947a52ad80b9505d8e36f8d54c27c739fcd0" +dependencies = [ + "dyn-clone", + "ref-cast", + "serde", + "serde_json", +] + [[package]] name = "scopeguard" version = "1.2.0" @@ -2720,7 +2764,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9d2de91cf02bbc07cde38891769ccd5d4f073d22a40683aa4bc7a95781aaa2c4" dependencies = [ "form_urlencoded", - "indexmap 2.9.0", + "indexmap 2.10.0", "itoa", "ryu", "serde", @@ -2728,9 +2772,9 @@ dependencies = [ [[package]] name = "serde_json" -version = "1.0.140" +version = "1.0.141" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "20068b6e96dc6c9bd23e01df8827e6c7e1f2fddd43c21810382803c136b99373" +checksum = "30b9eff21ebe718216c6ec64e1d9ac57087aad11efc64e32002bce4a0d4c03d3" dependencies = [ "itoa", "memchr", @@ -2771,15 +2815,17 @@ dependencies = [ [[package]] name = "serde_with" -version = "3.12.0" +version = "3.14.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d6b6f7f2fcb69f747921f79f3926bd1e203fce4fef62c268dd3abfb6d86029aa" +checksum = "f2c45cd61fefa9db6f254525d46e392b852e0e61d9a1fd36e5bd183450a556d5" dependencies = [ "base64", "chrono", "hex", "indexmap 1.9.3", - "indexmap 2.9.0", + "indexmap 2.10.0", + "schemars 0.9.0", + "schemars 1.0.4", "serde", "serde_derive", "serde_json", @@ -2789,9 +2835,9 @@ dependencies = [ [[package]] name = "serde_with_macros" -version = "3.12.0" +version = "3.14.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8d00caa5193a3c8362ac2b73be6b9e768aa5a4b2f721d8f4b339600c3cb51f8e" +checksum = "de90945e6565ce0d9a25098082ed4ee4002e047cb59892c318d66821e14bb30f" dependencies = [ "darling", "proc-macro2", @@ -2812,9 +2858,9 @@ dependencies = [ [[package]] name = "sha2" -version = "0.10.8" +version = "0.10.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "793db75ad2bcafc3ffa7c68b215fee268f537982cd901d132f89c6343f3a3dc8" +checksum = "a7507d819769d01a365ab707794a4084392c824f54a7a6a7862f8c3d0892b283" dependencies = [ "cfg-if", "cpufeatures", @@ -2838,27 +2884,24 @@ dependencies = [ [[package]] name = "slab" -version = "0.4.9" +version = "0.4.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8f92a496fb766b417c996b9c5e57daf2f7ad3b0bebe1ccfca4856390e3d3bb67" -dependencies = [ - "autocfg", -] +checksum = "04dc19736151f35336d325007ac991178d504a119863a2fcb3758cdb5e52c50d" [[package]] name = "smallvec" -version = "1.15.0" +version = "1.15.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8917285742e9f3e1683f0a9c4e6b57960b7314d0b08d30d1ecd426713ee2eee9" +checksum = "67b1b7a3b5fe4f1376887184045fcf45c69e92af734b7aaddc05fb777b6fbd03" dependencies = [ "serde", ] [[package]] name = "socket2" -version = "0.5.9" +version = "0.5.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4f5fd57c80058a56cf5c777ab8a126398ece8e442983605d280a44ce79d0edef" +checksum = "e22376abed350d73dd1cd119b57ffccad95b4e585a7cda43e286245ce23c0678" dependencies = [ "libc", "windows-sys 0.52.0", @@ -2875,9 +2918,9 @@ dependencies = [ [[package]] name = "sqlx" -version = "0.8.5" +version = "0.8.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f3c3a85280daca669cfd3bcb68a337882a8bc57ec882f72c5d13a430613a738e" +checksum = "1fefb893899429669dcdd979aff487bd78f4064e5e7907e4269081e0ef7d97dc" dependencies = [ "sqlx-core", "sqlx-macros", @@ -2887,9 +2930,9 @@ dependencies = [ [[package]] name = "sqlx-core" -version = "0.8.5" +version = "0.8.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f743f2a3cea30a58cd479013f75550e879009e3a02f616f18ca699335aa248c3" +checksum = "ee6798b1838b6a0f69c007c133b8df5866302197e404e8b6ee8ed3e3a5e68dc6" dependencies = [ "base64", "bytes", @@ -2901,9 +2944,9 @@ dependencies = [ "futures-intrusive", "futures-io", "futures-util", - "hashbrown 0.15.2", + "hashbrown 0.15.4", "hashlink", - "indexmap 2.9.0", + "indexmap 2.10.0", "log", "memchr", "native-tls", @@ -2922,9 +2965,9 @@ dependencies = [ [[package]] name = "sqlx-macros" -version = "0.8.5" +version = "0.8.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7f4200e0fde19834956d4252347c12a083bdcb237d7a1a1446bffd8768417dce" +checksum = "a2d452988ccaacfbf5e0bdbc348fb91d7c8af5bee192173ac3636b5fb6e6715d" dependencies = [ "proc-macro2", "quote", @@ -2935,9 +2978,9 @@ dependencies = [ [[package]] name = "sqlx-macros-core" -version = "0.8.5" +version = "0.8.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "882ceaa29cade31beca7129b6beeb05737f44f82dbe2a9806ecea5a7093d00b7" +checksum = "19a9c1841124ac5a61741f96e1d9e2ec77424bf323962dd894bdb93f37d5219b" dependencies = [ "dotenvy", "either", @@ -2953,16 +2996,15 @@ dependencies = [ "sqlx-postgres", "sqlx-sqlite", "syn", - "tempfile", "tokio", "url", ] [[package]] name = "sqlx-postgres" -version = "0.8.5" +version = "0.8.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a0bedbe1bbb5e2615ef347a5e9d8cd7680fb63e77d9dafc0f29be15e53f1ebe6" +checksum = "db58fcd5a53cf07c184b154801ff91347e4c30d17a3562a635ff028ad5deda46" dependencies = [ "atoi", "base64", @@ -2997,9 +3039,9 @@ dependencies = [ [[package]] name = "sqlx-sqlite" -version = "0.8.5" +version = "0.8.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c26083e9a520e8eb87a06b12347679b142dc2ea29e6e409f805644a7a979a5bc" +checksum = "c2d12fe70b2c1b4401038055f90f151b78208de1f9f89a7dbfd41587a10c3eea" dependencies = [ "atoi", "flume", @@ -3027,9 +3069,9 @@ checksum = "a8f112729512f8e442d81f95a8a7ddf2b7c6b8a1a6f509a95864142b30cab2d3" [[package]] name = "stacker" -version = "0.1.20" +version = "0.1.21" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "601f9201feb9b09c00266478bf459952b9ef9a6b94edb2f21eba14ab681a60a9" +checksum = "cddb07e32ddb770749da91081d8d0ac3a16f1a569a18b20348cd371f5dead06b" dependencies = [ "cc", "cfg-if", @@ -3063,9 +3105,9 @@ checksum = "13c2bddecc57b384dee18652358fb23172facb8a2c51ccc10d74c157bdea3292" [[package]] name = "syn" -version = "2.0.100" +version = "2.0.104" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b09a44accad81e1ba1cd74a32461ba89dee89095ba17b32f5d03683b1b1fc2a0" +checksum = "17b6f705963418cdb9927482fa304bc562ece2fdd4f616084c50b7023b435a40" dependencies = [ "proc-macro2", "quote", @@ -3083,9 +3125,9 @@ dependencies = [ [[package]] name = "synstructure" -version = "0.13.1" +version = "0.13.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c8af7666ab7b6390ab78131fb5b0fce11d6b7a6951602017c35fa82800708971" +checksum = "728a70f3dbaf5bab7f0c4b1ac8d7ae5ea60a4b5549c8a5914361c99147a709d2" dependencies = [ "proc-macro2", "quote", @@ -3200,7 +3242,7 @@ dependencies = [ [[package]] name = "teloxide_tests" -version = "0.4.0" +version = "0.3.0" dependencies = [ "actix-multipart", "actix-web", @@ -3240,12 +3282,12 @@ dependencies = [ [[package]] name = "tempfile" -version = "3.19.1" +version = "3.20.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7437ac7763b9b123ccf33c338a5cc1bac6f69b45a136c19bdd8a65e3916435bf" +checksum = "e8a64e3985349f2441a1a9ef0b853f869006c3855f2cda6862a94d26ebb9d6a1" dependencies = [ "fastrand", - "getrandom 0.3.2", + "getrandom 0.3.3", "once_cell", "rustix", "windows-sys 0.59.0", @@ -3333,9 +3375,9 @@ dependencies = [ [[package]] name = "tinystr" -version = "0.7.6" +version = "0.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9117f5d4db391c1cf6927e7bea3db74b9a1c1add8f7eda9ffd5364f40f57b82f" +checksum = "5d4f6d1145dcb577acf783d4e601bc1d76a13337bb54e6233add580b07344c8b" dependencies = [ "displaydoc", "zerovec", @@ -3358,17 +3400,19 @@ checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20" [[package]] name = "tokio" -version = "1.44.2" +version = "1.46.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e6b88822cbe49de4185e3a4cbf8321dd487cf5fe0c5c65695fef6346371e9c48" +checksum = "0cc3a2344dafbe23a245241fe8b09735b521110d30fcefbbd5feb1797ca35d17" dependencies = [ "backtrace", "bytes", + "io-uring", "libc", "mio", "parking_lot", "pin-project-lite", "signal-hook-registry", + "slab", "socket2", "tokio-macros", "windows-sys 0.52.0", @@ -3444,6 +3488,24 @@ dependencies = [ "tower-service", ] +[[package]] +name = "tower-http" +version = "0.6.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "adc82fd73de2a9722ac5da747f12383d2bfdb93591ee6c58486e0097890f05f2" +dependencies = [ + "bitflags", + "bytes", + "futures-util", + "http 1.3.1", + "http-body", + "iri-string", + "pin-project-lite", + "tower", + "tower-layer", + "tower-service", +] + [[package]] name = "tower-layer" version = "0.3.3" @@ -3470,9 +3532,9 @@ dependencies = [ [[package]] name = "tracing-attributes" -version = "0.1.28" +version = "0.1.30" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "395ae124c09f9e6918a2310af6038fba074bcf474ac352496d5910dd59a2226d" +checksum = "81383ab64e72a7a8b8e13130c49e3dab29def6d0c7d76a03087b3cf71c5c6903" dependencies = [ "proc-macro2", "quote", @@ -3481,9 +3543,9 @@ dependencies = [ [[package]] name = "tracing-core" -version = "0.1.33" +version = "0.1.34" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e672c95779cf947c5311f83787af4fa8fffd12fb27e4993211a84bdfd9610f9c" +checksum = "b9d12581f227e93f094d3af2ae690a574abb8a2b9b7a96e7cfe9647b2b617678" dependencies = [ "once_cell", ] @@ -3557,12 +3619,6 @@ dependencies = [ "serde", ] -[[package]] -name = "utf16_iter" -version = "1.0.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c8232dd3cdaed5356e0f716d285e4b40b932ac434100fe9b7e0e8e935b9e6246" - [[package]] name = "utf8_iter" version = "1.0.4" @@ -3577,11 +3633,13 @@ checksum = "06abde3611657adf66d383f00b093d7faecc7fa57071cce2578660c9f1010821" [[package]] name = "uuid" -version = "1.16.0" +version = "1.17.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "458f7a779bf54acc9f347480ac654f68407d3aab21269a6e3c9f922acd9e2da9" +checksum = "3cf4199d1e5d15ddd86a694e4d0dffa9c323ce759fea589f00fef9d81cc1931d" dependencies = [ - "getrandom 0.3.2", + "getrandom 0.3.3", + "js-sys", + "wasm-bindgen", ] [[package]] @@ -3607,9 +3665,9 @@ dependencies = [ [[package]] name = "wasi" -version = "0.11.0+wasi-snapshot-preview1" +version = "0.11.1+wasi-snapshot-preview1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423" +checksum = "ccf3ec651a847eb01de73ccad15eb7d99f80485de043efb2f370cd654f4ea44b" [[package]] name = "wasi" @@ -3763,15 +3821,15 @@ checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" [[package]] name = "windows-core" -version = "0.61.0" +version = "0.61.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4763c1de310c86d75a878046489e2e5ba02c649d185f21c67d4cf8a56d098980" +checksum = "c0fdd3ddb90610c7638aa2b3a3ab2904fb9e5cdbecc643ddb3647212781c4ae3" dependencies = [ "windows-implement", "windows-interface", "windows-link", "windows-result", - "windows-strings 0.4.0", + "windows-strings", ] [[package]] @@ -3798,44 +3856,35 @@ dependencies = [ [[package]] name = "windows-link" -version = "0.1.1" +version = "0.1.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "76840935b766e1b0a05c0066835fb9ec80071d4c09a16f6bd5f7e655e3c14c38" +checksum = "5e6ad25900d524eaabdbbb96d20b4311e1e7ae1699af4fb28c17ae66c80d798a" [[package]] name = "windows-registry" -version = "0.4.0" +version = "0.5.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4286ad90ddb45071efd1a66dfa43eb02dd0dfbae1545ad6cc3c51cf34d7e8ba3" +checksum = "5b8a9ed28765efc97bbc954883f4e6796c33a06546ebafacbabee9696967499e" dependencies = [ + "windows-link", "windows-result", - "windows-strings 0.3.1", - "windows-targets 0.53.0", + "windows-strings", ] [[package]] name = "windows-result" -version = "0.3.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c64fd11a4fd95df68efcfee5f44a294fe71b8bc6a91993e2791938abcc712252" -dependencies = [ - "windows-link", -] - -[[package]] -name = "windows-strings" -version = "0.3.1" +version = "0.3.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "87fa48cc5d406560701792be122a10132491cff9d0aeb23583cc2dcafc847319" +checksum = "56f42bd332cc6c8eac5af113fc0c1fd6a8fd2aa08a0119358686e5160d0586c6" dependencies = [ "windows-link", ] [[package]] name = "windows-strings" -version = "0.4.0" +version = "0.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7a2ba9642430ee452d5a7aa78d72907ebe8cfda358e8cb7918a2050581322f97" +checksum = "56e6c93f3a0c3b36176cb1327a4958a0353d5d166c2a35cb268ace15e91d3b57" dependencies = [ "windows-link", ] @@ -3867,6 +3916,15 @@ dependencies = [ "windows-targets 0.52.6", ] +[[package]] +name = "windows-sys" +version = "0.60.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f2f500e4d28234f72040990ec9d39e3a6b950f9f22d3dba18416c35882612bcb" +dependencies = [ + "windows-targets 0.53.2", +] + [[package]] name = "windows-targets" version = "0.48.5" @@ -3900,9 +3958,9 @@ dependencies = [ [[package]] name = "windows-targets" -version = "0.53.0" +version = "0.53.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b1e4c7e8ceaaf9cb7d7507c974735728ab453b67ef8f18febdd7c11fe59dca8b" +checksum = "c66f69fcc9ce11da9966ddb31a40968cad001c5bedeb5c2b82ede4253ab48aef" dependencies = [ "windows_aarch64_gnullvm 0.53.0", "windows_aarch64_msvc 0.53.0", @@ -4061,23 +4119,17 @@ dependencies = [ "bitflags", ] -[[package]] -name = "write16" -version = "1.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d1890f4022759daae28ed4fe62859b1236caebfc61ede2f63ed4e695f3f6d936" - [[package]] name = "writeable" -version = "0.5.5" +version = "0.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1e9df38ee2d2c3c5948ea468a8406ff0db0b29ae1ffde1bcf20ef305bcc95c51" +checksum = "ea2f10b9bb0928dfb1b42b65e1f9e36f7f54dbdf08457afefb38afcdec4fa2bb" [[package]] name = "yoke" -version = "0.7.5" +version = "0.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "120e6aef9aa629e3d4f52dc8cc43a015c7724194c97dfaf45180d2daf2b77f40" +checksum = "5f41bb01b8226ef4bfd589436a297c53d118f65921786300e427be8d487695cc" dependencies = [ "serde", "stable_deref_trait", @@ -4087,9 +4139,9 @@ dependencies = [ [[package]] name = "yoke-derive" -version = "0.7.5" +version = "0.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2380878cad4ac9aac1e2435f3eb4020e8374b5f13c296cb75b4620ff8e229154" +checksum = "38da3c9736e16c5d3c8c597a9aaa5d1fa565d0532ae05e27c24aa62fb32c0ab6" dependencies = [ "proc-macro2", "quote", @@ -4099,38 +4151,18 @@ dependencies = [ [[package]] name = "zerocopy" -version = "0.7.35" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1b9b4fd18abc82b8136838da5d50bae7bdea537c574d8dc1a34ed098d6c166f0" -dependencies = [ - "zerocopy-derive 0.7.35", -] - -[[package]] -name = "zerocopy" -version = "0.8.24" +version = "0.8.26" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2586fea28e186957ef732a5f8b3be2da217d65c5969d4b1e17f973ebbe876879" +checksum = "1039dd0d3c310cf05de012d8a39ff557cb0d23087fd44cad61df08fc31907a2f" dependencies = [ - "zerocopy-derive 0.8.24", + "zerocopy-derive", ] [[package]] name = "zerocopy-derive" -version = "0.7.35" +version = "0.8.26" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fa4f8080344d4671fb4e831a13ad1e68092748387dfc4f55e356242fae12ce3e" -dependencies = [ - "proc-macro2", - "quote", - "syn", -] - -[[package]] -name = "zerocopy-derive" -version = "0.8.24" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a996a8f63c5c4448cd959ac1bab0aaa3306ccfd060472f85943ee0750f0169be" +checksum = "9ecf5b4cc5364572d7f4c329661bcc82724222973f2cab6f050a4e5c22f75181" dependencies = [ "proc-macro2", "quote", @@ -4164,11 +4196,22 @@ version = "1.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ced3678a2879b30306d323f4542626697a464a97c0a07c9aebf7ebca65cd4dde" +[[package]] +name = "zerotrie" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "36f0bbd478583f79edad978b407914f61b2972f5af6fa089686016be8f9af595" +dependencies = [ + "displaydoc", + "yoke", + "zerofrom", +] + [[package]] name = "zerovec" -version = "0.10.4" +version = "0.11.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "aa2b893d79df23bfb12d5461018d408ea19dfafe76c2c7ef6d4eba614f8ff079" +checksum = "4a05eb080e015ba39cc9e23bbe5e7fb04d5fb040350f99f34e338d5fdd294428" dependencies = [ "yoke", "zerofrom", @@ -4177,9 +4220,9 @@ dependencies = [ [[package]] name = "zerovec-derive" -version = "0.10.3" +version = "0.11.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6eafa6dfb17584ea3e2bd6e76e0cc15ad7af12b09abdd1ca55961bed9b1063c6" +checksum = "5b96237efa0c878c64bd89c436f661be4e46b2f3eff1ebb976f7ef2321d2f58f" dependencies = [ "proc-macro2", "quote", diff --git a/teloxide_tests/Cargo.toml b/teloxide_tests/Cargo.toml index 4fb117b..f59dd5d 100644 --- a/teloxide_tests/Cargo.toml +++ b/teloxide_tests/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "teloxide_tests" -version = "0.4.0" +version = "0.3.0" edition = "2021" description = "Test suite for teloxide bots"