Compare commits
253 Commits
1.0.5
...
7d9d0b4d2e
| Author | SHA1 | Date | |
|---|---|---|---|
| 7d9d0b4d2e | |||
| 81e01ec946 | |||
| 40337d2abb | |||
| eb0ba1148c | |||
| afba2c5e8f | |||
| a71efb7abf | |||
| 2e1eec548a | |||
| a58bac400b | |||
| 85d8edca57 | |||
| b867eb7559 | |||
| 0855378613 | |||
| f3d85f8ea9 | |||
| ca1f4a6b63 | |||
| 94460f1e8e | |||
| 87f7d6a5fb | |||
| 3e2e98251f | |||
| 89a37c44fe | |||
| bed6f88ae8 | |||
| f9b1108f3d | |||
| 7b60ec875b | |||
| cb2143de9e | |||
| 8f12f397c1 | |||
| 5d20559d93 | |||
| 032d1fc1d8 | |||
| ccdfb39717 | |||
| b032f3e097 | |||
| ac6f53ea55 | |||
| e640e75da0 | |||
| d194657af7 | |||
| 9f2b315b7e | |||
| 13fc54a212 | |||
| 7e88c33f9f | |||
| 6c9a01daac | |||
| 9e913eba68 | |||
| 457436a63a | |||
| 1c187f0ce0 | |||
| 528a60a6e5 | |||
| a6c59ac28c | |||
| b298a77b20 | |||
| 10c32279a7 | |||
| 6ccabb24a0 | |||
| 86ae17e6c5 | |||
| cc8710a912 | |||
| 973dc7c1a0 | |||
| 7164e779b8 | |||
| 2b8a93615f | |||
| e3bd57ca0c | |||
| c6802fde68 | |||
| 6f93ac7e01 | |||
| 736d0d56f0 | |||
| b16cb3c9d4 | |||
| 7fd3c0c687 | |||
| 006959c434 | |||
| c102ec672f | |||
| 85b6b801ab | |||
| c393b36c02 | |||
| 3c460c0f6b | |||
| 49206991a7 | |||
| 2eb056e718 | |||
| b5ebe000f5 | |||
| 662fe76629 | |||
| 1611bbac5b | |||
| 7f3a387aad | |||
| dcbc9cf69c | |||
| ac3bea743b | |||
| 8c31f2f2b0 | |||
| f6456a7591 | |||
| be0e8f2071 | |||
| 10aac0320d | |||
| 55920d393e | |||
| 50f8746f09 | |||
| 7f1b423900 | |||
| 9e0be32c47 | |||
| f9e9c94c97 | |||
| eea13bc763 | |||
| 708ab26db8 | |||
| 87b105874f | |||
| 121754b56a | |||
| e1e5f7afb6 | |||
| 16ccecd428 | |||
| fab66a5b15 | |||
| fbe49868ba | |||
| a61477b6e4 | |||
| a1fd245202 | |||
| ef16a50ab6 | |||
| d75a27f872 | |||
| 0eff821e5d | |||
| d456cff4b4 | |||
| fdefc7bf0b | |||
| e4a53aa2f3 | |||
| 004f2b84fb | |||
| 004615b2c0 | |||
| 0eee3507d0 | |||
| 2cc9ea5caa | |||
| 8ace9a9b2b | |||
| 1a5bf5700c | |||
| f4bc3ff611 | |||
| 4968850cd3 | |||
| 9f22e28a48 | |||
| fb55106e45 | |||
| d24a8b5fb0 | |||
| 9102877489 | |||
| 3b756feb42 | |||
| 1675acea04 | |||
| 2a6c7c083c | |||
| c3c90d4279 | |||
| d37571e763 | |||
| 65d60161cd | |||
| a4d323318d | |||
| 69d3e816af | |||
| 0935f7194d | |||
| 9a1256f005 | |||
| 7b81f2c8c4 | |||
| 4cd448208b | |||
| 75ffa69afd | |||
| 10e2f19cfb | |||
| 849036f600 | |||
| a79d4eb809 | |||
| 0a98b27155 | |||
| d6fd0db12a | |||
| e958866c90 | |||
| 32dd45a5b5 | |||
| f880cb97f7 | |||
| f091ada367 | |||
| 5e44d2bcc1 | |||
| 1914acd916 | |||
| c7805991b9 | |||
| 32086ab76b | |||
| 374d4f4786 | |||
| 08706c955e | |||
| 340f948109 | |||
| 82c9385f28 | |||
| dae92a64a6 | |||
| 72fb35c2fa | |||
| 59cd5aa364 | |||
| b70cdaf5d5 | |||
| da93e0b336 | |||
| df3f7c9e48 | |||
| 4d9464f2fa | |||
| a9c0dac8e6 | |||
| b7fc1169a8 | |||
| cfb91488a1 | |||
| 67b0e323e7 | |||
| b68bddfadd | |||
| cea0a88980 | |||
| f01df005fa | |||
| 62db592f7d | |||
| 3c99564180 | |||
| 194919d411 | |||
| d1561c2802 | |||
| 7649bcf156 | |||
| 0d9a997bd5 | |||
| 66c97dabb1 | |||
| 84e0fec3a2 | |||
| 11fb50af9a | |||
| 76d1430ecb | |||
| 22848bcec4 | |||
| d2f948c8fa | |||
| 05aff4bbfb | |||
| 74b1a4dbcc | |||
| 8ad7b589ce | |||
| ff20cb7bc9 | |||
| 1c345127b4 | |||
| 71e54b8d72 | |||
| 13a8bbad1d | |||
| ec212902e9 | |||
| 6786ed6075 | |||
| c881f58cf4 | |||
| 586204dcba | |||
| da56f99ce6 | |||
| 57d2b1bf6a | |||
| 831ccd073c | |||
| c5269a587b | |||
| 71ce57d205 | |||
| d57107cfc1 | |||
| 68a3eb4218 | |||
| 514f140527 | |||
| 4bac50b676 | |||
| 884b86daa9 | |||
| 64365916bd | |||
| 77c0640ec0 | |||
| 96c80eb18c | |||
| 0cde9f5635 | |||
| 5e35dae02f | |||
| f321376990 | |||
| 86b86d4d68 | |||
| 35c629a339 | |||
| da0d5adcb9 | |||
| 2214387010 | |||
| 667ce69be8 | |||
| 57f4ed53f6 | |||
| deb884a1f0 | |||
| 0e5d878e30 | |||
| b266cbcadb | |||
| 91bca2b6b1 | |||
| a741662251 | |||
| 34f0493c51 | |||
| b538b6fcb3 | |||
| 9d18d975d0 | |||
| 43049bc229 | |||
| 19ca17b43a | |||
| 572046f418 | |||
| 24af473dd3 | |||
| 8a57c57ec4 | |||
| 50a5e7745f | |||
| 675e4d9ecd | |||
| 83c214af7d | |||
| bfa6af5749 | |||
| 6ab157504c | |||
| bb98ea5e46 | |||
| 2d104a54b5 | |||
| 3b0ff29bc8 | |||
| 4ade72a0ee | |||
| 6021b44a13 | |||
| eb92e8c0c5 | |||
| d98305908c | |||
| ae5ef99e3a | |||
| 2f592183e4 | |||
| 74291a258c | |||
| df8cd6a046 | |||
| 079fbbf154 | |||
| ba443629e6 | |||
| 2c07a69b90 | |||
| 0de551f1de | |||
| 2488ef0125 | |||
| aa2e764262 | |||
| 1202219e98 | |||
| 112597084c | |||
| 4f64404ffa | |||
| c39b53c721 | |||
| bd2e343601 | |||
| 85ee2b2549 | |||
| 154551aeaf | |||
| 7b10c3508a | |||
| 61c96629a1 | |||
| 8644075a09 | |||
| 81bfa75eec | |||
| de0dd4e36a | |||
| f9d7a63738 | |||
| 0ef6f8288f | |||
| 2f23e4dadb | |||
| 5cf5fac8f4 | |||
| 8e143db354 | |||
| 1237c9706e | |||
| 1add0b4cfe | |||
| 6920d6d9b0 | |||
| 27e92660f1 | |||
| 743e5ba410 | |||
| 8039b1c807 | |||
| 9ef84ba63a | |||
| 56e5ae6629 | |||
| 4443131516 | |||
| 365d7589b1 |
269
moneymgr_backend/Cargo.lock
generated
269
moneymgr_backend/Cargo.lock
generated
@@ -36,9 +36,9 @@ dependencies = [
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "actix-files"
|
name = "actix-files"
|
||||||
version = "0.6.6"
|
version = "0.6.10"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "0773d59061dedb49a8aed04c67291b9d8cf2fe0b60130a381aab53c6dd86e9be"
|
checksum = "df8c4f30e3272d7c345f88ae0aac3848507ef5ba871f9cc2a41c8085a0f0523b"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"actix-http",
|
"actix-http",
|
||||||
"actix-service",
|
"actix-service",
|
||||||
@@ -46,7 +46,7 @@ dependencies = [
|
|||||||
"actix-web",
|
"actix-web",
|
||||||
"bitflags",
|
"bitflags",
|
||||||
"bytes",
|
"bytes",
|
||||||
"derive_more 0.99.20",
|
"derive_more 2.0.1",
|
||||||
"futures-core",
|
"futures-core",
|
||||||
"http-range",
|
"http-range",
|
||||||
"log",
|
"log",
|
||||||
@@ -87,7 +87,7 @@ dependencies = [
|
|||||||
"mime",
|
"mime",
|
||||||
"percent-encoding",
|
"percent-encoding",
|
||||||
"pin-project-lite",
|
"pin-project-lite",
|
||||||
"rand 0.9.1",
|
"rand 0.9.2",
|
||||||
"sha1",
|
"sha1",
|
||||||
"smallvec",
|
"smallvec",
|
||||||
"tokio",
|
"tokio",
|
||||||
@@ -322,7 +322,18 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
|
|||||||
checksum = "b169f7a6d4742236a0a00c541b845991d0ac43e546831af1249753ab4c3aa3a0"
|
checksum = "b169f7a6d4742236a0a00c541b845991d0ac43e546831af1249753ab4c3aa3a0"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"cfg-if",
|
"cfg-if",
|
||||||
"cipher",
|
"cipher 0.4.4",
|
||||||
|
"cpufeatures",
|
||||||
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "aes"
|
||||||
|
version = "0.9.0-rc.2"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "fd9e1c818b25efb32214df89b0ec22f01aa397aaeb718d1022bf0635a3bfd1a8"
|
||||||
|
dependencies = [
|
||||||
|
"cfg-if",
|
||||||
|
"cipher 0.5.0-rc.5",
|
||||||
"cpufeatures",
|
"cpufeatures",
|
||||||
]
|
]
|
||||||
|
|
||||||
@@ -333,13 +344,23 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
|
|||||||
checksum = "831010a0f742e1209b3bcea8fab6a8e149051ba6099432c8cb2cc117dec3ead1"
|
checksum = "831010a0f742e1209b3bcea8fab6a8e149051ba6099432c8cb2cc117dec3ead1"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"aead",
|
"aead",
|
||||||
"aes",
|
"aes 0.8.4",
|
||||||
"cipher",
|
"cipher 0.4.4",
|
||||||
"ctr",
|
"ctr",
|
||||||
"ghash",
|
"ghash",
|
||||||
"subtle",
|
"subtle",
|
||||||
]
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "aes-keywrap"
|
||||||
|
version = "0.9.0"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "10b6f24a1f796bc46415a1d0d18dc0a8203ccba088acf5def3291c4f61225522"
|
||||||
|
dependencies = [
|
||||||
|
"aes 0.9.0-rc.2",
|
||||||
|
"byteorder",
|
||||||
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "aho-corasick"
|
name = "aho-corasick"
|
||||||
version = "1.1.3"
|
version = "1.1.3"
|
||||||
@@ -364,12 +385,6 @@ dependencies = [
|
|||||||
"alloc-no-stdlib",
|
"alloc-no-stdlib",
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
|
||||||
name = "android-tzdata"
|
|
||||||
version = "0.1.1"
|
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
||||||
checksum = "e999941b234f3131b00bc13c22d06e8c5ff726d1b6318ac7eb276997bbb4fef0"
|
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "android_system_properties"
|
name = "android_system_properties"
|
||||||
version = "0.1.5"
|
version = "0.1.5"
|
||||||
@@ -431,9 +446,9 @@ dependencies = [
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "anyhow"
|
name = "anyhow"
|
||||||
version = "1.0.98"
|
version = "1.0.101"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "e16d2d3311acee920a9eb8d33b8cbc1787ce4a264e85f964c2404b969bdcd487"
|
checksum = "5f0e0fee31ef5ed1ba1316088939cea399010ed7731dba877ed44aeb407a75ea"
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "arbitrary"
|
name = "arbitrary"
|
||||||
@@ -566,9 +581,9 @@ checksum = "89e25b6adfb930f02d1981565a6e5d9c547ac15a96606256d3b59040e5cd4ca3"
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "binstring"
|
name = "binstring"
|
||||||
version = "0.1.6"
|
version = "0.1.7"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "9a3a3c2603413428303761fae99d4b6d936404208221a44eba47d7c1e6dd03a3"
|
checksum = "0669d5a35b64fdb5ab7fb19cae13148b6b5cbdf4b8247faf54ece47f699c8cef"
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "bitflags"
|
name = "bitflags"
|
||||||
@@ -578,13 +593,13 @@ checksum = "1b8e56985ec62d17e9c1001dc89c88ecd7dc08e47eba5ec7c29c7b5eeecde967"
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "blake2b_simd"
|
name = "blake2b_simd"
|
||||||
version = "1.0.3"
|
version = "1.0.4"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "06e903a20b159e944f91ec8499fe1e55651480c541ea0a584f5d967c49ad9d99"
|
checksum = "b79834656f71332577234b50bfc009996f7449e0c056884e6a02492ded0ca2f3"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"arrayref",
|
"arrayref",
|
||||||
"arrayvec",
|
"arrayvec",
|
||||||
"constant_time_eq",
|
"constant_time_eq 0.4.2",
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
@@ -598,9 +613,9 @@ dependencies = [
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "block-buffer"
|
name = "block-buffer"
|
||||||
version = "0.11.0-rc.4"
|
version = "0.11.0"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "a229bfd78e4827c91b9b95784f69492c1b77c1ab75a45a8a037b139215086f94"
|
checksum = "96eb4cdd6cf1b31d671e9efe75c5d1ec614776856cefbe109ca373554a6d514f"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"hybrid-array",
|
"hybrid-array",
|
||||||
]
|
]
|
||||||
@@ -700,16 +715,15 @@ checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd"
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "chrono"
|
name = "chrono"
|
||||||
version = "0.4.41"
|
version = "0.4.43"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "c469d952047f47f91b68d1cba3f10d63c11d73e4636f24f08daf0278abf01c4d"
|
checksum = "fac4744fb15ae8337dc853fee7fb3f4e48c0fbaa23d0afe49c447b4fab126118"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"android-tzdata",
|
|
||||||
"iana-time-zone",
|
"iana-time-zone",
|
||||||
"js-sys",
|
"js-sys",
|
||||||
"num-traits",
|
"num-traits",
|
||||||
"wasm-bindgen",
|
"wasm-bindgen",
|
||||||
"windows-link",
|
"windows-link 0.2.0",
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
@@ -719,14 +733,24 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
|
|||||||
checksum = "773f3b9af64447d2ce9850330c473515014aa235e6a783b02db81ff39e4a3dad"
|
checksum = "773f3b9af64447d2ce9850330c473515014aa235e6a783b02db81ff39e4a3dad"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"crypto-common 0.1.6",
|
"crypto-common 0.1.6",
|
||||||
"inout",
|
"inout 0.1.4",
|
||||||
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "cipher"
|
||||||
|
version = "0.5.0-rc.5"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "b557bad79bc426785757001b5d732f323ae965363983d758295c1a1935496880"
|
||||||
|
dependencies = [
|
||||||
|
"crypto-common 0.2.0-rc.13",
|
||||||
|
"inout 0.2.2",
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "clap"
|
name = "clap"
|
||||||
version = "4.5.41"
|
version = "4.5.59"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "be92d32e80243a54711e5d7ce823c35c41c9d929dc4ab58e1276f625841aadf9"
|
checksum = "c5caf74d17c3aec5495110c34cc3f78644bfa89af6c8993ed4de2790e49b6499"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"clap_builder",
|
"clap_builder",
|
||||||
"clap_derive",
|
"clap_derive",
|
||||||
@@ -734,9 +758,9 @@ dependencies = [
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "clap_builder"
|
name = "clap_builder"
|
||||||
version = "4.5.41"
|
version = "4.5.59"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "707eab41e9622f9139419d573eca0900137718000c517d47da73045f54331c3d"
|
checksum = "370daa45065b80218950227371916a1633217ae42b2715b2287b606dcd618e24"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"anstream",
|
"anstream",
|
||||||
"anstyle",
|
"anstyle",
|
||||||
@@ -746,9 +770,9 @@ dependencies = [
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "clap_derive"
|
name = "clap_derive"
|
||||||
version = "4.5.41"
|
version = "4.5.55"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "ef4f52386a59ca4c860f7393bcf8abd8dfd91ecccc0f774635ff68e92eeef491"
|
checksum = "a92793da1a46a5f2a02a6f4c46c6496b28c43638adea8306fcb0caa1634f24e5"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"heck",
|
"heck",
|
||||||
"proc-macro2",
|
"proc-macro2",
|
||||||
@@ -758,15 +782,15 @@ dependencies = [
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "clap_lex"
|
name = "clap_lex"
|
||||||
version = "0.7.4"
|
version = "1.0.0"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "f46ad14479a25103f283c0f10005961cf086d8dc42205bb44c46ac563475dca6"
|
checksum = "3a822ea5bc7590f9d40f1ba12c0dc3c2760f3482c6984db1573ad11031420831"
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "coarsetime"
|
name = "coarsetime"
|
||||||
version = "0.1.36"
|
version = "0.1.37"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "91849686042de1b41cd81490edc83afbcb0abe5a9b6f2c4114f23ce8cca1bcf4"
|
checksum = "e58eb270476aa4fc7843849f8a35063e8743b4dbcdf6dd0f8ea0886980c204c2"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"libc",
|
"libc",
|
||||||
"wasix",
|
"wasix",
|
||||||
@@ -844,6 +868,12 @@ version = "0.3.1"
|
|||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "7c74b8349d32d297c9134b8c88677813a227df8f779daa29bfc29c183fe3dca6"
|
checksum = "7c74b8349d32d297c9134b8c88677813a227df8f779daa29bfc29c183fe3dca6"
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "constant_time_eq"
|
||||||
|
version = "0.4.2"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "3d52eff69cd5e647efe296129160853a42795992097e8af39800e1060caeea9b"
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "convert_case"
|
name = "convert_case"
|
||||||
version = "0.4.0"
|
version = "0.4.0"
|
||||||
@@ -948,18 +978,18 @@ dependencies = [
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "crypto-common"
|
name = "crypto-common"
|
||||||
version = "0.2.0-rc.3"
|
version = "0.2.0-rc.13"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "8a23fa214dea9efd4dacee5a5614646b30216ae0f05d4bb51bafb50e9da1c5be"
|
checksum = "c7722afd27468475c9b6063dc03a57ef2ca833816981619f8ebe64d38d207eef"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"hybrid-array",
|
"hybrid-array",
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "ct-codecs"
|
name = "ct-codecs"
|
||||||
version = "1.1.5"
|
version = "1.1.6"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "dd0d274c65cbc1c34703d2fc2ce0fb892ff68f4516b677671a2f238a30b9b2b2"
|
checksum = "9b10589d1a5e400d61f9f38f12f884cfd080ff345de8f17efda36fe0e4a02aa8"
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "ctr"
|
name = "ctr"
|
||||||
@@ -967,7 +997,7 @@ version = "0.9.2"
|
|||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "0369ee1ad671834580515889b80f2ea915f23b8be8d0daa4bbaf2ac5c7590835"
|
checksum = "0369ee1ad671834580515889b80f2ea915f23b8be8d0daa4bbaf2ac5c7590835"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"cipher",
|
"cipher 0.4.4",
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
@@ -1159,13 +1189,13 @@ dependencies = [
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "digest"
|
name = "digest"
|
||||||
version = "0.11.0-rc.0"
|
version = "0.11.0-rc.8"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "460dd7f37e4950526b54a5a6b1f41b6c8e763c58eb9a8fc8fc05ba5c2f44ca7b"
|
checksum = "2fc1408b7a9f59a7b933faff3e9e7fc15a05a524effd3b3d1601156944c8077f"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"block-buffer 0.11.0-rc.4",
|
"block-buffer 0.11.0",
|
||||||
"const-oid 0.10.1",
|
"const-oid 0.10.1",
|
||||||
"crypto-common 0.2.0-rc.3",
|
"crypto-common 0.2.0-rc.13",
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
@@ -1218,12 +1248,12 @@ dependencies = [
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "ed25519-compact"
|
name = "ed25519-compact"
|
||||||
version = "2.1.1"
|
version = "2.2.0"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "e9b3460f44bea8cd47f45a0c70892f1eff856d97cd55358b2f73f663789f6190"
|
checksum = "33ce99a9e19c84beb4cc35ece85374335ccc398240712114c85038319ed709bd"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"ct-codecs",
|
"ct-codecs",
|
||||||
"getrandom 0.2.16",
|
"getrandom 0.3.3",
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
@@ -1600,24 +1630,24 @@ dependencies = [
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "hmac-sha1-compact"
|
name = "hmac-sha1-compact"
|
||||||
version = "1.1.5"
|
version = "1.1.7"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "18492c9f6f9a560e0d346369b665ad2bdbc89fa9bceca75796584e79042694c3"
|
checksum = "b0b3ba31f6dc772cc8221ce81dbbbd64fa1e668255a6737d95eeace59b5a8823"
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "hmac-sha256"
|
name = "hmac-sha256"
|
||||||
version = "1.1.8"
|
version = "1.1.12"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "4a8575493d277c9092b988c780c94737fb9fd8651a1001e16bee3eccfc1baedb"
|
checksum = "ad6880c8d4a9ebf39c6e8b77007ce223f646a4d21ce29d99f70cb16420545425"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"digest 0.10.7",
|
"digest 0.10.7",
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "hmac-sha512"
|
name = "hmac-sha512"
|
||||||
version = "1.1.6"
|
version = "1.1.7"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "b0b3a0f572aa8389d325f5852b9e0a333a15b0f86ecccbb3fdb6e97cd86dc67c"
|
checksum = "e89e8d20b3799fa526152a5301a771eaaad80857f83e01b23216ceaafb2d9280"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"digest 0.10.7",
|
"digest 0.10.7",
|
||||||
]
|
]
|
||||||
@@ -1696,9 +1726,9 @@ checksum = "df3b46402a9d5adb4c86a0cf463f42e19994e3ee891101b1841f30a545cb49a9"
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "hybrid-array"
|
name = "hybrid-array"
|
||||||
version = "0.3.1"
|
version = "0.4.5"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "891d15931895091dea5c47afa5b3c9a01ba634b311919fd4d41388fa0e3d76af"
|
checksum = "f471e0a81b2f90ffc0cb2f951ae04da57de8baa46fa99112b062a5173a5088d0"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"typenum",
|
"typenum",
|
||||||
]
|
]
|
||||||
@@ -1938,6 +1968,15 @@ dependencies = [
|
|||||||
"generic-array",
|
"generic-array",
|
||||||
]
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "inout"
|
||||||
|
version = "0.2.2"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "4250ce6452e92010fdf7268ccc5d14faa80bb12fc741938534c58f16804e03c7"
|
||||||
|
dependencies = [
|
||||||
|
"hybrid-array",
|
||||||
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "ipnet"
|
name = "ipnet"
|
||||||
version = "2.11.0"
|
version = "2.11.0"
|
||||||
@@ -2005,9 +2044,9 @@ dependencies = [
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "jwt-simple"
|
name = "jwt-simple"
|
||||||
version = "0.12.12"
|
version = "0.12.14"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "731011e9647a71ff4f8474176ff6ce6e0d2de87a0173f15613af3a84c3e3401a"
|
checksum = "3991f54af4b009bb6efe01aa5a4fcce9ca52f3de7a104a3f6b6e2ad36c852c48"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"anyhow",
|
"anyhow",
|
||||||
"binstring",
|
"binstring",
|
||||||
@@ -2025,7 +2064,7 @@ dependencies = [
|
|||||||
"serde",
|
"serde",
|
||||||
"serde_json",
|
"serde_json",
|
||||||
"superboring",
|
"superboring",
|
||||||
"thiserror 2.0.12",
|
"thiserror 2.0.18",
|
||||||
"zeroize",
|
"zeroize",
|
||||||
]
|
]
|
||||||
|
|
||||||
@@ -2051,9 +2090,9 @@ checksum = "d4345964bb142484797b161f473a503a434de77149dd8c7427788c6e13379388"
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "lazy-regex"
|
name = "lazy-regex"
|
||||||
version = "3.4.1"
|
version = "3.4.2"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "60c7310b93682b36b98fa7ea4de998d3463ccbebd94d935d6b48ba5b6ffa7126"
|
checksum = "191898e17ddee19e60bccb3945aa02339e81edd4a8c50e21fd4d48cdecda7b29"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"lazy-regex-proc_macros",
|
"lazy-regex-proc_macros",
|
||||||
"once_cell",
|
"once_cell",
|
||||||
@@ -2062,9 +2101,9 @@ dependencies = [
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "lazy-regex-proc_macros"
|
name = "lazy-regex-proc_macros"
|
||||||
version = "3.4.1"
|
version = "3.4.2"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "4ba01db5ef81e17eb10a5e0f2109d1b3a3e29bac3070fdbd7d156bf7dbd206a1"
|
checksum = "c35dc8b0da83d1a9507e12122c80dea71a9c7c613014347392483a83ea593e04"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"proc-macro2",
|
"proc-macro2",
|
||||||
"quote",
|
"quote",
|
||||||
@@ -2157,9 +2196,9 @@ dependencies = [
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "log"
|
name = "log"
|
||||||
version = "0.4.27"
|
version = "0.4.29"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "13dc2df351e3202783a1fe0d44375f7295ffb4049267b0f3018346dc122a1d94"
|
checksum = "5e5032e24019045c762d3c0f28f5b6b8bbf38563a65908389bf7978758920897"
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "lzma-rs"
|
name = "lzma-rs"
|
||||||
@@ -2298,15 +2337,15 @@ dependencies = [
|
|||||||
"light-openid",
|
"light-openid",
|
||||||
"log",
|
"log",
|
||||||
"mime_guess",
|
"mime_guess",
|
||||||
"rand 0.9.1",
|
"rand 0.9.2",
|
||||||
"rust-embed",
|
"rust-embed",
|
||||||
"rust-s3",
|
"rust-s3",
|
||||||
"rust_xlsxwriter",
|
"rust_xlsxwriter",
|
||||||
"serde",
|
"serde",
|
||||||
"serde_json",
|
"serde_json",
|
||||||
"sha2 0.11.0-rc.0",
|
"sha2 0.11.0-rc.4",
|
||||||
"tempfile",
|
"tempfile",
|
||||||
"thiserror 2.0.12",
|
"thiserror 2.0.18",
|
||||||
"tokio",
|
"tokio",
|
||||||
"zip",
|
"zip",
|
||||||
]
|
]
|
||||||
@@ -2340,11 +2379,10 @@ dependencies = [
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "num-bigint-dig"
|
name = "num-bigint-dig"
|
||||||
version = "0.8.4"
|
version = "0.8.6"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "dc84195820f291c7697304f3cbdadd1cb7199c0efc917ff5eafd71225c136151"
|
checksum = "e661dda6640fad38e827a6d4a310ff4763082116fe217f279885c97f511bb0b7"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"byteorder",
|
|
||||||
"lazy_static",
|
"lazy_static",
|
||||||
"libm",
|
"libm",
|
||||||
"num-integer",
|
"num-integer",
|
||||||
@@ -2741,9 +2779,9 @@ dependencies = [
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "rand"
|
name = "rand"
|
||||||
version = "0.9.1"
|
version = "0.9.2"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "9fbfd9d094a40bf3ae768db9361049ace4c0e04a4fd6b359518bd7b73a73dd97"
|
checksum = "6db2770f06117d490610c7488547d543617b21bfa07796d7a12f6f1bd53850d1"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"rand_chacha 0.9.0",
|
"rand_chacha 0.9.0",
|
||||||
"rand_core 0.9.3",
|
"rand_core 0.9.3",
|
||||||
@@ -2926,9 +2964,9 @@ dependencies = [
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "rsa"
|
name = "rsa"
|
||||||
version = "0.9.8"
|
version = "0.9.10"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "78928ac1ed176a5ca1d17e578a1825f3d81ca54cf41053a592584b020cfd691b"
|
checksum = "b8573f03f5883dcaebdfcf4725caa1ecb9c15b2ef50c43a07b816e06799bb12d"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"const-oid 0.9.6",
|
"const-oid 0.9.6",
|
||||||
"digest 0.10.7",
|
"digest 0.10.7",
|
||||||
@@ -3212,18 +3250,28 @@ checksum = "56e6fa9c48d24d85fb3de5ad847117517440f6beceb7798af16b4a87d616b8d0"
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "serde"
|
name = "serde"
|
||||||
version = "1.0.219"
|
version = "1.0.228"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "5f0e2c6ed6606019b4e29e69dbaba95b11854410e5347d525002456dbbb786b6"
|
checksum = "9a8e94ea7f378bd32cbbd37198a4a91436180c5bb472411e48b5ec2e2124ae9e"
|
||||||
|
dependencies = [
|
||||||
|
"serde_core",
|
||||||
|
"serde_derive",
|
||||||
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "serde_core"
|
||||||
|
version = "1.0.228"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "41d385c7d4ca58e59fc732af25c3983b67ac852c1a25000afe1175de458b67ad"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"serde_derive",
|
"serde_derive",
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "serde_derive"
|
name = "serde_derive"
|
||||||
version = "1.0.219"
|
version = "1.0.228"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "5b0276cf7f2c73365f7157c8123c21cd9a50fbbd844757af28ca1f5925fc2a00"
|
checksum = "d540f220d3187173da220f885ab66608367b6574e925011a9353e4badda91d79"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"proc-macro2",
|
"proc-macro2",
|
||||||
"quote",
|
"quote",
|
||||||
@@ -3232,14 +3280,15 @@ dependencies = [
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "serde_json"
|
name = "serde_json"
|
||||||
version = "1.0.141"
|
version = "1.0.149"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "30b9eff21ebe718216c6ec64e1d9ac57087aad11efc64e32002bce4a0d4c03d3"
|
checksum = "83fc039473c5595ace860d8c4fafa220ff474b3fc6bfdb4293327f1a37e94d86"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"itoa",
|
"itoa",
|
||||||
"memchr",
|
"memchr",
|
||||||
"ryu",
|
|
||||||
"serde",
|
"serde",
|
||||||
|
"serde_core",
|
||||||
|
"zmij",
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
@@ -3296,13 +3345,13 @@ dependencies = [
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "sha2"
|
name = "sha2"
|
||||||
version = "0.11.0-rc.0"
|
version = "0.11.0-rc.4"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "aa1d2e6b3cc4e43a8258a9a3b17aa5dfd2cc5186c7024bba8a64aa65b2c71a59"
|
checksum = "7535f94fa3339fe9e5e9be6260a909e62af97f6e14b32345ccf79b92b8b81233"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"cfg-if",
|
"cfg-if",
|
||||||
"cpufeatures",
|
"cpufeatures",
|
||||||
"digest 0.11.0-rc.0",
|
"digest 0.11.0-rc.8",
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
@@ -3403,10 +3452,12 @@ checksum = "13c2bddecc57b384dee18652358fb23172facb8a2c51ccc10d74c157bdea3292"
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "superboring"
|
name = "superboring"
|
||||||
version = "0.1.4"
|
version = "0.1.6"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "515cce34a781d7250b8a65706e0f2a5b99236ea605cb235d4baed6685820478f"
|
checksum = "10d8c985e81c88f5694d5dfc232691b2aa34f3e1f66e860db9cd1ddf2bb6dc64"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
|
"aes-gcm",
|
||||||
|
"aes-keywrap",
|
||||||
"getrandom 0.2.16",
|
"getrandom 0.2.16",
|
||||||
"hmac-sha256",
|
"hmac-sha256",
|
||||||
"hmac-sha512",
|
"hmac-sha512",
|
||||||
@@ -3490,11 +3541,11 @@ dependencies = [
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "thiserror"
|
name = "thiserror"
|
||||||
version = "2.0.12"
|
version = "2.0.18"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "567b8a2dae586314f7be2a752ec7474332959c6460e02bde30d702a66d488708"
|
checksum = "4288b5bcbc7920c07a1149a35cf9590a2aa808e0bc1eafaade0b80947865fbc4"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"thiserror-impl 2.0.12",
|
"thiserror-impl 2.0.18",
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
@@ -3510,9 +3561,9 @@ dependencies = [
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "thiserror-impl"
|
name = "thiserror-impl"
|
||||||
version = "2.0.12"
|
version = "2.0.18"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "7f7cf42b4507d8ea322120659672cf1b9dbb93f8f2d4ecfd6e51350ff5b17a1d"
|
checksum = "ebc4ee7f67670e9b64d05fa4253e753e016c6c95ff35b89b7941d6b856dec1d5"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"proc-macro2",
|
"proc-macro2",
|
||||||
"quote",
|
"quote",
|
||||||
@@ -3876,9 +3927,9 @@ dependencies = [
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "wasix"
|
name = "wasix"
|
||||||
version = "0.12.21"
|
version = "0.13.1"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "c1fbb4ef9bbca0c1170e0b00dd28abc9e3b68669821600cad1caaed606583c6d"
|
checksum = "1757e0d1f8456693c7e5c6c629bdb54884e032aa0bb53c155f6a39f94440d332"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"wasi 0.11.0+wasi-snapshot-preview1",
|
"wasi 0.11.0+wasi-snapshot-preview1",
|
||||||
]
|
]
|
||||||
@@ -3994,7 +4045,7 @@ checksum = "46ec44dc15085cea82cf9c78f85a9114c463a369786585ad2882d1ff0b0acf40"
|
|||||||
dependencies = [
|
dependencies = [
|
||||||
"windows-implement",
|
"windows-implement",
|
||||||
"windows-interface",
|
"windows-interface",
|
||||||
"windows-link",
|
"windows-link 0.1.1",
|
||||||
"windows-result",
|
"windows-result",
|
||||||
"windows-strings 0.4.1",
|
"windows-strings 0.4.1",
|
||||||
]
|
]
|
||||||
@@ -4027,6 +4078,12 @@ version = "0.1.1"
|
|||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "76840935b766e1b0a05c0066835fb9ec80071d4c09a16f6bd5f7e655e3c14c38"
|
checksum = "76840935b766e1b0a05c0066835fb9ec80071d4c09a16f6bd5f7e655e3c14c38"
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "windows-link"
|
||||||
|
version = "0.2.0"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "45e46c0661abb7180e7b9c281db115305d49ca1709ab8242adf09666d2173c65"
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "windows-registry"
|
name = "windows-registry"
|
||||||
version = "0.4.0"
|
version = "0.4.0"
|
||||||
@@ -4044,7 +4101,7 @@ version = "0.3.3"
|
|||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "4b895b5356fc36103d0f64dd1e94dfa7ac5633f1c9dd6e80fe9ec4adef69e09d"
|
checksum = "4b895b5356fc36103d0f64dd1e94dfa7ac5633f1c9dd6e80fe9ec4adef69e09d"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"windows-link",
|
"windows-link 0.1.1",
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
@@ -4053,7 +4110,7 @@ version = "0.3.1"
|
|||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "87fa48cc5d406560701792be122a10132491cff9d0aeb23583cc2dcafc847319"
|
checksum = "87fa48cc5d406560701792be122a10132491cff9d0aeb23583cc2dcafc847319"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"windows-link",
|
"windows-link 0.1.1",
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
@@ -4062,7 +4119,7 @@ version = "0.4.1"
|
|||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "2a7ab927b2637c19b3dbe0965e75d8f2d30bdd697a1516191cad2ec4df8fb28a"
|
checksum = "2a7ab927b2637c19b3dbe0965e75d8f2d30bdd697a1516191cad2ec4df8fb28a"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"windows-link",
|
"windows-link 0.1.1",
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
@@ -4311,9 +4368,9 @@ dependencies = [
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "zeroize"
|
name = "zeroize"
|
||||||
version = "1.8.1"
|
version = "1.8.2"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "ced3678a2879b30306d323f4542626697a464a97c0a07c9aebf7ebca65cd4dde"
|
checksum = "b97154e67e32c85465826e8bcc1c59429aaaf107c1e4a9e53c8d8ccd5eff88d0"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"zeroize_derive",
|
"zeroize_derive",
|
||||||
]
|
]
|
||||||
@@ -4368,10 +4425,10 @@ version = "3.0.0"
|
|||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "12598812502ed0105f607f941c386f43d441e00148fce9dec3ca5ffb0bde9308"
|
checksum = "12598812502ed0105f607f941c386f43d441e00148fce9dec3ca5ffb0bde9308"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"aes",
|
"aes 0.8.4",
|
||||||
"arbitrary",
|
"arbitrary",
|
||||||
"bzip2",
|
"bzip2",
|
||||||
"constant_time_eq",
|
"constant_time_eq 0.3.1",
|
||||||
"crc32fast",
|
"crc32fast",
|
||||||
"deflate64",
|
"deflate64",
|
||||||
"flate2",
|
"flate2",
|
||||||
@@ -4395,6 +4452,12 @@ version = "0.5.0"
|
|||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "868b928d7949e09af2f6086dfc1e01936064cc7a819253bce650d4e2a2d63ba8"
|
checksum = "868b928d7949e09af2f6086dfc1e01936064cc7a819253bce650d4e2a2d63ba8"
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "zmij"
|
||||||
|
version = "1.0.2"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "0f4a4e8e9dc5c62d159f04fcdbe07f4c3fb710415aab4754bf11505501e3251d"
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "zopfli"
|
name = "zopfli"
|
||||||
version = "0.8.2"
|
version = "0.8.2"
|
||||||
|
|||||||
@@ -5,35 +5,35 @@ edition = "2024"
|
|||||||
|
|
||||||
[dependencies]
|
[dependencies]
|
||||||
env_logger = "0.11.8"
|
env_logger = "0.11.8"
|
||||||
log = "0.4.27"
|
log = "0.4.29"
|
||||||
diesel = { version = "2.2.12", features = ["postgres", "r2d2"] }
|
diesel = { version = "2.2.12", features = ["postgres", "r2d2"] }
|
||||||
diesel_migrations = "2.2.0"
|
diesel_migrations = "2.2.0"
|
||||||
clap = { version = "4.5.41", features = ["env", "derive"] }
|
clap = { version = "4.5.59", features = ["env", "derive"] }
|
||||||
actix-web = "4.11.0"
|
actix-web = "4.11.0"
|
||||||
actix-cors = "0.7.1"
|
actix-cors = "0.7.1"
|
||||||
actix-multipart = "0.7.2"
|
actix-multipart = "0.7.2"
|
||||||
actix-remote-ip = "0.1.0"
|
actix-remote-ip = "0.1.0"
|
||||||
actix-session = { version = "0.10.1", features = ["redis-session"] }
|
actix-session = { version = "0.10.1", features = ["redis-session"] }
|
||||||
actix-files = "0.6.6"
|
actix-files = "0.6.10"
|
||||||
lazy_static = "1.5.0"
|
lazy_static = "1.5.0"
|
||||||
anyhow = "1.0.98"
|
anyhow = "1.0.101"
|
||||||
serde = { version = "1.0.219", features = ["derive"] }
|
serde = { version = "1.0.228", features = ["derive"] }
|
||||||
rust-s3 = "0.36.0-beta.2"
|
rust-s3 = "0.36.0-beta.2"
|
||||||
thiserror = "2.0.12"
|
thiserror = "2.0.18"
|
||||||
tokio = "1.45.1"
|
tokio = "1.45.1"
|
||||||
futures-util = "0.3.31"
|
futures-util = "0.3.31"
|
||||||
serde_json = "1.0.141"
|
serde_json = "1.0.149"
|
||||||
light-openid = "1.0.4"
|
light-openid = "1.0.4"
|
||||||
rand = "0.9.1"
|
rand = "0.9.2"
|
||||||
ipnet = { version = "2.11.0", features = ["serde"] }
|
ipnet = { version = "2.11.0", features = ["serde"] }
|
||||||
lazy-regex = "3.4.1"
|
lazy-regex = "3.4.2"
|
||||||
jwt-simple = { version = "0.12.12", default-features = false, features = ["pure-rust"] }
|
jwt-simple = { version = "0.12.14", default-features = false, features = ["pure-rust"] }
|
||||||
mime_guess = "2.0.5"
|
mime_guess = "2.0.5"
|
||||||
rust-embed = { version = "8.7.2" }
|
rust-embed = { version = "8.7.2" }
|
||||||
sha2 = "0.11.0-rc.0"
|
sha2 = "0.11.0-rc.4"
|
||||||
base16ct = "0.2.0"
|
base16ct = "0.2.0"
|
||||||
httpdate = "1.0.3"
|
httpdate = "1.0.3"
|
||||||
chrono = "0.4.41"
|
chrono = "0.4.43"
|
||||||
tempfile = "3.20.0"
|
tempfile = "3.20.0"
|
||||||
zip = "3.0.0"
|
zip = "3.0.0"
|
||||||
rust_xlsxwriter = "0.87.0"
|
rust_xlsxwriter = "0.87.0"
|
||||||
@@ -22,14 +22,10 @@ pub struct AppConfig {
|
|||||||
#[clap(short = 'S', long, env, default_value = "")]
|
#[clap(short = 'S', long, env, default_value = "")]
|
||||||
secret: String,
|
secret: String,
|
||||||
|
|
||||||
/// Specify whether the cookie should be transmitted only over secure connections
|
|
||||||
#[clap(long, env)]
|
|
||||||
pub cookie_secure: bool,
|
|
||||||
|
|
||||||
/// Unsecure : for development, bypass authentication, using the account with the given
|
/// Unsecure : for development, bypass authentication, using the account with the given
|
||||||
/// email address by default
|
/// email address by default
|
||||||
#[clap(long, env)]
|
#[clap(long, env)]
|
||||||
pub unsecure_auto_login_email: Option<String>,
|
unsecure_auto_login_email: Option<String>,
|
||||||
|
|
||||||
/// PostgreSQL database host
|
/// PostgreSQL database host
|
||||||
#[clap(long, env, default_value = "localhost")]
|
#[clap(long, env, default_value = "localhost")]
|
||||||
@@ -126,6 +122,14 @@ pub struct AppConfig {
|
|||||||
/// Redis password
|
/// Redis password
|
||||||
#[clap(long, env, default_value = "secretredis")]
|
#[clap(long, env, default_value = "secretredis")]
|
||||||
redis_password: String,
|
redis_password: String,
|
||||||
|
|
||||||
|
/// Application download URL
|
||||||
|
#[clap(
|
||||||
|
long,
|
||||||
|
env,
|
||||||
|
default_value = "https://gitea.communiquons.org/pierre/MoneyMgr/releases/download/latest/moneymgr_mobile_arm64-v8a.apk"
|
||||||
|
)]
|
||||||
|
pub apk_download_url: String,
|
||||||
}
|
}
|
||||||
|
|
||||||
lazy_static::lazy_static! {
|
lazy_static::lazy_static! {
|
||||||
@@ -140,26 +144,17 @@ impl AppConfig {
|
|||||||
&ARGS
|
&ARGS
|
||||||
}
|
}
|
||||||
|
|
||||||
/// Check if auth is disabled
|
/// Get auto login email (if not empty)
|
||||||
pub fn is_auth_disabled(&self) -> bool {
|
pub fn unsecure_auto_login_email(&self) -> Option<&str> {
|
||||||
self.unsecure_auto_login_email.is_some()
|
match self.unsecure_auto_login_email.as_deref() {
|
||||||
|
None | Some("") => None,
|
||||||
|
s => s,
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/// Get auth cookie domain
|
/// Check if auth is disabled
|
||||||
pub fn cookie_domain(&self) -> Option<String> {
|
pub fn is_auth_disabled(&self) -> bool {
|
||||||
if cfg!(debug_assertions) {
|
self.unsecure_auto_login_email().is_some()
|
||||||
let domain = self.website_origin.split_once("://")?.1;
|
|
||||||
Some(
|
|
||||||
domain
|
|
||||||
.split_once(':')
|
|
||||||
.map(|s| s.0)
|
|
||||||
.unwrap_or(domain)
|
|
||||||
.to_string(),
|
|
||||||
)
|
|
||||||
} else {
|
|
||||||
// In release mode, the web app is hosted on the same origin as the API
|
|
||||||
None
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/// Get app secret
|
/// Get app secret
|
||||||
|
|||||||
@@ -63,21 +63,20 @@ pub async fn download(
|
|||||||
pub async fn serve_file(req: HttpRequest, file: &File, download_file: bool) -> HttpResult {
|
pub async fn serve_file(req: HttpRequest, file: &File, download_file: bool) -> HttpResult {
|
||||||
if !download_file {
|
if !download_file {
|
||||||
// Check if the browser already knows the etag
|
// Check if the browser already knows the etag
|
||||||
if let Some(c) = req.headers().get(header::IF_NONE_MATCH) {
|
if let Some(c) = req.headers().get(header::IF_NONE_MATCH)
|
||||||
if c.to_str().unwrap_or("") == file.sha512.as_str() {
|
&& c.to_str().unwrap_or("") == file.sha512.as_str()
|
||||||
return Ok(HttpResponse::NotModified().finish());
|
{
|
||||||
}
|
return Ok(HttpResponse::NotModified().finish());
|
||||||
}
|
}
|
||||||
|
|
||||||
// Check if the browser already knows the file by date
|
// Check if the browser already knows the file by date
|
||||||
if let Some(c) = req.headers().get(header::IF_MODIFIED_SINCE) {
|
if let Some(c) = req.headers().get(header::IF_MODIFIED_SINCE) {
|
||||||
let date_str = c.to_str().unwrap_or("");
|
let date_str = c.to_str().unwrap_or("");
|
||||||
if let Ok(date) = httpdate::parse_http_date(date_str) {
|
if let Ok(date) = httpdate::parse_http_date(date_str)
|
||||||
if date.add(Duration::from_secs(1))
|
&& date.add(Duration::from_secs(1))
|
||||||
>= time_utils::unix_to_system_time(file.time_create as u64)
|
>= time_utils::unix_to_system_time(file.time_create as u64)
|
||||||
{
|
{
|
||||||
return Ok(HttpResponse::NotModified().finish());
|
return Ok(HttpResponse::NotModified().finish());
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -64,10 +64,10 @@ pub async fn get_list_of_account(
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
if let Some(limit) = query.limit {
|
if let Some(limit) = query.limit
|
||||||
if list.len() > limit {
|
&& list.len() > limit
|
||||||
list = list[..limit].to_vec();
|
{
|
||||||
}
|
list = list[..limit].to_vec();
|
||||||
}
|
}
|
||||||
|
|
||||||
Ok(HttpResponse::Ok().json(list))
|
Ok(HttpResponse::Ok().json(list))
|
||||||
|
|||||||
@@ -70,6 +70,7 @@ impl Default for ServerConstraints {
|
|||||||
struct ServerConfig {
|
struct ServerConfig {
|
||||||
auth_disabled: bool,
|
auth_disabled: bool,
|
||||||
oidc_provider_name: &'static str,
|
oidc_provider_name: &'static str,
|
||||||
|
apk_download_url: &'static str,
|
||||||
accounts_types: &'static [AccountTypeDesc],
|
accounts_types: &'static [AccountTypeDesc],
|
||||||
constraints: ServerConstraints,
|
constraints: ServerConstraints,
|
||||||
}
|
}
|
||||||
@@ -79,6 +80,7 @@ impl Default for ServerConfig {
|
|||||||
Self {
|
Self {
|
||||||
auth_disabled: AppConfig::get().is_auth_disabled(),
|
auth_disabled: AppConfig::get().is_auth_disabled(),
|
||||||
oidc_provider_name: AppConfig::get().openid_provider().name,
|
oidc_provider_name: AppConfig::get().openid_provider().name,
|
||||||
|
apk_download_url: AppConfig::get().apk_download_url.as_str(),
|
||||||
constraints: Default::default(),
|
constraints: Default::default(),
|
||||||
accounts_types: &ACCOUNT_TYPES,
|
accounts_types: &ACCOUNT_TYPES,
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -120,16 +120,16 @@ impl FromRequest for AuthExtractor {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Check IP restriction
|
// Check IP restriction
|
||||||
if let Some(net) = token.ip_net() {
|
if let Some(net) = token.ip_net()
|
||||||
if !net.contains(&remote_ip.0) {
|
&& !net.contains(&remote_ip.0)
|
||||||
log::error!(
|
{
|
||||||
"Trying to use token {:?} from unauthorized IP address: {remote_ip:?}",
|
log::error!(
|
||||||
token.id()
|
"Trying to use token {:?} from unauthorized IP address: {remote_ip:?}",
|
||||||
);
|
token.id()
|
||||||
return Err(actix_web::error::ErrorForbidden(
|
);
|
||||||
"This token cannot be used from this IP address!",
|
return Err(actix_web::error::ErrorForbidden(
|
||||||
));
|
"This token cannot be used from this IP address!",
|
||||||
}
|
));
|
||||||
}
|
}
|
||||||
|
|
||||||
// Check for write access
|
// Check for write access
|
||||||
@@ -163,10 +163,10 @@ impl FromRequest for AuthExtractor {
|
|||||||
};
|
};
|
||||||
|
|
||||||
// Update last use (if needed)
|
// Update last use (if needed)
|
||||||
if token.shall_update_time_used() {
|
if token.shall_update_time_used()
|
||||||
if let Err(e) = tokens_service::update_time_used(&token).await {
|
&& let Err(e) = tokens_service::update_time_used(&token).await
|
||||||
log::error!("Failed to refresh last usage of token! {e}");
|
{
|
||||||
}
|
log::error!("Failed to refresh last usage of token! {e}");
|
||||||
}
|
}
|
||||||
|
|
||||||
// Handle tokens expiration
|
// Handle tokens expiration
|
||||||
@@ -182,7 +182,7 @@ impl FromRequest for AuthExtractor {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Check if login is hard-coded as program argument
|
// Check if login is hard-coded as program argument
|
||||||
if let Some(email) = &AppConfig::get().unsecure_auto_login_email {
|
if let Some(email) = &AppConfig::get().unsecure_auto_login_email() {
|
||||||
let user = users_service::get_user_by_email(email).map_err(|e| {
|
let user = users_service::get_user_by_email(email).map_err(|e| {
|
||||||
log::error!("Failed to retrieve dev user: {e}");
|
log::error!("Failed to retrieve dev user: {e}");
|
||||||
ErrorPreconditionFailed("Unable to retrieve dev user!")
|
ErrorPreconditionFailed("Unable to retrieve dev user!")
|
||||||
|
|||||||
@@ -38,7 +38,7 @@ async fn main() -> std::io::Result<()> {
|
|||||||
db_connection::initialize_conn().expect("Failed to connect to PostgresSQL database!");
|
db_connection::initialize_conn().expect("Failed to connect to PostgresSQL database!");
|
||||||
|
|
||||||
// Auto create default account, if requested
|
// Auto create default account, if requested
|
||||||
if let Some(mail) = &AppConfig::get().unsecure_auto_login_email {
|
if let Some(mail) = &AppConfig::get().unsecure_auto_login_email() {
|
||||||
users_service::create_or_update_user(mail, "Anonymous")
|
users_service::create_or_update_user(mail, "Anonymous")
|
||||||
.await
|
.await
|
||||||
.expect("Failed to create default account!");
|
.expect("Failed to create default account!");
|
||||||
|
|||||||
@@ -23,10 +23,10 @@ impl UpdateInboxEntryQuery {
|
|||||||
let constraints = ServerConstraints::default();
|
let constraints = ServerConstraints::default();
|
||||||
|
|
||||||
// Check inbox entry label
|
// Check inbox entry label
|
||||||
if let Some(label) = &self.label {
|
if let Some(label) = &self.label
|
||||||
if !constraints.inbox_entry_label.check_str(label) {
|
&& !constraints.inbox_entry_label.check_str(label)
|
||||||
return Ok(Some("Invalid inbox entry label length!"));
|
{
|
||||||
}
|
return Ok(Some("Invalid inbox entry label length!"));
|
||||||
}
|
}
|
||||||
|
|
||||||
// Check the referenced movement
|
// Check the referenced movement
|
||||||
|
|||||||
@@ -55,12 +55,11 @@ impl UpdateMovementQuery {
|
|||||||
if let Ok(movement) =
|
if let Ok(movement) =
|
||||||
get_by_account_label_amount_time(self.account_id, &self.label, self.amount, self.time)
|
get_by_account_label_amount_time(self.account_id, &self.label, self.amount, self.time)
|
||||||
.await
|
.await
|
||||||
|
&& Some(movement.id()) != ref_movement
|
||||||
{
|
{
|
||||||
if Some(movement.id()) != ref_movement {
|
return Ok(Some(
|
||||||
return Ok(Some(
|
"A movement taken at the same time with the same label and the same amount already exists!",
|
||||||
"A movement taken at the same time with the same label and the same amount already exists!",
|
));
|
||||||
));
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
Ok(None)
|
Ok(None)
|
||||||
|
|||||||
@@ -1,8 +1,10 @@
|
|||||||
import 'dart:typed_data';
|
import 'dart:typed_data';
|
||||||
|
|
||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
|
import 'package:go_router/go_router.dart';
|
||||||
import 'package:hooks_riverpod/hooks_riverpod.dart';
|
import 'package:hooks_riverpod/hooks_riverpod.dart';
|
||||||
import 'package:logging/logging.dart';
|
import 'package:logging/logging.dart';
|
||||||
|
import 'package:moneymgr_mobile/services/router/routes_list.dart';
|
||||||
import 'package:moneymgr_mobile/services/storage/expenses.dart';
|
import 'package:moneymgr_mobile/services/storage/expenses.dart';
|
||||||
import 'package:moneymgr_mobile/services/storage/prefs.dart';
|
import 'package:moneymgr_mobile/services/storage/prefs.dart';
|
||||||
import 'package:moneymgr_mobile/utils/ocr_utils.dart';
|
import 'package:moneymgr_mobile/utils/ocr_utils.dart';
|
||||||
@@ -36,8 +38,8 @@ class ScanScreen extends HookConsumerWidget {
|
|||||||
|
|
||||||
restartScan() async {
|
restartScan() async {
|
||||||
try {
|
try {
|
||||||
final val = ref.refresh(_scanDocumentProvider);
|
ref.invalidate(_scanDocumentProvider);
|
||||||
Logger.root.info("Load again startup result: $val");
|
Logger.root.info("Load again startup");
|
||||||
} catch (e, s) {
|
} catch (e, s) {
|
||||||
Logger.root.shout("Failed to try again startup loading! $e $s");
|
Logger.root.shout("Failed to try again startup loading! $e $s");
|
||||||
}
|
}
|
||||||
@@ -55,7 +57,9 @@ class ScanScreen extends HookConsumerWidget {
|
|||||||
fileContent: value.$1!,
|
fileContent: value.$1!,
|
||||||
fileMimeType: "application/pdf",
|
fileMimeType: "application/pdf",
|
||||||
);
|
);
|
||||||
restartScan();
|
if (context.mounted) {
|
||||||
|
context.pushReplacement(scansPage);
|
||||||
|
}
|
||||||
},
|
},
|
||||||
onRescan: restartScan,
|
onRescan: restartScan,
|
||||||
),
|
),
|
||||||
|
|||||||
@@ -40,6 +40,15 @@ class ExpenseEditor extends HookConsumerWidget {
|
|||||||
|
|
||||||
final (:pending, :snapshot, :hasError) = useAsyncTask();
|
final (:pending, :snapshot, :hasError) = useAsyncTask();
|
||||||
|
|
||||||
|
// Force refresh of field if required
|
||||||
|
final previousData = useState<BaseExpenseInfo?>(null);
|
||||||
|
if (initialData != previousData.value) {
|
||||||
|
previousData.value = initialData;
|
||||||
|
labelController.text = initialData?.label ?? "";
|
||||||
|
costController.text = initialData?.cost.toString() ?? "";
|
||||||
|
timeController.value = initialData?.time ?? DateTime.now();
|
||||||
|
}
|
||||||
|
|
||||||
// Clear cost value
|
// Clear cost value
|
||||||
handleClearCost() {
|
handleClearCost() {
|
||||||
costController.text = "";
|
costController.text = "";
|
||||||
|
|||||||
@@ -36,20 +36,20 @@ dependencies:
|
|||||||
cupertino_icons: ^1.0.8
|
cupertino_icons: ^1.0.8
|
||||||
|
|
||||||
# Preferences management
|
# Preferences management
|
||||||
shared_preferences: ^2.5.3
|
shared_preferences: 2.5.4
|
||||||
|
|
||||||
# Credentials storage
|
# Credentials storage
|
||||||
flutter_secure_storage: ^9.2.4
|
flutter_secure_storage: ^9.2.4
|
||||||
|
|
||||||
# Splash screen
|
# Splash screen
|
||||||
flutter_native_splash: ^2.4.6
|
flutter_native_splash: ^2.4.7
|
||||||
|
|
||||||
# A reactive caching and data-binding framework.
|
# A reactive caching and data-binding framework.
|
||||||
hooks_riverpod: ^2.6.1
|
hooks_riverpod: ^2.6.1
|
||||||
riverpod_annotation: ^2.6.1
|
riverpod_annotation: ^2.6.1
|
||||||
|
|
||||||
# Implement React hooks in Flutter
|
# Implement React hooks in Flutter
|
||||||
flutter_hooks: ^0.21.2
|
flutter_hooks: ^0.21.3+1
|
||||||
|
|
||||||
# Router
|
# Router
|
||||||
go_router: ^16.0.0
|
go_router: ^16.0.0
|
||||||
@@ -68,10 +68,10 @@ dependencies:
|
|||||||
logging: ^1.3.0
|
logging: ^1.3.0
|
||||||
|
|
||||||
# API authentication
|
# API authentication
|
||||||
dart_jsonwebtoken: ^3.2.0
|
dart_jsonwebtoken: 3.3.1
|
||||||
|
|
||||||
# API requests
|
# API requests
|
||||||
dio: ^5.8.0+1
|
dio: 5.9.1
|
||||||
http_parser: ^4.1.2
|
http_parser: ^4.1.2
|
||||||
|
|
||||||
# Qr Code library
|
# Qr Code library
|
||||||
@@ -84,7 +84,7 @@ dependencies:
|
|||||||
# Document scanner
|
# Document scanner
|
||||||
# flutter_doc_scanner: ^0.0.16 # no bundled support yet
|
# flutter_doc_scanner: ^0.0.16 # no bundled support yet
|
||||||
# https://developers.google.com/ml-kit/tips/installation-paths
|
# https://developers.google.com/ml-kit/tips/installation-paths
|
||||||
scanbot_sdk: ^7.0.0
|
scanbot_sdk: ^7.0.1
|
||||||
|
|
||||||
# Get documents path
|
# Get documents path
|
||||||
path_provider: ^2.1.5
|
path_provider: ^2.1.5
|
||||||
@@ -94,7 +94,7 @@ dependencies:
|
|||||||
pdf_image_renderer: ^1.0.1
|
pdf_image_renderer: ^1.0.1
|
||||||
|
|
||||||
# Text extraction
|
# Text extraction
|
||||||
google_mlkit_text_recognition: ^0.15.0
|
google_mlkit_text_recognition: 0.15.1
|
||||||
|
|
||||||
dev_dependencies:
|
dev_dependencies:
|
||||||
flutter_test:
|
flutter_test:
|
||||||
@@ -111,7 +111,7 @@ dev_dependencies:
|
|||||||
flutter_launcher_icons: ^0.14.4
|
flutter_launcher_icons: ^0.14.4
|
||||||
|
|
||||||
# Generate source code
|
# Generate source code
|
||||||
build_runner: ^2.5.4
|
build_runner: 2.10.5
|
||||||
|
|
||||||
# Riverpod code generation
|
# Riverpod code generation
|
||||||
riverpod_generator: ^2.6.5
|
riverpod_generator: ^2.6.5
|
||||||
|
|||||||
2990
moneymgr_web/package-lock.json
generated
2990
moneymgr_web/package-lock.json
generated
File diff suppressed because it is too large
Load Diff
@@ -12,38 +12,38 @@
|
|||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@emotion/react": "^11.14.0",
|
"@emotion/react": "^11.14.0",
|
||||||
"@emotion/styled": "^11.14.1",
|
"@emotion/styled": "^11.14.1",
|
||||||
"@fontsource/roboto": "^5.2.6",
|
"@fontsource/roboto": "^5.2.9",
|
||||||
"@jsonjoy.com/base64": "^1.1.2",
|
"@jsonjoy.com/base64": "^1.1.2",
|
||||||
"@mdi/js": "^7.4.47",
|
"@mdi/js": "^7.4.47",
|
||||||
"@mdi/react": "^1.6.1",
|
"@mdi/react": "^1.6.1",
|
||||||
"@mui/icons-material": "^7.1.2",
|
"@mui/icons-material": "^7.1.2",
|
||||||
"@mui/material": "^7.1.2",
|
"@mui/material": "^7.1.2",
|
||||||
"@mui/x-charts": "^8.8.0",
|
"@mui/x-charts": "^8.27.0",
|
||||||
"@mui/x-data-grid": "^8.8.0",
|
"@mui/x-data-grid": "^8.27.1",
|
||||||
"@mui/x-date-pickers": "^8.8.0",
|
"@mui/x-date-pickers": "^8.23.0",
|
||||||
"date-and-time": "^3.6.0",
|
"date-and-time": "^3.6.0",
|
||||||
"dayjs": "^1.11.13",
|
"dayjs": "^1.11.19",
|
||||||
"filesize": "^10.1.6",
|
"filesize": "^10.1.6",
|
||||||
"qrcode.react": "^4.2.0",
|
"qrcode.react": "^4.2.0",
|
||||||
"react": "^19.1.0",
|
"react": "^19.2.4",
|
||||||
"react-dom": "^19.1.0",
|
"react-dom": "^19.2.4",
|
||||||
"react-router": "^7.6.3",
|
"react-router": "^7.6.3",
|
||||||
"react-router-dom": "^7.6.3",
|
"react-router-dom": "^7.6.3",
|
||||||
"ts-pattern": "^5.7.1"
|
"ts-pattern": "^5.8.0"
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@eslint/js": "^9.31.0",
|
"@eslint/js": "^9.39.2",
|
||||||
"@types/react": "^19.1.8",
|
"@types/react": "^19.2.14",
|
||||||
"@types/react-dom": "^19.1.6",
|
"@types/react-dom": "^19.2.3",
|
||||||
"@vitejs/plugin-react": "^4.6.0",
|
"@vitejs/plugin-react": "^4.7.0",
|
||||||
"eslint": "^9.26.0",
|
"eslint": "^9.39.2",
|
||||||
"eslint-plugin-react-dom": "^1.49.0",
|
"eslint-plugin-react-dom": "^1.52.4",
|
||||||
"eslint-plugin-react-hooks": "^5.2.0",
|
"eslint-plugin-react-hooks": "^5.2.0",
|
||||||
"eslint-plugin-react-refresh": "^00.4.20",
|
"eslint-plugin-react-refresh": "^00.4.20",
|
||||||
"eslint-plugin-react-x": "^1.52.3",
|
"eslint-plugin-react-x": "^1.53.1",
|
||||||
"globals": "^16.3.0",
|
"globals": "^16.3.0",
|
||||||
"typescript": "~5.8.3",
|
"typescript": "~5.8.3",
|
||||||
"typescript-eslint": "^8.32.1",
|
"typescript-eslint": "^8.32.1",
|
||||||
"vite": "^6.3.5"
|
"vite": "^6.3.6"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -3,6 +3,7 @@ import { APIClient } from "./ApiClient";
|
|||||||
export interface ServerConfig {
|
export interface ServerConfig {
|
||||||
auth_disabled: boolean;
|
auth_disabled: boolean;
|
||||||
oidc_provider_name: string;
|
oidc_provider_name: string;
|
||||||
|
apk_download_url: string;
|
||||||
accounts_types: AccountType[];
|
accounts_types: AccountType[];
|
||||||
constraints: ServerConstraints;
|
constraints: ServerConstraints;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -280,6 +280,8 @@ function CreatedToken(p: { token: TokenWithSecret }): React.ReactElement {
|
|||||||
The API token was successfully created. Please note the following
|
The API token was successfully created. Please note the following
|
||||||
information as they won't be available next.
|
information as they won't be available next.
|
||||||
<br />
|
<br />
|
||||||
|
API URL : <CopyTextChip text={APIClient.ActualBackendURL()} />
|
||||||
|
<br />
|
||||||
Token ID: <CopyTextChip text={p.token.id.toString()} />
|
Token ID: <CopyTextChip text={p.token.id.toString()} />
|
||||||
<br />
|
<br />
|
||||||
Token value: <CopyTextChip text={p.token.token} />
|
Token value: <CopyTextChip text={p.token.token} />
|
||||||
|
|||||||
@@ -1,5 +1,6 @@
|
|||||||
import { mdiApi, mdiCash } from "@mdi/js";
|
import { mdiApi, mdiCash } from "@mdi/js";
|
||||||
import Icon from "@mdi/react";
|
import Icon from "@mdi/react";
|
||||||
|
import AndroidIcon from "@mui/icons-material/Android";
|
||||||
import CloudDownloadIcon from "@mui/icons-material/CloudDownload";
|
import CloudDownloadIcon from "@mui/icons-material/CloudDownload";
|
||||||
import LogoutIcon from "@mui/icons-material/Logout";
|
import LogoutIcon from "@mui/icons-material/Logout";
|
||||||
import SettingsIcon from "@mui/icons-material/Settings";
|
import SettingsIcon from "@mui/icons-material/Settings";
|
||||||
@@ -10,6 +11,7 @@ import MenuItem from "@mui/material/MenuItem";
|
|||||||
import Toolbar from "@mui/material/Toolbar";
|
import Toolbar from "@mui/material/Toolbar";
|
||||||
import Typography from "@mui/material/Typography";
|
import Typography from "@mui/material/Typography";
|
||||||
import * as React from "react";
|
import * as React from "react";
|
||||||
|
import { ServerApi } from "../api/ServerApi";
|
||||||
import { useAuthInfo } from "./BaseAuthenticatedPage";
|
import { useAuthInfo } from "./BaseAuthenticatedPage";
|
||||||
import { DarkThemeButton } from "./DarkThemeButtonWidget";
|
import { DarkThemeButton } from "./DarkThemeButtonWidget";
|
||||||
import { PublicModeButton } from "./PublicModeButtonWidget";
|
import { PublicModeButton } from "./PublicModeButtonWidget";
|
||||||
@@ -100,6 +102,18 @@ export function MoneyWebAppBar(p: {
|
|||||||
</MenuItem>
|
</MenuItem>
|
||||||
</RouterLink>
|
</RouterLink>
|
||||||
|
|
||||||
|
{/* APK download */}
|
||||||
|
<RouterLink to={ServerApi.Config.apk_download_url}>
|
||||||
|
<MenuItem>
|
||||||
|
<ListItemIcon>
|
||||||
|
<AndroidIcon />
|
||||||
|
</ListItemIcon>
|
||||||
|
<ListItemText secondary="Scan expenses from your smartphone">
|
||||||
|
Mobile Application
|
||||||
|
</ListItemText>
|
||||||
|
</MenuItem>
|
||||||
|
</RouterLink>
|
||||||
|
|
||||||
<Divider />
|
<Divider />
|
||||||
|
|
||||||
{/* Sign out */}
|
{/* Sign out */}
|
||||||
|
|||||||
Reference in New Issue
Block a user