diff --git a/Cargo.lock b/Cargo.lock index a8d1857..ae173db 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -1,5 +1,7 @@ # This file is automatically @generated by Cargo. # It is not intended for manual editing. +version = 3 + [[package]] name = "aead" version = "0.3.2" @@ -76,10 +78,45 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "23b62fc65de8e4e7f52534fb52b0f3ed04746ae267519eef2a83941e8085068b" [[package]] -name = "ascii_utils" -version = "0.9.3" +name = "async-stream" +version = "0.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "71938f30533e4d95a6d17aa530939da3842c2ab6f4f84b9dae68447e4129f74a" +checksum = "171374e7e3b2504e0e5236e3b59260560f9fe94bfe9ac39ba5e4e929c5590625" +dependencies = [ + "async-stream-impl", + "futures-core", +] + +[[package]] +name = "async-stream-impl" +version = "0.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "648ed8c8d2ce5409ccd57453d9d1b214b342a0d69376a6feda1fd6cae3299308" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "async-trait" +version = "0.1.50" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0b98e84bbb4cbcdd97da190ba0c58a1bb0de2c1fdf67d159e192ed766aeca722" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "atomic" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c3410529e8288c463bedb5930f82833bc0c90e5d2fe639a56582a4d09220b281" +dependencies = [ + "autocfg", +] [[package]] name = "atty" @@ -92,12 +129,6 @@ dependencies = [ "winapi 0.3.9", ] -[[package]] -name = "autocfg" -version = "0.1.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1d49d90015b3c36167a20fe2810c5cd875ad504b39cff3d4eae7977e6b7c1cb2" - [[package]] name = "autocfg" version = "1.0.1" @@ -105,23 +136,10 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "cdb031dd78e28731d87d56cc8ffef4a8f36ca26c38fe2de700543e627f8a464a" [[package]] -name = "base64" -version = "0.9.3" +name = "base-x" +version = "0.2.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "489d6c0ed21b11d038c31b6ceccca973e65d73ba3bd8ecb9a2babf5546164643" -dependencies = [ - "byteorder", - "safemem", -] - -[[package]] -name = "base64" -version = "0.10.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0b25d992356d2eb0ed82172f5248873db5560c4721f564b13cb5193bda5e668e" -dependencies = [ - "byteorder", -] +checksum = "a4521f3e3d031370679b3b140beb36dfe4801b09ac77e30c61941f97df3ef28b" [[package]] name = "base64" @@ -129,6 +147,12 @@ version = "0.13.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "904dfeac50f3cdaba28fc6f57fdcddb75f49ed61346676a78c4ffe55877802fd" +[[package]] +name = "binascii" +version = "0.1.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "383d29d513d8764dcdc42ea295d979eb99c3c9f00607b3692cf68a431f7dca72" + [[package]] name = "bitflags" version = "1.2.1" @@ -177,10 +201,10 @@ dependencies = [ ] [[package]] -name = "bufstream" -version = "0.1.4" +name = "bumpalo" +version = "3.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "40e38929add23cdf8a366df9b0e088953150724bcbe5fc330b0d8eb3b328eec8" +checksum = "9c59e7af012c713f529e7a3ee57ce9b31ddd858d4b512923602f74608b009631" [[package]] name = "byte-tools" @@ -194,6 +218,12 @@ version = "1.4.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "14c189c53d098945499cdfa7ecc63567cf3886b3332b312a5b4585d8d3a6a610" +[[package]] +name = "bytes" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b700ce4376041dcd0a327fd0097c41095743c4c8af8887265942faf1100bd040" + [[package]] name = "cc" version = "1.0.67" @@ -222,7 +252,7 @@ dependencies = [ "num-integer", "num-traits 0.2.14", "serde 1.0.125", - "time", + "time 0.1.43", "winapi 0.3.9", ] @@ -235,15 +265,6 @@ dependencies = [ "generic-array 0.14.4", ] -[[package]] -name = "cloudabi" -version = "0.0.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ddfc5b9aa5d4507acaf872de71051dfd0e309860e88966e1051e462a077aac4f" -dependencies = [ - "bitflags", -] - [[package]] name = "config" version = "0.11.0" @@ -251,15 +272,21 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1b1b9d958c2b1368a663f05538fc1b5975adce1e19f435acceae987aceeeb369" dependencies = [ "lazy_static", - "nom 5.1.2", + "nom", "rust-ini", "serde 1.0.125", "serde-hjson", "serde_json", - "toml 0.5.8", + "toml", "yaml-rust", ] +[[package]] +name = "const_fn" +version = "0.4.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f92cfa0fd5690b3cf8c1ef2cabbd9b7ef22fa53cf5e1f92b05103f6d5d1cf6e7" + [[package]] name = "constant_time_eq" version = "0.1.5" @@ -267,43 +294,37 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "245097e9a4535ee1e3e3931fcfcd55a796a44c643e8596ff6566d68f09b87bbc" [[package]] -name = "cookie" -version = "0.11.4" +name = "convert_case" +version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "80f6044740a4a516b8aac14c140cdf35c1a640b1bd6b98b6224e49143b2f1566" +checksum = "6245d59a3e82a7fc217c5828a6692dbc6dfb63a0c8c90495621f7b9d79704a0e" + +[[package]] +name = "cookie" +version = "0.15.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ffdf8865bac3d9a3bde5bde9088ca431b11f5d37c7a578b8086af77248b76627" dependencies = [ "aes-gcm", - "base64 0.13.0", + "base64", "hkdf", - "hmac", - "percent-encoding 2.1.0", - "rand 0.8.3", + "percent-encoding", + "rand", "sha2", - "time", + "subtle", + "time 0.2.27", + "version_check", ] [[package]] -name = "core-foundation" -version = "0.9.1" +name = "cpufeatures" +version = "0.1.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0a89e2ae426ea83155dccf10c0fa6b1463ef6d5fcb44cee0b224a408fa640a62" +checksum = "ed00c67cb5d0a7d64a44f6ad2668db7e7530311dd53ea79bcd4fb022c64911c8" dependencies = [ - "core-foundation-sys", "libc", ] -[[package]] -name = "core-foundation-sys" -version = "0.8.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ea221b5284a47e40033bf9b66f35f984ec0ea2931eb03505246cd27a963f981b" - -[[package]] -name = "cpuid-bool" -version = "0.1.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8aebca1129a03dc6dc2b127edd729435bbc4a37e1d5f4d7513165089ceb02634" - [[package]] name = "cpuid-bool" version = "0.2.0" @@ -316,7 +337,7 @@ version = "0.8.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4feb231f0d4d6af81aed15928e58ecf5816aa62a2393e2c82f46973e92a9a278" dependencies = [ - "autocfg 1.0.1", + "autocfg", "cfg-if 1.0.0", "lazy_static", ] @@ -341,10 +362,22 @@ dependencies = [ ] [[package]] -name = "devise" -version = "0.2.0" +name = "derive_more" +version = "0.99.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "74e04ba2d03c5fa0d954c061fc8c9c288badadffc272ebb87679a89846de3ed3" +checksum = "5cc7b9cef1e351660e5443924e4f43ab25fbbed3e9a5f052df3677deb4d6b320" +dependencies = [ + "convert_case", + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "devise" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "411cf45ac38f00df3679689616649dc12607b846db171780bb790b514a042832" dependencies = [ "devise_codegen", "devise_core", @@ -352,24 +385,25 @@ dependencies = [ [[package]] name = "devise_codegen" -version = "0.2.0" +version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "066ceb7928ca93a9bedc6d0e612a8a0424048b0ab1f75971b203d01420c055d7" +checksum = "2cf7081f06822f1787e29359354426132cf832cc977d7a8ff747848631462ad1" dependencies = [ "devise_core", - "quote 0.6.13", + "quote", ] [[package]] name = "devise_core" -version = "0.2.0" +version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cf41c59b22b5e3ec0ea55c7847e5f358d340f3a8d6d53a5cf4f1564967f96487" +checksum = "80c23631758736875d7ce08f847f296b4001b72cf90878e85b47df7ac5442147" dependencies = [ "bitflags", - "proc-macro2 0.4.30", - "quote 0.6.13", - "syn 0.15.44", + "proc-macro2", + "proc-macro2-diagnostics", + "quote", + "syn", ] [[package]] @@ -384,7 +418,7 @@ dependencies = [ "diesel_derives", "pq-sys", "serde_json", - "uuid 0.8.2", + "uuid", ] [[package]] @@ -393,9 +427,9 @@ version = "1.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "45f5098f628d02a7a0f68ddba586fb61e80edec3bdc1be3b921f4ceec60858d3" dependencies = [ - "proc-macro2 1.0.26", - "quote 1.0.9", - "syn 1.0.71", + "proc-macro2", + "quote", + "syn", ] [[package]] @@ -427,84 +461,26 @@ dependencies = [ ] [[package]] -name = "email" -version = "0.0.20" +name = "discard" +version = "1.0.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "91549a51bb0241165f13d57fc4c72cef063b4088fb078b019ecbf464a45f22e4" -dependencies = [ - "base64 0.9.3", - "chrono", - "encoding", - "lazy_static", - "rand 0.4.6", - "time", - "version_check 0.1.5", -] +checksum = "212d0f5754cb6769937f4501cc0e67f4f4483c8d2c3e1e922ee9edbe4ab4c7c0" [[package]] -name = "encoding" -version = "0.2.33" +name = "either" +version = "1.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6b0d943856b990d12d3b55b359144ff341533e516d94098b1d3fc1ac666d36ec" -dependencies = [ - "encoding-index-japanese", - "encoding-index-korean", - "encoding-index-simpchinese", - "encoding-index-singlebyte", - "encoding-index-tradchinese", -] +checksum = "e78d4f1cc4ae33bbfc157ed5d5a5ef3bc29227303d595861deb238fcec4e9457" [[package]] -name = "encoding-index-japanese" -version = "1.20141219.5" +name = "encoding_rs" +version = "0.8.28" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "04e8b2ff42e9a05335dbf8b5c6f7567e5591d0d916ccef4e0b1710d32a0d0c91" +checksum = "80df024fbc5ac80f87dfef0d9f5209a252f2a497f7f42944cff24d8253cac065" dependencies = [ - "encoding_index_tests", + "cfg-if 1.0.0", ] -[[package]] -name = "encoding-index-korean" -version = "1.20141219.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4dc33fb8e6bcba213fe2f14275f0963fd16f0a02c878e3095ecfdf5bee529d81" -dependencies = [ - "encoding_index_tests", -] - -[[package]] -name = "encoding-index-simpchinese" -version = "1.20141219.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d87a7194909b9118fc707194baa434a4e3b0fb6a5a757c73c3adb07aa25031f7" -dependencies = [ - "encoding_index_tests", -] - -[[package]] -name = "encoding-index-singlebyte" -version = "1.20141219.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3351d5acffb224af9ca265f435b859c7c01537c0849754d3db3fdf2bfe2ae84a" -dependencies = [ - "encoding_index_tests", -] - -[[package]] -name = "encoding-index-tradchinese" -version = "1.20141219.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fd0e20d5688ce3cab59eb3ef3a2083a5c77bf496cb798dc6fcdb75f323890c18" -dependencies = [ - "encoding_index_tests", -] - -[[package]] -name = "encoding_index_tests" -version = "0.1.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a246d82be1c9d791c5dfde9a2bd045fc3cbba3fa2b11ad558f27d01712f00569" - [[package]] name = "env_logger" version = "0.8.3" @@ -513,7 +489,7 @@ checksum = "17392a012ea30ef05a610aa97dfb49496e71c9f676b27879922ea5bdf60d9d3f" dependencies = [ "atty", "humantime", - "log 0.4.14", + "log", "regex", "termcolor", ] @@ -522,23 +498,22 @@ dependencies = [ name = "errms" version = "0.2.0" dependencies = [ + "base64", "chrono", "config", "diesel", "diesel_geometry", "env_logger", "iban_validate", - "lettre", - "lettre_email", - "log 0.4.14", - "rand 0.8.3", + "log", + "rand", "rocket", - "rocket_contrib", + "rocket_dyn_templates", "rust-argon2", "serde 1.0.125", "serde_derive", "serde_json", - "uuid 0.8.2", + "uuid", ] [[package]] @@ -548,12 +523,17 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e88a8acf291dafb59c2d96e8f59828f3838bb1a70398823ade51a84de6a6deed" [[package]] -name = "fast_chemail" -version = "0.9.6" +name = "figment" +version = "0.10.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "495a39d30d624c2caabe6312bfead73e7717692b44e0b32df168c275a2e8e9e4" +checksum = "0ca029e813a72b7526d28273d25f3e4a2f365d1b7a1018a6f93ec9053a119763" dependencies = [ - "ascii_utils", + "atomic", + "pear", + "serde 1.0.125", + "toml", + "uncased", + "version_check", ] [[package]] @@ -569,19 +549,10 @@ dependencies = [ ] [[package]] -name = "foreign-types" -version = "0.3.2" +name = "fnv" +version = "1.0.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f6f339eb8adc052cd2ca78910fda869aefa38d22d5cb648e6485e4d3fc06f3b1" -dependencies = [ - "foreign-types-shared", -] - -[[package]] -name = "foreign-types-shared" -version = "0.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "00b0228411908ca8685dba7fc2cdd70ec9990a6e753e89b6ac91a84c40fbaf4b" +checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1" [[package]] name = "fsevent" @@ -602,12 +573,6 @@ dependencies = [ "libc", ] -[[package]] -name = "fuchsia-cprng" -version = "0.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a06f77d526c1a601b7c4cdd98f54b5eaabffc14d5f2f0296febdc7f357c6d3ba" - [[package]] name = "fuchsia-zircon" version = "0.3.3" @@ -624,6 +589,113 @@ version = "0.3.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3dcaa9ae7725d12cdb85b3ad99a434db70b468c09ded17e012d86b5c1010f7a7" +[[package]] +name = "futures" +version = "0.3.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0e7e43a803dae2fa37c1f6a8fe121e1f7bf9548b4dfc0522a42f34145dadfc27" +dependencies = [ + "futures-channel", + "futures-core", + "futures-executor", + "futures-io", + "futures-sink", + "futures-task", + "futures-util", +] + +[[package]] +name = "futures-channel" +version = "0.3.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e682a68b29a882df0545c143dc3646daefe80ba479bcdede94d5a703de2871e2" +dependencies = [ + "futures-core", + "futures-sink", +] + +[[package]] +name = "futures-core" +version = "0.3.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0402f765d8a89a26043b889b26ce3c4679d268fa6bb22cd7c6aad98340e179d1" + +[[package]] +name = "futures-executor" +version = "0.3.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "badaa6a909fac9e7236d0620a2f57f7664640c56575b71a7552fbd68deafab79" +dependencies = [ + "futures-core", + "futures-task", + "futures-util", +] + +[[package]] +name = "futures-io" +version = "0.3.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "acc499defb3b348f8d8f3f66415835a9131856ff7714bf10dadfc4ec4bdb29a1" + +[[package]] +name = "futures-macro" +version = "0.3.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a4c40298486cdf52cc00cd6d6987892ba502c7656a16a4192a9992b1ccedd121" +dependencies = [ + "autocfg", + "proc-macro-hack", + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "futures-sink" +version = "0.3.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a57bead0ceff0d6dde8f465ecd96c9338121bb7717d3e7b108059531870c4282" + +[[package]] +name = "futures-task" +version = "0.3.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8a16bef9fc1a4dddb5bee51c989e3fbba26569cbb0e31f5b303c184e3dd33dae" + +[[package]] +name = "futures-util" +version = "0.3.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "feb5c238d27e2bf94ffdfd27b2c29e3df4a68c4193bb6427384259e2bf191967" +dependencies = [ + "autocfg", + "futures-channel", + "futures-core", + "futures-io", + "futures-macro", + "futures-sink", + "futures-task", + "memchr", + "pin-project-lite", + "pin-utils", + "proc-macro-hack", + "proc-macro-nested", + "slab", +] + +[[package]] +name = "generator" +version = "0.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c1d9279ca822891c1a4dae06d185612cf8fc6acfe5dff37781b41297811b12ee" +dependencies = [ + "cc", + "libc", + "log", + "rustversion", + "winapi 0.3.9", +] + [[package]] name = "generic-array" version = "0.12.4" @@ -640,7 +712,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "501466ecc8a30d1d3b7fc9229b122b2ce8ed6e9d9223f1138d4babb253e51817" dependencies = [ "typenum", - "version_check 0.9.3", + "version_check", ] [[package]] @@ -671,20 +743,36 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9b919933a397b79c37e33b77bb2aa3dc8eb6e165ad809e58ff75bc7db2e34574" [[package]] -name = "handlebars" -version = "1.1.0" +name = "h2" +version = "0.3.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d82e5750d8027a97b9640e3fefa66bbaf852a35228e1c90790efd13c4b09c166" +checksum = "825343c4eef0b63f541f8903f395dc5beb362a979b5799a84062527ef1e37726" dependencies = [ - "lazy_static", - "log 0.4.14", + "bytes", + "fnv", + "futures-core", + "futures-sink", + "futures-util", + "http", + "indexmap", + "slab", + "tokio", + "tokio-util", + "tracing", +] + +[[package]] +name = "handlebars" +version = "3.5.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4498fc115fa7d34de968184e473529abb40eeb6be8bc5f7faba3d08c316cb3e3" +dependencies = [ + "log", "pest", "pest_derive", "quick-error", - "regex", "serde 1.0.125", "serde_json", - "walkdir", ] [[package]] @@ -723,13 +811,25 @@ dependencies = [ ] [[package]] -name = "hostname" -version = "0.1.5" +name = "http" +version = "0.2.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "21ceb46a83a85e824ef93669c8b390009623863b5c195d1ba747292c0c72f94e" +checksum = "527e8c9ac747e28542699a951517aa9a6945af506cd1f2e1b53a576c17b6cc11" dependencies = [ - "libc", - "winutil", + "bytes", + "fnv", + "itoa", +] + +[[package]] +name = "http-body" +version = "0.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "60daa14be0e0786db0f03a9e57cb404c9d756eed2b6c62b9ea98ec5743ec75a9" +dependencies = [ + "bytes", + "http", + "pin-project-lite", ] [[package]] @@ -738,6 +838,12 @@ version = "1.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4a1ce40d6fc9764887c2fdc7305c3dcc429ba11ff981c1509416afd5697e4437" +[[package]] +name = "httpdate" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6456b8a6c8f33fee7d958fcd1b60d55b11940a79e63ae87013e6d22e26034440" + [[package]] name = "humantime" version = "2.1.0" @@ -746,21 +852,26 @@ checksum = "9a3a5bfb195931eeb336b2a7b4d761daec841b97f947d34394601737a7bba5e4" [[package]] name = "hyper" -version = "0.10.16" +version = "0.14.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0a0652d9a2609a968c14be1a9ea00bf4b1d64e2e1f53a1b51b6fff3a6e829273" +checksum = "07d6baa1b441335f3ce5098ac421fb6547c46dda735ca1bc6d0153c838f9dd83" dependencies = [ - "base64 0.9.3", + "bytes", + "futures-channel", + "futures-core", + "futures-util", + "h2", + "http", + "http-body", "httparse", - "language-tags", - "log 0.3.9", - "mime 0.2.6", - "num_cpus", - "time", - "traitobject", - "typeable", - "unicase", - "url", + "httpdate", + "itoa", + "pin-project-lite", + "socket2", + "tokio", + "tower-service", + "tracing", + "want", ] [[package]] @@ -772,27 +883,23 @@ dependencies = [ "arrayvec", ] -[[package]] -name = "idna" -version = "0.1.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "38f09e0f0b1fb55fdee1f17470ad800da77af5186a1a76c026b679358b7e844e" -dependencies = [ - "matches", - "unicode-bidi", - "unicode-normalization", -] - [[package]] name = "indexmap" version = "1.6.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "824845a0bf897a9042383849b02c1bc219c2383772efcd5c6f9766fa4b81aef3" dependencies = [ - "autocfg 1.0.1", + "autocfg", "hashbrown", + "serde 1.0.125", ] +[[package]] +name = "inlinable_string" +version = "0.1.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3094308123a0e9fd59659ce45e22de9f53fc1d2ac6e1feb9fef988e4f76cad77" + [[package]] name = "inotify" version = "0.7.1" @@ -813,6 +920,15 @@ dependencies = [ "libc", ] +[[package]] +name = "instant" +version = "0.1.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "61124eeebbd69b8190558df225adf7e4caafce0d743919e5d6b19652314ec5ec" +dependencies = [ + "cfg-if 1.0.0", +] + [[package]] name = "iovec" version = "0.1.4" @@ -838,12 +954,6 @@ dependencies = [ "winapi-build", ] -[[package]] -name = "language-tags" -version = "0.2.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a91d884b6667cd606bb5a69aa0c99ba811a115fc68915e7056ec08a46e93199a" - [[package]] name = "lazy_static" version = "1.4.0" @@ -856,38 +966,6 @@ version = "1.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "830d08ce1d1d941e6b30645f1a0eb5643013d835ce3779a5fc208261dbe10f55" -[[package]] -name = "lettre" -version = "0.9.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "338d9a248c4b3ef60c51941c678bb8f64e244c0a98f1eb71db027d1e777a5700" -dependencies = [ - "base64 0.10.1", - "bufstream", - "fast_chemail", - "hostname", - "log 0.4.14", - "native-tls", - "nom 4.2.3", - "serde 1.0.125", - "serde_derive", - "serde_json", -] - -[[package]] -name = "lettre_email" -version = "0.9.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fd02480f8dcf48798e62113974d6ccca2129a51d241fa20f1ea349c8a42559d5" -dependencies = [ - "base64 0.10.1", - "email", - "lettre", - "mime 0.3.16", - "time", - "uuid 0.7.4", -] - [[package]] name = "lexical-core" version = "0.7.6" @@ -914,12 +992,12 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7fb9b38af92608140b86b693604b9ffcc5824240a484d1ecd4795bacb2fe88f3" [[package]] -name = "log" -version = "0.3.9" +name = "lock_api" +version = "0.4.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e19e8d5c34a3e0e2223db8e060f9e8264aeeb5c5fc64a4ee9965c062211c024b" +checksum = "0382880606dff6d15c9476c416d18690b72742aa7b605bb6dd6ec9030fbf07eb" dependencies = [ - "log 0.4.14", + "scopeguard", ] [[package]] @@ -931,33 +1009,31 @@ dependencies = [ "cfg-if 1.0.0", ] +[[package]] +name = "loom" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7aa5348dc45fa5f2419b6dd4ea20345e6b01b1fcc9d176a322eada1ac3f382ba" +dependencies = [ + "cfg-if 1.0.0", + "generator", + "scoped-tls", + "serde 1.0.125", + "serde_json", +] + [[package]] name = "maplit" version = "1.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3e2e65a1a2e43cfcb47a895c4c8b10d1f4a61097f9f254f183aee60cad9c651d" -[[package]] -name = "matches" -version = "0.1.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7ffc5c5338469d4d3ea17d269fa8ea3512ad247247c30bd2df69e68309ed0a08" - [[package]] name = "memchr" version = "2.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b16bd47d9e329435e309c58469fe0791c2d0d1ba96ec0954152a5ae2b04387dc" -[[package]] -name = "mime" -version = "0.2.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ba626b8a6de5da682e1caa06bdb42a335aee5a84db8e5046a3e8ab17ba0a3ae0" -dependencies = [ - "log 0.3.9", -] - [[package]] name = "mime" version = "0.3.16" @@ -976,13 +1052,26 @@ dependencies = [ "iovec", "kernel32-sys", "libc", - "log 0.4.14", - "miow", + "log", + "miow 0.2.2", "net2", "slab", "winapi 0.2.8", ] +[[package]] +name = "mio" +version = "0.7.13" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8c2bdb6314ec10835cd3293dd268473a835c02b7b352e788be788b3c6ca6bb16" +dependencies = [ + "libc", + "log", + "miow 0.3.7", + "ntapi", + "winapi 0.3.9", +] + [[package]] name = "mio-extras" version = "2.0.6" @@ -990,8 +1079,8 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "52403fe290012ce777c4626790c8951324a2b9e3316b3143779c72b029742f19" dependencies = [ "lazycell", - "log 0.4.14", - "mio", + "log", + "mio 0.6.23", "slab", ] @@ -1008,21 +1097,33 @@ dependencies = [ ] [[package]] -name = "native-tls" -version = "0.2.7" +name = "miow" +version = "0.3.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b8d96b2e1c8da3957d58100b09f102c6d9cfdfced01b7ec5a8974044bb09dbd4" +checksum = "b9f1c5b025cda876f66ef43a113f91ebc9f4ccef34843000e0adf6ebbab84e21" dependencies = [ - "lazy_static", - "libc", - "log 0.4.14", - "openssl", - "openssl-probe", - "openssl-sys", - "schannel", - "security-framework", - "security-framework-sys", - "tempfile", + "winapi 0.3.9", +] + +[[package]] +name = "multer" +version = "2.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0fdd568fea4758b30d6423f013f7171e193c34aa97828d1bd9f924fb3af30a8c" +dependencies = [ + "bytes", + "derive_more", + "encoding_rs", + "futures-util", + "http", + "httparse", + "log", + "mime", + "spin", + "tokio", + "tokio-util", + "twoway", + "version_check", ] [[package]] @@ -1036,16 +1137,6 @@ dependencies = [ "winapi 0.3.9", ] -[[package]] -name = "nom" -version = "4.2.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2ad2a91a8e869eeb30b9cb3119ae87773a8f4ae617f41b1eb9c154b2905f7bd6" -dependencies = [ - "memchr", - "version_check 0.1.5", -] - [[package]] name = "nom" version = "5.1.2" @@ -1054,14 +1145,23 @@ checksum = "ffb4262d26ed83a1c0a33a38fe2bb15797329c85770da05e6b828ddb782627af" dependencies = [ "lexical-core", "memchr", - "version_check 0.9.3", + "version_check", +] + +[[package]] +name = "normpath" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "27e6e8f70e9fbbe3752d330d769e3424f24b9458ce266df93a3b456902fd696a" +dependencies = [ + "winapi 0.3.9", ] [[package]] name = "notify" -version = "4.0.16" +version = "4.0.17" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2599080e87c9bd051ddb11b10074f4da7b1223298df65d4c2ec5bcf309af1533" +checksum = "ae03c8c853dba7bfd23e571ff0cff7bc9dceb40a4cd684cd1681824183f45257" dependencies = [ "bitflags", "filetime", @@ -1069,19 +1169,28 @@ dependencies = [ "fsevent-sys", "inotify", "libc", - "mio", + "mio 0.6.23", "mio-extras", "walkdir", "winapi 0.3.9", ] +[[package]] +name = "ntapi" +version = "0.3.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3f6bb902e437b6d86e03cce10a7e2af662292c5dfef23b65899ea3ac9354ad44" +dependencies = [ + "winapi 0.3.9", +] + [[package]] name = "num-integer" version = "0.1.44" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d2cc698a63b549a70bc047073d2949cce27cd1c7b0a4a862d08a8031bc2801db" dependencies = [ - "autocfg 1.0.1", + "autocfg", "num-traits 0.2.14", ] @@ -1100,7 +1209,7 @@ version = "0.2.14" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9a64b1ec5cda2586e284722486d802acf1f7dbdc623e2bfc57e65ca1cd099290" dependencies = [ - "autocfg 1.0.1", + "autocfg", ] [[package]] @@ -1132,65 +1241,52 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "624a8340c38c1b80fd549087862da4ba43e08858af025b236e509b6649fc13d5" [[package]] -name = "openssl" -version = "0.10.34" +name = "parking_lot" +version = "0.11.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6d7830286ad6a3973c0f1d9b73738f69c76b739301d0229c4b96501695cbe4c8" +checksum = "6d7744ac029df22dca6284efe4e898991d28e3085c706c972bcd7da4a27a15eb" dependencies = [ - "bitflags", - "cfg-if 1.0.0", - "foreign-types", - "libc", - "once_cell", - "openssl-sys", + "instant", + "lock_api", + "parking_lot_core", ] [[package]] -name = "openssl-probe" -version = "0.1.2" +name = "parking_lot_core" +version = "0.8.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "77af24da69f9d9341038eba93a073b1fdaaa1b788221b00a69bce9e762cb32de" - -[[package]] -name = "openssl-sys" -version = "0.9.62" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fa52160d45fa2e7608d504b7c3a3355afed615e6d8b627a74458634ba21b69bd" +checksum = "fa7a782938e745763fe6907fc6ba86946d72f49fe7e21de074e08128a99fb018" dependencies = [ - "autocfg 1.0.1", - "cc", + "cfg-if 1.0.0", + "instant", "libc", - "pkg-config", - "vcpkg", + "redox_syscall", + "smallvec", + "winapi 0.3.9", ] [[package]] name = "pear" -version = "0.1.4" +version = "0.2.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5320f212db967792b67cfe12bd469d08afd6318a249bd917d5c19bc92200ab8a" +checksum = "15e44241c5e4c868e3eaa78b7c1848cadd6344ed4f54d029832d32b415a58702" dependencies = [ + "inlinable_string", "pear_codegen", -] - -[[package]] -name = "pear_codegen" -version = "0.1.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bfc1c836fdc3d1ef87c348b237b5b5c4dff922156fb2d968f57734f9669768ca" -dependencies = [ - "proc-macro2 0.4.30", - "quote 0.6.13", - "syn 0.15.44", - "version_check 0.9.3", "yansi", ] [[package]] -name = "percent-encoding" -version = "1.0.1" +name = "pear_codegen" +version = "0.2.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "31010dd2e1ac33d5b46a5b413495239882813e0369f8ed8a5e266f173602f831" +checksum = "82a5ca643c2303ecb740d506539deba189e16f2754040a42901cd8105d0282d0" +dependencies = [ + "proc-macro2", + "proc-macro2-diagnostics", + "quote", + "syn", +] [[package]] name = "percent-encoding" @@ -1225,9 +1321,9 @@ checksum = "99b8db626e31e5b81787b9783425769681b347011cc59471e33ea46d2ea0cf55" dependencies = [ "pest", "pest_meta", - "proc-macro2 1.0.26", - "quote 1.0.9", - "syn 1.0.71", + "proc-macro2", + "quote", + "syn", ] [[package]] @@ -1242,10 +1338,16 @@ dependencies = [ ] [[package]] -name = "pkg-config" -version = "0.3.19" +name = "pin-project-lite" +version = "0.2.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3831453b3449ceb48b6d9c7ad7c96d5ea673e9b470a1dc578c2ce6521230884c" +checksum = "dc0e1f259c92177c30a4c9d177246edd0a3568b25756a977d0632cf8fa37e905" + +[[package]] +name = "pin-utils" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184" [[package]] name = "polyval" @@ -1253,7 +1355,7 @@ version = "0.4.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "eebcc4aa140b9abd2bc40d9c3f7ccec842679cd79045ac3a7ac698c1a064b7cd" dependencies = [ - "cpuid-bool 0.2.0", + "cpuid-bool", "opaque-debug 0.3.0", "universal-hash", ] @@ -1274,37 +1376,44 @@ dependencies = [ ] [[package]] -name = "proc-macro2" -version = "0.4.30" +name = "proc-macro-hack" +version = "0.5.19" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cf3d2011ab5c909338f7887f4fc896d35932e29146c12c8d01da6b22a80ba759" -dependencies = [ - "unicode-xid 0.1.0", -] +checksum = "dbf0c48bc1d91375ae5c3cd81e3722dff1abcf81a30960240640d223f59fe0e5" + +[[package]] +name = "proc-macro-nested" +version = "0.1.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bc881b2c22681370c6a780e47af9840ef841837bc98118431d4e1868bd0c1086" [[package]] name = "proc-macro2" -version = "1.0.26" +version = "1.0.27" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a152013215dca273577e18d2bf00fa862b89b24169fb78c4c95aeb07992c9cec" +checksum = "f0d8caf72986c1a598726adc988bb5984792ef84f5ee5aa50209145ee8077038" dependencies = [ - "unicode-xid 0.2.2", + "unicode-xid", +] + +[[package]] +name = "proc-macro2-diagnostics" +version = "0.9.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4bf29726d67464d49fa6224a1d07936a8c08bb3fba727c7493f6cf1616fdaada" +dependencies = [ + "proc-macro2", + "quote", + "syn", + "version_check", + "yansi", ] [[package]] name = "quick-error" -version = "1.2.3" +version = "2.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a1d01941d82fa2ab50be1e79e6714289dd7cde78eba4c074bc5a4374f650dfe0" - -[[package]] -name = "quote" -version = "0.6.13" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6ce23b6b870e8f94f81fb0a363d65d86675884b34a09043c81e5562f11c1f8e1" -dependencies = [ - "proc-macro2 0.4.30", -] +checksum = "a993555f31e5a609f617c12db6250dedcac1b0a85076912c436e6fc9b2c8e6a3" [[package]] name = "quote" @@ -1312,39 +1421,7 @@ version = "1.0.9" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c3d0b9745dc2debf507c8422de05d7226cc1f0644216dfdfead988f9b1ab32a7" dependencies = [ - "proc-macro2 1.0.26", -] - -[[package]] -name = "rand" -version = "0.4.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "552840b97013b1a26992c11eac34bdd778e464601a4c2054b5f0bff7c6761293" -dependencies = [ - "fuchsia-cprng", - "libc", - "rand_core 0.3.1", - "rdrand", - "winapi 0.3.9", -] - -[[package]] -name = "rand" -version = "0.6.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6d71dacdc3c88c1fde3885a3be3fbab9f35724e6ce99467f7d9c5026132184ca" -dependencies = [ - "autocfg 0.1.7", - "libc", - "rand_chacha 0.1.1", - "rand_core 0.4.2", - "rand_hc 0.1.0", - "rand_isaac", - "rand_jitter", - "rand_os", - "rand_pcg", - "rand_xorshift", - "winapi 0.3.9", + "proc-macro2", ] [[package]] @@ -1354,19 +1431,9 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0ef9e7e66b4468674bfcb0c81af8b7fa0bb154fa9f28eb840da5c447baeb8d7e" dependencies = [ "libc", - "rand_chacha 0.3.0", - "rand_core 0.6.2", - "rand_hc 0.3.0", -] - -[[package]] -name = "rand_chacha" -version = "0.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "556d3a1ca6600bfcbab7c7c91ccb085ac7fbbcd70e008a98742e7847f4f7bcef" -dependencies = [ - "autocfg 0.1.7", - "rand_core 0.3.1", + "rand_chacha", + "rand_core", + "rand_hc", ] [[package]] @@ -1376,24 +1443,9 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e12735cf05c9e10bf21534da50a147b924d555dc7a547c42e6bb2d5b6017ae0d" dependencies = [ "ppv-lite86", - "rand_core 0.6.2", + "rand_core", ] -[[package]] -name = "rand_core" -version = "0.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7a6fdeb83b075e8266dcc8762c22776f6877a63111121f5f8c7411e5be7eed4b" -dependencies = [ - "rand_core 0.4.2", -] - -[[package]] -name = "rand_core" -version = "0.4.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9c33a3c44ca05fa6f1807d8e6743f3824e8509beca625669633be0acbdf509dc" - [[package]] name = "rand_core" version = "0.6.2" @@ -1403,84 +1455,13 @@ dependencies = [ "getrandom", ] -[[package]] -name = "rand_hc" -version = "0.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7b40677c7be09ae76218dc623efbf7b18e34bced3f38883af07bb75630a21bc4" -dependencies = [ - "rand_core 0.3.1", -] - [[package]] name = "rand_hc" version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3190ef7066a446f2e7f42e239d161e905420ccab01eb967c9eb27d21b2322a73" dependencies = [ - "rand_core 0.6.2", -] - -[[package]] -name = "rand_isaac" -version = "0.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ded997c9d5f13925be2a6fd7e66bf1872597f759fd9dd93513dd7e92e5a5ee08" -dependencies = [ - "rand_core 0.3.1", -] - -[[package]] -name = "rand_jitter" -version = "0.1.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1166d5c91dc97b88d1decc3285bb0a99ed84b05cfd0bc2341bdf2d43fc41e39b" -dependencies = [ - "libc", - "rand_core 0.4.2", - "winapi 0.3.9", -] - -[[package]] -name = "rand_os" -version = "0.1.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7b75f676a1e053fc562eafbb47838d67c84801e38fc1ba459e8f180deabd5071" -dependencies = [ - "cloudabi", - "fuchsia-cprng", - "libc", - "rand_core 0.4.2", - "rdrand", - "winapi 0.3.9", -] - -[[package]] -name = "rand_pcg" -version = "0.1.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "abf9b09b01790cfe0364f52bf32995ea3c39f4d2dd011eac241d2914146d0b44" -dependencies = [ - "autocfg 0.1.7", - "rand_core 0.4.2", -] - -[[package]] -name = "rand_xorshift" -version = "0.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cbf7e9e623549b0e21f6e97cf8ecf247c1a8fd2e8a992ae265314300b2455d5c" -dependencies = [ - "rand_core 0.3.1", -] - -[[package]] -name = "rdrand" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "678054eb77286b51581ba43620cc911abf02758c91f93f479767aed0f90458b2" -dependencies = [ - "rand_core 0.3.1", + "rand_core", ] [[package]] @@ -1492,6 +1473,26 @@ dependencies = [ "bitflags", ] +[[package]] +name = "ref-cast" +version = "1.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "300f2a835d808734ee295d45007adacb9ebb29dd3ae2424acfa17930cae541da" +dependencies = [ + "ref-cast-impl", +] + +[[package]] +name = "ref-cast-impl" +version = "1.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4c38e3aecd2b21cb3959637b883bb3714bc7e43f0268b9a29d3743ee3e55cdd2" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + [[package]] name = "regex" version = "1.5.3" @@ -1520,49 +1521,69 @@ dependencies = [ [[package]] name = "rocket" -version = "0.4.10" +version = "0.5.0-rc.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4a7ab1dfdc75bb8bd2be381f37796b1b300c45a3c9145b34d86715e8dd90bf28" +checksum = "0a71c18c42a0eb15bf3816831caf0dad11e7966f2a41aaf486a701979c4dd1f2" dependencies = [ + "async-stream", + "async-trait", + "atomic", "atty", - "base64 0.13.0", - "log 0.4.14", + "binascii", + "bytes", + "either", + "figment", + "futures", + "indexmap", + "log", "memchr", + "multer", "num_cpus", - "pear", + "parking_lot", + "pin-project-lite", + "rand", + "ref-cast", "rocket_codegen", "rocket_http", + "serde 1.0.125", + "serde_json", "state", - "time", - "toml 0.4.10", - "version_check 0.9.3", + "tempfile", + "time 0.2.27", + "tokio", + "tokio-stream", + "tokio-util", + "ubyte", + "uuid", + "version_check", "yansi", ] [[package]] name = "rocket_codegen" -version = "0.4.10" +version = "0.5.0-rc.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1729e687d6d2cf434d174da84fb948f7fef4fac22d20ce94ca61c28b72dbcf9f" +checksum = "66f5fa462f7eb958bba8710c17c5d774bbbd59809fa76fb1957af7e545aea8bb" dependencies = [ "devise", "glob", "indexmap", - "quote 0.6.13", + "proc-macro2", + "quote", "rocket_http", - "version_check 0.9.3", - "yansi", + "syn", + "unicode-xid", ] [[package]] -name = "rocket_contrib" -version = "0.4.7" +name = "rocket_dyn_templates" +version = "0.1.0-rc.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d7954a707f9ca18aa74ca8c1f5d1f900f52a4dceb68e96e3112143f759cfd20e" +checksum = "c83f1287ad8fa034410928297a91db37518d5c46d7cc7e1e1b4a77aec0cd8807" dependencies = [ "glob", "handlebars", - "log 0.4.14", + "normpath", "notify", "rocket", "serde 1.0.125", @@ -1571,19 +1592,31 @@ dependencies = [ [[package]] name = "rocket_http" -version = "0.4.10" +version = "0.5.0-rc.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6131e6e6d38a9817f4a494ff5da95971451c2eb56a53915579fc9c80f6ef0117" +checksum = "23c8b7d512d2fcac2316ebe590cde67573844b99e6cc9ee0f53375fa16e25ebd" dependencies = [ "cookie", + "either", + "http", "hyper", "indexmap", + "log", + "memchr", + "mime", + "parking_lot", "pear", - "percent-encoding 1.0.1", + "percent-encoding", + "pin-project-lite", + "ref-cast", + "serde 1.0.125", "smallvec", + "stable-pattern", "state", - "time", - "unicode-xid 0.1.0", + "time 0.2.27", + "tokio", + "uncased", + "uuid", ] [[package]] @@ -1592,7 +1625,7 @@ version = "0.8.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4b18820d944b33caa75a71378964ac46f58517c92b6ae5f762636247c09e78fb" dependencies = [ - "base64 0.13.0", + "base64", "blake2b_simd", "constant_time_eq", "crossbeam-utils", @@ -1604,18 +1637,27 @@ version = "0.13.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3e52c148ef37f8c375d49d5a73aa70713125b7f19095948a923f80afdeb22ec2" +[[package]] +name = "rustc_version" +version = "0.2.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "138e3e0acb6c9fb258b19b67cb8abd63c00679d2851805ea151465464fe9030a" +dependencies = [ + "semver", +] + +[[package]] +name = "rustversion" +version = "1.0.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "61b3909d758bb75c79f23d4736fac9433868679d3ad2ea7a61e3c25cfda9a088" + [[package]] name = "ryu" version = "1.0.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "71d301d4193d031abdd79ff7e3dd721168a9572ef3fe51a1517aba235bd8f86e" -[[package]] -name = "safemem" -version = "0.3.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ef703b7cb59335eae2eb93ceb664c0eb7ea6bf567079d843e09420219668e072" - [[package]] name = "same-file" version = "1.0.6" @@ -1626,37 +1668,31 @@ dependencies = [ ] [[package]] -name = "schannel" -version = "0.1.19" +name = "scoped-tls" +version = "1.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8f05ba609c234e60bee0d547fe94a4c7e9da733d1c962cf6e59efa4cd9c8bc75" +checksum = "ea6a9290e3c9cf0f18145ef7ffa62d68ee0bf5fcd651017e586dc7fd5da448c2" + +[[package]] +name = "scopeguard" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d29ab0c6d3fc0ee92fe66e2d99f700eab17a8d57d1c1d3b748380fb20baa78cd" + +[[package]] +name = "semver" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1d7eb9ef2c18661902cc47e535f9bc51b78acd254da71d375c2f6720d9a40403" dependencies = [ - "lazy_static", - "winapi 0.3.9", + "semver-parser", ] [[package]] -name = "security-framework" -version = "2.2.0" +name = "semver-parser" +version = "0.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3670b1d2fdf6084d192bc71ead7aabe6c06aa2ea3fbd9cc3ac111fa5c2b1bd84" -dependencies = [ - "bitflags", - "core-foundation", - "core-foundation-sys", - "libc", - "security-framework-sys", -] - -[[package]] -name = "security-framework-sys" -version = "2.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3676258fd3cfe2c9a0ec99ce3038798d847ce3e4bb17746373eb9f0f1ac16339" -dependencies = [ - "core-foundation-sys", - "libc", -] +checksum = "388a1df253eca08550bef6c72392cfe7c30914bf41df5269b68cbd6ff8f570a3" [[package]] name = "serde" @@ -1691,9 +1727,9 @@ version = "1.0.125" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b093b7a2bb58203b5da3056c05b4ec1fed827dcfdb37347a8841695263b3d06d" dependencies = [ - "proc-macro2 1.0.26", - "quote 1.0.9", - "syn 1.0.71", + "proc-macro2", + "quote", + "syn", ] [[package]] @@ -1720,18 +1756,33 @@ dependencies = [ ] [[package]] -name = "sha2" -version = "0.9.3" +name = "sha1" +version = "0.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fa827a14b29ab7f44778d14a88d3cb76e949c45083f7dbfa507d0cb699dc12de" +checksum = "2579985fda508104f7587689507983eadd6a6e84dd35d6d115361f530916fa0d" + +[[package]] +name = "sha2" +version = "0.9.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b362ae5752fd2137731f9fa25fd4d9058af34666ca1966fb969119cc35719f12" dependencies = [ "block-buffer 0.9.0", "cfg-if 1.0.0", - "cpuid-bool 0.1.2", + "cpufeatures", "digest 0.9.0", "opaque-debug 0.3.0", ] +[[package]] +name = "signal-hook-registry" +version = "1.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e51e73328dc4ac0c7ccbda3a494dfa03df1de2f46018127f60c693f2648455b0" +dependencies = [ + "libc", +] + [[package]] name = "slab" version = "0.4.3" @@ -1745,10 +1796,47 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "fe0f37c9e8f3c5a4a66ad655a93c74daac4ad00c441533bf5c6e7990bb42604e" [[package]] -name = "state" -version = "0.4.2" +name = "socket2" +version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3015a7d0a5fd5105c91c3710d42f9ccf0abfb287d62206484dcc67f9569a6483" +checksum = "9e3dfc207c526015c632472a77be09cf1b6e46866581aecae5cc38fb4235dea2" +dependencies = [ + "libc", + "winapi 0.3.9", +] + +[[package]] +name = "spin" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b87bbf98cb81332a56c1ee8929845836f85e8ddd693157c30d76660196014478" + +[[package]] +name = "stable-pattern" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4564168c00635f88eaed410d5efa8131afa8d8699a612c80c455a0ba05c21045" +dependencies = [ + "memchr", +] + +[[package]] +name = "standback" +version = "0.2.17" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e113fb6f3de07a243d434a56ec6f186dfd51cb08448239fe7bcae73f87ff28ff" +dependencies = [ + "version_check", +] + +[[package]] +name = "state" +version = "0.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0b54c22963194db84a59ee48e1fa9ed6c1fa9909ad5db92a700aa6fe956d632b" +dependencies = [ + "loom", +] [[package]] name = "static_assertions" @@ -1756,6 +1844,55 @@ version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a2eb9349b6444b326872e140eb1cf5e7c522154d69e7a0ffb0fb81c06b37543f" +[[package]] +name = "stdweb" +version = "0.4.20" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d022496b16281348b52d0e30ae99e01a73d737b2f45d38fed4edf79f9325a1d5" +dependencies = [ + "discard", + "rustc_version", + "stdweb-derive", + "stdweb-internal-macros", + "stdweb-internal-runtime", + "wasm-bindgen", +] + +[[package]] +name = "stdweb-derive" +version = "0.5.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c87a60a40fccc84bef0652345bbbbbe20a605bf5d0ce81719fc476f5c03b50ef" +dependencies = [ + "proc-macro2", + "quote", + "serde 1.0.125", + "serde_derive", + "syn", +] + +[[package]] +name = "stdweb-internal-macros" +version = "0.2.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "58fa5ff6ad0d98d1ffa8cb115892b6e69d67799f6763e162a1c9db421dc22e11" +dependencies = [ + "base-x", + "proc-macro2", + "quote", + "serde 1.0.125", + "serde_derive", + "serde_json", + "sha1", + "syn", +] + +[[package]] +name = "stdweb-internal-runtime" +version = "0.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "213701ba3370744dcd1a12960caa4843b3d68b4d1c0a5d575e0d65b2ee9d16c0" + [[package]] name = "subtle" version = "2.4.0" @@ -1764,24 +1901,13 @@ checksum = "1e81da0851ada1f3e9d4312c704aa4f8806f0f9d69faaf8df2f3464b4a9437c2" [[package]] name = "syn" -version = "0.15.44" +version = "1.0.73" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9ca4b3b69a77cbe1ffc9e198781b7acb0c7365a883670e8f1c1bc66fba79a5c5" +checksum = "f71489ff30030d2ae598524f61326b902466f72a0fb1a8564c001cc63425bcc7" dependencies = [ - "proc-macro2 0.4.30", - "quote 0.6.13", - "unicode-xid 0.1.0", -] - -[[package]] -name = "syn" -version = "1.0.71" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ad184cc9470f9117b2ac6817bfe297307418819ba40552f9b3846f05c33d5373" -dependencies = [ - "proc-macro2 1.0.26", - "quote 1.0.9", - "unicode-xid 0.2.2", + "proc-macro2", + "quote", + "unicode-xid", ] [[package]] @@ -1792,7 +1918,7 @@ checksum = "dac1c663cfc93810f88aed9b8941d48cabf856a1b111c29a40439018d870eb22" dependencies = [ "cfg-if 1.0.0", "libc", - "rand 0.8.3", + "rand", "redox_syscall", "remove_dir_all", "winapi 0.3.9", @@ -1818,27 +1944,96 @@ dependencies = [ ] [[package]] -name = "tinyvec" -version = "1.2.0" +name = "time" +version = "0.2.27" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5b5220f05bb7de7f3f53c7c065e1199b3172696fe2db9f9c4d8ad9b4ee74c342" +checksum = "4752a97f8eebd6854ff91f1c1824cd6160626ac4bd44287f7f4ea2035a02a242" dependencies = [ - "tinyvec_macros", + "const_fn", + "libc", + "standback", + "stdweb", + "time-macros", + "version_check", + "winapi 0.3.9", ] [[package]] -name = "tinyvec_macros" -version = "0.1.0" +name = "time-macros" +version = "0.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cda74da7e1a664f795bb1f8a87ec406fb89a02522cf6e50620d016add6dbbf5c" +checksum = "957e9c6e26f12cb6d0dd7fc776bb67a706312e7299aed74c8dd5b17ebb27e2f1" +dependencies = [ + "proc-macro-hack", + "time-macros-impl", +] [[package]] -name = "toml" -version = "0.4.10" +name = "time-macros-impl" +version = "0.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "758664fc71a3a69038656bee8b6be6477d2a6c315a6b81f7081f591bffa4111f" +checksum = "fd3c141a1b43194f3f56a1411225df8646c55781d5f26db825b3d98507eb482f" dependencies = [ - "serde 1.0.125", + "proc-macro-hack", + "proc-macro2", + "quote", + "standback", + "syn", +] + +[[package]] +name = "tokio" +version = "1.6.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "aea337f72e96efe29acc234d803a5981cd9a2b6ed21655cd7fc21cfe021e8ec7" +dependencies = [ + "autocfg", + "bytes", + "libc", + "memchr", + "mio 0.7.13", + "num_cpus", + "once_cell", + "pin-project-lite", + "signal-hook-registry", + "tokio-macros", + "winapi 0.3.9", +] + +[[package]] +name = "tokio-macros" +version = "1.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c49e3df43841dafb86046472506755d8501c5615673955f6aa17181125d13c37" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "tokio-stream" +version = "0.1.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f8864d706fdb3cc0843a49647ac892720dac98a6eeb818b77190592cf4994066" +dependencies = [ + "futures-core", + "pin-project-lite", + "tokio", +] + +[[package]] +name = "tokio-util" +version = "0.6.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1caa0b0c8d94a049db56b5acf8cba99dc0623aab1b26d5b5f5e2d945846b3592" +dependencies = [ + "bytes", + "futures-core", + "futures-sink", + "log", + "pin-project-lite", + "tokio", ] [[package]] @@ -1851,16 +2046,46 @@ dependencies = [ ] [[package]] -name = "traitobject" -version = "0.1.0" +name = "tower-service" +version = "0.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "efd1f82c56340fdf16f2a953d7bda4f8fdffba13d93b00844c25572110b26079" +checksum = "360dfd1d6d30e05fda32ace2c8c70e9c0a9da713275777f5a4dbb8a1893930c6" [[package]] -name = "typeable" -version = "0.1.2" +name = "tracing" +version = "0.1.26" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1410f6f91f21d1612654e7cc69193b0334f909dcf2c790c4826254fbb86f8887" +checksum = "09adeb8c97449311ccd28a427f96fb563e7fd31aabf994189879d9da2394b89d" +dependencies = [ + "cfg-if 1.0.0", + "pin-project-lite", + "tracing-core", +] + +[[package]] +name = "tracing-core" +version = "0.1.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a9ff14f98b1a4b289c6248a023c1c2fa1491062964e9fed67ab29c4e4da4a052" +dependencies = [ + "lazy_static", +] + +[[package]] +name = "try-lock" +version = "0.2.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "59547bce71d9c38b83d9c0e92b6066c4253371f15005def0c30d9657f50c7642" + +[[package]] +name = "twoway" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c57ffb460d7c24cd6eda43694110189030a3d1dfe418416d9468fd1c1d290b47" +dependencies = [ + "memchr", + "unchecked-index", +] [[package]] name = "typenum" @@ -1868,6 +2093,15 @@ version = "1.13.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "879f6906492a7cd215bfa4cf595b600146ccfac0c79bcbd1f3000162af5e8b06" +[[package]] +name = "ubyte" +version = "0.10.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "42756bb9e708855de2f8a98195643dff31a97f0485d90d8467b39dc24be9e8fe" +dependencies = [ + "serde 1.0.125", +] + [[package]] name = "ucd-trie" version = "0.1.3" @@ -1875,37 +2109,20 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "56dee185309b50d1f11bfedef0fe6d036842e3fb77413abef29f8f8d1c5d4c1c" [[package]] -name = "unicase" -version = "1.4.2" +name = "uncased" +version = "0.9.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7f4765f83163b74f957c797ad9253caf97f103fb064d3999aea9568d09fc8a33" +checksum = "5baeed7327e25054889b9bd4f975f32e5f4c5d434042d59ab6cd4142c0a76ed0" dependencies = [ - "version_check 0.1.5", + "serde 1.0.125", + "version_check", ] [[package]] -name = "unicode-bidi" -version = "0.3.5" +name = "unchecked-index" +version = "0.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eeb8be209bb1c96b7c177c7420d26e04eccacb0eeae6b980e35fcb74678107e0" -dependencies = [ - "matches", -] - -[[package]] -name = "unicode-normalization" -version = "0.1.17" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "07fbfce1c8a97d547e8b5334978438d9d6ec8c20e38f56d4a4374d181493eaef" -dependencies = [ - "tinyvec", -] - -[[package]] -name = "unicode-xid" -version = "0.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fc72304796d0818e357ead4e000d19c9c174ab23dc11093ac919054d20a6a7fc" +checksum = "eeba86d422ce181a719445e51872fa30f1f7413b62becb52e95ec91aa262d85c" [[package]] name = "unicode-xid" @@ -1923,26 +2140,6 @@ dependencies = [ "subtle", ] -[[package]] -name = "url" -version = "1.7.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dd4e7c0d531266369519a4aa4f399d748bd37043b00bde1e4ff1f60a120b355a" -dependencies = [ - "idna", - "matches", - "percent-encoding 1.0.1", -] - -[[package]] -name = "uuid" -version = "0.7.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "90dbc611eb48397705a6b0f6e917da23ae517e4d127123d2cf7674206627d32a" -dependencies = [ - "rand 0.6.5", -] - [[package]] name = "uuid" version = "0.8.2" @@ -1959,12 +2156,6 @@ version = "0.2.12" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "cbdbff6266a24120518560b5dc983096efb98462e51d0d68169895b237be3e5d" -[[package]] -name = "version_check" -version = "0.1.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "914b1a6776c4c929a602fafd8bc742e06365d4bcbe48c30f9cca5824f70dc9dd" - [[package]] name = "version_check" version = "0.9.3" @@ -1982,12 +2173,76 @@ dependencies = [ "winapi-util", ] +[[package]] +name = "want" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1ce8a968cb1cd110d136ff8b819a556d6fb6d919363c61534f6860c7eb172ba0" +dependencies = [ + "log", + "try-lock", +] + [[package]] name = "wasi" version = "0.10.2+wasi-snapshot-preview1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "fd6fbd9a79829dd1ad0cc20627bf1ed606756a7f77edff7b66b7064f9cb327c6" +[[package]] +name = "wasm-bindgen" +version = "0.2.74" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d54ee1d4ed486f78874278e63e4069fc1ab9f6a18ca492076ffb90c5eb2997fd" +dependencies = [ + "cfg-if 1.0.0", + "wasm-bindgen-macro", +] + +[[package]] +name = "wasm-bindgen-backend" +version = "0.2.74" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3b33f6a0694ccfea53d94db8b2ed1c3a8a4c86dd936b13b9f0a15ec4a451b900" +dependencies = [ + "bumpalo", + "lazy_static", + "log", + "proc-macro2", + "quote", + "syn", + "wasm-bindgen-shared", +] + +[[package]] +name = "wasm-bindgen-macro" +version = "0.2.74" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "088169ca61430fe1e58b8096c24975251700e7b1f6fd91cc9d59b04fb9b18bd4" +dependencies = [ + "quote", + "wasm-bindgen-macro-support", +] + +[[package]] +name = "wasm-bindgen-macro-support" +version = "0.2.74" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "be2241542ff3d9f241f5e2cb6dd09b37efe786df8851c54957683a49f0987a97" +dependencies = [ + "proc-macro2", + "quote", + "syn", + "wasm-bindgen-backend", + "wasm-bindgen-shared", +] + +[[package]] +name = "wasm-bindgen-shared" +version = "0.2.74" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d7cff876b8f18eed75a66cf49b65e7f967cb354a7aa16003fb55dbfd25b44b4f" + [[package]] name = "winapi" version = "0.2.8" @@ -2031,15 +2286,6 @@ version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" -[[package]] -name = "winutil" -version = "0.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7daf138b6b14196e3830a588acf1e86966c694d3e8fb026fb105b8b5dca07e6e" -dependencies = [ - "winapi 0.3.9", -] - [[package]] name = "ws2_32-sys" version = "0.2.1" diff --git a/Cargo.toml b/Cargo.toml index 5d35c0b..50caaf0 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -13,7 +13,6 @@ serde = { version = "1.0.125", features = ["derive"] } serde_json = "1.0.64" log = "0.4.14" env_logger = "0.8.3" -rocket = "0.4.10" diesel = { version = "1.4.6", features = ["postgres", "uuidv07", "chrono", "serde_json"] } #uuidv07 vs uuid to use uuid >= 0.7 diesel_geometry = "1.4.0" uuid = { version = "0.8.2", features = ["serde", "v4"] } @@ -21,10 +20,12 @@ rust-argon2 = "0.8.3" chrono = { version = "0.4.19", features = ["serde"] } rand = "0.8.3" iban_validate = "4.0.0" -lettre = "0.9.5" -lettre_email = "0.9.4" +base64 = "0.13.0" -[dependencies.rocket_contrib] -version = "0.4.7" -default-features = false -features = ["handlebars_templates", "serve", "json"] +[dependencies.rocket] +version = "0.5.0-rc.1" +features = ["json", "secrets", "uuid"] + +[dependencies.rocket_dyn_templates] +version = "0.1.0-rc.1" +features = ["handlebars"] \ No newline at end of file diff --git a/Rocket.toml b/Rocket.toml index d44ffa5..c85b5aa 100644 --- a/Rocket.toml +++ b/Rocket.toml @@ -1,21 +1,21 @@ -[development] -address = "localhost" +[debug] +address = "127.0.0.1" port = 8000 keep_alive = 5 -log = "normal" +log = "debug" limits = { forms = 32768 } template_dir = "resources/templates" [staging] -address = "0.0.0.0" +address = "127.0.0.1" port = 8000 keep_alive = 5 log = "normal" limits = { forms = 32768 } template_dir = "resources/templates" -[production] -address = "0.0.0.0" +[release] +address = "127.0.0.1" port = 8000 keep_alive = 5 log = "critical" diff --git a/resources/templates/alert.hbs b/resources/templates/alert.html.hbs similarity index 100% rename from resources/templates/alert.hbs rename to resources/templates/alert.html.hbs diff --git a/resources/templates/delete-groups-modal.hbs b/resources/templates/delete-groups-modal.html.hbs similarity index 100% rename from resources/templates/delete-groups-modal.hbs rename to resources/templates/delete-groups-modal.html.hbs diff --git a/resources/templates/delete-member-modal.hbs b/resources/templates/delete-member-modal.html.hbs similarity index 100% rename from resources/templates/delete-member-modal.hbs rename to resources/templates/delete-member-modal.html.hbs diff --git a/resources/templates/footer.hbs b/resources/templates/footer.html.hbs similarity index 100% rename from resources/templates/footer.hbs rename to resources/templates/footer.html.hbs diff --git a/resources/templates/header.hbs b/resources/templates/header.html.hbs similarity index 100% rename from resources/templates/header.hbs rename to resources/templates/header.html.hbs diff --git a/resources/templates/module_communicator_email.hbs b/resources/templates/module_communicator_email.html.hbs similarity index 100% rename from resources/templates/module_communicator_email.hbs rename to resources/templates/module_communicator_email.html.hbs diff --git a/resources/templates/module_dashboard.hbs b/resources/templates/module_dashboard.html.hbs similarity index 100% rename from resources/templates/module_dashboard.hbs rename to resources/templates/module_dashboard.html.hbs diff --git a/resources/templates/module_em_create_event.hbs b/resources/templates/module_em_create_event.html.hbs similarity index 100% rename from resources/templates/module_em_create_event.hbs rename to resources/templates/module_em_create_event.html.hbs diff --git a/resources/templates/module_em_edit_event.hbs b/resources/templates/module_em_edit_event.html.hbs similarity index 100% rename from resources/templates/module_em_edit_event.hbs rename to resources/templates/module_em_edit_event.html.hbs diff --git a/resources/templates/module_em_event_unit_positions.hbs b/resources/templates/module_em_event_unit_positions.html.hbs similarity index 100% rename from resources/templates/module_em_event_unit_positions.hbs rename to resources/templates/module_em_event_unit_positions.html.hbs diff --git a/resources/templates/module_em_event_unit_templates.hbs b/resources/templates/module_em_event_unit_templates.html.hbs similarity index 100% rename from resources/templates/module_em_event_unit_templates.hbs rename to resources/templates/module_em_event_unit_templates.html.hbs diff --git a/resources/templates/module_em_eventlist.hbs b/resources/templates/module_em_eventlist.html.hbs similarity index 100% rename from resources/templates/module_em_eventlist.hbs rename to resources/templates/module_em_eventlist.html.hbs diff --git a/resources/templates/module_em_organisers.hbs b/resources/templates/module_em_organisers.html.hbs similarity index 100% rename from resources/templates/module_em_organisers.hbs rename to resources/templates/module_em_organisers.html.hbs diff --git a/resources/templates/module_member_management_create.hbs b/resources/templates/module_member_management_create.html.hbs similarity index 100% rename from resources/templates/module_member_management_create.hbs rename to resources/templates/module_member_management_create.html.hbs diff --git a/resources/templates/module_member_management_groups.hbs b/resources/templates/module_member_management_groups.html.hbs similarity index 100% rename from resources/templates/module_member_management_groups.hbs rename to resources/templates/module_member_management_groups.html.hbs diff --git a/resources/templates/module_member_management_personal_profile.hbs b/resources/templates/module_member_management_personal_profile.html.hbs similarity index 100% rename from resources/templates/module_member_management_personal_profile.hbs rename to resources/templates/module_member_management_personal_profile.html.hbs diff --git a/resources/templates/module_member_management_profile.hbs b/resources/templates/module_member_management_profile.html.hbs similarity index 100% rename from resources/templates/module_member_management_profile.hbs rename to resources/templates/module_member_management_profile.html.hbs diff --git a/resources/templates/module_member_management_selection.hbs b/resources/templates/module_member_management_selection.html.hbs similarity index 100% rename from resources/templates/module_member_management_selection.hbs rename to resources/templates/module_member_management_selection.html.hbs diff --git a/resources/templates/module_resource_management_vehicle_list.hbs b/resources/templates/module_resource_management_vehicle_list.html.hbs similarity index 100% rename from resources/templates/module_resource_management_vehicle_list.hbs rename to resources/templates/module_resource_management_vehicle_list.html.hbs diff --git a/resources/templates/module_settings_permissions.hbs b/resources/templates/module_settings_permissions.html.hbs similarity index 100% rename from resources/templates/module_settings_permissions.hbs rename to resources/templates/module_settings_permissions.html.hbs diff --git a/resources/templates/module_welcome.hbs b/resources/templates/module_welcome.html.hbs similarity index 100% rename from resources/templates/module_welcome.hbs rename to resources/templates/module_welcome.html.hbs diff --git a/resources/templates/password_reset.hbs b/resources/templates/password_reset.html.hbs similarity index 100% rename from resources/templates/password_reset.hbs rename to resources/templates/password_reset.html.hbs diff --git a/resources/templates/searchbar.hbs b/resources/templates/searchbar.html.hbs similarity index 100% rename from resources/templates/searchbar.hbs rename to resources/templates/searchbar.html.hbs diff --git a/resources/templates/sidebar.hbs b/resources/templates/sidebar.html.hbs similarity index 100% rename from resources/templates/sidebar.hbs rename to resources/templates/sidebar.html.hbs diff --git a/resources/templates/versiontag.hbs b/resources/templates/versiontag.hbs index 63b127b..a0cb888 100644 --- a/resources/templates/versiontag.hbs +++ b/resources/templates/versiontag.hbs @@ -1 +1 @@ -v0.2-16-g96fc203 +v0.2-19-gdbc762a diff --git a/src/database/controller/api_members.rs b/src/database/controller/api_members.rs index 8d23d14..3b5de11 100644 --- a/src/database/controller/api_members.rs +++ b/src/database/controller/api_members.rs @@ -18,7 +18,7 @@ pub fn get_raw_member_search_result( ) -> Result { use crate::schema::members::dsl::*; - let connection = establish_connection(&settings); + let connection = establish_connection(settings); let short_member: Result = members .filter(entity_id.eq(member_entity_id)) @@ -63,7 +63,7 @@ pub fn get_raw_member_search_result_by_name( ) -> Result, diesel::result::Error> { use crate::schema::members::dsl::*; - let connection = establish_connection(&settings); + let connection = establish_connection(settings); let splitted_name: Vec<&str> = member_name.split_whitespace().collect(); @@ -131,7 +131,7 @@ pub fn delete_entity_deprecated( ) -> Result { use crate::schema::entities::dsl::*; - let connection = establish_connection(&settings); + let connection = establish_connection(settings); match diesel::delete(entities.filter(entity_id.eq(entity_id_to_delete))).execute(&connection) { Ok(size) => Ok(size), diff --git a/src/database/controller/members_groups.rs b/src/database/controller/members_groups.rs index 9c39b63..67b4117 100644 --- a/src/database/controller/members_groups.rs +++ b/src/database/controller/members_groups.rs @@ -46,7 +46,7 @@ pub fn get_member_search_results_in_group( let readable = check_access_to_member_and_group( settings, member.entity_id, - get_groups_for_member(&settings, member.entity_id), + get_groups_for_member(settings, member.entity_id), caller_entity_id, crate::permissions::modules::member_management::profile::VIEW.to_string(), ); diff --git a/src/helper/handlebars_in_list_helper.rs b/src/helper/handlebars_in_list_helper.rs index 2e8a0e9..018591e 100644 --- a/src/helper/handlebars_in_list_helper.rs +++ b/src/helper/handlebars_in_list_helper.rs @@ -1,78 +1,72 @@ -use rocket_contrib::templates::handlebars::{ +use rocket_dyn_templates::handlebars::{ Context, Handlebars, Helper, HelperDef, HelperResult, Output, RenderContext, RenderError, Renderable, }; -#[derive(Clone, Copy)] -pub(crate) struct InListHelper; /// Implements an "if_in_list" block helper for string vectors. /// Will render true block if one of the parameters 1-x is found in list. -impl HelperDef for InListHelper { - fn call<'reg: 'rc, 'rc>( - &self, - h: &Helper<'reg, 'rc>, - r: &'reg Handlebars, - ctx: &Context, - rc: &mut RenderContext<'reg>, - out: &mut dyn Output, - ) -> HelperResult { - let list = h.param(0).unwrap(); - let mut to_find: Vec<&str> = vec![]; +pub fn in_list_block_helper<'reg, 'rc>(h: &Helper<'reg, 'rc>, + r: &'reg Handlebars<'reg>, + ctx: &'rc Context, + rc: &mut RenderContext<'reg, 'rc>, + out: &mut dyn Output +) -> HelperResult{ + let list = h.param(0).unwrap(); + let mut to_find: Vec<&str> = vec![]; - let mut count: usize = 1; - loop { - match h.param(count) { - None => break, - Some(val) => { - match val.value().as_str() { - Some(value) => to_find.push(value), - None => { - return Err(RenderError::new( - "wrong parameter type. Should be a String.", - )) - } - }; - } + let mut count: usize = 1; + loop { + match h.param(count) { + None => break, + Some(val) => { + match val.value().as_str() { + Some(value) => to_find.push(value), + None => { + return Err(RenderError::new( + "wrong parameter type. Should be a String.", + )) + } + }; } - count = count + 1; } + count = count + 1; + } - let list: &Vec = match list.value().as_array() { - Some(array) => array, + let list: &Vec = match list.value().as_array() { + Some(array) => array, + None => { + return Err(RenderError::new( + "wrong parameter type. Should be array/Vec.", + )) + } + }; + + let mut found = false; + + for value in list { + let string = match value.as_str() { + Some(string) => string, None => { return Err(RenderError::new( - "wrong parameter type. Should be array/Vec.", + "wrong parameter type. Should be string array/string Vec.", )) } }; - let mut found = false; - - for value in list { - let string = match value.as_str() { - Some(string) => string, - None => { - return Err(RenderError::new( - "wrong parameter type. Should be string array/string Vec.", - )) - } - }; - - if to_find.contains(&string) { - found = true; - break; - } - } - - if found { - h.template() - .map(|t| t.render(r, ctx, rc, out)) - .unwrap_or(Ok(())) - } else { - //render inverse template (else block), if not found in list. - h.inverse() - .map(|t| t.render(r, ctx, rc, out)) - .unwrap_or(Ok(())) + if to_find.contains(&string) { + found = true; + break; } } + + if found { + h.template() + .map(|t| t.render(r, ctx, rc, out)) + .unwrap_or(Ok(())) + } else { + //render inverse template (else block), if not found in list. + h.inverse() + .map(|t| t.render(r, ctx, rc, out)) + .unwrap_or(Ok(())) + } } diff --git a/src/helper/mail_templates.rs b/src/helper/mail_templates.rs index 0bba9cf..d5fd115 100644 --- a/src/helper/mail_templates.rs +++ b/src/helper/mail_templates.rs @@ -1,5 +1,5 @@ -use rocket_contrib::templates::handlebars::Handlebars; +use rocket_dyn_templates::handlebars::Handlebars; -pub struct MailTemplates{ - pub registry: Handlebars, +pub struct MailTemplates<'a>{ + pub registry: Handlebars<'a>, } \ No newline at end of file diff --git a/src/helper/server_errors.rs b/src/helper/server_errors.rs index 5ac1b88..9ffe470 100644 --- a/src/helper/server_errors.rs +++ b/src/helper/server_errors.rs @@ -10,20 +10,13 @@ use rocket::response::status::Custom; /// Catches all 401 errors and redirects to front page to show error / portal page if cookie valled /// Will be called when session cookies are invalid / if user has no permission to access feature #[catch(401)] -pub fn unauthorized<'a>(req: &Request) -> Result> { - warn!("URI: {}", req.uri().to_string()); - if req.uri().to_string().find("/api/http_basic_auth").is_some(){ - let mut res = Response::new(); - res.set_status(Status::Unauthorized); - res.set_raw_header("WWW-Authenticate", "Basic"); - return Err(res.respond_to(req).unwrap()) - } - let storage = match req.guard::>() { +pub async fn unauthorized (req: & Request<'_>) -> Redirect { + let storage = match req.guard::<&State>().await { Outcome::Success(storage) => storage, - _ => return Ok(Redirect::to("/?error=unauthorized")), + _ => return Redirect::to("/?error=unauthorized"), }; let settings = req - .guard::>() + .guard::<&State>().await .expect("Settings not available!"); match req.cookies().get_private("session") { Some(cookie) => match storage.get(cookie.value().to_string()) { @@ -33,11 +26,11 @@ pub fn unauthorized<'a>(req: &Request) -> Result> { .checked_add_signed(Duration::seconds(settings.application.session_timeout)) .expect("Session timeout specified in configuration is too great!"); storage.update(updated_cookie); - Ok(Redirect::to("/portal?error=unauthorized")) + Redirect::to("/portal?error=unauthorized") } - Err(_) => Ok(Redirect::to("/?error=unauthorized")), + Err(_) => Redirect::to("/?error=unauthorized"), }, - None => Ok(Redirect::to("/?error=unauthorized")), + None => Redirect::to("/?error=unauthorized"), } } diff --git a/src/helper/translate_diesel_error.rs b/src/helper/translate_diesel_error.rs index d65d400..2a9a550 100644 --- a/src/helper/translate_diesel_error.rs +++ b/src/helper/translate_diesel_error.rs @@ -1,5 +1,5 @@ use crate::modules::api::model::api_outcome::{ApiError, ApiErrorWrapper}; -use rocket_contrib::json::Json; +use rocket::serde::json::Json; /// Transforms diesel error into ApiErrorWrapper with proper error message. /// Currently checks for NotFound and UniquieViolation diff --git a/src/helper/user_request_guard.rs b/src/helper/user_request_guard.rs index a2ce8d2..43b02c3 100644 --- a/src/helper/user_request_guard.rs +++ b/src/helper/user_request_guard.rs @@ -7,16 +7,17 @@ use rocket::http::Status; use rocket::request::{FromRequest, Outcome}; use rocket::{request, Request, State}; -impl<'a, 'r> FromRequest<'a, 'r> for SessionCookie { +#[rocket::async_trait] +impl<'r> FromRequest<'r> for SessionCookie { type Error = SessionCookieError; - fn from_request(request: &'a Request<'r>) -> request::Outcome { - let storage = match request.guard::>() { + async fn from_request(request: &'r Request<'_>) -> request::Outcome { + let storage = match request.guard::<&State>().await { Outcome::Success(storage) => storage, _ => return Outcome::Failure((Status::Unauthorized, SessionCookieError::Unavailable)), }; let settings = request - .guard::>() + .guard::<&State>().await .expect("Settings not available!"); match request.cookies().get_private("session") { diff --git a/src/main.rs b/src/main.rs index 8755dfa..ac314c6 100644 --- a/src/main.rs +++ b/src/main.rs @@ -1,9 +1,6 @@ -#![feature(proc_macro_hygiene, decl_macro)] - extern crate config; #[macro_use] extern crate diesel; -#[macro_use] extern crate log; #[macro_use] extern crate rocket; @@ -14,26 +11,29 @@ extern crate serde_derive; extern crate argon2; extern crate chrono; extern crate iban; +extern crate base64; -use crate::helper::handlebars_in_list_helper::InListHelper; +use crate::helper::handlebars_in_list_helper::in_list_block_helper; use crate::helper::mail_queue::queue::MailQueue; use crate::helper::mail_templates::MailTemplates; use crate::helper::session_cookies::model::SessionCookieStorage; use helper::settings::Settings; -use rocket_contrib::serve::StaticFiles; -use rocket_contrib::templates::handlebars::Handlebars; -use rocket_contrib::templates::Template; use std::io::Write; use std::process::Command; use std::sync::Arc; use std::{thread, time}; +use rocket_dyn_templates::Template; +use rocket::fs::FileServer; +use rocket_dyn_templates::handlebars::Handlebars; + pub mod database; pub mod helper; pub mod modules; pub mod permissions; pub mod schema; -fn main() { +#[launch] +fn rocket() -> _ { env_logger::init(); //Initializes logger. Set environment variable RUST_LOG=debug|info|warn|error to set loglevel let settings = match Settings::new() { @@ -88,9 +88,7 @@ fn main() { let mut mail_templates = MailTemplates { registry: Handlebars::new(), }; - match mail_templates - .registry - .register_templates_directory(".hbs", "resources/mail_templates") + match mail_templates.registry.register_template_file("password-reset-de", "resources/mail_templates/password-reset-de.hbs") { Ok(_) => {} Err(e) => { @@ -99,7 +97,7 @@ fn main() { } } - rocket::ignite() + rocket::build() .manage(settings) .manage(cookie_storage) .manage(mail_queue) @@ -214,12 +212,11 @@ fn main() { modules::admin_settings::permissions::settings_permissions, ], ) - .mount("/css", StaticFiles::from("resources/css")) - .mount("/js", StaticFiles::from("resources/js"))//TODO: Replace popper and bootstrap with local files - .mount("/img", StaticFiles::from("resources/images")) - .mount("/templates", StaticFiles::from("resources/ajax_templates")) + .mount("/css", FileServer::from("resources/css")) + .mount("/js", FileServer::from("resources/js"))//TODO: Replace popper and bootstrap with local files + .mount("/img", FileServer::from("resources/images")) + .mount("/templates", FileServer::from("resources/ajax_templates")) .attach(Template::custom(|engine|{ - engine.handlebars.register_helper("if_in_list", Box::new(InListHelper)); + engine.handlebars.register_helper("if_in_list", Box::new(in_list_block_helper)); })) - .launch(); -} +} \ No newline at end of file diff --git a/src/modules/admin_settings/permissions.rs b/src/modules/admin_settings/permissions.rs index 75a3014..e63c662 100644 --- a/src/modules/admin_settings/permissions.rs +++ b/src/modules/admin_settings/permissions.rs @@ -1,10 +1,11 @@ use crate::helper::session_cookies::model::SessionCookie; use rocket::State; use crate::helper::settings::Settings; -use rocket_contrib::templates::Template; + use rocket::http::Status; use crate::helper::sitebuilder::model::sidebar::Sidebar; use crate::helper::sitebuilder::model::general::{Header, Stylesheet, Footer, Script}; +use rocket_dyn_templates::Template; #[derive(Serialize)] pub struct SettingsModule { @@ -15,7 +16,7 @@ pub struct SettingsModule { } #[get("/portal/settings/permissions")] -pub fn settings_permissions(cookie: SessionCookie, settings: State) -> Result { +pub fn settings_permissions(cookie: SessionCookie, settings: &State) -> Result { let member = match cookie.member { //Unwraps member from cookie or send user to login if no member specified (user skipped member selection) Some(member) => member, diff --git a/src/modules/api/appointments/create.rs b/src/modules/api/appointments/create.rs index 9cd8d0c..cb29edd 100644 --- a/src/modules/api/appointments/create.rs +++ b/src/modules/api/appointments/create.rs @@ -1,7 +1,7 @@ use rocket::State; use crate::helper::settings::Settings; use crate::helper::session_cookies::model::SessionCookie; -use rocket_contrib::json::Json; +use rocket::serde::json::Json; use crate::database::model::appointments::Appointment; use crate::modules::api::model::api_outcome::{ApiErrorWrapper, ApiError}; use crate::modules::api::member_management::controller::parser::{parse_member_cookie, parse_uuid_string}; @@ -31,7 +31,7 @@ pub struct CreateAppointmentData{ /// * modules.scheduler.appointments.edit on specified entity #[post("/api/appointments", format = "json", data = "")] pub fn create_appointment( - settings: State, + settings: &State, cookie: SessionCookie, create_appointment_data: Json, ) -> Result, Json> { @@ -40,7 +40,7 @@ pub fn create_appointment( let apentity_id : uuid::Uuid = parse_uuid_string(cad.entity_id)?; - if !check_access_to_resource(&settings, caller.entity_id, apentity_id, crate::permissions::modules::scheduler::appointments::EDIT){ + if !check_access_to_resource(settings, caller.entity_id, apentity_id, crate::permissions::modules::scheduler::appointments::EDIT){ return Err(Json( ApiError::new(403, "Keine Berechtigung, Termine anzulegen!".to_string()).to_wrapper(), )); @@ -55,7 +55,7 @@ pub fn create_appointment( }; let aptype_id : uuid::Uuid = parse_uuid_string(cad.type_id)?; - match add_appointment(&settings, aptype_id, apentity_id, apdate){ + match add_appointment(settings, aptype_id, apentity_id, apdate){ Ok(appointment) => Ok(Json(appointment)), Err(e) => Err(translate_diesel(e)) } diff --git a/src/modules/api/appointments/delete.rs b/src/modules/api/appointments/delete.rs index db1814c..bb37d08 100644 --- a/src/modules/api/appointments/delete.rs +++ b/src/modules/api/appointments/delete.rs @@ -1,7 +1,7 @@ use rocket::State; use crate::helper::settings::Settings; use crate::helper::session_cookies::model::SessionCookie; -use rocket_contrib::json::Json; +use rocket::serde::json::Json; use crate::modules::api::model::api_outcome::{ApiErrorWrapper, ApiError}; @@ -23,25 +23,25 @@ use crate::database::controller::appointments::{remove_appointment, get_appointm /// * modules.scheduler.appointments.edit on specified entity #[delete("/api/appointments/", format = "json")] pub fn delete_appointment( - settings: State, + settings: &State, cookie: SessionCookie, appointment_id: String, ) -> Result<(), Json> { let caller = parse_member_cookie(cookie.member)?; let ap_id : uuid::Uuid = parse_uuid_string(appointment_id)?; - let ap = match get_appointment_with_id(&settings, ap_id){ + let ap = match get_appointment_with_id(settings, ap_id){ Ok(ap) => ap, Err(e) => return Err(translate_diesel(e)) }; - if !check_access_to_resource(&settings, caller.entity_id, ap.entity_id, crate::permissions::modules::scheduler::appointments::EDIT){ + if !check_access_to_resource(settings, caller.entity_id, ap.entity_id, crate::permissions::modules::scheduler::appointments::EDIT){ return Err(Json( ApiError::new(403, "Keine Berechtigung, Termine zu löschen!".to_string()).to_wrapper(), )); } - match remove_appointment(&settings, ap_id){ + match remove_appointment(settings, ap_id){ Ok(_) => Ok(()), Err(e) => Err(translate_diesel(e)) } diff --git a/src/modules/api/appointments/read.rs b/src/modules/api/appointments/read.rs index f5cfccc..2dcff12 100644 --- a/src/modules/api/appointments/read.rs +++ b/src/modules/api/appointments/read.rs @@ -2,7 +2,7 @@ use rocket::State; use crate::helper::settings::Settings; use crate::helper::session_cookies::model::SessionCookie; use crate::database::model::appointments::{AppointmentType, Appointment}; -use rocket_contrib::json::Json; +use rocket::serde::json::Json; use crate::modules::api::model::api_outcome::{ApiErrorWrapper, ApiError}; use crate::modules::api::member_management::controller::parser::{parse_member_cookie, parse_uuid_string}; use crate::database::controller::appointments::{get_appointment_types, get_appointment_for_entity}; @@ -22,12 +22,12 @@ use crate::database::controller::members::check_access_to_resource; /// * None #[get("/api/appointments/types", format = "json")] pub fn read_appointment_types( - settings: State, + settings: &State, cookie: SessionCookie, ) -> Result>, Json> { parse_member_cookie(cookie.member)?; - match get_appointment_types(&settings){ + match get_appointment_types(settings){ Ok(at) => Ok(Json(at)), Err(e) => Err(translate_diesel(e)), } @@ -46,20 +46,20 @@ pub fn read_appointment_types( /// * modules.scheduler.appointments.view #[get("/api/appointments?", format = "json")] pub fn read_appointments_for_entity( - settings: State, + settings: &State, cookie: SessionCookie, entity_id: String, ) -> Result>, Json> { let caller = parse_member_cookie(cookie.member)?; let entity_id = parse_uuid_string(entity_id)?; - if !check_access_to_resource(&settings, caller.entity_id, entity_id, crate::permissions::modules::scheduler::appointments::VIEW){ + if !check_access_to_resource(settings, caller.entity_id, entity_id, crate::permissions::modules::scheduler::appointments::VIEW){ return Err(Json( ApiError::new(403, "Keine Berechtigung, Termine anzuzeigen!".to_string()).to_wrapper(), )); } - match get_appointment_for_entity(&settings, entity_id){ + match get_appointment_for_entity(settings, entity_id){ Ok(at) => Ok(Json(at)), Err(e) => Err(translate_diesel(e)), } diff --git a/src/modules/api/communicator/create.rs b/src/modules/api/communicator/create.rs index 79d36f1..0924dc8 100644 --- a/src/modules/api/communicator/create.rs +++ b/src/modules/api/communicator/create.rs @@ -2,7 +2,7 @@ use rocket::State; use crate::helper::settings::Settings; use crate::helper::session_cookies::model::SessionCookie; use crate::modules::api::model::api_outcome::{ApiErrorWrapper, ApiError}; -use rocket_contrib::json::Json; +use rocket::serde::json::Json; use crate::modules::api::member_management::controller::parser::parse_member_cookie; use crate::helper::mail_queue::queue::{Mail, MailQueue}; @@ -33,7 +33,7 @@ pub struct ApiEmail{ } #[post("/api/communicator/email", format = "json", data = "")] -pub fn create_email(mq: State>, settings: State, cookie: SessionCookie, mail: Json) -> Result<(), Json>{ +pub fn create_email(mq: &State>, settings: &State, cookie: SessionCookie, mail: Json) -> Result<(), Json>{ let caller = parse_member_cookie(cookie.member)?; if !caller.has_permission(crate::permissions::modules::communicator::email::SEND.to_string()){ return Err(Json(ApiError::new(403, "Keine Berechtigung Email zu versenden!".to_string()).to_wrapper())); @@ -54,7 +54,7 @@ pub fn create_email(mq: State>, settings: State, cookie match mail.to_members{ Some(members) => { for member_id in members{ - match get_member_email_addresses(&settings, member_id){ + match get_member_email_addresses(settings, member_id){ Ok(mut addresses) => { to.append(addresses.as_mut()); } @@ -76,7 +76,7 @@ pub fn create_email(mq: State>, settings: State, cookie match mail.cc_members{ Some(members) => { for member_id in members{ - match get_member_email_addresses(&settings, member_id){ + match get_member_email_addresses(settings, member_id){ Ok(mut addresses) => { cc.append(addresses.as_mut()); } @@ -98,7 +98,7 @@ pub fn create_email(mq: State>, settings: State, cookie match mail.bcc_members{ Some(members) => { for member_id in members{ - match get_member_email_addresses(&settings, member_id){ + match get_member_email_addresses(settings, member_id){ Ok(mut addresses) => { bcc.append(addresses.as_mut()); } @@ -116,8 +116,8 @@ pub fn create_email(mq: State>, settings: State, cookie None => {} Some(groups) => { for group in groups{ - if !check_access_to_resource(&settings, caller.entity_id, group, crate::permissions::modules::communicator::email::SEND){ - match get_group(&settings, group){ + if !check_access_to_resource(settings, caller.entity_id, group, crate::permissions::modules::communicator::email::SEND){ + match get_group(settings, group){ Ok(group) => { return Err(Json(ApiError::new(403, format!("Keine Berechtigung eine Email an die Gruppe {} zu schicken!", group.name)).to_wrapper())) } @@ -126,7 +126,7 @@ pub fn create_email(mq: State>, settings: State, cookie } } } - match get_group_email_addresses(&settings, group){ + match get_group_email_addresses(settings, group){ Ok(mut emails) => { bcc.append(emails.as_mut()); } @@ -142,8 +142,8 @@ pub fn create_email(mq: State>, settings: State, cookie None => {} Some(units) => { for unit in units{ - if !check_access_to_resource(&settings, caller.entity_id, unit, crate::permissions::modules::communicator::email::SEND){ - match get_unit(&settings, unit){ + if !check_access_to_resource(settings, caller.entity_id, unit, crate::permissions::modules::communicator::email::SEND){ + match get_unit(settings, unit){ Ok(unit) => { return Err(Json(ApiError::new(403, format!("Keine Berechtigung eine Email an die Einheit {} zu schicken!", unit.name)).to_wrapper())) } @@ -152,7 +152,7 @@ pub fn create_email(mq: State>, settings: State, cookie } } } - match get_unit_email_addresses(&settings, unit){ + match get_unit_email_addresses(settings, unit){ Ok(mut emails) => { bcc.append(emails.as_mut()); } diff --git a/src/modules/api/event_organisers/create.rs b/src/modules/api/event_organisers/create.rs index 6d6964f..20558e6 100644 --- a/src/modules/api/event_organisers/create.rs +++ b/src/modules/api/event_organisers/create.rs @@ -1,7 +1,7 @@ use rocket::State; use crate::helper::settings::Settings; use crate::helper::session_cookies::model::SessionCookie; -use rocket_contrib::json::Json; +use rocket::serde::json::Json; use crate::database::model::organisers::Organiser; use crate::modules::api::model::api_outcome::{ApiErrorWrapper, ApiError}; use crate::modules::api::member_management::controller::parser::parse_member_cookie; @@ -21,7 +21,7 @@ pub struct CreateOrganiserData{ #[post("/api/event_organisers", format = "json", data = "")] pub fn create_organiser( - settings: State, + settings: &State, cookie: SessionCookie, create_organiser_data: Json, ) -> Result, Json> { @@ -34,7 +34,7 @@ pub fn create_organiser( let organiser_create_data = create_organiser_data.into_inner(); - let entity_id2 = match generate_entity(&settings){ + let entity_id2 = match generate_entity(settings){ Ok(ent) => ent, Err(_e) => return Err(Json(ApiError::new(500, "Konnte keine neue Entität anlegen!".to_string()).to_wrapper())) }; @@ -49,7 +49,7 @@ pub fn create_organiser( other: organiser_create_data.other }; - match add_organiser(&settings, input){ + match add_organiser(settings, input){ Ok(org) => Ok(Json(org)), Err(e) => Err(translate_diesel(e)) } diff --git a/src/modules/api/event_organisers/delete.rs b/src/modules/api/event_organisers/delete.rs index 7521353..5a9e61e 100644 --- a/src/modules/api/event_organisers/delete.rs +++ b/src/modules/api/event_organisers/delete.rs @@ -1,7 +1,7 @@ use rocket::State; use crate::helper::settings::Settings; use crate::helper::session_cookies::model::SessionCookie; -use rocket_contrib::json::Json; +use rocket::serde::json::Json; use crate::modules::api::model::api_outcome::{ApiErrorWrapper, ApiError}; use crate::modules::api::member_management::controller::parser::parse_member_cookie; @@ -11,7 +11,7 @@ use crate::database::controller::entities::remove_entity; #[delete("/api/event_organisers", format = "json", data = "")] pub fn delete_organisers( - settings: State, + settings: &State, cookie: SessionCookie, organiser_list: Json>, ) -> Result<(), Json> { @@ -25,7 +25,7 @@ pub fn delete_organisers( let organiser_list = organiser_list.into_inner(); for organiser in organiser_list { - match remove_entity(&settings, organiser){ + match remove_entity(settings, organiser){ Ok(_) => {} Err(e) => return Err(translate_diesel(e)), } diff --git a/src/modules/api/event_organisers/read.rs b/src/modules/api/event_organisers/read.rs index 44fade5..86434b3 100644 --- a/src/modules/api/event_organisers/read.rs +++ b/src/modules/api/event_organisers/read.rs @@ -2,7 +2,7 @@ use rocket::State; use crate::helper::settings::Settings; use crate::helper::session_cookies::model::SessionCookie; use crate::modules::api::model::api_outcome::{ApiErrorWrapper, ApiError}; -use rocket_contrib::json::Json; +use rocket::serde::json::Json; use crate::modules::api::member_management::controller::parser::{parse_member_cookie, parse_uuid_string}; use crate::database::model::organisers::Organiser; @@ -20,14 +20,14 @@ pub struct OrganiserList{ /// * modules.event_management.organisers.view (optional, limited set will provided if permission missing) #[get("/api/event_organisers/", format = "json")] pub fn read_organiser( - settings: State, + settings: &State, cookie: SessionCookie, entity_id: String, ) -> Result, Json>{ let caller = parse_member_cookie(cookie.member)?; let entity_id = parse_uuid_string(entity_id)?; - match get_organiser(&settings, entity_id){ + match get_organiser(settings, entity_id){ Ok(organiser) => { if caller.has_permission(crate::permissions::modules::event_management::organisers::VIEW.to_string()){ Ok(Json(organiser)) @@ -46,7 +46,7 @@ pub fn read_organiser( #[get("/api/event_organisers?&&", format = "json")] pub fn read_organisers( - settings: State, + settings: &State, cookie: SessionCookie, entries: Option, //TODO: replace with limit/offset page: Option, @@ -87,12 +87,12 @@ pub fn read_organisers( total_organiser_count: 0 }; - match get_organisers(&settings, entries, (page-1)*entries, q){ + match get_organisers(settings, entries, (page-1)*entries, q){ Ok(organisers) => res.organisers = organisers, Err(e) => return Err(translate_diesel(e)) }; - match get_organiser_count(&settings){ + match get_organiser_count(settings){ Ok(count) => res.total_organiser_count = count, Err(e) => return Err(translate_diesel(e)) }; diff --git a/src/modules/api/event_organisers/update.rs b/src/modules/api/event_organisers/update.rs index 4421647..3c6a81b 100644 --- a/src/modules/api/event_organisers/update.rs +++ b/src/modules/api/event_organisers/update.rs @@ -1,7 +1,7 @@ use rocket::State; use crate::helper::settings::Settings; use crate::helper::session_cookies::model::SessionCookie; -use rocket_contrib::json::Json; +use rocket::serde::json::Json; use crate::modules::api::event_organisers::create::CreateOrganiserData; use crate::modules::api::model::api_outcome::{ApiErrorWrapper, ApiError}; use crate::modules::api::member_management::controller::parser::{parse_member_cookie, parse_uuid_string}; @@ -11,7 +11,7 @@ use crate::helper::translate_diesel_error::translate_diesel; #[put("/api/event_organisers/", format = "json", data = "")] pub fn update_organiser( - settings: State, + settings: &State, cookie: SessionCookie, change_organiser_data: Json, organiser_id: String, @@ -37,7 +37,7 @@ pub fn update_organiser( other: cod.other }; - match change_organiser(&settings, org){ + match change_organiser(settings, org){ Ok(_) => Ok(()), Err(e) => Err(translate_diesel(e)) } diff --git a/src/modules/api/events/create.rs b/src/modules/api/events/create.rs index 912b680..6e31b36 100644 --- a/src/modules/api/events/create.rs +++ b/src/modules/api/events/create.rs @@ -2,7 +2,7 @@ use chrono::NaiveDateTime; use rocket::State; use crate::helper::settings::Settings; use crate::helper::session_cookies::model::SessionCookie; -use rocket_contrib::json::Json; +use rocket::serde::json::Json; use crate::modules::api::model::api_outcome::{ApiErrorWrapper, ApiError}; use crate::modules::api::member_management::controller::parser::{parse_member_cookie, parse_option_uuid}; use crate::database::model::events::Event; @@ -28,7 +28,7 @@ pub struct CreateEventData{ #[post("/api/events", format = "json", data = "")] pub fn create_event( - settings: State, + settings: &State, cookie: SessionCookie, create_event_data: Json, ) -> Result, Json> { @@ -41,7 +41,7 @@ pub fn create_event( let ecd = create_event_data.into_inner(); - let entity_id2 = match generate_entity(&settings){ + let entity_id2 = match generate_entity(settings){ Ok(ent) => ent, Err(_e) => return Err(Json(ApiError::new(500, "Konnte keine neue Entität anlegen!".to_string()).to_wrapper())) }; @@ -82,7 +82,7 @@ pub fn create_event( other_intern: ecd.other_intern }; - match add_event(&settings, input){ + match add_event(settings, input){ Ok(event) => Ok(Json(event)), Err(e) => Err(translate_diesel(e)) } diff --git a/src/modules/api/events/delete.rs b/src/modules/api/events/delete.rs index 421e375..e918bfb 100644 --- a/src/modules/api/events/delete.rs +++ b/src/modules/api/events/delete.rs @@ -1,7 +1,7 @@ use rocket::State; use crate::helper::settings::Settings; use crate::helper::session_cookies::model::SessionCookie; -use rocket_contrib::json::Json; +use rocket::serde::json::Json; use crate::modules::api::model::api_outcome::{ApiErrorWrapper, ApiError}; use crate::modules::api::member_management::controller::parser::{parse_member_cookie, parse_uuid_string}; use crate::database::controller::entities::remove_entity; @@ -9,7 +9,7 @@ use crate::helper::translate_diesel_error::translate_diesel; #[delete("/api/events/", format = "json")] pub fn delete_event( - settings: State, + settings: &State, cookie: SessionCookie, event_id: String, ) -> Result<(), Json> { @@ -22,7 +22,7 @@ pub fn delete_event( )); } - match remove_entity(&settings, event_id){ + match remove_entity(settings, event_id){ Ok(_) => {} Err(e) => return Err(translate_diesel(e)), } diff --git a/src/modules/api/events/event_units/position/create.rs b/src/modules/api/events/event_units/position/create.rs index 45bb72b..c1ec09e 100644 --- a/src/modules/api/events/event_units/position/create.rs +++ b/src/modules/api/events/event_units/position/create.rs @@ -1,7 +1,7 @@ use crate::helper::session_cookies::model::SessionCookie; use rocket::State; use crate::helper::settings::Settings; -use rocket_contrib::json::Json; +use rocket::serde::json::Json; use crate::modules::api::model::api_outcome::{ApiErrorWrapper, ApiError}; use crate::modules::api::member_management::controller::parser::{parse_member_cookie, parse_uuid_string}; use crate::database::controller::entities::generate_entity; @@ -19,7 +19,7 @@ pub struct CreatePositionData{ #[post("/api/events/units/positions", format = "json", data = "")] pub fn create_event_unit_position( - settings: State, + settings: &State, cookie: SessionCookie, create_position_data: Json, ) -> Result, Json> { @@ -31,7 +31,7 @@ pub fn create_event_unit_position( } let create_position_data = create_position_data.into_inner(); - let entity_id = match generate_entity(&settings){ + let entity_id = match generate_entity(settings){ Ok(entity) => entity, Err(_e) => return Err(Json(ApiError::new(500, "Konnte keine neue Entität anlegen.".to_string()).to_wrapper())), }; @@ -50,7 +50,7 @@ pub fn create_event_unit_position( requirements }; - match add_event_unit_position(&settings, event_position){ + match add_event_unit_position(settings, event_position){ Ok(eup) => Ok(Json(eup)), Err(e) => Err(translate_diesel(e)) } @@ -68,7 +68,7 @@ pub struct CreateVehiclePositionData{ #[post("/api/events/units/vehicle_positions", format = "json", data = "")] pub fn create_event_unit_vehicle_position( - settings: State, + settings: &State, cookie: SessionCookie, create_vehicle_position_data: Json, ) -> Result, Json> { @@ -80,7 +80,7 @@ pub fn create_event_unit_vehicle_position( } let cvpd = create_vehicle_position_data.into_inner(); - let entity_id = match generate_entity(&settings){ + let entity_id = match generate_entity(settings){ Ok(entity) => entity, Err(_e) => return Err(Json(ApiError::new(500, "Konnte keine neue Entität anlegen.".to_string()).to_wrapper())), }; @@ -93,7 +93,7 @@ pub fn create_event_unit_vehicle_position( template_id: parse_uuid_string(cvpd.template_id)?, }; - match add_vehicle_position(&settings, pos){ + match add_vehicle_position(settings, pos){ Ok(pos) => Ok(Json(pos)), Err(e) => Err(translate_diesel(e)) } diff --git a/src/modules/api/events/event_units/position/delete.rs b/src/modules/api/events/event_units/position/delete.rs index 145b64b..d80a457 100644 --- a/src/modules/api/events/event_units/position/delete.rs +++ b/src/modules/api/events/event_units/position/delete.rs @@ -1,7 +1,7 @@ use rocket::State; use crate::helper::settings::Settings; use crate::helper::session_cookies::model::SessionCookie; -use rocket_contrib::json::Json; +use rocket::serde::json::Json; use crate::modules::api::model::api_outcome::{ApiErrorWrapper, ApiError}; use crate::modules::api::member_management::controller::parser::parse_member_cookie; use crate::database::controller::entities::remove_entity; @@ -9,7 +9,7 @@ use crate::helper::translate_diesel_error::translate_diesel; #[delete("/api/events/units/positions", format = "json", data = "")] pub fn delete_event_unit_positions( - settings: State, + settings: &State, cookie: SessionCookie, delete_list: Json>, ) -> Result<(), Json> { @@ -23,7 +23,7 @@ pub fn delete_event_unit_positions( let delete_list = delete_list.into_inner(); for position in delete_list { - match remove_entity(&settings, position){ + match remove_entity(settings, position){ Ok(_) => {} Err(e) => return Err(translate_diesel(e)), } @@ -34,7 +34,7 @@ pub fn delete_event_unit_positions( #[delete("/api/events/units/vehicle_positions", format = "json", data = "")] pub fn delete_event_unit_vehicle_positions( - settings: State, + settings: &State, cookie: SessionCookie, delete_list: Json>, ) -> Result<(), Json> { @@ -48,7 +48,7 @@ pub fn delete_event_unit_vehicle_positions( let delete_list = delete_list.into_inner(); for position in delete_list { - match remove_entity(&settings, position){ + match remove_entity(settings, position){ Ok(_) => {} Err(e) => return Err(translate_diesel(e)), } diff --git a/src/modules/api/events/event_units/position/read.rs b/src/modules/api/events/event_units/position/read.rs index 306ac68..aeaf48c 100644 --- a/src/modules/api/events/event_units/position/read.rs +++ b/src/modules/api/events/event_units/position/read.rs @@ -1,7 +1,7 @@ use rocket::State; use crate::helper::settings::Settings; use crate::helper::session_cookies::model::SessionCookie; -use rocket_contrib::json::Json; +use rocket::serde::json::Json; use crate::database::model::events::EventUnitPosition; use crate::modules::api::model::api_outcome::{ApiErrorWrapper, ApiError}; use crate::modules::api::member_management::controller::parser::{parse_member_cookie, parse_uuid_string}; @@ -17,7 +17,7 @@ pub struct EventUnitPositionList{ #[get("/api/events/units/positions?&&", format = "json")] pub fn read_event_unit_position( - settings: State, + settings: &State, cookie: SessionCookie, limit: Option, offset: Option, @@ -39,12 +39,12 @@ pub fn read_event_unit_position( None => 0, }; - let positions = match get_event_unit_positions(&settings, limit, offset, q){ + let positions = match get_event_unit_positions(settings, limit, offset, q){ Ok(pos) => pos, Err(e) => return Err(translate_diesel(e)) }; - let total_position_count = match get_event_unit_positions_count(&settings){ + let total_position_count = match get_event_unit_positions_count(settings){ Ok(count) => count, Err(e) => return Err(translate_diesel(e)) }; @@ -64,13 +64,13 @@ pub struct PositionCheckResult{ #[get("/api/events/units/positions//check_requirements?", format = "json")] pub fn get_check_position_requirements( - settings: State, + settings: &State, cookie: SessionCookie, position_id: String, target_to_check: String, ) -> Result, Json> { let caller = parse_member_cookie(cookie.member)?; - match check_position_requirements(&settings, parse_uuid_string(position_id)?, parse_uuid_string(target_to_check)?){ + match check_position_requirements(settings, parse_uuid_string(position_id)?, parse_uuid_string(target_to_check)?){ Ok(res) => Ok(Json(PositionCheckResult{ requirements_fulfilled: res })), diff --git a/src/modules/api/events/event_units/position/update.rs b/src/modules/api/events/event_units/position/update.rs index 3597b8b..06b1fa6 100644 --- a/src/modules/api/events/event_units/position/update.rs +++ b/src/modules/api/events/event_units/position/update.rs @@ -1,7 +1,7 @@ use crate::helper::session_cookies::model::SessionCookie; use rocket::State; use crate::helper::settings::Settings; -use rocket_contrib::json::Json; +use rocket::serde::json::Json; use crate::modules::api::model::api_outcome::{ApiErrorWrapper, ApiError}; use crate::modules::api::member_management::controller::parser::{parse_member_cookie, parse_uuid_string}; @@ -12,7 +12,7 @@ use crate::modules::api::events::event_units::position::create::CreatePositionDa #[put("/api/events/units/positions/", format = "json", data = "")] pub fn update_event_unit_position( - settings: State, + settings: &State, cookie: SessionCookie, update_position_data: Json, entity_id : String, @@ -41,7 +41,7 @@ pub fn update_event_unit_position( requirements }; - match set_event_unit_position(&settings, event_position){ + match set_event_unit_position(settings, event_position){ Ok(eup) => Ok(Json(eup)), Err(e) => Err(translate_diesel(e)) } diff --git a/src/modules/api/events/event_units/templates/create.rs b/src/modules/api/events/event_units/templates/create.rs index fc7c67c..f77bb6d 100644 --- a/src/modules/api/events/event_units/templates/create.rs +++ b/src/modules/api/events/event_units/templates/create.rs @@ -1,7 +1,7 @@ use rocket::State; use crate::helper::settings::Settings; use crate::helper::session_cookies::model::SessionCookie; -use rocket_contrib::json::Json; +use rocket::serde::json::Json; use crate::modules::api::model::api_outcome::{ApiErrorWrapper, ApiError}; use crate::modules::api::member_management::controller::parser::parse_member_cookie; use crate::database::controller::entities::generate_entity; @@ -18,7 +18,7 @@ pub struct CreateTemplateData{ #[post("/api/events/units/templates", format = "json", data = "")] pub fn create_event_unit_template( - settings: State, + settings: &State, cookie: SessionCookie, create_template_data: Json, ) -> Result, Json> { @@ -30,7 +30,7 @@ pub fn create_event_unit_template( } let create_template_data = create_template_data.into_inner(); - let entity_id = match generate_entity(&settings){ + let entity_id = match generate_entity(settings){ Ok(entity) => entity, Err(_e) => return Err(Json(ApiError::new(500, "Konnte keine neue Entität anlegen.".to_string()).to_wrapper())), }; @@ -41,7 +41,7 @@ pub fn create_event_unit_template( description: create_template_data.description, }; - match add_event_unit_template(&settings, event_position){ + match add_event_unit_template(settings, event_position){ Ok(eup) => Ok(Json(eup)), Err(e) => Err(translate_diesel(e)) } diff --git a/src/modules/api/events/event_units/templates/delete.rs b/src/modules/api/events/event_units/templates/delete.rs index 0994dfe..092dcfe 100644 --- a/src/modules/api/events/event_units/templates/delete.rs +++ b/src/modules/api/events/event_units/templates/delete.rs @@ -1,7 +1,7 @@ use crate::helper::settings::Settings; use rocket::State; use crate::helper::session_cookies::model::SessionCookie; -use rocket_contrib::json::Json; +use rocket::serde::json::Json; use crate::modules::api::model::api_outcome::{ApiErrorWrapper, ApiError}; use crate::modules::api::member_management::controller::parser::{parse_member_cookie, parse_uuid_string}; use crate::database::controller::entities::remove_entity; @@ -10,7 +10,7 @@ use crate::database::controller::events::remove_positions_from_template; #[delete("/api/events/units/templates", format = "json", data = "")] pub fn delete_templates( - settings: State, + settings: &State, cookie: SessionCookie, template_list: Json>, ) -> Result<(), Json> { @@ -24,7 +24,7 @@ pub fn delete_templates( let template_list = template_list.into_inner(); for template in template_list { - match remove_entity(&settings, template){ + match remove_entity(settings, template){ Ok(_) => {} Err(e) => return Err(translate_diesel(e)), } @@ -35,7 +35,7 @@ pub fn delete_templates( #[delete("/api/events/units/templates//positions", format = "json", data = "")] pub fn delete_positions_from_template( - settings: State, + settings: &State, cookie: SessionCookie, template_id: String, position_list: Json>, @@ -49,7 +49,7 @@ pub fn delete_positions_from_template( let position_list = position_list.into_inner(); - match remove_positions_from_template(&settings, parse_uuid_string(template_id)?, position_list){ + match remove_positions_from_template(settings, parse_uuid_string(template_id)?, position_list){ Ok(_) => {} Err(e) => return Err(translate_diesel(e)), } diff --git a/src/modules/api/events/event_units/templates/read.rs b/src/modules/api/events/event_units/templates/read.rs index df90618..ffafddb 100644 --- a/src/modules/api/events/event_units/templates/read.rs +++ b/src/modules/api/events/event_units/templates/read.rs @@ -2,7 +2,7 @@ use crate::database::model::events::{EventUnitTemplate, EventUnitPosition, Event use rocket::State; use crate::helper::settings::Settings; use crate::helper::session_cookies::model::SessionCookie; -use rocket_contrib::json::Json; +use rocket::serde::json::Json; use crate::modules::api::model::api_outcome::{ApiErrorWrapper, ApiError}; use crate::modules::api::member_management::controller::parser::{parse_member_cookie, parse_uuid_string}; use crate::helper::translate_diesel_error::translate_diesel; @@ -16,7 +16,7 @@ pub struct EventUnitTemplateList{ #[get("/api/events/units/templates?&&", format = "json")] pub fn read_event_unit_templates( - settings: State, + settings: &State, cookie: SessionCookie, limit: Option, offset: Option, @@ -38,12 +38,12 @@ pub fn read_event_unit_templates( None => 0, }; - let templates = match get_event_unit_templates(&settings, limit, offset, q){ + let templates = match get_event_unit_templates(settings, limit, offset, q){ Ok(pos) => pos, Err(e) => return Err(translate_diesel(e)) }; - let total_template_count = match get_event_unit_templates_count(&settings){ + let total_template_count = match get_event_unit_templates_count(settings){ Ok(count) => count, Err(e) => return Err(translate_diesel(e)) }; @@ -57,7 +57,7 @@ pub fn read_event_unit_templates( #[get("/api/events/units/templates//positions", format = "json")] pub fn read_event_unit_template_positions( - settings: State, + settings: &State, cookie: SessionCookie, template_id: String ) -> Result>, Json> { @@ -68,7 +68,7 @@ pub fn read_event_unit_template_positions( )); } - let positions = match get_event_unit_positions_for_template(&settings, parse_uuid_string(template_id)?){ + let positions = match get_event_unit_positions_for_template(settings, parse_uuid_string(template_id)?){ Ok(pos) => pos, Err(e) => return Err(translate_diesel(e)) }; @@ -79,7 +79,7 @@ pub fn read_event_unit_template_positions( #[get("/api/events/units/templates//vehicle_positions", format = "json")] pub fn read_event_unit_template_vehicle_positions( - settings: State, + settings: &State, cookie: SessionCookie, template_id: String ) -> Result>, Json> { @@ -90,7 +90,7 @@ pub fn read_event_unit_template_vehicle_positions( )); } - let positions = match get_vehicle_positions_for_template(&settings, parse_uuid_string(template_id)?){ + let positions = match get_vehicle_positions_for_template(settings, parse_uuid_string(template_id)?){ Ok(pos) => pos, Err(e) => return Err(translate_diesel(e)) }; diff --git a/src/modules/api/events/event_units/templates/update.rs b/src/modules/api/events/event_units/templates/update.rs index bc98d46..3b0efaf 100644 --- a/src/modules/api/events/event_units/templates/update.rs +++ b/src/modules/api/events/event_units/templates/update.rs @@ -1,7 +1,7 @@ use crate::helper::settings::Settings; use rocket::State; use crate::helper::session_cookies::model::SessionCookie; -use rocket_contrib::json::Json; +use rocket::serde::json::Json; use crate::modules::api::model::api_outcome::{ApiErrorWrapper, ApiError}; use crate::modules::api::member_management::controller::parser::{parse_member_cookie, parse_uuid_string}; use crate::database::controller::events::{add_position_to_template, update_eu_template}; @@ -11,7 +11,7 @@ use crate::modules::api::events::event_units::templates::create::CreateTemplateD #[put("/api/events/units/templates//positions/", format = "json")] pub fn put_position_in_template( - settings: State, + settings: &State, cookie: SessionCookie, template_id: String, position_id: String, @@ -26,7 +26,7 @@ pub fn put_position_in_template( let template_id = parse_uuid_string(template_id)?; let position_id = parse_uuid_string(position_id)?; - match add_position_to_template(&settings, template_id, position_id){ + match add_position_to_template(settings, template_id, position_id){ Ok(_) => Ok(()), Err(e) => Err(translate_diesel(e)) } @@ -35,7 +35,7 @@ pub fn put_position_in_template( #[put("/api/events/units/templates/", format = "json", data = "