diff --git a/Cargo.lock b/Cargo.lock index 037ea21..aa0632d 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -36,8 +36,7 @@ dependencies = [ [[package]] name = "actix-admin" version = "0.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "08337d51b14642974696776104f9155632da0133f8eb9ea7a81d55aa4fe638d4" +source = "git+https://code.ita-prog.pl/Tsumanu/actix-admin.git#586d4f419a97d57347d5456894d766cfe3050645" dependencies = [ "actix-admin-macros", "actix-files", @@ -48,21 +47,21 @@ dependencies = [ "chrono", "derive_more", "futures-util", - "itertools 0.10.5", + "itertools 0.11.0", "lazy_static", "regex", - "sea-orm", + "sea-orm 0.12.2", "serde", "serde_derive", "tera", + "tracing", "urlencoding", ] [[package]] name = "actix-admin-macros" version = "0.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9f420d748c93c40781a563e60f01df7ad27ba1574604cbd771f95afa995f9138" +source = "git+https://code.ita-prog.pl/Tsumanu/actix-admin.git#586d4f419a97d57347d5456894d766cfe3050645" dependencies = [ "bae", "proc-macro2", @@ -745,6 +744,15 @@ dependencies = [ "num-traits", ] +[[package]] +name = "atoi" +version = "2.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f28d99ec8bfea296261ca1af174f24225171fea9664ba9003cbebee704810528" +dependencies = [ + "num-traits", +] + [[package]] name = "atomic-waker" version = "1.1.1" @@ -1003,9 +1011,9 @@ dependencies = [ [[package]] name = "bumpalo" -version = "3.13.0" +version = "3.14.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a3e2c3daef883ecc1b5d58c15adae93470a91d425f3532ba1695849656af3fc1" +checksum = "7f30e7476521f6f8af1a1c4c0b8cc94f0bee37d91763d0ca2665f299b6cd8aec" [[package]] name = "bytecheck" @@ -1096,9 +1104,9 @@ checksum = "fd16c4719339c4530435d38e511904438d07cce7950afa3718a84ac36c10e89e" [[package]] name = "chrono" -version = "0.4.30" +version = "0.4.31" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "defd4e7873dbddba6c7c91e199c7fcb946abc4a6a4ac3195400bcfb01b5de877" +checksum = "7f2c685bad3eb3d45a01354cedb7d5faa66194d1d58ba6e267a8de788f79db38" dependencies = [ "android-tzdata", "iana-time-zone", @@ -1240,6 +1248,12 @@ dependencies = [ "windows-sys 0.45.0", ] +[[package]] +name = "const-oid" +version = "0.9.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "28c122c3980598d243d63d9a704629a2d748d101f278052ff068be5a4423ab6f" + [[package]] name = "convert_case" version = "0.4.0" @@ -1289,6 +1303,21 @@ dependencies = [ "libc", ] +[[package]] +name = "crc" +version = "3.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "86ec7a15cbe22e59248fc7eadb1907dab5ba09372595da4d73dd805ed4417dfe" +dependencies = [ + "crc-catalog", +] + +[[package]] +name = "crc-catalog" +version = "2.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9cace84e55f07e7301bae1c519df89cdad8cc3cd868413d3fdbdeca9ff3db484" + [[package]] name = "crc32fast" version = "1.3.2" @@ -1396,6 +1425,17 @@ dependencies = [ "tokio 0.3.7", ] +[[package]] +name = "der" +version = "0.7.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fffa369a668c8af7dbf8b5e56c9f744fbd399949ed171606040001947de40b1c" +dependencies = [ + "const-oid", + "pem-rfc7468", + "zeroize", +] + [[package]] name = "deranged" version = "0.3.8" @@ -1405,6 +1445,17 @@ dependencies = [ "serde", ] +[[package]] +name = "derivative" +version = "2.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fcc3dd5e9e9c0b295d6e1e4d811fb6f157d5ffd784b8d202fc62eac8035a770b" +dependencies = [ + "proc-macro2", + "quote", + "syn 1.0.109", +] + [[package]] name = "derive_more" version = "0.99.17" @@ -1431,6 +1482,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9ed9a281f7bc9b7576e61468ba615a66a5c8cfdff42420a70aa82701a3b1e292" dependencies = [ "block-buffer", + "const-oid", "crypto-common", "subtle", ] @@ -1472,6 +1524,9 @@ name = "either" version = "1.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a26ae43d7bcc3b814de94796a5e736d4029efb0ee900c12e2d54c993ad1a1e07" +dependencies = [ + "serde", +] [[package]] name = "encode_unicode" @@ -1521,6 +1576,17 @@ dependencies = [ "libc", ] +[[package]] +name = "etcetera" +version = "0.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "136d1b5283a1ab77bd9257427ffd09d8667ced0570b6f938942bc7568ed5b943" +dependencies = [ + "cfg-if 1.0.0", + "home", + "windows-sys 0.48.0", +] + [[package]] name = "event-listener" version = "2.5.3" @@ -1558,6 +1624,18 @@ dependencies = [ "miniz_oxide", ] +[[package]] +name = "flume" +version = "0.10.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1657b4441c3403d9f7b3409e47575237dac27b1b5726df654a6ecbf92f0f7577" +dependencies = [ + "futures-core", + "futures-sink", + "pin-project", + "spin 0.9.8", +] + [[package]] name = "fnv" version = "1.0.7" @@ -1649,6 +1727,17 @@ dependencies = [ "parking_lot 0.11.2", ] +[[package]] +name = "futures-intrusive" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1d930c203dd0b6ff06e0201a4a2fe9149b43c684fd4420555b26d21b1a02956f" +dependencies = [ + "futures-core", + "lock_api", + "parking_lot 0.12.1", +] + [[package]] name = "futures-io" version = "0.3.28" @@ -1927,6 +2016,15 @@ dependencies = [ "digest", ] +[[package]] +name = "home" +version = "0.5.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5444c27eef6923071f7ebcc33e3444508466a76f7a2b93da00ed6e19f30c1ddb" +dependencies = [ + "windows-sys 0.48.0", +] + [[package]] name = "http" version = "0.2.9" @@ -2051,6 +2149,17 @@ dependencies = [ "hashbrown 0.14.0", ] +[[package]] +name = "inherent" +version = "1.0.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ce243b1bfa62ffc028f1cc3b6034ec63d649f3031bc8a4fbbb004e1ac17d1f68" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.33", +] + [[package]] name = "inout" version = "0.1.3" @@ -2196,6 +2305,9 @@ name = "lazy_static" version = "1.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646" +dependencies = [ + "spin 0.5.2", +] [[package]] name = "lexical-core" @@ -2222,6 +2334,17 @@ version = "0.2.7" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f7012b1bbb0719e1097c47611d3898568c546d597c2e74d66f6087edd5233ff4" +[[package]] +name = "libsqlite3-sys" +version = "0.26.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "afc22eff61b133b115c6e8c74e818c628d6d5e7a502afea6f64dee076dd94326" +dependencies = [ + "cc", + "pkg-config", + "vcpkg", +] + [[package]] name = "linked-hash-map" version = "0.5.6" @@ -2316,7 +2439,7 @@ version = "0.1.0" dependencies = [ "async-std", "oswilno-contract", - "sea-orm", + "sea-orm 0.11.3", "sea-orm-migration", "tokio 1.32.0", ] @@ -2459,6 +2582,23 @@ dependencies = [ "num-traits", ] +[[package]] +name = "num-bigint-dig" +version = "0.8.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dc84195820f291c7697304f3cbdadd1cb7199c0efc917ff5eafd71225c136151" +dependencies = [ + "byteorder", + "lazy_static", + "libm", + "num-integer", + "num-iter", + "num-traits", + "rand 0.8.5", + "smallvec", + "zeroize", +] + [[package]] name = "num-integer" version = "0.1.45" @@ -2469,6 +2609,17 @@ dependencies = [ "num-traits", ] +[[package]] +name = "num-iter" +version = "0.1.43" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7d03e6c028c5dc5cac6e2dec0efda81fc887605bb3d884578bb6d6bf7514e252" +dependencies = [ + "autocfg", + "num-integer", + "num-traits", +] + [[package]] name = "num-traits" version = "0.2.16" @@ -2476,6 +2627,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f30b0abd723be7e2ffca1272140fac1a2f084c77ec3e123c192b66af1ee9e6c2" dependencies = [ "autocfg", + "libm", ] [[package]] @@ -2515,6 +2667,15 @@ version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "624a8340c38c1b80fd549087862da4ba43e08858af025b236e509b6649fc13d5" +[[package]] +name = "ordered-float" +version = "3.9.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2a54938017eacd63036332b4ae5c8a49fc8c0c1d6d629893057e4f13609edd06" +dependencies = [ + "num-traits", +] + [[package]] name = "os_str_bytes" version = "6.5.1" @@ -2540,7 +2701,7 @@ dependencies = [ "redis", "redis-async-pool", "ron 0.8.1", - "sea-orm", + "sea-orm 0.11.3", "serde", "serde_json", "tokio 1.32.0", @@ -2588,7 +2749,7 @@ dependencies = [ "chrono", "oswilno-actix-admin", "regex", - "sea-orm", + "sea-orm 0.12.2", "serde", "uuid", ] @@ -2605,7 +2766,7 @@ dependencies = [ "oswilno-contract", "oswilno-session", "oswilno-view", - "sea-orm", + "sea-orm 0.11.3", "serde", "serde_json", "tokio 1.32.0", @@ -2633,7 +2794,7 @@ dependencies = [ "redis", "redis-async-pool", "ring", - "sea-orm", + "sea-orm 0.11.3", "serde", "time", "tokio 1.32.0", @@ -2661,7 +2822,18 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e1358bd1558bd2a083fed428ffeda486fbfb323e698cdda7794259d592ca72db" dependencies = [ "aliasable", - "ouroboros_macro", + "ouroboros_macro 0.15.6", +] + +[[package]] +name = "ouroboros" +version = "0.17.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e2ba07320d39dfea882faa70554b4bd342a5f273ed59ba7c1c6b4c840492c954" +dependencies = [ + "aliasable", + "ouroboros_macro 0.17.2", + "static_assertions", ] [[package]] @@ -2677,6 +2849,19 @@ dependencies = [ "syn 1.0.109", ] +[[package]] +name = "ouroboros_macro" +version = "0.17.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ec4c6225c69b4ca778c0aea097321a64c421cf4577b331c61b229267edabb6f8" +dependencies = [ + "heck 0.4.1", + "proc-macro-error", + "proc-macro2", + "quote", + "syn 2.0.33", +] + [[package]] name = "overload" version = "0.1.1" @@ -2778,6 +2963,15 @@ dependencies = [ "base64 0.13.1", ] +[[package]] +name = "pem-rfc7468" +version = "0.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "88b39c9bfcfc231068454382784bb460aae594343fb030d46e9f50a645418412" +dependencies = [ + "base64ct", +] + [[package]] name = "percent-encoding" version = "2.3.0" @@ -2887,6 +3081,26 @@ dependencies = [ "thiserror", ] +[[package]] +name = "pin-project" +version = "1.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fda4ed1c6c173e3fc7a83629421152e01d7b1f9b7f65fb301e490e8cfc656422" +dependencies = [ + "pin-project-internal", +] + +[[package]] +name = "pin-project-internal" +version = "1.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4359fd9c9171ec6e8c62926d6faaf553a8dc3f64e1507e76da7911b4f6a04405" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.33", +] + [[package]] name = "pin-project-lite" version = "0.1.12" @@ -2905,6 +3119,27 @@ version = "0.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184" +[[package]] +name = "pkcs1" +version = "0.7.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c8ffb9f10fa047879315e6625af03c164b16962a5368d724ed16323b68ace47f" +dependencies = [ + "der", + "pkcs8", + "spki", +] + +[[package]] +name = "pkcs8" +version = "0.10.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f950b2377845cebe5cf8b5165cb3cc1a5e0fa5cfa3e1f7f55707d8fd82e0a7b7" +dependencies = [ + "der", + "spki", +] + [[package]] name = "pkg-config" version = "0.3.27" @@ -3238,7 +3473,7 @@ dependencies = [ "cc", "libc", "once_cell", - "spin", + "spin 0.5.2", "untrusted", "web-sys", "winapi 0.3.9", @@ -3295,6 +3530,28 @@ dependencies = [ "serde_derive", ] +[[package]] +name = "rsa" +version = "0.9.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6ab43bb47d23c1a631b4b680199a45255dce26fa9ab2fa902581f624ff13e6a8" +dependencies = [ + "byteorder", + "const-oid", + "digest", + "num-bigint-dig", + "num-integer", + "num-iter", + "num-traits", + "pkcs1", + "pkcs8", + "rand_core 0.6.4", + "signature", + "spki", + "subtle", + "zeroize", +] + [[package]] name = "rust_decimal" version = "1.32.0" @@ -3365,6 +3622,17 @@ dependencies = [ "webpki", ] +[[package]] +name = "rustls" +version = "0.21.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cd8d6c9f025a446bc4d18ad9632e69aec8f287aa84499ee335599fabd20c3fd8" +dependencies = [ + "ring", + "rustls-webpki", + "sct", +] + [[package]] name = "rustls-pemfile" version = "1.0.3" @@ -3374,6 +3642,16 @@ dependencies = [ "base64 0.21.4", ] +[[package]] +name = "rustls-webpki" +version = "0.101.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "45a27e3b59326c16e23d30aeb7a36a24cc0d29e71d68ff611cdfb4a01d013bed" +dependencies = [ + "ring", + "untrusted", +] + [[package]] name = "rustversion" version = "1.0.14" @@ -3411,6 +3689,19 @@ dependencies = [ "untrusted", ] +[[package]] +name = "sea-bae" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3bd3534a9978d0aa7edd2808dc1f8f31c4d0ecd31ddf71d997b3c98e9f3c9114" +dependencies = [ + "heck 0.4.1", + "proc-macro-error", + "proc-macro2", + "quote", + "syn 2.0.33", +] + [[package]] name = "sea-orm" version = "0.11.3" @@ -3423,15 +3714,43 @@ dependencies = [ "chrono", "futures", "log", - "ouroboros", + "ouroboros 0.15.6", "rust_decimal", - "sea-orm-macros", - "sea-query", - "sea-query-binder", + "sea-orm-macros 0.11.3", + "sea-query 0.28.5", + "sea-query-binder 0.3.1", "sea-strum", "serde", "serde_json", - "sqlx", + "sqlx 0.6.3", + "thiserror", + "time", + "tracing", + "url", + "uuid", +] + +[[package]] +name = "sea-orm" +version = "0.12.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "61f6c7daef05dde3476d97001e11fca7a52b655aa3bf4fd610ab2da1176a2ed5" +dependencies = [ + "async-stream", + "async-trait", + "bigdecimal", + "chrono", + "futures", + "log", + "ouroboros 0.17.2", + "rust_decimal", + "sea-orm-macros 0.12.2", + "sea-query 0.30.1", + "sea-query-binder 0.5.0", + "serde", + "serde_json", + "sqlx 0.7.1", + "strum", "thiserror", "time", "tracing", @@ -3468,6 +3787,20 @@ dependencies = [ "syn 1.0.109", ] +[[package]] +name = "sea-orm-macros" +version = "0.12.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cd90e73d5f5b184bad525767da29fbfec132b4e62ebd6f60d2f2737ec6468f62" +dependencies = [ + "heck 0.4.1", + "proc-macro2", + "quote", + "sea-bae", + "syn 2.0.33", + "unicode-ident", +] + [[package]] name = "sea-orm-migration" version = "0.11.3" @@ -3478,7 +3811,7 @@ dependencies = [ "clap", "dotenvy", "futures", - "sea-orm", + "sea-orm 0.11.3", "sea-orm-cli", "sea-schema", "tracing", @@ -3500,6 +3833,23 @@ dependencies = [ "uuid", ] +[[package]] +name = "sea-query" +version = "0.30.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "28c05a5bf6403834be253489bbe95fa9b1e5486bc843b61f60d26b5c9c1e244b" +dependencies = [ + "bigdecimal", + "chrono", + "derivative", + "inherent", + "ordered-float", + "rust_decimal", + "serde_json", + "time", + "uuid", +] + [[package]] name = "sea-query-binder" version = "0.3.1" @@ -3509,9 +3859,25 @@ dependencies = [ "bigdecimal", "chrono", "rust_decimal", - "sea-query", + "sea-query 0.28.5", "serde_json", - "sqlx", + "sqlx 0.6.3", + "time", + "uuid", +] + +[[package]] +name = "sea-query-binder" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "36bbb68df92e820e4d5aeb17b4acd5cc8b5d18b2c36a4dd6f4626aabfa7ab1b9" +dependencies = [ + "bigdecimal", + "chrono", + "rust_decimal", + "sea-query 0.30.1", + "serde_json", + "sqlx 0.7.1", "time", "uuid", ] @@ -3536,7 +3902,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "eeb2940bb5a10bc6cd05b450ce6cd3993e27fddd7eface2becb97fc5af3a040e" dependencies = [ "futures", - "sea-query", + "sea-query 0.28.5", "sea-schema-derive", ] @@ -3702,6 +4068,16 @@ dependencies = [ "libc", ] +[[package]] +name = "signature" +version = "2.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5e1788eed21689f9cf370582dfc467ef36ed9c707f073528ddafa8d83e3b8500" +dependencies = [ + "digest", + "rand_core 0.6.4", +] + [[package]] name = "simdutf8" version = "0.1.4" @@ -3793,6 +4169,25 @@ version = "0.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6e63cff320ae2c57904679ba7cb63280a3dc4613885beafb148ee7bf9aa9042d" +[[package]] +name = "spin" +version = "0.9.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6980e8d7511241f8acf4aebddbb1ff938df5eebe98691418c4468d0b72a96a67" +dependencies = [ + "lock_api", +] + +[[package]] +name = "spki" +version = "0.7.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9d1e996ef02c474957d681f1b05213dfb0abab947b446a62d37770b23500184a" +dependencies = [ + "base64ct", + "der", +] + [[package]] name = "sqlformat" version = "0.2.2" @@ -3810,8 +4205,21 @@ version = "0.6.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f8de3b03a925878ed54a954f621e64bf55a3c1bd29652d0d1a17830405350188" dependencies = [ - "sqlx-core", - "sqlx-macros", + "sqlx-core 0.6.3", + "sqlx-macros 0.6.3", +] + +[[package]] +name = "sqlx" +version = "0.7.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8e58421b6bc416714d5115a2ca953718f6c621a51b68e4f4922aea5a4391a721" +dependencies = [ + "sqlx-core 0.7.1", + "sqlx-macros 0.7.1", + "sqlx-mysql", + "sqlx-postgres", + "sqlx-sqlite", ] [[package]] @@ -3821,7 +4229,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "fa8241483a83a3f33aa5fff7e7d9def398ff9990b2752b6c6112b83c6d246029" dependencies = [ "ahash 0.7.6", - "atoi", + "atoi 1.0.0", "base64 0.13.1", "bigdecimal", "bitflags 1.3.2", @@ -3835,7 +4243,7 @@ dependencies = [ "event-listener", "futures-channel", "futures-core", - "futures-intrusive", + "futures-intrusive 0.4.2", "futures-util", "hashlink", "hex", @@ -3853,7 +4261,7 @@ dependencies = [ "percent-encoding", "rand 0.8.5", "rust_decimal", - "rustls", + "rustls 0.20.9", "rustls-pemfile", "serde", "serde_json", @@ -3868,10 +4276,58 @@ dependencies = [ "tokio-stream", "url", "uuid", - "webpki-roots", + "webpki-roots 0.22.6", "whoami", ] +[[package]] +name = "sqlx-core" +version = "0.7.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dd4cef4251aabbae751a3710927945901ee1d97ee96d757f6880ebb9a79bfd53" +dependencies = [ + "ahash 0.8.3", + "atoi 2.0.0", + "bigdecimal", + "byteorder", + "bytes 1.5.0", + "chrono", + "crc", + "crossbeam-queue", + "dotenvy", + "either", + "event-listener", + "futures-channel", + "futures-core", + "futures-intrusive 0.5.0", + "futures-io", + "futures-util", + "hashlink", + "hex", + "indexmap 2.0.0", + "log", + "memchr", + "once_cell", + "paste", + "percent-encoding", + "rust_decimal", + "rustls 0.21.7", + "rustls-pemfile", + "serde", + "serde_json", + "sha2", + "smallvec", + "sqlformat", + "thiserror", + "time", + "tokio 1.32.0", + "tokio-stream", + "tracing", + "url", + "uuid", + "webpki-roots 0.24.0", +] + [[package]] name = "sqlx-macros" version = "0.6.3" @@ -3885,12 +4341,143 @@ dependencies = [ "proc-macro2", "quote", "serde_json", - "sqlx-core", + "sqlx-core 0.6.3", "sqlx-rt", "syn 1.0.109", "url", ] +[[package]] +name = "sqlx-macros" +version = "0.7.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "208e3165167afd7f3881b16c1ef3f2af69fa75980897aac8874a0696516d12c2" +dependencies = [ + "proc-macro2", + "quote", + "sqlx-core 0.7.1", + "sqlx-macros-core", + "syn 1.0.109", +] + +[[package]] +name = "sqlx-macros-core" +version = "0.7.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8a4a8336d278c62231d87f24e8a7a74898156e34c1c18942857be2acb29c7dfc" +dependencies = [ + "dotenvy", + "either", + "heck 0.4.1", + "hex", + "once_cell", + "proc-macro2", + "quote", + "serde", + "serde_json", + "sha2", + "sqlx-core 0.7.1", + "sqlx-mysql", + "sqlx-postgres", + "sqlx-sqlite", + "syn 1.0.109", + "tempfile", + "tokio 1.32.0", + "url", +] + +[[package]] +name = "sqlx-mysql" +version = "0.7.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8ca69bf415b93b60b80dc8fda3cb4ef52b2336614d8da2de5456cc942a110482" +dependencies = [ + "atoi 2.0.0", + "base64 0.21.4", + "bigdecimal", + "bitflags 2.4.0", + "byteorder", + "bytes 1.5.0", + "chrono", + "crc", + "digest", + "dotenvy", + "either", + "futures-channel", + "futures-core", + "futures-io", + "futures-util", + "generic-array", + "hex", + "hkdf", + "hmac", + "itoa 1.0.9", + "log", + "md-5", + "memchr", + "once_cell", + "percent-encoding", + "rand 0.8.5", + "rsa", + "rust_decimal", + "serde", + "sha1 0.10.5", + "sha2", + "smallvec", + "sqlx-core 0.7.1", + "stringprep", + "thiserror", + "time", + "tracing", + "uuid", + "whoami", +] + +[[package]] +name = "sqlx-postgres" +version = "0.7.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a0db2df1b8731c3651e204629dd55e52adbae0462fa1bdcbed56a2302c18181e" +dependencies = [ + "atoi 2.0.0", + "base64 0.21.4", + "bigdecimal", + "bitflags 2.4.0", + "byteorder", + "chrono", + "crc", + "dotenvy", + "etcetera", + "futures-channel", + "futures-core", + "futures-io", + "futures-util", + "hex", + "hkdf", + "hmac", + "home", + "itoa 1.0.9", + "log", + "md-5", + "memchr", + "num-bigint", + "once_cell", + "rand 0.8.5", + "rust_decimal", + "serde", + "serde_json", + "sha1 0.10.5", + "sha2", + "smallvec", + "sqlx-core 0.7.1", + "stringprep", + "thiserror", + "time", + "tracing", + "uuid", + "whoami", +] + [[package]] name = "sqlx-rt" version = "0.6.3" @@ -3902,6 +4489,31 @@ dependencies = [ "tokio-rustls", ] +[[package]] +name = "sqlx-sqlite" +version = "0.7.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "be4c21bf34c7cae5b283efb3ac1bcc7670df7561124dc2f8bdc0b59be40f79a2" +dependencies = [ + "atoi 2.0.0", + "chrono", + "flume", + "futures-channel", + "futures-core", + "futures-executor", + "futures-intrusive 0.5.0", + "futures-util", + "libsqlite3-sys", + "log", + "percent-encoding", + "serde", + "sqlx-core 0.7.1", + "time", + "tracing", + "url", + "uuid", +] + [[package]] name = "static_assertions" version = "1.1.0" @@ -3925,6 +4537,12 @@ version = "0.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "73473c0e59e6d5812c5dfe2a064a6444949f089e20eec9a2e5506596494e4623" +[[package]] +name = "strum" +version = "0.25.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "290d54ea6f91c969195bdbcd7442c8c2a2ba87da8bf60a7ee86a235d4bc1e125" + [[package]] name = "subtle" version = "2.5.0" @@ -4137,7 +4755,7 @@ version = "0.23.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c43ee83903113e03984cb9e5cebe6c04a5116269e900e3ddba8f068a62adda59" dependencies = [ - "rustls", + "rustls 0.20.9", "tokio 1.32.0", "webpki", ] @@ -4465,6 +5083,12 @@ version = "1.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d92ccd67fb88503048c01b59152a04effd0782d035a83a6d256ce6085f08f4a3" +[[package]] +name = "vcpkg" +version = "0.2.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "accd4ea62f7bb7a82fe23066fb0957d48ef677f6eeb8215f372f52e48bb32426" + [[package]] name = "version_check" version = "0.9.4" @@ -4606,6 +5230,15 @@ dependencies = [ "webpki", ] +[[package]] +name = "webpki-roots" +version = "0.24.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b291546d5d9d1eab74f069c77749f2cb8504a12caa20f0f2de93ddbf6f411888" +dependencies = [ + "rustls-webpki", +] + [[package]] name = "whoami" version = "1.4.1" @@ -4837,6 +5470,12 @@ dependencies = [ "linked-hash-map", ] +[[package]] +name = "zeroize" +version = "1.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2a0956f1ba7c7909bfb66c2e9e4124ab6f6482560f6628b5aaeba39207c9aad9" + [[package]] name = "zstd" version = "0.12.4" diff --git a/crates/oswilno-actix-admin/src/lib.rs b/crates/oswilno-actix-admin/src/lib.rs index bb2a147..6faf0c1 100644 --- a/crates/oswilno-actix-admin/src/lib.rs +++ b/crates/oswilno-actix-admin/src/lib.rs @@ -63,7 +63,7 @@ pub fn derive_actix_admin_enum(item: TokenStream) -> TokenStream { parse_enum_variants(&mut it, &mut def); let mut buffer = String::new(); buffer.push_str(&format!("impl std::str::FromStr for {} {{\n type Err = ();\n fn from_str(s: &str) -> Result {{\n match s {{\n", def.name)); - for v in def.variants { + for v in &def.variants { buffer.push_str(&format!( " {:?} => Ok({}::{}),\n", v.db_name, def.name, v.rs_name @@ -71,6 +71,14 @@ pub fn derive_actix_admin_enum(item: TokenStream) -> TokenStream { } buffer.push_str(" _ => Err(()),\n"); buffer.push_str(" }\n }\n}"); + buffer.push_str(&format!("impl ToString for {} {{\n fn to_string(&self) -> String {{\n match self {{\n", def.name)); + for v in def.variants { + buffer.push_str(&format!( + " {}::{} => {:?},\n", + def.name, v.rs_name, v.db_name + )); + } + buffer.push_str(" }.to_string()\n }\n}"); // eprintln!("{buffer}"); buffer.as_str().parse().unwrap() } diff --git a/crates/oswilno-admin/Cargo.toml b/crates/oswilno-admin/Cargo.toml index a99c579..5e3e778 100644 --- a/crates/oswilno-admin/Cargo.toml +++ b/crates/oswilno-admin/Cargo.toml @@ -4,9 +4,9 @@ version = "0.1.0" edition = "2021" [dependencies] -actix-admin = "0.5.0" +# actix-admin = "0.5.0" # actix-admin = { git = "https://github.com/Eraden/actix-admin.git", features = ['enable-tracing'] } -#actix-admin = { git = "https://code.ita-prog.pl/Tsumanu/actix-admin.git", features = ['enable-tracing'] } +actix-admin = { git = "https://code.ita-prog.pl/Tsumanu/actix-admin.git", features = ['enable-tracing'] } actix-web = "4.3.1" actix-web-grants = "3.0.2" askama = "0.12.0" diff --git a/crates/oswilno-contract/Cargo.toml b/crates/oswilno-contract/Cargo.toml index 19c0e03..b5350e4 100644 --- a/crates/oswilno-contract/Cargo.toml +++ b/crates/oswilno-contract/Cargo.toml @@ -5,13 +5,13 @@ edition = "2021" [dependencies] actix = "0.13.0" -actix-admin = "0.5.0" +# actix-admin = "0.5.0" # actix-admin = { git = "https://github.com/Eraden/actix-admin.git", features = ['enable-tracing'] } -# actix-admin = { git = "https://code.ita-prog.pl/Tsumanu/actix-admin.git", features = ['enable-tracing'] } +actix-admin = { git = "https://code.ita-prog.pl/Tsumanu/actix-admin.git", features = ['enable-tracing'] } actix-rt = { version = "2.8.0", features = [] } chrono = "0.4.26" oswilno-actix-admin = { path = "../oswilno-actix-admin" } regex = "1.9.1" -sea-orm = { version = "0.11", features = ["postgres-array", "runtime-actix-rustls", "sqlx-postgres", "macros", "sqlx"] } +sea-orm = { version = "0.12", features = ["postgres-array", "runtime-actix-rustls", "sqlx-postgres", "macros", "sqlx"] } serde = { version = "1.0.175", features = ["derive"] } uuid = { version = "1.4.1", features = ["v4"] } diff --git a/crates/oswilno-contract/src/accounts.rs b/crates/oswilno-contract/src/accounts.rs index bcea3b2..227f839 100644 --- a/crates/oswilno-contract/src/accounts.rs +++ b/crates/oswilno-contract/src/accounts.rs @@ -3,6 +3,7 @@ use super::sea_orm_active_enums::Userrole; use actix_admin::prelude::*; use sea_orm::entity::prelude::*; +#[allow(unused_imports)] use sea_orm::Iterable; #[derive(Copy, Clone, Default, Debug, DeriveEntity)] @@ -31,6 +32,7 @@ pub struct Model { #[actix_admin(primary_key)] pub id: i32, pub login: String, + #[actix_admin(list_hide_column)] pub pass_hash: String, pub role: Userrole, pub banned: bool, @@ -40,6 +42,7 @@ pub struct Model { pub created_at: DateTime, #[actix_admin(list_hide_column)] pub updated_at: DateTime, + #[actix_admin(html_input_type = "email")] pub email: String, } diff --git a/crates/oswilno-contract/src/images.rs b/crates/oswilno-contract/src/images.rs index b645648..bcfa526 100644 --- a/crates/oswilno-contract/src/images.rs +++ b/crates/oswilno-contract/src/images.rs @@ -3,6 +3,7 @@ use super::sea_orm_active_enums::ImageState; use actix_admin::prelude::*; use sea_orm::entity::prelude::*; +#[allow(unused_imports)] use sea_orm::Iterable; #[derive(Copy, Clone, Default, Debug, DeriveEntity)] diff --git a/crates/oswilno-contract/src/parking_space_locations.rs b/crates/oswilno-contract/src/parking_space_locations.rs index 70053ae..2a0391b 100644 --- a/crates/oswilno-contract/src/parking_space_locations.rs +++ b/crates/oswilno-contract/src/parking_space_locations.rs @@ -2,6 +2,7 @@ use actix_admin::prelude::*; use sea_orm::entity::prelude::*; +#[allow(unused_imports)] use sea_orm::Iterable; #[derive(Copy, Clone, Default, Debug, DeriveEntity)] diff --git a/crates/oswilno-contract/src/parking_space_rents.rs b/crates/oswilno-contract/src/parking_space_rents.rs index 0659dc1..6584f26 100644 --- a/crates/oswilno-contract/src/parking_space_rents.rs +++ b/crates/oswilno-contract/src/parking_space_rents.rs @@ -2,6 +2,7 @@ use actix_admin::prelude::*; use sea_orm::entity::prelude::*; +#[allow(unused_imports)] use sea_orm::Iterable; #[derive(Copy, Clone, Default, Debug, DeriveEntity)] diff --git a/crates/oswilno-contract/src/parking_spaces.rs b/crates/oswilno-contract/src/parking_spaces.rs index 692f346..fac6e2f 100644 --- a/crates/oswilno-contract/src/parking_spaces.rs +++ b/crates/oswilno-contract/src/parking_spaces.rs @@ -3,6 +3,7 @@ use super::sea_orm_active_enums::ParkingSpaceState; use actix_admin::prelude::*; use sea_orm::entity::prelude::*; +#[allow(unused_imports)] use sea_orm::Iterable; #[derive(Copy, Clone, Default, Debug, DeriveEntity)] @@ -30,7 +31,7 @@ impl EntityName for Entity { pub struct Model { #[actix_admin(primary_key)] pub id: i32, - #[actix_admin(select_list=crate::ParkingSpaceState)] + #[actix_admin(select_list=crate::parking_spaces::ParkingSpaceState)] pub state: ParkingSpaceState, pub account_id: i32, #[actix_admin(list_hide_column)] diff --git a/crates/oswilno-contract/src/sea_orm_active_enums.rs b/crates/oswilno-contract/src/sea_orm_active_enums.rs index 8032e73..194ba50 100644 --- a/crates/oswilno-contract/src/sea_orm_active_enums.rs +++ b/crates/oswilno-contract/src/sea_orm_active_enums.rs @@ -2,6 +2,7 @@ use actix_admin::prelude::*; use sea_orm::entity::prelude::*; +#[allow(unused_imports)] use sea_orm::Iterable; #[derive(Debug, Clone, PartialEq, Eq, EnumIter, DeriveActiveEnum)] diff --git a/crates/oswilno-session/src/lib.rs b/crates/oswilno-session/src/lib.rs index 68ecf33..268e0b6 100644 --- a/crates/oswilno-session/src/lib.rs +++ b/crates/oswilno-session/src/lib.rs @@ -10,6 +10,7 @@ use garde::Validate; use oswilno_view::{Blank, Errors, Lang, Layout, Main, MainOpts, TranslationStorage}; use sea_orm::DatabaseConnection; use serde::{Deserialize, Serialize}; +use sea_orm::prelude::*; pub use oswilno_view::filters; diff --git a/scripts/generate-entries.sh b/scripts/generate-entries.sh index f6ce757..bfee5a3 100755 --- a/scripts/generate-entries.sh +++ b/scripts/generate-entries.sh @@ -14,6 +14,7 @@ for f in $(ls crates/oswilno-contract/src/*.rs); do case $line in "use sea_orm::entity::prelude::*;" ) echo "use actix_admin::prelude::*;" >> /tmp/ajosdfjosdpjfojsdfjpajpfa + echo '#[allow(unused_imports)]' >> /tmp/ajosdfjosdpjfojsdfjpajpfa echo 'use sea_orm::Iterable;' >> /tmp/ajosdfjosdpjfojsdfjpajpfa ;; *"EntityName for Entity"* ) @@ -32,16 +33,23 @@ for f in $(ls crates/oswilno-contract/src/*.rs); do echo "#[actix_admin(primary_key)]" >> /tmp/ajosdfjosdpjfojsdfjpajpfa ;; "pub location_id"* ) - echo "#[actix_admin(select_list="crate::parking_space_locations::Entity")]" >> /tmp/ajosdfjosdpjfojsdfjpajpfa + echo '#[actix_admin(select_list=crate::parking_space_locations::Entity)]' >> /tmp/ajosdfjosdpjfojsdfjpajpfa + ;; + "pub email: String," ) + echo '#[actix_admin(html_input_type = "email")]' >> /tmp/ajosdfjosdpjfojsdfjpajpfa ;; "pub state"* ) - echo "#[actix_admin(select_list="crate::ParkingSpaceState")]" >> /tmp/ajosdfjosdpjfojsdfjpajpfa + echo '#[actix_admin(select_list=crate::parking_spaces::ParkingSpaceState)]' >> /tmp/ajosdfjosdpjfojsdfjpajpfa + ;; + + "pub pass_hash: String," ) + echo "#[actix_admin(list_hide_column)]" >> /tmp/ajosdfjosdpjfojsdfjpajpfa ;; *"_at: DateTime," ) echo "#[actix_admin(list_hide_column)]" >> /tmp/ajosdfjosdpjfojsdfjpajpfa ;; *"parking_space_id"* ) - echo "#[actix_admin(select_list="crate::parking_spaces::Entity")]" >> /tmp/ajosdfjosdpjfojsdfjpajpfa + echo '#[actix_admin(select_list=crate::parking_spaces::Entity)]' >> /tmp/ajosdfjosdpjfojsdfjpajpfa ;; esac echo $line >> /tmp/ajosdfjosdpjfojsdfjpajpfa