diff --git a/.dockerignore b/.dockerignore index eb35b372..fbf04ccb 100644 --- a/.dockerignore +++ b/.dockerignore @@ -86,5 +86,5 @@ fabric.properties /web/tmp/ /web/build/ -/jirs-server/target/ -/jirs-server/tmp/ +/bitque-server/target/ +/bitque-server/tmp/ diff --git a/.env b/.env index b70b90bf..52f374cc 100644 --- a/.env +++ b/.env @@ -1,7 +1,7 @@ DEBUG=true RUST_LOG=debug JIRS_CLIENT_PORT=80 -JIRS_CLIENT_BIND=jirs.lvh.me -DATABASE_URL=postgres://postgres@localhost:5432/jirs +JIRS_CLIENT_BIND=bitque.lvh.me +DATABASE_URL=postgres://postgres@localhost:5432/bitque JIRS_SERVER_PORT=5000 JIRS_SERVER_BIND=0.0.0.0 diff --git a/.gitignore b/.gitignore index 8e72fa33..58e0716b 100644 --- a/.gitignore +++ b/.gitignore @@ -12,16 +12,16 @@ highlight.toml highlight.test.toml pkg -jirs-client/pkg -jirs-client/tmp -jirs-client/build +bitque-client/pkg +bitque-client/tmp +bitque-client/build tmp -jirs-server/target -jirs-cli/target -jirs-bat/bat +bitque-server/target +bitque-cli/target +bitque-bat/bat -highlight/jirs-highlight/build +highlight/bitque-highlight/build uploads config -shared/jirs-config/target -jirs-client/src/location.rs +shared/bitque-config/target +bitque-client/src/location.rs diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index b68ef3bd..a71dddd2 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -8,7 +8,7 @@ Use nothing other than standard rust tests. ## Submitting changes -Please send a [GitHub Pull Request to jirs](https://github.com/Eraden/hirs/pull/new/master) with a clear list of what you've done (read more about [pull requests](http://help.github.com/pull-requests/)). When you send a pull request, we will love you forever if you include RSpec examples. We can always use more test coverage. Please follow our coding conventions (below) and make sure all of your commits are atomic (one feature per commit). +Please send a [GitHub Pull Request to bitque](https://github.com/Eraden/hirs/pull/new/master) with a clear list of what you've done (read more about [pull requests](http://help.github.com/pull-requests/)). When you send a pull request, we will love you forever if you include RSpec examples. We can always use more test coverage. Please follow our coding conventions (below) and make sure all of your commits are atomic (one feature per commit). Always write a clear log message for your commits. One-line messages are fine for small changes, but bigger changes should look like this: @@ -23,7 +23,7 @@ Start reading our code and you'll get the hang of it. We optimize for readabilit * We ALWAYS run `cargo fmt` before commit * We ALWAYS run `cargo clippy` before commit * We avoid local variables and prefer functions in theirs place - * We prefer rust over JavaScript + * We prefer Rust over JavaScript * We avoid putting logic in view * This is open source software. Consider the people who will read your code, and make it look nice for them. It's sort of like driving a car: Perhaps you love doing donuts when you're alone, but with passengers the goal is to make the ride as smooth as possible. diff --git a/Cargo.lock b/Cargo.lock index 4b9f566d..002173cd 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -4,367 +4,251 @@ version = 3 [[package]] name = "actix" -version = "0.10.0" +version = "0.13.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1be241f88f3b1e7e9a3fbe3b5a8a0f6915b5a1d7ee0d9a248d3376d01068cc60" +checksum = "f728064aca1c318585bf4bb04ffcfac9e75e508ab4e8b1bd9ba5dfe04e2cbed5" dependencies = [ "actix-rt", "actix_derive", - "bitflags", - "bytes 0.5.6", + "bitflags 1.3.2", + "bytes", "crossbeam-channel", - "derive_more", - "futures-channel", + "futures-core", + "futures-sink", + "futures-task", "futures-util", "log", "once_cell", "parking_lot", - "pin-project 0.4.28", + "pin-project-lite", "smallvec", - "tokio 0.2.25", - "tokio-util 0.3.1", - "trust-dns-proto", - "trust-dns-resolver", + "tokio", + "tokio-util", ] [[package]] name = "actix-codec" -version = "0.3.0" +version = "0.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "78d1833b3838dbe990df0f1f87baf640cf6146e898166afe401839d1b001e570" +checksum = "57a7559404a7f3573127aab53c08ce37a6c6a315c374a31070f3c91cd1b4a7fe" dependencies = [ - "bitflags", - "bytes 0.5.6", + "bitflags 1.3.2", + "bytes", "futures-core", "futures-sink", "log", - "pin-project 0.4.28", - "tokio 0.2.25", - "tokio-util 0.3.1", -] - -[[package]] -name = "actix-connect" -version = "2.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "177837a10863f15ba8d3ae3ec12fac1099099529ed20083a27fdfe247381d0dc" -dependencies = [ - "actix-codec", - "actix-rt", - "actix-service", - "actix-utils", - "derive_more", - "either", - "futures-util", - "http", - "log", - "trust-dns-proto", - "trust-dns-resolver", -] - -[[package]] -name = "actix-cors" -version = "0.5.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "36b133d8026a9f209a9aeeeacd028e7451bcca975f592881b305d37983f303d7" -dependencies = [ - "actix-web", - "derive_more", - "futures-util", - "log", - "once_cell", - "tinyvec", + "memchr", + "pin-project-lite", + "tokio", + "tokio-util", ] [[package]] name = "actix-files" -version = "0.5.0" +version = "0.6.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c51e8a9146c12fce92a6e4c24b8c4d9b05268130bfd8d61bc587e822c32ce689" +checksum = "d832782fac6ca7369a70c9ee9a20554623c5e51c76e190ad151780ebea1cf689" dependencies = [ + "actix-http", "actix-service", + "actix-utils", "actix-web", - "bitflags", - "bytes 0.5.6", + "askama_escape", + "bitflags 1.3.2", + "bytes", "derive_more", "futures-core", - "futures-util", + "http-range", "log", "mime", "mime_guess", "percent-encoding", - "v_htmlescape", + "pin-project-lite", ] [[package]] name = "actix-http" -version = "2.2.1" +version = "3.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5cb8958da437716f3f31b0e76f8daf36554128517d7df37ceba7df00f09622ee" +checksum = "c2079246596c18b4a33e274ae10c0e50613f4d32a4198e09c7b93771013fed74" dependencies = [ "actix-codec", - "actix-connect", "actix-rt", "actix-service", - "actix-threadpool", "actix-utils", - "base64 0.13.0", - "bitflags", - "brotli2", - "bytes 0.5.6", - "cookie", - "copyless", + "ahash 0.8.3", + "base64 0.21.0", + "bitflags 1.3.2", + "bytes", + "bytestring", "derive_more", - "either", "encoding_rs", - "flate2", - "futures-channel", "futures-core", - "futures-util", - "fxhash", - "h2 0.2.7", + "h2", "http", "httparse", - "indexmap", + "httpdate", "itoa", "language-tags", - "lazy_static", - "log", + "local-channel", "mime", "percent-encoding", - "pin-project 1.0.8", - "rand 0.7.3", - "regex", - "serde", - "serde_json", - "serde_urlencoded", - "sha-1 0.9.8", - "slab", - "time 0.2.27", -] - -[[package]] -name = "actix-macros" -version = "0.1.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b4ca8ce00b267af8ccebbd647de0d61e0674b6e61185cc7a592ff88772bed655" -dependencies = [ - "quote", - "syn", + "pin-project-lite", + "rand 0.8.5", + "sha1", + "smallvec", + "tokio", + "tokio-util", + "tracing", ] [[package]] name = "actix-multipart" -version = "0.3.0" +version = "0.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "774bfeb11b54bf9c857a005b8ab893293da4eaff79261a66a9200dab7f5ab6e3" +checksum = "dee489e3c01eae4d1c35b03c4493f71cb40d93f66b14558feb1b1a807671cc4e" dependencies = [ - "actix-service", + "actix-multipart-derive", "actix-utils", "actix-web", - "bytes 0.5.6", + "bytes", "derive_more", + "futures-core", "futures-util", "httparse", + "local-waker", "log", + "memchr", "mime", - "twoway", + "serde", + "serde_json", + "serde_plain", + "tempfile", + "tokio", +] + +[[package]] +name = "actix-multipart-derive" +version = "0.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2ec592f234db8a253cf80531246a4407c8a70530423eea80688a6c5a44a110e7" +dependencies = [ + "darling", + "parse-size", + "proc-macro2 1.0.54", + "quote 1.0.26", + "syn 1.0.109", ] [[package]] name = "actix-router" -version = "0.2.7" +version = "0.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2ad299af73649e1fc893e333ccf86f377751eb95ff875d095131574c6f43452c" +checksum = "d66ff4d247d2b160861fa2866457e85706833527840e4133f8f49aa423a38799" dependencies = [ "bytestring", "http", - "log", "regex", "serde", + "tracing", ] [[package]] name = "actix-rt" -version = "1.1.1" +version = "2.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "143fcc2912e0d1de2bcf4e2f720d2a60c28652ab4179685a1ee159e0fb3db227" +checksum = "15265b6b8e2347670eb363c47fc8c75208b4a4994b27192f345fcbe707804f3e" dependencies = [ - "actix-macros", - "actix-threadpool", - "copyless", - "futures-channel", - "futures-util", - "smallvec", - "tokio 0.2.25", + "futures-core", + "tokio", ] [[package]] name = "actix-server" -version = "1.0.4" +version = "2.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "45407e6e672ca24784baa667c5d32ef109ccdd8d5e0b5ebb9ef8a67f4dfb708e" +checksum = "3e8613a75dd50cc45f473cee3c34d59ed677c0f7b44480ce3b8247d7dc519327" dependencies = [ - "actix-codec", "actix-rt", "actix-service", "actix-utils", - "futures-channel", + "futures-core", "futures-util", - "log", - "mio 0.6.23", - "mio-uds", + "mio", "num_cpus", - "slab", - "socket2 0.3.19", + "socket2", + "tokio", + "tracing", ] [[package]] name = "actix-service" -version = "1.0.6" +version = "2.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0052435d581b5be835d11f4eb3bce417c8af18d87ddf8ace99f8e67e595882bb" +checksum = "3b894941f818cfdc7ccc4b9e60fa7e53b5042a2e8567270f9147d5591893373a" dependencies = [ - "futures-util", - "pin-project 0.4.28", -] - -[[package]] -name = "actix-testing" -version = "1.0.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "47239ca38799ab74ee6a8a94d1ce857014b2ac36f242f70f3f75a66f691e791c" -dependencies = [ - "actix-macros", - "actix-rt", - "actix-server", - "actix-service", - "log", - "socket2 0.3.19", -] - -[[package]] -name = "actix-threadpool" -version = "0.3.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d209f04d002854b9afd3743032a27b066158817965bf5d036824d19ac2cc0e30" -dependencies = [ - "derive_more", - "futures-channel", - "lazy_static", - "log", - "num_cpus", - "parking_lot", - "threadpool", -] - -[[package]] -name = "actix-tls" -version = "2.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "24789b7d7361cf5503a504ebe1c10806896f61e96eca9a7350e23001aca715fb" -dependencies = [ - "actix-codec", - "actix-service", - "actix-utils", - "futures-util", + "futures-core", + "paste", + "pin-project-lite", ] [[package]] name = "actix-utils" -version = "2.0.0" +version = "3.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2e9022dec56632d1d7979e59af14f0597a28a830a9c1c7fec8b2327eb9f16b5a" +checksum = "88a1dcdff1466e3c2488e1cb5c36a71822750ad43839937f85d2f4d9f8b705d8" dependencies = [ - "actix-codec", - "actix-rt", - "actix-service", - "bitflags", - "bytes 0.5.6", - "either", - "futures-channel", - "futures-sink", - "futures-util", - "log", - "pin-project 0.4.28", - "slab", + "local-waker", + "pin-project-lite", ] [[package]] name = "actix-web" -version = "3.3.2" +version = "4.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e641d4a172e7faa0862241a20ff4f1f5ab0ab7c279f00c2d4587b77483477b86" +checksum = "cd3cb42f9566ab176e1ef0b8b3a896529062b4efc6be0123046095914c4c1c96" dependencies = [ "actix-codec", "actix-http", - "actix-macros", "actix-router", "actix-rt", "actix-server", "actix-service", - "actix-testing", - "actix-threadpool", - "actix-tls", "actix-utils", - "actix-web-codegen", - "awc", - "bytes 0.5.6", + "ahash 0.7.6", + "bytes", + "bytestring", + "cfg-if 1.0.0", "derive_more", "encoding_rs", - "futures-channel", "futures-core", "futures-util", - "fxhash", + "http", + "itoa", + "language-tags", "log", "mime", - "pin-project 1.0.8", + "once_cell", + "pin-project-lite", "regex", "serde", "serde_json", "serde_urlencoded", - "socket2 0.3.19", - "time 0.2.27", - "tinyvec", + "smallvec", + "socket2", + "time 0.3.20", "url", ] -[[package]] -name = "actix-web-actors" -version = "3.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7f6edf3c2693e2a8c422800c87ee89a6a4eac7dd01109bc172a1093ce1f4f001" -dependencies = [ - "actix", - "actix-codec", - "actix-http", - "actix-web", - "bytes 0.5.6", - "futures-channel", - "futures-core", - "pin-project 0.4.28", -] - -[[package]] -name = "actix-web-codegen" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ad26f77093333e0e7c6ffe54ebe3582d908a104e448723eec6d43d08b07143fb" -dependencies = [ - "proc-macro2", - "quote", - "syn", -] - [[package]] name = "actix_derive" -version = "0.5.0" +version = "0.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b95aceadaf327f18f0df5962fedc1bde2f870566a0b9f65c89508a3b1f79334c" +checksum = "6d44b8fee1ced9671ba043476deddef739dd0959bf77030b26b738cc591737a7" dependencies = [ - "proc-macro2", - "quote", - "syn", + "proc-macro2 1.0.54", + "quote 1.0.26", + "syn 1.0.109", ] [[package]] @@ -374,10 +258,33 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f26201604c87b1e01bd3d98f8d5d9a8fcbb815e8cedb41ffccbeb4bf593a35fe" [[package]] -name = "aho-corasick" -version = "0.7.18" +name = "ahash" +version = "0.7.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1e37cfd5e7657ada45f742d6e99ca5788580b5c529dc78faf11ece6dc702656f" +checksum = "fcb51a0695d8f838b1ee009b3fbf66bda078cd64590202a864a8f3e8c4315c47" +dependencies = [ + "getrandom", + "once_cell", + "version_check 0.9.4", +] + +[[package]] +name = "ahash" +version = "0.8.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2c99f64d1e06488f620f932677e24bc6e2897582980441ae90a671415bd7ec2f" +dependencies = [ + "cfg-if 1.0.0", + "getrandom", + "once_cell", + "version_check 0.9.4", +] + +[[package]] +name = "aho-corasick" +version = "0.7.20" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cc936419f96fa211c1b9166887b38e5e40b19958e5b895be7c1f93adec7071ac" dependencies = [ "memchr", ] @@ -387,40 +294,68 @@ name = "amazon-actor" version = "0.1.0" dependencies = [ "actix", - "bytes 1.1.0", + "bitque-config", + "bytes", "common", "futures", - "jirs-config", "libc", "openssl-sys", "rusoto_core", "rusoto_s3", "rusoto_signature", "serde", - "tokio 0.2.25", - "uuid 0.8.2", + "tokio", + "uuid 1.3.0", ] [[package]] -name = "ansi_term" -version = "0.11.0" +name = "android_system_properties" +version = "0.1.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ee49baf6cb617b853aa8d93bf420db2383fab46d314482ca2803b40d5fde979b" +checksum = "819e7219dbd41043ac279b19830f2efc897156490d7fd6ea916720117ee66311" dependencies = [ - "winapi 0.3.9", + "libc", ] [[package]] -name = "arrayref" -version = "0.3.6" +name = "anstream" +version = "0.2.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a4c527152e37cf757a3f78aae5a06fbeefdb07ccc535c980a3208ee3060dd544" +checksum = "342258dd14006105c2b75ab1bd7543a03bdf0cfc94383303ac212a04939dff6f" +dependencies = [ + "anstyle", + "anstyle-parse", + "anstyle-wincon", + "concolor-override", + "concolor-query", + "is-terminal", + "utf8parse", +] [[package]] -name = "arrayvec" -version = "0.5.2" +name = "anstyle" +version = "0.3.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "23b62fc65de8e4e7f52534fb52b0f3ed04746ae267519eef2a83941e8085068b" +checksum = "23ea9e81bd02e310c216d080f6223c179012256e5151c41db88d12c88a1684d2" + +[[package]] +name = "anstyle-parse" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a7d1bb534e9efed14f3e5f44e7dd1a4f709384023a4165199a4241e18dff0116" +dependencies = [ + "utf8parse", +] + +[[package]] +name = "anstyle-wincon" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c3127af6145b149f3287bb9a0d10ad9c5692dba8c53ad48285e5bec4063834fa" +dependencies = [ + "anstyle", + "windows-sys 0.45.0", +] [[package]] name = "ascii_utils" @@ -428,69 +363,37 @@ version = "0.9.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "71938f30533e4d95a6d17aa530939da3842c2ab6f4f84b9dae68447e4129f74a" +[[package]] +name = "askama_escape" +version = "0.10.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "619743e34b5ba4e9703bba34deac3427c72507c7159f5fd030aea8cac0cfe341" + [[package]] name = "async-trait" -version = "0.1.51" +version = "0.1.68" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "44318e776df68115a881de9a8fd1b9e53368d7a4a5ce4cc48517da3393233a5e" +checksum = "b9ccdd8f2a161be9bd5c023df56f1b2a0bd1d83872ae53b71a84a12c9bf6e842" dependencies = [ - "proc-macro2", - "quote", - "syn", -] - -[[package]] -name = "atty" -version = "0.2.14" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d9b39be18770d11421cdb1b9947a45dd3f37e93092cbf377614828a319d5fee8" -dependencies = [ - "hermit-abi", - "libc", - "winapi 0.3.9", + "proc-macro2 1.0.54", + "quote 1.0.26", + "syn 2.0.12", ] [[package]] name = "autocfg" -version = "0.1.7" +version = "0.1.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1d49d90015b3c36167a20fe2810c5cd875ad504b39cff3d4eae7977e6b7c1cb2" - -[[package]] -name = "autocfg" -version = "1.0.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cdb031dd78e28731d87d56cc8ffef4a8f36ca26c38fe2de700543e627f8a464a" - -[[package]] -name = "awc" -version = "2.0.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b381e490e7b0cfc37ebc54079b0413d8093ef43d14a4e4747083f7fa47a9e691" +checksum = "0dde43e75fd43e8a1bf86103336bc699aa8d17ad1be60c76c0bdfd4828e19b78" dependencies = [ - "actix-codec", - "actix-http", - "actix-rt", - "actix-service", - "base64 0.13.0", - "bytes 0.5.6", - "cfg-if 1.0.0", - "derive_more", - "futures-core", - "log", - "mime", - "percent-encoding", - "rand 0.7.3", - "serde", - "serde_json", - "serde_urlencoded", + "autocfg 1.1.0", ] [[package]] -name = "base-x" -version = "0.2.8" +name = "autocfg" +version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a4521f3e3d031370679b3b140beb36dfe4801b09ac77e30c61941f97df3ef28b" +checksum = "d468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa" [[package]] name = "base64" @@ -513,15 +416,21 @@ dependencies = [ [[package]] name = "base64" -version = "0.13.0" +version = "0.13.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "904dfeac50f3cdaba28fc6f57fdcddb75f49ed61346676a78c4ffe55877802fd" +checksum = "9e1b586273c5702936fe7b7d6896644d8be71e6314cfe09d3167c95f712589e8" + +[[package]] +name = "base64" +version = "0.21.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a4a4ddaa51a5bc52a6948f74c06d20aaaddb71924eab79b8c97a8c556e942d6a" [[package]] name = "bigdecimal" -version = "0.1.0" +version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "460825c9e21708024d67c07057cd5560e5acdccac85de0de624a81d3de51bacb" +checksum = "6aaf33151a6429fe9211d1b276eafdf70cdff28b071e76c0b0e1503221ea3744" dependencies = [ "num-bigint", "num-integer", @@ -537,6 +446,21 @@ dependencies = [ "serde", ] +[[package]] +name = "bit-set" +version = "0.5.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0700ddab506f33b20a03b13996eccd309a48e5ff77d0d95926aa0210fb4e95f1" +dependencies = [ + "bit-vec", +] + +[[package]] +name = "bit-vec" +version = "0.6.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "349f9b6a179ed607305526ca489b34ad0a41aed5f7980fa90eb03160b69598fb" + [[package]] name = "bitflags" version = "1.3.2" @@ -544,38 +468,97 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a" [[package]] -name = "bitvec" -version = "0.19.5" +name = "bitflags" +version = "2.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8942c8d352ae1838c9dda0b0ca2ab657696ef2232a20147cf1b30ae1a9cb4321" +checksum = "487f1e0fcbe47deb8b0574e646def1c903389d95241dd1bbcc6ce4a715dfc0c1" + +[[package]] +name = "bitque" +version = "0.1.0" dependencies = [ - "funty", - "radium", - "tap", - "wyz", + "actix", + "amazon-actor", + "bitque-config", + "bitque-data", + "common", + "database-actor", + "dotenv", + "filesystem-actor", + "futures", + "highlight-actor", + "libc", + "mail-actor", + "openssl-sys", + "serde", + "serde_json", + "tokio", + "toml", + "web-actor", + "websocket-actor", ] [[package]] -name = "blake2b_simd" -version = "0.5.11" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "afa748e348ad3be8263be728124b24a24f268266f6f5d58af9d75f6a40b5c587" +name = "bitque-config" +version = "0.1.0" dependencies = [ - "arrayref", - "arrayvec", - "constant_time_eq", + "rusoto_core", + "rusoto_s3", + "rusoto_signature", + "serde", + "toml", ] [[package]] -name = "block-buffer" -version = "0.7.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c0940dc441f31689269e10ac70eb1002a3a1d3ad1390e030043662eb7fe4688b" +name = "bitque-data" +version = "0.1.0" dependencies = [ - "block-padding", - "byte-tools", - "byteorder", - "generic-array 0.12.4", + "actix", + "chrono", + "diesel 2.0.3", + "diesel-derive-enum", + "diesel-derive-more", + "diesel-derive-newtype", + "serde", + "serde_json", + "strum", + "uuid 1.3.0", +] + +[[package]] +name = "bitque_client" +version = "0.1.0" +dependencies = [ + "bincode", + "bitque-data", + "chrono", + "console_error_panic_hook", + "derive_enum_iter", + "derive_enum_primitive", + "dotenv", + "futures", + "js-sys", + "seed", + "serde", + "serde_json", + "tracing", + "uuid 1.3.0", + "wasm-bindgen", + "wasm-bindgen-futures", + "wasm-bindgen-test", + "web-sys", + "wee_alloc", +] + +[[package]] +name = "bitquec" +version = "0.1.0" +dependencies = [ + "actix", + "clap", + "common", + "termion 2.0.1", + "tui", ] [[package]] @@ -584,45 +567,16 @@ version = "0.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4152116fd6e9dadb291ae18fc1ec3575ed6d84c29642d97890f4b4a3417297e4" dependencies = [ - "generic-array 0.14.4", + "generic-array", ] [[package]] -name = "block-padding" -version = "0.1.5" +name = "block-buffer" +version = "0.10.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fa79dedbb091f449f1f39e53edf88d5dbe95f895dae6135a8d7b881fb5af73f5" +checksum = "3078c7629b62d3f0439517fa394996acacc5cbc91c5a20d8c658e77abd503a71" dependencies = [ - "byte-tools", -] - -[[package]] -name = "brotli-sys" -version = "0.3.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4445dea95f4c2b41cde57cc9fee236ae4dbae88d8fcbdb4750fc1bb5d86aaecd" -dependencies = [ - "cc", - "libc", -] - -[[package]] -name = "brotli2" -version = "0.3.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0cb036c3eade309815c15ddbacec5b22c4d1f3983a774ab2eac2e3e9ea85568e" -dependencies = [ - "brotli-sys", - "libc", -] - -[[package]] -name = "buf-min" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fa17aa1cf56bdd6bb30518767d00e58019d326f3f05d8c3e0730b549d332ea83" -dependencies = [ - "bytes 0.5.6", + "generic-array", ] [[package]] @@ -631,12 +585,6 @@ version = "3.12.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0d261e256854913907f67ed06efbc3338dfe6179796deefc1ff763fc1aee5535" -[[package]] -name = "byte-tools" -version = "0.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e3b5ca7a04898ad4bcd41c90c5285445ff5b791899bb1b0abdd2a2aa791211d7" - [[package]] name = "byteorder" version = "1.4.3" @@ -645,23 +593,17 @@ checksum = "14c189c53d098945499cdfa7ecc63567cf3886b3332b312a5b4585d8d3a6a610" [[package]] name = "bytes" -version = "0.5.6" +version = "1.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0e4cec68f03f32e44924783795810fa50a7035d8c8ebe78580ad7e6c703fba38" - -[[package]] -name = "bytes" -version = "1.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c4872d67bab6358e59559027aa3b9157c53d9358c51423c17554809a8858e0f8" +checksum = "89b2fd2a0dcf38d7971e2194b6b6eebab45ae01067456a7fd93d5547a61b70be" [[package]] name = "bytestring" -version = "1.0.0" +version = "1.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "90706ba19e97b90786e19dc0d5e2abd80008d99d4c0c5d1ad0b5e72cec7c494d" +checksum = "238e4886760d98c4f899360c834fa93e62cf7f721ac3c2da375cbdf4b8679aae" dependencies = [ - "bytes 1.1.0", + "bytes", ] [[package]] @@ -672,9 +614,9 @@ checksum = "df8670b8c7b9dae1793364eafadf7239c40d669904660c5960d74cfd80b46a53" [[package]] name = "cc" -version = "1.0.71" +version = "1.0.79" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "79c2681d6594606957bbb8631c4b90a7fcaaa72cdb714743a437b156d6a7eedd" +checksum = "50d30906286121d95be3d479533b458f87493b30a4b5f79a607db8f5d11aa91f" [[package]] name = "cfg-if" @@ -690,84 +632,120 @@ checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" [[package]] name = "chrono" -version = "0.4.19" +version = "0.4.24" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "670ad68c9088c2a963aaa298cb369688cf3f9465ce5e2d4ca10e6e0098a1ce73" +checksum = "4e3c5919066adf22df73762e50cffcde3a758f2a848b113b586d1f86728b673b" dependencies = [ + "iana-time-zone", "js-sys", - "libc", "num-integer", "num-traits", "serde", - "time 0.1.43", + "time 0.1.45", "wasm-bindgen", - "winapi 0.3.9", + "winapi", ] [[package]] name = "clap" -version = "2.33.3" +version = "4.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "37e58ac78573c40708d45522f0d80fa2f01cc4f9b4e2bf749807255454312002" +checksum = "046ae530c528f252094e4a77886ee1374437744b2bff1497aa898bbddbbb29b3" dependencies = [ - "ansi_term", - "atty", - "bitflags", - "strsim 0.8.0", - "textwrap", - "unicode-width", - "vec_map", + "clap_builder", + "clap_derive", + "once_cell", ] +[[package]] +name = "clap_builder" +version = "4.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "223163f58c9a40c3b0a43e1c4b50a9ce09f007ea2cb1ec258a687945b4b7929f" +dependencies = [ + "anstream", + "anstyle", + "bitflags 1.3.2", + "clap_lex", + "strsim", + "terminal_size", +] + +[[package]] +name = "clap_derive" +version = "4.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3f9644cd56d6b87dbe899ef8b053e331c0637664e9e21a33dfcdc36093f5c5c4" +dependencies = [ + "heck", + "proc-macro2 1.0.54", + "quote 1.0.26", + "syn 2.0.12", +] + +[[package]] +name = "clap_lex" +version = "0.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8a2dd5a6fe8c6e3502f568a6353e5273bbb15193ad9a89e457b9970798efbea1" + [[package]] name = "cloudabi" version = "0.0.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ddfc5b9aa5d4507acaf872de71051dfd0e309860e88966e1051e462a077aac4f" dependencies = [ - "bitflags", + "bitflags 1.3.2", +] + +[[package]] +name = "codespan-reporting" +version = "0.11.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3538270d33cc669650c4b093848450d380def10c331d38c768e34cac80576e6e" +dependencies = [ + "termcolor", + "unicode-width", ] [[package]] name = "common" version = "0.1.0" -dependencies = [ - "actix", - "actix-cors", - "actix-rt", - "actix-service", - "actix-web", - "actix-web-actors", - "actix_derive", - "bytes 0.5.6", - "env_logger", - "log", - "pretty_env_logger", - "reexport-proc-macro", - "serde", - "serde_derive", -] [[package]] name = "comrak" -version = "0.12.1" +version = "0.18.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ff3c476e1a33eb4df1212a02db79d0f788bbd760901f34f5897644623e0e4e74" +checksum = "482aa5695bca086022be453c700a40c02893f1ba7098a2c88351de55341ae894" dependencies = [ "clap", "entities", - "lazy_static", - "pest", - "pest_derive", + "memchr", + "once_cell", "regex", "shell-words", + "slug", "syntect", - "twoway", "typed-arena", "unicode_categories", "xdg", ] +[[package]] +name = "concolor-override" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a855d4a1978dc52fb0536a04d384c2c0c1aa273597f08b77c8c4d3b2eec6037f" + +[[package]] +name = "concolor-query" +version = "0.3.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "88d11d52c3d7ca2e6d0040212be9e4dbbcd78b6447f535b6b561f449427944cf" +dependencies = [ + "windows-sys 0.45.0", +] + [[package]] name = "console_error_panic_hook" version = "0.1.7" @@ -778,46 +756,17 @@ dependencies = [ "wasm-bindgen", ] -[[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" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "245097e9a4535ee1e3e3931fcfcd55a796a44c643e8596ff6566d68f09b87bbc" - [[package]] name = "convert_case" version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6245d59a3e82a7fc217c5828a6692dbc6dfb63a0c8c90495621f7b9d79704a0e" -[[package]] -name = "cookie" -version = "0.14.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "03a5d7b21829bc7b4bf4754a978a241ae54ea55a40f92bb20216e54096f4b951" -dependencies = [ - "percent-encoding", - "time 0.2.27", - "version_check 0.9.3", -] - -[[package]] -name = "copyless" -version = "0.1.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a2df960f5d869b2dd8532793fde43eb5427cceb126c929747a26823ab0eeb536" - [[package]] name = "core-foundation" -version = "0.9.2" +version = "0.9.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6888e10551bb93e424d8df1d07f1a8b4fceb0001a3a4b048bfc47554946f47b3" +checksum = "194a7a9e6de53fa55116934067c844d9d749312f75c6f6d0980e8c252f8c2146" dependencies = [ "core-foundation-sys", "libc", @@ -831,51 +780,74 @@ checksum = "5827cebf4670468b8772dd191856768aedcb1b0278a04f989f7766351917b9dc" [[package]] name = "cpufeatures" -version = "0.2.1" +version = "0.2.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "95059428f66df56b63431fdb4e1947ed2190586af5c5a8a8b71122bdf5a7f469" +checksum = "280a9f2d8b3a38871a3c8a46fb80db65e5e5ed97da80c4d08bf27fb63e35e181" dependencies = [ "libc", ] [[package]] name = "crc32fast" -version = "1.2.1" +version = "1.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "81156fece84ab6a9f2afdb109ce3ae577e42b1228441eded99bd77f627953b1a" +checksum = "b540bd8bc810d3885c6ea91e2018302f68baba2129ab3e88f32389ee9370880d" dependencies = [ "cfg-if 1.0.0", ] [[package]] name = "crossbeam-channel" -version = "0.4.4" +version = "0.5.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b153fe7cbef478c567df0f972e02e6d736db11affe43dfc9c56a9374d1adfb87" -dependencies = [ - "crossbeam-utils 0.7.2", - "maybe-uninit", -] - -[[package]] -name = "crossbeam-utils" -version = "0.7.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c3c7c73a2d1e9fc0886a08b93e98eb643461230d5f1925e4036204d5f2e261a8" -dependencies = [ - "autocfg 1.0.1", - "cfg-if 0.1.10", - "lazy_static", -] - -[[package]] -name = "crossbeam-utils" -version = "0.8.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d82cfc11ce7f2c3faef78d8a684447b40d503d9681acebed6cb728d45940c4db" +checksum = "cf2b3e8478797446514c91ef04bafcb59faba183e621ad488df88983cc14128c" dependencies = [ "cfg-if 1.0.0", - "lazy_static", + "crossbeam-utils", +] + +[[package]] +name = "crossbeam-utils" +version = "0.8.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3c063cd8cc95f5c377ed0d4b49a4b21f632396ff690e8470c29b3359b346984b" +dependencies = [ + "cfg-if 1.0.0", +] + +[[package]] +name = "crossterm" +version = "0.25.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e64e6c0fbe2c17357405f7c758c1ef960fce08bdfb2c03d88d2a18d7e09c4b67" +dependencies = [ + "bitflags 1.3.2", + "crossterm_winapi", + "libc", + "mio", + "parking_lot", + "signal-hook", + "signal-hook-mio", + "winapi", +] + +[[package]] +name = "crossterm_winapi" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2ae1b35a484aa10e07fe0638d02301c5ad24de82d310ccbd2f3693da5f09bf1c" +dependencies = [ + "winapi", +] + +[[package]] +name = "crypto-common" +version = "0.1.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1bfb12502f3fc46cca1bb51ac28df9d618d813cdc3d2f25b9fe775a34af26bb3" +dependencies = [ + "generic-array", + "typenum", ] [[package]] @@ -884,10 +856,89 @@ version = "0.11.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b1d1a86f49236c215f271d40892d5fc950490551400b02ef360692c29815c714" dependencies = [ - "generic-array 0.14.4", + "generic-array", "subtle", ] +[[package]] +name = "cxx" +version = "1.0.94" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f61f1b6389c3fe1c316bf8a4dccc90a38208354b330925bce1f74a6c4756eb93" +dependencies = [ + "cc", + "cxxbridge-flags", + "cxxbridge-macro", + "link-cplusplus", +] + +[[package]] +name = "cxx-build" +version = "1.0.94" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "12cee708e8962df2aeb38f594aae5d827c022b6460ac71a7a3e2c3c2aae5a07b" +dependencies = [ + "cc", + "codespan-reporting", + "once_cell", + "proc-macro2 1.0.54", + "quote 1.0.26", + "scratch", + "syn 2.0.12", +] + +[[package]] +name = "cxxbridge-flags" +version = "1.0.94" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7944172ae7e4068c533afbb984114a56c46e9ccddda550499caa222902c7f7bb" + +[[package]] +name = "cxxbridge-macro" +version = "1.0.94" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2345488264226bf682893e25de0769f3360aac9957980ec49361b083ddaa5bc5" +dependencies = [ + "proc-macro2 1.0.54", + "quote 1.0.26", + "syn 2.0.12", +] + +[[package]] +name = "darling" +version = "0.14.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7b750cb3417fd1b327431a470f388520309479ab0bf5e323505daf0290cd3850" +dependencies = [ + "darling_core", + "darling_macro", +] + +[[package]] +name = "darling_core" +version = "0.14.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "109c1ca6e6b7f82cc233a97004ea8ed7ca123a9af07a8230878fcfda9b158bf0" +dependencies = [ + "fnv", + "ident_case", + "proc-macro2 1.0.54", + "quote 1.0.26", + "strsim", + "syn 1.0.109", +] + +[[package]] +name = "darling_macro" +version = "0.14.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a4aab4dbc9f7611d8b55048a3a16d2d010c2c8334e46304b40ac1cc14bf3b48e" +dependencies = [ + "darling_core", + "quote 1.0.26", + "syn 1.0.109", +] + [[package]] name = "database-actor" version = "0.1.0" @@ -895,17 +946,17 @@ dependencies = [ "actix", "bigdecimal", "bincode", - "bitflags", + "bitflags 2.0.2", + "bitque-config", + "bitque-data", "byteorder", "chrono", "common", "derive_db_execute", - "diesel", + "diesel 2.0.3", "dotenv", "futures", "ipnetwork", - "jirs-config", - "jirs-data", "libc", "num-bigint", "num-integer", @@ -915,19 +966,11 @@ dependencies = [ "pq-sys", "r2d2", "serde", - "time 0.1.43", + "time 0.3.20", "toml", + "tracing", "url", - "uuid 0.8.2", -] - -[[package]] -name = "dbg" -version = "1.0.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4677188513e0e9d7adced5997cf9a1e7a3c996c994f90093325c5332c1a8b221" -dependencies = [ - "version_check 0.1.5", + "uuid 1.3.0", ] [[package]] @@ -948,34 +991,88 @@ version = "0.1.0" [[package]] name = "derive_more" -version = "0.99.16" +version = "0.99.17" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "40eebddd2156ce1bb37b20bbe5151340a31828b1f2d22ba4141f3531710e38df" +checksum = "4fb810d30a7c1953f91334de7244731fc3f3c10d7fe163338a35b9f640960321" dependencies = [ "convert_case", - "proc-macro2", - "quote", - "rustc_version 0.3.3", - "syn", + "proc-macro2 1.0.54", + "quote 1.0.26", + "rustc_version", + "syn 1.0.109", ] +[[package]] +name = "deunicode" +version = "0.4.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "850878694b7933ca4c9569d30a34b55031b9b139ee1fc7b94a527c4ef960d690" + [[package]] name = "diesel" version = "1.4.8" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b28135ecf6b7d446b43e27e225622a038cc4e2930a1022f51cdb97ada19b8e4d" dependencies = [ - "bigdecimal", - "bitflags", + "bitflags 1.3.2", "byteorder", "chrono", - "diesel_derives", + "diesel_derives 1.4.1", + "pq-sys", +] + +[[package]] +name = "diesel" +version = "2.0.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4391a22b19c916e50bec4d6140f29bdda3e3bb187223fe6e3ea0b6e4d1021c04" +dependencies = [ + "bigdecimal", + "bitflags 1.3.2", + "byteorder", + "chrono", + "diesel_derives 2.0.2", + "itoa", "num-bigint", "num-integer", "num-traits", "pq-sys", "r2d2", - "uuid 0.8.2", + "uuid 1.3.0", +] + +[[package]] +name = "diesel-derive-enum" +version = "2.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6b10c03b954333d05bfd5be1d8a74eae2c9ca77b86e0f1c3a1ea29c49da1d6c2" +dependencies = [ + "heck", + "proc-macro2 1.0.54", + "quote 1.0.26", + "syn 1.0.109", +] + +[[package]] +name = "diesel-derive-more" +version = "1.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b1bb6d8f0e416f9b728e3782d26329b8d3ea986c3dc6edef2056073bc4835907" +dependencies = [ + "diesel 1.4.8", + "quote 0.4.2", + "syn 0.12.15", +] + +[[package]] +name = "diesel-derive-newtype" +version = "2.0.0-rc.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dd577654b63c049f4eecd2ce1187740a050166372673f6b09c351c53b575c34a" +dependencies = [ + "proc-macro2 0.4.30", + "quote 0.6.13", + "syn 0.14.9", ] [[package]] @@ -984,18 +1081,21 @@ version = "1.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "45f5098f628d02a7a0f68ddba586fb61e80edec3bdc1be3b921f4ceec60858d3" dependencies = [ - "proc-macro2", - "quote", - "syn", + "proc-macro2 1.0.54", + "quote 1.0.26", + "syn 1.0.109", ] [[package]] -name = "digest" -version = "0.8.1" +name = "diesel_derives" +version = "2.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f3d0c8c8752312f9713efd397ff63acb9f85585afbf179282e720e7704954dd5" +checksum = "0ad74fdcf086be3d4fdd142f67937678fe60ed431c3b2f08599e7687269410c4" dependencies = [ - "generic-array 0.12.4", + "proc-macro-error", + "proc-macro2 1.0.54", + "quote 1.0.26", + "syn 1.0.109", ] [[package]] @@ -1004,18 +1104,26 @@ version = "0.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d3dd60d1080a57a05ab032377049e0591415d2b31afd7028356dbf3cc6dcb066" dependencies = [ - "generic-array 0.14.4", + "generic-array", +] + +[[package]] +name = "digest" +version = "0.10.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8168378f4e5023e7218c89c891c0fd8ecdb5e5e4f18cb78f38cf245dd021e76f" +dependencies = [ + "block-buffer 0.10.4", + "crypto-common", ] [[package]] name = "dirs" -version = "1.0.5" +version = "4.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3fd78930633bd1c6e35c4b42b1df7b0cbc6bc191146e512bb3bedf243fcc3901" +checksum = "ca3aa72a6f96ea37bbc5aa912f6788242832f75369bdfdadcb0e38423f100059" dependencies = [ - "libc", - "redox_users 0.3.5", - "winapi 0.3.9", + "dirs-sys", ] [[package]] @@ -1028,6 +1136,17 @@ dependencies = [ "dirs-sys-next", ] +[[package]] +name = "dirs-sys" +version = "0.3.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1b1d1d91c932ef41c0f2663aa8b0ca0342d444d842c06914aa0a7e352d0bada6" +dependencies = [ + "libc", + "redox_users", + "winapi", +] + [[package]] name = "dirs-sys-next" version = "0.1.2" @@ -1035,28 +1154,16 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4ebda144c4fe02d1f7ea1a7d9641b6fc6b580adcfa024ae48797ecdeb6825b4d" dependencies = [ "libc", - "redox_users 0.4.0", - "winapi 0.3.9", + "redox_users", + "winapi", ] -[[package]] -name = "discard" -version = "1.0.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "212d0f5754cb6769937f4501cc0e67f4f4483c8d2c3e1e922ee9edbe4ab4c7c0" - [[package]] name = "dotenv" version = "0.15.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "77c90badedccf4105eca100756a0b1289e191f6fcbdadd3cee1d2f614f97da8f" -[[package]] -name = "either" -version = "1.6.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e78d4f1cc4ae33bbfc157ed5d5a5ef3bc29227303d595861deb238fcec4e9457" - [[package]] name = "email" version = "0.0.20" @@ -1068,10 +1175,26 @@ dependencies = [ "encoding", "lazy_static", "rand 0.4.6", - "time 0.1.43", + "time 0.1.45", "version_check 0.1.5", ] +[[package]] +name = "email-encoding" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dbfb21b9878cf7a348dcb8559109aabc0ec40d69924bd706fa5149846c4fef75" +dependencies = [ + "base64 0.21.0", + "memchr", +] + +[[package]] +name = "email_address" +version = "0.2.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e2153bd83ebc09db15bcbdc3e2194d901804952e3dc96967e1cd3b0c5c32d112" + [[package]] name = "enclose" version = "1.1.8" @@ -1144,9 +1267,9 @@ checksum = "a246d82be1c9d791c5dfde9a2bd045fc3cbba3fa2b11ad558f27d01712f00569" [[package]] name = "encoding_rs" -version = "0.8.28" +version = "0.8.32" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "80df024fbc5ac80f87dfef0d9f5209a252f2a497f7f42944cff24d8253cac065" +checksum = "071a31f4ee85403370b58aca746f01041ede6f0da2730960ad001edc2b71b394" dependencies = [ "cfg-if 1.0.0", ] @@ -1158,35 +1281,46 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b5320ae4c3782150d900b79807611a59a99fc9a1d61d686faafc24b93fc8d7ca" [[package]] -name = "enum-as-inner" -version = "0.3.3" +name = "errno" +version = "0.2.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7c5f0096a91d210159eceb2ff5e1c4da18388a170e1e3ce948aac9c8fdbbf595" +checksum = "f639046355ee4f37944e44f60642c6f3a7efa3cf6b78c78a0d989a8ce6c396a1" dependencies = [ - "heck", - "proc-macro2", - "quote", - "syn", + "errno-dragonfly", + "libc", + "winapi", ] [[package]] -name = "env_logger" -version = "0.7.1" +name = "errno" +version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "44533bbbb3bb3c1fa17d9f2e4e38bbbaf8396ba82193c4cb1b6445d711445d36" +checksum = "50d6a0976c999d473fe89ad888d5a284e55366d9dc9038b1ba2aa15128c4afa0" dependencies = [ - "atty", - "humantime", - "log", - "regex", - "termcolor", + "errno-dragonfly", + "libc", + "windows-sys 0.45.0", ] [[package]] -name = "fake-simd" +name = "errno-dragonfly" version = "0.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e88a8acf291dafb59c2d96e8f59828f3838bb1a70398823ade51a84de6a6deed" +checksum = "aa68f1b12764fab894d2755d2518754e71b4fd80ecfb822714a1206c2aab39bf" +dependencies = [ + "cc", + "libc", +] + +[[package]] +name = "fancy-regex" +version = "0.7.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9d6b8560a05112eb52f04b00e5d3790c0dd75d9d980eb8a122fb23b92a623ccf" +dependencies = [ + "bit-set", + "regex", +] [[package]] name = "fast_chemail" @@ -1199,9 +1333,9 @@ dependencies = [ [[package]] name = "fastrand" -version = "1.5.0" +version = "1.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b394ed3d285a429378d3b384b9eb1285267e7df4b166df24b7a6939a04dc392e" +checksum = "e51093e27b0797c359783294ca4f0a911c270184cb10f85783b118614a1501be" dependencies = [ "instant", ] @@ -1212,21 +1346,20 @@ version = "0.1.0" dependencies = [ "actix", "actix-files", + "bitque-config", + "bytes", "common", "futures", - "jirs-config", - "tokio 0.2.25", + "tokio", ] [[package]] name = "flate2" -version = "1.0.22" +version = "1.0.25" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1e6988e897c1c9c485f43b47a529cef42fde0547f9d8d41a7062518f1d8fc53f" +checksum = "a8a2db397cb1c8772f31494cb8917e48cd1e64f0fa7efac59fbd741a0a8ce841" dependencies = [ - "cfg-if 1.0.0", "crc32fast", - "libc", "miniz_oxide", ] @@ -1253,11 +1386,10 @@ checksum = "00b0228411908ca8685dba7fc2cdd70ec9990a6e753e89b6ac91a84c40fbaf4b" [[package]] name = "form_urlencoded" -version = "1.0.1" +version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5fc25a87fa4fd2094bffb06925852034d90a17f0d1e05197d4956d3555752191" +checksum = "a9c384f161156f5260c24a097c56119f9be8c798586aecc13afbcbe7b7e26bf8" dependencies = [ - "matches", "percent-encoding", ] @@ -1267,33 +1399,11 @@ version = "0.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a06f77d526c1a601b7c4cdd98f54b5eaabffc14d5f2f0296febdc7f357c6d3ba" -[[package]] -name = "fuchsia-zircon" -version = "0.3.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2e9763c69ebaae630ba35f74888db465e49e259ba1bc0eda7d06f4a067615d82" -dependencies = [ - "bitflags", - "fuchsia-zircon-sys", -] - -[[package]] -name = "fuchsia-zircon-sys" -version = "0.3.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3dcaa9ae7725d12cdb85b3ad99a434db70b468c09ded17e012d86b5c1010f7a7" - -[[package]] -name = "funty" -version = "1.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fed34cd105917e91daa4da6b3728c47b068749d6a62c59811f06ed2ac71d9da7" - [[package]] name = "futures" -version = "0.3.17" +version = "0.3.28" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a12aa0eb539080d55c3f2d45a67c3b58b6b0773c1a3ca2dfec66d58c97fd66ca" +checksum = "23342abe12aba583913b2e62f22225ff9c950774065e4bfb61a19cd9770fec40" dependencies = [ "futures-channel", "futures-core", @@ -1306,9 +1416,9 @@ dependencies = [ [[package]] name = "futures-channel" -version = "0.3.17" +version = "0.3.28" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5da6ba8c3bb3c165d3c7319fc1cc8304facf1fb8db99c5de877183c08a273888" +checksum = "955518d47e09b25bbebc7a18df10b81f0c766eaf4c4f1cccef2fca5f2a4fb5f2" dependencies = [ "futures-core", "futures-sink", @@ -1316,15 +1426,15 @@ dependencies = [ [[package]] name = "futures-core" -version = "0.3.17" +version = "0.3.28" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "88d1c26957f23603395cd326b0ffe64124b818f4449552f960d815cfba83a53d" +checksum = "4bca583b7e26f571124fe5b7561d49cb2868d79116cfa0eefce955557c6fee8c" [[package]] name = "futures-executor" -version = "0.3.17" +version = "0.3.28" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "45025be030969d763025784f7f355043dc6bc74093e4ecc5000ca4dc50d8745c" +checksum = "ccecee823288125bd88b4d7f565c9e58e41858e47ab72e8ea2d64e93624386e0" dependencies = [ "futures-core", "futures-task", @@ -1333,42 +1443,39 @@ dependencies = [ [[package]] name = "futures-io" -version = "0.3.17" +version = "0.3.28" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "522de2a0fe3e380f1bc577ba0474108faf3f6b18321dbf60b3b9c39a75073377" +checksum = "4fff74096e71ed47f8e023204cfd0aa1289cd54ae5430a9523be060cdb849964" [[package]] name = "futures-macro" -version = "0.3.17" +version = "0.3.28" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "18e4a4b95cea4b4ccbcf1c5675ca7c4ee4e9e75eb79944d07defde18068f79bb" +checksum = "89ca545a94061b6365f2c7355b4b32bd20df3ff95f02da9329b34ccc3bd6ee72" dependencies = [ - "autocfg 1.0.1", - "proc-macro-hack", - "proc-macro2", - "quote", - "syn", + "proc-macro2 1.0.54", + "quote 1.0.26", + "syn 2.0.12", ] [[package]] name = "futures-sink" -version = "0.3.17" +version = "0.3.28" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "36ea153c13024fe480590b3e3d4cad89a0cfacecc24577b68f86c6ced9c2bc11" +checksum = "f43be4fe21a13b9781a69afa4985b0f6ee0e1afab2c6f454a8cf30e2b2237b6e" [[package]] name = "futures-task" -version = "0.3.17" +version = "0.3.28" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1d3d00f4eddb73e498a54394f228cd55853bdf059259e8e7bc6e69d408892e99" +checksum = "76d3d132be6c0e6aa1534069c705a74a5997a356c0dc2f86a47765e5617c5b65" [[package]] name = "futures-util" -version = "0.3.17" +version = "0.3.28" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "36568465210a3a6ee45e1f165136d68671471a501e632e9a98d96872222b5481" +checksum = "26b01e40b772d54cf6c6d721c1d1abd0647a0106a12ecaa1c186273392a69533" dependencies = [ - "autocfg 1.0.1", "futures-channel", "futures-core", "futures-io", @@ -1376,81 +1483,39 @@ dependencies = [ "futures-sink", "futures-task", "memchr", - "pin-project-lite 0.2.7", + "pin-project-lite", "pin-utils", - "proc-macro-hack", - "proc-macro-nested", "slab", ] -[[package]] -name = "fxhash" -version = "0.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c31b6d751ae2c7f11320402d34e41349dd1016f8d5d45e48c4312bc8625af50c" -dependencies = [ - "byteorder", -] - [[package]] name = "generic-array" -version = "0.12.4" +version = "0.14.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ffdf9f34f1447443d37393cc6c2b8313aebddcd96906caf34e54c68d8e57d7bd" +checksum = "85649ca51fd72272d7821adaf274ad91c288277713d9c18820d8499a7ff69e9a" dependencies = [ "typenum", -] - -[[package]] -name = "generic-array" -version = "0.14.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "501466ecc8a30d1d3b7fc9229b122b2ce8ed6e9d9223f1138d4babb253e51817" -dependencies = [ - "typenum", - "version_check 0.9.3", -] - -[[package]] -name = "getopts" -version = "0.2.21" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "14dbbfd5c71d70241ecf9e6f13737f7b5ce823821063188d7e46c41d371eebd5" -dependencies = [ - "unicode-width", + "version_check 0.9.4", ] [[package]] name = "getrandom" -version = "0.1.16" +version = "0.2.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8fc3cb4d91f53b50155bdcfd23f6a4c39ae1969c2ae85982b135750cccaf5fce" +checksum = "c05aeb6a22b8f62540c194aac980f2115af067bfe15a0734d7277a768d396b31" dependencies = [ "cfg-if 1.0.0", "js-sys", "libc", - "wasi 0.9.0+wasi-snapshot-preview1", - "wasm-bindgen", -] - -[[package]] -name = "getrandom" -version = "0.2.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7fcd999463524c52659517fe2cea98493cfe485d10565e7b0fb07dbba7ad2753" -dependencies = [ - "cfg-if 1.0.0", - "js-sys", - "libc", - "wasi 0.10.2+wasi-snapshot-preview1", + "wasi 0.11.0+wasi-snapshot-preview1", "wasm-bindgen", ] [[package]] name = "gloo-events" -version = "0.1.1" +version = "0.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "088514ec8ef284891c762c88a66b639b3a730134714692ee31829765c5bc814f" +checksum = "68b107f8abed8105e4182de63845afcc7b69c098b7852a813ea7462a320992fc" dependencies = [ "wasm-bindgen", "web-sys", @@ -1458,9 +1523,9 @@ dependencies = [ [[package]] name = "gloo-file" -version = "0.1.0" +version = "0.2.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8f9fecfe46b5dc3cc46f58e98ba580cc714f2c93860796d002eb3527a465ef49" +checksum = "a8d5564e570a38b43d78bdc063374a0c3098c4f0d64005b12f9bbe87e869b6d7" dependencies = [ "futures-channel", "gloo-events", @@ -1471,24 +1536,36 @@ dependencies = [ [[package]] name = "gloo-timers" -version = "0.2.1" +version = "0.2.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "47204a46aaff920a1ea58b11d03dec6f704287d27561724a4631e450654a891f" +checksum = "9b995a66bb87bebce9a0f4a95aed01daca4872c050bfcb21653361c03bc35e5c" dependencies = [ "futures-channel", "futures-core", "js-sys", "wasm-bindgen", +] + +[[package]] +name = "gloo-utils" +version = "0.1.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a8e8fc851e9c7b9852508bc6e3f690f452f474417e8545ec9857b7f7377036b5" +dependencies = [ + "js-sys", + "serde", + "serde_json", + "wasm-bindgen", "web-sys", ] [[package]] name = "h2" -version = "0.2.7" +version = "0.3.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5e4728fd124914ad25e99e3d15a9361a879f6620f63cb56bbb08f95abb97a535" +checksum = "5be7b54589b581f624f566bf5d8eb2bab1db736c51528720b6bd36b96b55924d" dependencies = [ - "bytes 0.5.6", + "bytes", "fnv", "futures-core", "futures-sink", @@ -1496,54 +1573,37 @@ dependencies = [ "http", "indexmap", "slab", - "tokio 0.2.25", - "tokio-util 0.3.1", - "tracing", - "tracing-futures", -] - -[[package]] -name = "h2" -version = "0.3.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6c06815895acec637cd6ed6e9662c935b866d20a106f8361892893a7d9234964" -dependencies = [ - "bytes 1.1.0", - "fnv", - "futures-core", - "futures-sink", - "futures-util", - "http", - "indexmap", - "slab", - "tokio 1.12.0", - "tokio-util 0.6.8", + "tokio", + "tokio-util", "tracing", ] [[package]] name = "hashbrown" -version = "0.11.2" +version = "0.12.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ab5ef0d4909ef3724cc8cce6ccc8572c5c817592e9285f5464f8e86f8bd3726e" +checksum = "8a9ee70c43aaf417c914396645a0fa852624801b24ebb7ae78fe8272889ac888" [[package]] name = "heck" -version = "0.3.3" +version = "0.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6d621efb26863f0e9924c6ac577e8275e5e6b77455db64ffa6c65c904e9e132c" +checksum = "95505c38b4572b2d910cecb0281560f54b440a19336cbbcb27bf6ce6adc6f5a8" + +[[package]] +name = "hermit-abi" +version = "0.2.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ee512640fe35acbfb4bb779db6f0d80704c2cacfa2e39b601ef3e3f47d1ae4c7" dependencies = [ - "unicode-segmentation", + "libc", ] [[package]] name = "hermit-abi" -version = "0.1.19" +version = "0.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "62b467343b94ba476dcb2500d242dadbb39557df889310ac77c5d99100aaac33" -dependencies = [ - "libc", -] +checksum = "fed44880c466736ef9a5c5b5facefb5ed0785676d0c02d612db14e54f0d84286" [[package]] name = "hex" @@ -1557,10 +1617,10 @@ version = "0.1.0" dependencies = [ "actix", "bincode", + "bitque-config", + "bitque-data", "common", "flate2", - "jirs-config", - "jirs-data", "lazy_static", "serde", "simsearch", @@ -1586,71 +1646,68 @@ checksum = "3c731c3e10504cc8ed35cfe2f1db4c9274c3d35fa486e3b31df46f068ef3e867" dependencies = [ "libc", "match_cfg", - "winapi 0.3.9", + "winapi", ] [[package]] name = "http" -version = "0.2.5" +version = "0.2.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1323096b05d41827dadeaee54c9981958c0f94e670bc94ed80037d1a7b8b186b" +checksum = "bd6effc99afb63425aff9b05836f029929e345a6148a14b7ecd5ab67af944482" dependencies = [ - "bytes 1.1.0", + "bytes", "fnv", "itoa", ] [[package]] name = "http-body" -version = "0.4.3" +version = "0.4.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "399c583b2979440c60be0821a6199eca73bc3c8dcd9d070d75ac726e2c6186e5" +checksum = "d5f38f16d184e36f2408a55281cd658ecbd3ca05cce6d6510a176eca393e26d1" dependencies = [ - "bytes 1.1.0", + "bytes", "http", - "pin-project-lite 0.2.7", + "pin-project-lite", ] +[[package]] +name = "http-range" +version = "0.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "21dec9db110f5f872ed9699c3ecf50cf16f423502706ba5c72462e28d3157573" + [[package]] name = "httparse" -version = "1.5.1" +version = "1.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "acd94fdbe1d4ff688b67b04eee2e17bd50995534a61539e45adfefb45e5e5503" +checksum = "d897f394bad6a705d5f4104762e116a75639e470d80901eed05a860a95cb1904" [[package]] name = "httpdate" -version = "1.0.1" +version = "1.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6456b8a6c8f33fee7d958fcd1b60d55b11940a79e63ae87013e6d22e26034440" - -[[package]] -name = "humantime" -version = "1.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "df004cfca50ef23c36850aaaa59ad52cc70d0e90243c3c7737a4dd32dc7a3c4f" -dependencies = [ - "quick-error", -] +checksum = "c4a1e36c821dbe04574f602848a19f742f4fb3c98d40449f11bcad18d6b17421" [[package]] name = "hyper" -version = "0.14.13" +version = "0.14.25" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "15d1cfb9e4f68655fa04c01f59edb405b6074a0f7118ea881e5026e4a1cd8593" +checksum = "cc5e554ff619822309ffd57d8734d77cd5ce6238bc956f037ea06c58238c9899" dependencies = [ - "bytes 1.1.0", + "bytes", "futures-channel", "futures-core", "futures-util", - "h2 0.3.6", + "h2", "http", "http-body", "httparse", "httpdate", "itoa", - "pin-project-lite 0.2.7", - "socket2 0.4.2", - "tokio 1.12.0", + "pin-project-lite", + "socket2", + "tokio", "tower-service", "tracing", "want", @@ -1662,200 +1719,124 @@ version = "0.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d6183ddfa99b85da61a140bea0efc93fdf56ceaa041b37d553518030827f9905" dependencies = [ - "bytes 1.1.0", + "bytes", "hyper", "native-tls", - "tokio 1.12.0", + "tokio", "tokio-native-tls", ] [[package]] -name = "idna" -version = "0.2.3" +name = "iana-time-zone" +version = "0.1.55" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "418a0a6fab821475f634efe3ccc45c013f742efe03d853e8d3355d5cb850ecf8" +checksum = "716f12fbcfac6ffab0a5e9ec51d0a0ff70503742bb2dc7b99396394c9dc323f0" +dependencies = [ + "android_system_properties", + "core-foundation-sys", + "iana-time-zone-haiku", + "js-sys", + "wasm-bindgen", + "windows", +] + +[[package]] +name = "iana-time-zone-haiku" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0703ae284fc167426161c2e3f1da3ea71d94b21bedbcc9494e92b28e334e3dca" +dependencies = [ + "cxx", + "cxx-build", +] + +[[package]] +name = "ident_case" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b9e0384b61958566e926dc50660321d12159025e767c18e043daf26b70104c39" + +[[package]] +name = "idna" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e14ddfc70884202db2244c223200c204c2bda1bc6e0998d11b5e024d657209e6" dependencies = [ - "matches", "unicode-bidi", "unicode-normalization", ] [[package]] name = "indexmap" -version = "1.7.0" +version = "1.9.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bc633605454125dec4b66843673f01c7df2b89479b32e0ed634e43a91cff62a5" +checksum = "bd070e393353796e801d209ad339e89596eb4c8d430d18ede6a1cced8fafbd99" dependencies = [ - "autocfg 1.0.1", + "autocfg 1.1.0", "hashbrown", ] [[package]] name = "instant" -version = "0.1.11" +version = "0.1.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "716d3d89f35ac6a34fd0eed635395f4c3b76fa889338a4632e5231a8684216bd" +checksum = "7a5bbe824c507c5da5956355e86a746d82e0e1464f65d862cc5e71da70e94b2c" dependencies = [ "cfg-if 1.0.0", ] [[package]] -name = "iovec" -version = "0.1.4" +name = "io-lifetimes" +version = "1.0.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b2b3ea6ff95e175473f8ffe6a7eb7c00d054240321b84c57051175fe3c1e075e" +checksum = "09270fd4fa1111bc614ed2246c7ef56239a3063d5be0d1ec3b589c505d400aeb" dependencies = [ + "hermit-abi 0.3.1", "libc", -] - -[[package]] -name = "ipconfig" -version = "0.2.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f7e2f18aece9709094573a9f24f483c4f65caa4298e2f7ae1b71cc65d853fad7" -dependencies = [ - "socket2 0.3.19", - "widestring", - "winapi 0.3.9", - "winreg", + "windows-sys 0.45.0", ] [[package]] name = "ipnetwork" -version = "0.16.0" +version = "0.20.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b8eca9f51da27bc908ef3dd85c21e1bbba794edaf94d7841e37356275b82d31e" +checksum = "bf466541e9d546596ee94f9f69590f89473455f88372423e0008fc1a7daf100e" dependencies = [ "serde", ] [[package]] -name = "itertools" -version = "0.9.0" +name = "is-terminal" +version = "0.4.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "284f18f85651fe11e8a991b2adb42cb078325c996ed026d994719efcfca1d54b" +checksum = "256017f749ab3117e93acb91063009e1f1bb56d03965b14c2c8df4eb02c524d8" dependencies = [ - "either", + "hermit-abi 0.3.1", + "io-lifetimes", + "rustix 0.37.5", + "windows-sys 0.45.0", ] [[package]] name = "itoa" -version = "0.4.8" +version = "1.0.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b71991ff56294aa922b450139ee08b3bfc70982c6b2c7562771375cf73542dd4" - -[[package]] -name = "jirs" -version = "0.1.0" -dependencies = [ - "actix", - "amazon-actor", - "common", - "database-actor", - "dotenv", - "filesystem-actor", - "futures", - "highlight-actor", - "jirs-config", - "jirs-data", - "libc", - "mail-actor", - "openssl-sys", - "serde", - "serde_json", - "tokio 0.2.25", - "toml", - "web-actor", - "websocket-actor", -] - -[[package]] -name = "jirs-config" -version = "0.1.0" -dependencies = [ - "rusoto_core", - "rusoto_s3", - "rusoto_signature", - "serde", - "toml", -] - -[[package]] -name = "jirs-data" -version = "0.1.0" -dependencies = [ - "actix", - "chrono", - "derive_enum_iter", - "derive_enum_primitive", - "derive_enum_sql", - "diesel", - "serde", - "serde_json", - "uuid 0.8.2", -] - -[[package]] -name = "jirs_client" -version = "0.1.0" -dependencies = [ - "bincode", - "chrono", - "console_error_panic_hook", - "derive_enum_iter", - "derive_enum_primitive", - "dotenv", - "futures", - "jirs-data", - "js-sys", - "log", - "seed", - "serde", - "serde_json", - "uuid 0.8.2", - "wasm-bindgen", - "wasm-bindgen-futures", - "wasm-bindgen-test", - "wasm-logger", - "web-sys", - "wee_alloc", -] - -[[package]] -name = "jirsc" -version = "0.1.0" -dependencies = [ - "actix", - "clap", - "common", - "termion", - "tui", -] +checksum = "453ad9f582a441959e5f0d088b02ce04cfe8d51a8eaf077f12ac6d3e94164ca6" [[package]] name = "js-sys" -version = "0.3.55" +version = "0.3.61" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7cc9ffccd38c451a86bf13657df244e9c3f37493cce8e5e21e940963777acc84" +checksum = "445dde2150c55e483f3d8416706b97ec8e8237c307e5b7b4b8dd15e6af2a0730" dependencies = [ "wasm-bindgen", ] -[[package]] -name = "kernel32-sys" -version = "0.2.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7507624b29483431c0ba2d82aece8ca6cdba9382bff4ddd0f7490560c056098d" -dependencies = [ - "winapi 0.2.8", - "winapi-build", -] - [[package]] name = "language-tags" -version = "0.2.2" +version = "0.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a91d884b6667cd606bb5a69aa0c99ba811a115fc68915e7056ec08a46e93199a" +checksum = "d4345964bb142484797b161f473a503a434de77149dd8c7427788c6e13379388" [[package]] name = "lazy_static" @@ -1863,12 +1844,6 @@ version = "1.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646" -[[package]] -name = "lazycell" -version = "1.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "830d08ce1d1d941e6b30645f1a0eb5643013d835ce3779a5fc208261dbe10f55" - [[package]] name = "lettre" version = "0.9.6" @@ -1881,22 +1856,25 @@ dependencies = [ [[package]] name = "lettre" -version = "0.10.0-rc.3" +version = "0.10.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d8697ded52353bdd6fec234b3135972433397e86d0493d9fc38fbf407b7c106a" +checksum = "d8033576bf9f051fce6cb92b6264114b4340896c352a9ff38b67bd4cde924635" dependencies = [ - "base64 0.13.0", + "base64 0.21.0", + "email-encoding", + "email_address", "fastrand", + "futures-util", "hostname", "httpdate", "idna", "mime", "native-tls", - "nom 6.1.2", + "nom", "once_cell", "quoted_printable", - "r2d2", - "regex", + "socket2", + "tokio", ] [[package]] @@ -1909,15 +1887,15 @@ dependencies = [ "email", "lettre 0.9.6", "mime", - "time 0.1.43", + "time 0.1.45", "uuid 0.7.4", ] [[package]] name = "libc" -version = "0.2.103" +version = "0.2.140" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dd8f7255a17a627354f321ef0055d63b898c6fb27eff628af4d1b66b7331edf6" +checksum = "99227334921fae1a979cf0bfdfcc6b3e5ce376ef57e16fb6fb3ea2ed6095f80c" [[package]] name = "line-wrap" @@ -1929,81 +1907,94 @@ dependencies = [ ] [[package]] -name = "linked-hash-map" -version = "0.5.4" +name = "link-cplusplus" +version = "1.0.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7fb9b38af92608140b86b693604b9ffcc5824240a484d1ecd4795bacb2fe88f3" +checksum = "ecd207c9c713c34f95a097a5b029ac2ce6010530c7b49d7fea24d977dede04f5" +dependencies = [ + "cc", +] + +[[package]] +name = "linked-hash-map" +version = "0.5.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0717cef1bc8b636c6e1c1bbdefc09e6322da8a9321966e8928ef80d20f7f770f" + +[[package]] +name = "linux-raw-sys" +version = "0.1.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f051f77a7c8e6957c0696eac88f26b0117e54f52d3fc682ab19397a8812846a4" + +[[package]] +name = "linux-raw-sys" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d59d8c75012853d2e872fb56bc8a2e53718e2cafe1a4c823143141c6d90c322f" + +[[package]] +name = "local-channel" +version = "0.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7f303ec0e94c6c54447f84f3b0ef7af769858a9c4ef56ef2a986d3dcd4c3fc9c" +dependencies = [ + "futures-core", + "futures-sink", + "futures-util", + "local-waker", +] + +[[package]] +name = "local-waker" +version = "0.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e34f76eb3611940e0e7d53a9aaa4e6a3151f69541a282fd0dad5571420c53ff1" [[package]] name = "lock_api" -version = "0.4.5" +version = "0.4.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "712a4d093c9976e24e7dbca41db895dabcbac38eb5f4045393d17a95bdfb1109" +checksum = "435011366fe56583b16cf956f9df0095b405b82d76425bc8981c0e22e60ec4df" dependencies = [ + "autocfg 1.1.0", "scopeguard", ] [[package]] name = "log" -version = "0.4.14" +version = "0.4.17" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "51b9bbe6c47d51fc3e1a9b945965946b4c44142ab8792c50835a980d362c2710" +checksum = "abb12e687cfb44aa40f41fc3978ef76448f9b6038cad6aef4259d3c095a2382e" dependencies = [ "cfg-if 1.0.0", ] -[[package]] -name = "lru-cache" -version = "0.1.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "31e24f1ad8321ca0e8a1e0ac13f23cb668e6f5466c2c57319f6a5cf1cc8e3b1c" -dependencies = [ - "linked-hash-map", -] - [[package]] name = "mail-actor" version = "0.1.0" dependencies = [ "actix", + "bitque-config", "common", "dotenv", "futures", - "jirs-config", - "lettre 0.10.0-rc.3", + "lettre 0.10.3", "lettre_email", "libc", "log", "openssl-sys", "serde", "toml", - "uuid 0.8.2", + "uuid 1.3.0", ] -[[package]] -name = "maplit" -version = "1.0.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3e2e65a1a2e43cfcb47a895c4c8b10d1f4a61097f9f254f183aee60cad9c651d" - [[package]] name = "match_cfg" version = "0.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ffbee8634e0d45d258acb448e7eaab3fce7a0a467395d4d9f228e3c1f01fb2e4" -[[package]] -name = "matches" -version = "0.1.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a3e378b66a060d48947b590737b30a1be76706c8dd7b8ba0f2fe3989c68a853f" - -[[package]] -name = "maybe-uninit" -version = "2.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "60302e4db3a61da70c0cb7991976248362f30319e88850c487b9b95bbf059e00" - [[package]] name = "md-5" version = "0.9.1" @@ -2012,14 +2003,14 @@ checksum = "7b5a279bb9607f9f53c22d496eade00d138d1bdcccd07d74650387cf94942a15" dependencies = [ "block-buffer 0.9.0", "digest 0.9.0", - "opaque-debug 0.3.0", + "opaque-debug", ] [[package]] name = "memchr" -version = "2.4.1" +version = "2.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "308cc39be01b73d0d18f82a0e7b2a3df85245f84af96fdddc5d202d27e47b86a" +checksum = "2dffe52ecf27772e601905b7522cb4ef790d2cc203488bbd0e2fe85fcb74566d" [[package]] name = "memory_units" @@ -2029,99 +2020,52 @@ checksum = "8452105ba047068f40ff7093dd1d9da90898e63dd61736462e9cdda6a90ad3c3" [[package]] name = "mime" -version = "0.3.16" +version = "0.3.17" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2a60c7ce501c71e03a9c9c0d35b861413ae925bd979cc7a4e30d060069aaac8d" +checksum = "6877bb514081ee2a7ff5ef9de3281f14a4dd4bceac4c09388074a6b5df8a139a" [[package]] name = "mime_guess" -version = "2.0.3" +version = "2.0.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2684d4c2e97d99848d30b324b00c8fcc7e5c897b7cbb5819b09e7c90e8baf212" +checksum = "4192263c238a5f0d0c6bfd21f336a313a4ce1c450542449ca191bb657b4642ef" dependencies = [ "mime", "unicase", ] [[package]] -name = "miniz_oxide" -version = "0.4.4" +name = "minimal-lexical" +version = "0.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a92518e98c078586bc6c934028adcca4c92a53d6a958196de835170a01d84e4b" +checksum = "68354c5c6bd36d73ff3feceb05efa59b6acb7626617f4962be322a825e61f79a" + +[[package]] +name = "miniz_oxide" +version = "0.6.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b275950c28b37e794e8c55d88aeb5e139d0ce23fdbbeda68f8d7174abdf9e8fa" dependencies = [ "adler", - "autocfg 1.0.1", ] [[package]] name = "mio" -version = "0.6.23" +version = "0.8.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4afd66f5b91bf2a3bc13fad0e21caedac168ca4c707504e75585648ae80e4cc4" -dependencies = [ - "cfg-if 0.1.10", - "fuchsia-zircon", - "fuchsia-zircon-sys", - "iovec", - "kernel32-sys", - "libc", - "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" +checksum = "5b9d9a46eff5b4ff64b45a9e316a6d1e0bc719ef429cbec4dc630684212bfdf9" dependencies = [ "libc", "log", - "miow 0.3.7", - "ntapi", - "winapi 0.3.9", -] - -[[package]] -name = "mio-uds" -version = "0.6.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "afcb699eb26d4332647cc848492bbc15eafb26f08d0304550d5aa1f612e066f0" -dependencies = [ - "iovec", - "libc", - "mio 0.6.23", -] - -[[package]] -name = "miow" -version = "0.2.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ebd808424166322d4a38da87083bfddd3ac4c131334ed55856112eb06d46944d" -dependencies = [ - "kernel32-sys", - "net2", - "winapi 0.2.8", - "ws2_32-sys", -] - -[[package]] -name = "miow" -version = "0.3.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b9f1c5b025cda876f66ef43a113f91ebc9f4ccef34843000e0adf6ebbab84e21" -dependencies = [ - "winapi 0.3.9", + "wasi 0.11.0+wasi-snapshot-preview1", + "windows-sys 0.45.0", ] [[package]] name = "native-tls" -version = "0.2.8" +version = "0.2.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "48ba9f7719b5a0f42f338907614285fb5fd70e53858141f69898a1fb7203b24d" +checksum = "07226173c32f2926027b63cce4bcd8076c3552846cbe7925f3aaffeac0a3b92e" dependencies = [ "lazy_static", "libc", @@ -2135,85 +2079,53 @@ dependencies = [ "tempfile", ] -[[package]] -name = "net2" -version = "0.2.37" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "391630d12b68002ae1e25e8f974306474966550ad82dac6886fb8910c19568ae" -dependencies = [ - "cfg-if 0.1.10", - "libc", - "winapi 0.3.9", -] - [[package]] name = "nom" -version = "4.2.3" +version = "7.1.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2ad2a91a8e869eeb30b9cb3119ae87773a8f4ae617f41b1eb9c154b2905f7bd6" +checksum = "d273983c5a657a70a3e8f2a01329822f3b8c8172b73826411a55751e404a0a4a" dependencies = [ "memchr", - "version_check 0.1.5", -] - -[[package]] -name = "nom" -version = "6.1.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e7413f999671bd4745a7b624bd370a569fb6bc574b23c83a3c5ed2e453f3d5e2" -dependencies = [ - "bitvec", - "funty", - "memchr", - "version_check 0.9.3", -] - -[[package]] -name = "ntapi" -version = "0.3.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3f6bb902e437b6d86e03cce10a7e2af662292c5dfef23b65899ea3ac9354ad44" -dependencies = [ - "winapi 0.3.9", + "minimal-lexical", ] [[package]] name = "num-bigint" -version = "0.2.6" +version = "0.4.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "090c7f9998ee0ff65aa5b723e4009f7b217707f1fb5ea551329cc4d6231fb304" +checksum = "f93ab6289c7b344a8a9f60f88d80aa20032336fe78da341afc91c8a2341fc75f" dependencies = [ - "autocfg 1.0.1", + "autocfg 1.1.0", "num-integer", "num-traits", ] [[package]] name = "num-integer" -version = "0.1.44" +version = "0.1.45" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d2cc698a63b549a70bc047073d2949cce27cd1c7b0a4a862d08a8031bc2801db" +checksum = "225d3389fb3509a24c93f5c29eb6bde2586b98d9f016636dff58d7c6f7569cd9" dependencies = [ - "autocfg 1.0.1", + "autocfg 1.1.0", "num-traits", ] [[package]] name = "num-traits" -version = "0.2.14" +version = "0.2.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9a64b1ec5cda2586e284722486d802acf1f7dbdc623e2bfc57e65ca1cd099290" +checksum = "578ede34cf02f8924ab9447f50c28075b4d3e5b269972345e7e0372b38c6cdcd" dependencies = [ - "autocfg 1.0.1", + "autocfg 1.1.0", ] [[package]] name = "num_cpus" -version = "1.13.0" +version = "1.15.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "05499f3756671c15885fee9034446956fff3f243d6077b91e5767df161f766b3" +checksum = "0fac9e2da13b5eb447a6ce3d392f23a29d8694bff781bf03a16cd9ac8697593b" dependencies = [ - "hermit-abi", + "hermit-abi 0.2.6", "libc", ] @@ -2225,38 +2137,32 @@ checksum = "b8f8bdf33df195859076e54ab11ee78a1b208382d3a26ec40d142ffc1ecc49ef" [[package]] name = "once_cell" -version = "1.8.0" +version = "1.17.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "692fcb63b64b1758029e0a96ee63e049ce8c5948587f2f7208df04625e5f6b56" +checksum = "b7e5500299e16ebb147ae15a00a942af264cf3688f47923b8fc2cd5858f23ad3" [[package]] name = "onig" -version = "6.3.0" +version = "6.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b17403cf40f61e3ee059e3e90b7fc0a2953297168d4379b160f80d18fed848a4" +checksum = "8c4b31c8722ad9171c6d77d3557db078cab2bd50afcc9d09c8b315c59df8ca4f" dependencies = [ - "bitflags", - "lazy_static", + "bitflags 1.3.2", "libc", + "once_cell", "onig_sys", ] [[package]] name = "onig_sys" -version = "69.7.1" +version = "69.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5dd3eee045c84695b53b20255bb7317063df090b68e18bfac0abb6c39cf7f33e" +checksum = "7b829e3d7e9cc74c7e315ee8edb185bf4190da5acde74afd7fc59c35b1f086e7" dependencies = [ "cc", "pkg-config", ] -[[package]] -name = "opaque-debug" -version = "0.2.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2839e79665f131bdb5782e51f2c6c9599c133c6098982a54c794358bf432529c" - [[package]] name = "opaque-debug" version = "0.3.0" @@ -2265,40 +2171,52 @@ checksum = "624a8340c38c1b80fd549087862da4ba43e08858af025b236e509b6649fc13d5" [[package]] name = "openssl" -version = "0.10.36" +version = "0.10.48" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8d9facdb76fec0b73c406f125d44d86fdad818d66fef0531eec9233ca425ff4a" +checksum = "518915b97df115dd36109bfa429a48b8f737bd05508cf9588977b599648926d2" dependencies = [ - "bitflags", + "bitflags 1.3.2", "cfg-if 1.0.0", "foreign-types", "libc", "once_cell", + "openssl-macros", "openssl-sys", ] [[package]] -name = "openssl-probe" -version = "0.1.4" +name = "openssl-macros" +version = "0.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "28988d872ab76095a6e6ac88d99b54fd267702734fd7ffe610ca27f533ddb95a" +checksum = "b501e44f11665960c7e7fcf062c7d96a14ade4aa98116c004b2e37b5be7d736c" +dependencies = [ + "proc-macro2 1.0.54", + "quote 1.0.26", + "syn 1.0.109", +] + +[[package]] +name = "openssl-probe" +version = "0.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ff011a302c396a5197692431fc1948019154afc178baf7d8e37367442a4601cf" [[package]] name = "openssl-src" -version = "111.16.0+1.1.1l" +version = "111.25.2+1.1.1t" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7ab2173f69416cf3ec12debb5823d244127d23a9b127d5a5189aa97c5fa2859f" +checksum = "320708a054ad9b3bf314688b5db87cf4d6683d64cfc835e2337924ae62bf4431" dependencies = [ "cc", ] [[package]] name = "openssl-sys" -version = "0.9.67" +version = "0.9.83" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "69df2d8dfc6ce3aaf44b40dec6f487d5a886516cf6879c49e98e0710f310a058" +checksum = "666416d899cf077260dac8698d60a60b435a46d57e82acb1be3d0dad87284e5b" dependencies = [ - "autocfg 1.0.1", + "autocfg 1.1.0", "cc", "libc", "openssl-src", @@ -2308,129 +2226,50 @@ dependencies = [ [[package]] name = "parking_lot" -version = "0.11.2" +version = "0.12.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7d17b78036a60663b797adeaee46f5c9dfebb86948d1255007a1d6be0271ff99" +checksum = "3742b2c103b9f06bc9fff0a37ff4912935851bee6d36f3c02bcc755bcfec228f" dependencies = [ - "instant", "lock_api", "parking_lot_core", ] [[package]] name = "parking_lot_core" -version = "0.8.5" +version = "0.9.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d76e8e1493bcac0d2766c42737f34458f1c8c50c0d23bcb24ea953affb273216" +checksum = "9069cbb9f99e3a5083476ccb29ceb1de18b9118cafa53e90c9551235de2b9521" dependencies = [ "cfg-if 1.0.0", - "instant", "libc", - "redox_syscall 0.2.10", + "redox_syscall 0.2.16", "smallvec", - "winapi 0.3.9", + "windows-sys 0.45.0", ] +[[package]] +name = "parse-size" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "944553dd59c802559559161f9816429058b869003836120e262e8caec061b7ae" + +[[package]] +name = "paste" +version = "1.0.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9f746c4065a8fa3fe23974dd82f15431cc8d40779821001404d10d2e79ca7d79" + [[package]] name = "percent-encoding" -version = "2.1.0" +version = "2.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d4fd5641d01c8f18a23da7b6fe29298ff4b55afcccdf78973b24cf3175fee32e" - -[[package]] -name = "pest" -version = "2.1.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "10f4872ae94d7b90ae48754df22fd42ad52ce740b8f370b03da4835417403e53" -dependencies = [ - "ucd-trie", -] - -[[package]] -name = "pest_derive" -version = "2.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "833d1ae558dc601e9a60366421196a8d94bc0ac980476d0b67e1d0988d72b2d0" -dependencies = [ - "pest", - "pest_generator", -] - -[[package]] -name = "pest_generator" -version = "2.1.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "99b8db626e31e5b81787b9783425769681b347011cc59471e33ea46d2ea0cf55" -dependencies = [ - "pest", - "pest_meta", - "proc-macro2", - "quote", - "syn", -] - -[[package]] -name = "pest_meta" -version = "2.1.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "54be6e404f5317079812fc8f9f5279de376d8856929e21c184ecf6bbd692a11d" -dependencies = [ - "maplit", - "pest", - "sha-1 0.8.2", -] - -[[package]] -name = "pin-project" -version = "0.4.28" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "918192b5c59119d51e0cd221f4d49dde9112824ba717369e903c97d076083d0f" -dependencies = [ - "pin-project-internal 0.4.28", -] - -[[package]] -name = "pin-project" -version = "1.0.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "576bc800220cc65dac09e99e97b08b358cfab6e17078de8dc5fee223bd2d0c08" -dependencies = [ - "pin-project-internal 1.0.8", -] - -[[package]] -name = "pin-project-internal" -version = "0.4.28" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3be26700300be6d9d23264c73211d8190e755b6b5ca7a1b28230025511b52a5e" -dependencies = [ - "proc-macro2", - "quote", - "syn", -] - -[[package]] -name = "pin-project-internal" -version = "1.0.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6e8fe8163d14ce7f0cdac2e040116f22eac817edabff0be91e8aff7e9accf389" -dependencies = [ - "proc-macro2", - "quote", - "syn", -] +checksum = "478c572c3d73181ff3c2539045f6eb99e5491218eae919370993b890cdbdd98e" [[package]] name = "pin-project-lite" -version = "0.1.12" +version = "0.2.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "257b64915a082f7811703966789728173279bdebb956b143dbcd23f6f970a777" - -[[package]] -name = "pin-project-lite" -version = "0.2.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8d31d11c69a6b52a174b42bdc0c30e5e11670f90788b2c471c31c1d17d449443" +checksum = "e0a7ae3ac2f1173085d398531c705756c94a4c56843785df85a60c1a0afac116" [[package]] name = "pin-utils" @@ -2440,120 +2279,143 @@ checksum = "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184" [[package]] name = "pkg-config" -version = "0.3.20" +version = "0.3.26" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7c9b1041b4387893b91ee6746cddfc28516aff326a3519fb2adf820932c5e6cb" +checksum = "6ac9a59f73473f1b8d852421e59e64809f025994837ef743615c6d0c5b305160" [[package]] name = "plist" -version = "1.2.1" +version = "1.4.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a38d026d73eeaf2ade76309d0c65db5a35ecf649e3cec428db316243ea9d6711" +checksum = "9bd9647b268a3d3e14ff09c23201133a62589c658db02bb7388c7246aafe0590" dependencies = [ - "base64 0.13.0", - "chrono", + "base64 0.21.0", "indexmap", "line-wrap", + "quick-xml", "serde", - "xml-rs", + "time 0.3.20", ] [[package]] name = "ppv-lite86" -version = "0.2.14" +version = "0.2.17" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c3ca011bd0129ff4ae15cd04c4eef202cadf6c51c21e47aba319b4e0501db741" +checksum = "5b40af805b3121feab8a3c29f04d8ad262fa8e0561883e7653e024ae4479e6de" [[package]] name = "pq-sys" -version = "0.4.6" +version = "0.4.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6ac25eee5a0582f45a67e837e350d784e7003bd29a5f460796772061ca49ffda" +checksum = "3b845d6d8ec554f972a2c5298aad68953fd64e7441e846075450b44656a016d1" dependencies = [ "vcpkg", ] [[package]] -name = "pretty_env_logger" -version = "0.4.0" +name = "proc-macro-error" +version = "1.0.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "926d36b9553851b8b0005f1275891b392ee4d2d833852c417ed025477350fb9d" +checksum = "da25490ff9892aab3fcf7c36f08cfb902dd3e71ca0f9f9517bea02a73a5ce38c" dependencies = [ - "env_logger", - "log", + "proc-macro-error-attr", + "proc-macro2 1.0.54", + "quote 1.0.26", + "syn 1.0.109", + "version_check 0.9.4", ] [[package]] -name = "proc-macro-hack" -version = "0.5.19" +name = "proc-macro-error-attr" +version = "1.0.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dbf0c48bc1d91375ae5c3cd81e3722dff1abcf81a30960240640d223f59fe0e5" - -[[package]] -name = "proc-macro-nested" -version = "0.1.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bc881b2c22681370c6a780e47af9840ef841837bc98118431d4e1868bd0c1086" +checksum = "a1be40180e52ecc98ad80b184934baf3d0d29f979574e439af5a55274b35f869" +dependencies = [ + "proc-macro2 1.0.54", + "quote 1.0.26", + "version_check 0.9.4", +] [[package]] name = "proc-macro2" -version = "1.0.30" +version = "0.2.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "edc3358ebc67bc8b7fa0c007f945b0b18226f78437d61bec735a9eb96b61ee70" +checksum = "cd07deb3c6d1d9ff827999c7f9b04cdfd66b1b17ae508e14fe47b620f2282ae0" dependencies = [ "unicode-xid", ] [[package]] -name = "pulldown-cmark" -version = "0.8.0" +name = "proc-macro2" +version = "0.4.30" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ffade02495f22453cd593159ea2f59827aae7f53fa8323f756799b670881dcf8" +checksum = "cf3d2011ab5c909338f7887f4fc896d35932e29146c12c8d01da6b22a80ba759" dependencies = [ - "bitflags", - "getopts", - "memchr", - "unicase", + "unicode-xid", ] [[package]] -name = "quick-error" -version = "1.2.3" +name = "proc-macro2" +version = "1.0.54" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a1d01941d82fa2ab50be1e79e6714289dd7cde78eba4c074bc5a4374f650dfe0" +checksum = "e472a104799c74b514a57226160104aa483546de37e839ec50e3c2e41dd87534" +dependencies = [ + "unicode-ident", +] + +[[package]] +name = "quick-xml" +version = "0.28.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e5c1a97b1bc42b1d550bfb48d4262153fe400a12bab1511821736f7eac76d7e2" +dependencies = [ + "memchr", +] [[package]] name = "quote" -version = "1.0.10" +version = "0.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "38bc8cc6a5f2e3655e0899c1b848643b2562f853f114bfec7be120678e3ace05" +checksum = "1eca14c727ad12702eb4b6bfb5a232287dcf8385cb8ca83a3eeaf6519c44c408" dependencies = [ - "proc-macro2", + "proc-macro2 0.2.3", +] + +[[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", +] + +[[package]] +name = "quote" +version = "1.0.26" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4424af4bf778aae2051a77b60283332f386554255d722233d09fbfc7e30da2fc" +dependencies = [ + "proc-macro2 1.0.54", ] [[package]] name = "quoted_printable" -version = "0.4.3" +version = "0.4.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1238256b09923649ec89b08104c4dfe9f6cb2fea734a5db5384e44916d59e9c5" +checksum = "a24039f627d8285853cc90dcddf8c1ebfaa91f834566948872b225b9a28ed1b6" [[package]] name = "r2d2" -version = "0.8.9" +version = "0.8.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "545c5bc2b880973c9c10e4067418407a0ccaa3091781d1671d46eb35107cb26f" +checksum = "51de85fb3fb6524929c8a2eb85e6b6d363de4e8c48f9e2c2eac4944abc181c93" dependencies = [ "log", "parking_lot", "scheduled-thread-pool", ] -[[package]] -name = "radium" -version = "0.5.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "941ba9d78d8e2f7ce474c015eea4d9c6d25b6a3327f9832ee29a4de27f91bbb8" - [[package]] name = "rand" version = "0.4.6" @@ -2564,7 +2426,7 @@ dependencies = [ "libc", "rand_core 0.3.1", "rdrand", - "winapi 0.3.9", + "winapi", ] [[package]] @@ -2573,43 +2435,28 @@ version = "0.6.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6d71dacdc3c88c1fde3885a3be3fbab9f35724e6ce99467f7d9c5026132184ca" dependencies = [ - "autocfg 0.1.7", + "autocfg 0.1.8", "libc", "rand_chacha 0.1.1", "rand_core 0.4.2", - "rand_hc 0.1.0", + "rand_hc", "rand_isaac", "rand_jitter", "rand_os", - "rand_pcg 0.1.2", + "rand_pcg", "rand_xorshift", - "winapi 0.3.9", + "winapi", ] [[package]] name = "rand" -version = "0.7.3" +version = "0.8.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6a6b1679d49b24bbfe0c803429aa1874472f50d9b363131f0e89fc356b544d03" -dependencies = [ - "getrandom 0.1.16", - "libc", - "rand_chacha 0.2.2", - "rand_core 0.5.1", - "rand_hc 0.2.0", - "rand_pcg 0.2.1", -] - -[[package]] -name = "rand" -version = "0.8.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2e7573632e6454cf6b99d7aac4ccca54be06da05aca2ef7423d22d27d4d4bcd8" +checksum = "34af8d1a0e25924bc5b7c43c079c942339d8f0a8b57c39049bef581b46327404" dependencies = [ "libc", "rand_chacha 0.3.1", - "rand_core 0.6.3", - "rand_hc 0.3.1", + "rand_core 0.6.4", ] [[package]] @@ -2618,20 +2465,10 @@ version = "0.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "556d3a1ca6600bfcbab7c7c91ccb085ac7fbbcd70e008a98742e7847f4f7bcef" dependencies = [ - "autocfg 0.1.7", + "autocfg 0.1.8", "rand_core 0.3.1", ] -[[package]] -name = "rand_chacha" -version = "0.2.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f4c8ed856279c9737206bf725bf36935d8666ead7aa69b52be55af369d193402" -dependencies = [ - "ppv-lite86", - "rand_core 0.5.1", -] - [[package]] name = "rand_chacha" version = "0.3.1" @@ -2639,7 +2476,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e6c10a63a0fa32252be49d21e7709d4d4baf8d231c2dbce1eaa8141b9b127d88" dependencies = [ "ppv-lite86", - "rand_core 0.6.3", + "rand_core 0.6.4", ] [[package]] @@ -2659,20 +2496,11 @@ checksum = "9c33a3c44ca05fa6f1807d8e6743f3824e8509beca625669633be0acbdf509dc" [[package]] name = "rand_core" -version = "0.5.1" +version = "0.6.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "90bde5296fc891b0cef12a6d03ddccc162ce7b2aff54160af9338f8d40df6d19" +checksum = "ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c" dependencies = [ - "getrandom 0.1.16", -] - -[[package]] -name = "rand_core" -version = "0.6.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d34f1408f55294453790c48b2f1ebbb1c5b4b7563eb1f418bcfcfdbb06ebb4e7" -dependencies = [ - "getrandom 0.2.3", + "getrandom", ] [[package]] @@ -2684,24 +2512,6 @@ dependencies = [ "rand_core 0.3.1", ] -[[package]] -name = "rand_hc" -version = "0.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ca3129af7b92a17112d59ad498c6f81eaf463253766b90396d39ea7a39d6613c" -dependencies = [ - "rand_core 0.5.1", -] - -[[package]] -name = "rand_hc" -version = "0.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d51e9f596de227fda2ea6c84607f5558e196eeaf43c986b724ba4fb8fdf497e7" -dependencies = [ - "rand_core 0.6.3", -] - [[package]] name = "rand_isaac" version = "0.1.1" @@ -2719,7 +2529,7 @@ checksum = "1166d5c91dc97b88d1decc3285bb0a99ed84b05cfd0bc2341bdf2d43fc41e39b" dependencies = [ "libc", "rand_core 0.4.2", - "winapi 0.3.9", + "winapi", ] [[package]] @@ -2733,7 +2543,7 @@ dependencies = [ "libc", "rand_core 0.4.2", "rdrand", - "winapi 0.3.9", + "winapi", ] [[package]] @@ -2742,19 +2552,10 @@ version = "0.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "abf9b09b01790cfe0364f52bf32995ea3c39f4d2dd011eac241d2914146d0b44" dependencies = [ - "autocfg 0.1.7", + "autocfg 0.1.8", "rand_core 0.4.2", ] -[[package]] -name = "rand_pcg" -version = "0.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "16abd0c1b639e9eb4d7c50c0b8100b0d0f849be2349829c740fe8e6eb4816429" -dependencies = [ - "rand_core 0.5.1", -] - [[package]] name = "rand_xorshift" version = "0.1.1" @@ -2775,17 +2576,20 @@ dependencies = [ [[package]] name = "redox_syscall" -version = "0.1.57" +version = "0.2.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "41cc0f7e4d5d4544e8861606a285bb08d3e70712ccc7d2b84d7c0ccfaf4b05ce" +checksum = "fb5a58c1855b4b6819d59012155603f0b22ad30cad752600aadfcb695265519a" +dependencies = [ + "bitflags 1.3.2", +] [[package]] name = "redox_syscall" -version = "0.2.10" +version = "0.3.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8383f39639269cde97d255a32bdb68c047337295414940c68bdd30c2e13203ff" +checksum = "567664f262709473930a4bf9e51bf2ebf3348f2e748ccc50dea20646858f8f29" dependencies = [ - "bitflags", + "bitflags 1.3.2", ] [[package]] @@ -2794,41 +2598,25 @@ version = "0.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8440d8acb4fd3d277125b4bd01a6f38aee8d814b3b5fc09b3f2b825d37d3fe8f" dependencies = [ - "redox_syscall 0.2.10", + "redox_syscall 0.2.16", ] [[package]] name = "redox_users" -version = "0.3.5" +version = "0.4.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "de0737333e7a9502c789a36d7c7fa6092a49895d4faa31ca5df163857ded2e9d" +checksum = "b033d837a7cf162d7993aded9304e30a83213c648b6e389db233191f891e5c2b" dependencies = [ - "getrandom 0.1.16", - "redox_syscall 0.1.57", - "rust-argon2", + "getrandom", + "redox_syscall 0.2.16", + "thiserror", ] -[[package]] -name = "redox_users" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "528532f3d801c87aec9def2add9ca802fe569e44a544afe633765267840abe64" -dependencies = [ - "getrandom 0.2.3", - "redox_syscall 0.2.10", -] - -[[package]] -name = "reexport-proc-macro" -version = "1.0.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b90ec417f693152463d468b6d06ccc45ae3833f0538ef9e1cc154cf09eb1f575" - [[package]] name = "regex" -version = "1.5.4" +version = "1.7.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d07a8629359eb56f1e2fb1652bb04212c072a87ba68546a04065d525673ac461" +checksum = "8b1f693b24f6ac912f4893ef08244d70b6067480d2f1a46e950c9691e6749d1d" dependencies = [ "aho-corasick", "memchr", @@ -2837,38 +2625,19 @@ dependencies = [ [[package]] name = "regex-syntax" -version = "0.6.25" +version = "0.6.29" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f497285884f3fcff424ffc933e56d7cbca511def0c9831a7f9b5f6153e3cc89b" - -[[package]] -name = "remove_dir_all" -version = "0.5.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3acd125665422973a33ac9d3dd2df85edad0f4ae9b00dafb1a05e43a9f5ef8e7" -dependencies = [ - "winapi 0.3.9", -] - -[[package]] -name = "resolv-conf" -version = "0.7.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "52e44394d2086d010551b14b53b1f24e31647570cd1deb0379e2c21b329aba00" -dependencies = [ - "hostname", - "quick-error", -] +checksum = "f162c6dd7b008981e4d40210aca20b4bd0f9b60ca9271061b07f78537722f2e1" [[package]] name = "rusoto_core" -version = "0.47.0" +version = "0.48.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5b4f000e8934c1b4f70adde180056812e7ea6b1a247952db8ee98c94cd3116cc" +checksum = "1db30db44ea73551326269adcf7a2169428a054f14faf9e1768f2163494f2fa2" dependencies = [ "async-trait", - "base64 0.13.0", - "bytes 1.1.0", + "base64 0.13.1", + "bytes", "crc32fast", "futures", "http", @@ -2878,18 +2647,18 @@ dependencies = [ "log", "rusoto_credential", "rusoto_signature", - "rustc_version 0.4.0", + "rustc_version", "serde", "serde_json", - "tokio 1.12.0", + "tokio", "xml-rs", ] [[package]] name = "rusoto_credential" -version = "0.47.0" +version = "0.48.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6a46b67db7bb66f5541e44db22b0a02fed59c9603e146db3a9e633272d3bac2f" +checksum = "ee0a6c13db5aad6047b6a44ef023dbbc21a056b6dab5be3b79ce4283d5c02d05" dependencies = [ "async-trait", "chrono", @@ -2899,18 +2668,18 @@ dependencies = [ "serde", "serde_json", "shlex", - "tokio 1.12.0", + "tokio", "zeroize", ] [[package]] name = "rusoto_s3" -version = "0.47.0" +version = "0.48.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "048c2fe811a823ad5a9acc976e8bf4f1d910df719dcf44b15c3e96c5b7a51027" +checksum = "7aae4677183411f6b0b412d66194ef5403293917d66e70ab118f07cc24c5b14d" dependencies = [ "async-trait", - "bytes 1.1.0", + "bytes", "futures", "rusoto_core", "xml-rs", @@ -2918,12 +2687,12 @@ dependencies = [ [[package]] name = "rusoto_signature" -version = "0.47.0" +version = "0.48.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6264e93384b90a747758bcc82079711eacf2e755c3a8b5091687b5349d870bcc" +checksum = "a5ae95491c8b4847931e291b151127eccd6ff8ca13f33603eb3d0035ecb05272" dependencies = [ - "base64 0.13.0", - "bytes 1.1.0", + "base64 0.13.1", + "bytes", "chrono", "digest 0.9.0", "futures", @@ -2934,42 +2703,12 @@ dependencies = [ "log", "md-5", "percent-encoding", - "pin-project-lite 0.2.7", + "pin-project-lite", "rusoto_credential", - "rustc_version 0.4.0", + "rustc_version", "serde", "sha2", - "tokio 1.12.0", -] - -[[package]] -name = "rust-argon2" -version = "0.8.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4b18820d944b33caa75a71378964ac46f58517c92b6ae5f762636247c09e78fb" -dependencies = [ - "base64 0.13.0", - "blake2b_simd", - "constant_time_eq", - "crossbeam-utils 0.8.5", -] - -[[package]] -name = "rustc_version" -version = "0.2.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "138e3e0acb6c9fb258b19b67cb8abd63c00679d2851805ea151465464fe9030a" -dependencies = [ - "semver 0.9.0", -] - -[[package]] -name = "rustc_version" -version = "0.3.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f0dfe2087c51c460008730de8b57e6a320782fbfb312e1f4d520e6c6fae155ee" -dependencies = [ - "semver 0.11.0", + "tokio", ] [[package]] @@ -2978,14 +2717,48 @@ version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "bfa0f585226d2e68097d4f95d113b15b83a82e819ab25717ec0590d9584ef366" dependencies = [ - "semver 1.0.4", + "semver", ] [[package]] -name = "ryu" -version = "1.0.5" +name = "rustix" +version = "0.36.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "71d301d4193d031abdd79ff7e3dd721168a9572ef3fe51a1517aba235bd8f86e" +checksum = "db4165c9963ab29e422d6c26fbc1d37f15bace6b2810221f9d925023480fcf0e" +dependencies = [ + "bitflags 1.3.2", + "errno 0.2.8", + "io-lifetimes", + "libc", + "linux-raw-sys 0.1.4", + "windows-sys 0.45.0", +] + +[[package]] +name = "rustix" +version = "0.37.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0e78cc525325c06b4a7ff02db283472f3c042b7ff0c391f96c6d5ac6f4f91b75" +dependencies = [ + "bitflags 1.3.2", + "errno 0.3.0", + "io-lifetimes", + "libc", + "linux-raw-sys 0.3.1", + "windows-sys 0.45.0", +] + +[[package]] +name = "rustversion" +version = "1.0.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4f3208ce4d8448b3f3e7d168a73f5e0c43a61e32930de3bceeccedb388b6bf06" + +[[package]] +name = "ryu" +version = "1.0.13" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f91339c0467de62360649f8d3e185ca8de4224ff281f66000de5eb2a77a79041" [[package]] name = "safemem" @@ -3004,28 +2777,27 @@ dependencies = [ [[package]] name = "schannel" -version = "0.1.19" +version = "0.1.21" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8f05ba609c234e60bee0d547fe94a4c7e9da733d1c962cf6e59efa4cd9c8bc75" +checksum = "713cfb06c7059f3588fb8044c0fad1d09e3c01d225e25b9220dbfdcf16dbb1b3" dependencies = [ - "lazy_static", - "winapi 0.3.9", + "windows-sys 0.42.0", ] [[package]] name = "scheduled-thread-pool" -version = "0.2.5" +version = "0.2.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dc6f74fd1204073fa02d5d5d68bec8021be4c38690b61264b2fdb48083d0e7d7" +checksum = "3cbc66816425a074528352f5789333ecff06ca41b36b0b0efdfbb29edc391a19" dependencies = [ "parking_lot", ] [[package]] name = "scoped-tls" -version = "1.0.0" +version = "1.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ea6a9290e3c9cf0f18145ef7ffa62d68ee0bf5fcd651017e586dc7fd5da448c2" +checksum = "e1cf6437eb19a8f4a6cc0f7dca544973b0b78843adbfeb3683d1a94a0024a294" [[package]] name = "scopeguard" @@ -3034,12 +2806,18 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d29ab0c6d3fc0ee92fe66e2d99f700eab17a8d57d1c1d3b748380fb20baa78cd" [[package]] -name = "security-framework" -version = "2.4.2" +name = "scratch" +version = "1.0.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "525bc1abfda2e1998d152c45cf13e696f76d0a4972310b22fac1658b05df7c87" +checksum = "1792db035ce95be60c3f8853017b3999209281c24e2ba5bc8e59bf97a0c590c1" + +[[package]] +name = "security-framework" +version = "2.8.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a332be01508d814fed64bf28f798a146d73792121129962fdf335bb3c49a4254" dependencies = [ - "bitflags", + "bitflags 1.3.2", "core-foundation", "core-foundation-sys", "libc", @@ -3048,9 +2826,9 @@ dependencies = [ [[package]] name = "security-framework-sys" -version = "2.4.2" +version = "2.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a9dd14d83160b528b7bfd66439110573efcfbe281b17fc2ca9f39f550d619c7e" +checksum = "31c9bb296072e961fcbd8853511dd39c2d8be2deb1e17c6860b1d30732b323b4" dependencies = [ "core-foundation-sys", "libc", @@ -3058,25 +2836,21 @@ dependencies = [ [[package]] name = "seed" -version = "0.8.0" +version = "0.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3b599be9cc57456f4b7fc99b8abfb154d4819f7b6c147e80be5580663dad4536" +checksum = "9c0e296ea0569d20467e9a1df3cb6ed66ce3b791a7eaf1e1110ae231f75e2b46" dependencies = [ - "console_error_panic_hook", - "cookie", - "dbg", "enclose", "futures", + "getrandom", "gloo-file", "gloo-timers", + "gloo-utils", "indexmap", "js-sys", - "pulldown-cmark", - "rand 0.7.3", - "serde", - "serde_json", - "uuid 0.8.2", - "version_check 0.9.3", + "rand 0.8.5", + "uuid 1.3.0", + "version_check 0.9.4", "wasm-bindgen", "wasm-bindgen-futures", "web-sys", @@ -3084,68 +2858,35 @@ dependencies = [ [[package]] name = "semver" -version = "0.9.0" +version = "1.0.17" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1d7eb9ef2c18661902cc47e535f9bc51b78acd254da71d375c2f6720d9a40403" -dependencies = [ - "semver-parser 0.7.0", -] - -[[package]] -name = "semver" -version = "0.11.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f301af10236f6df4160f7c3f04eec6dbc70ace82d23326abad5edee88801c6b6" -dependencies = [ - "semver-parser 0.10.2", -] - -[[package]] -name = "semver" -version = "1.0.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "568a8e6258aa33c13358f81fd834adb854c6f7c9468520910a9b1e8fac068012" - -[[package]] -name = "semver-parser" -version = "0.7.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "388a1df253eca08550bef6c72392cfe7c30914bf41df5269b68cbd6ff8f570a3" - -[[package]] -name = "semver-parser" -version = "0.10.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "00b0bef5b7f9e0df16536d3961cfb6e84331c065b4066afb39768d0e319411f7" -dependencies = [ - "pest", -] +checksum = "bebd363326d05ec3e2f532ab7660680f3b02130d780c299bca73469d521bc0ed" [[package]] name = "serde" -version = "1.0.130" +version = "1.0.159" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f12d06de37cf59146fbdecab66aa99f9fe4f78722e3607577a5375d66bd0c913" +checksum = "3c04e8343c3daeec41f58990b9d77068df31209f2af111e059e9fe9646693065" dependencies = [ "serde_derive", ] [[package]] name = "serde_derive" -version = "1.0.130" +version = "1.0.159" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d7bc1a1ab1961464eae040d96713baa5a724a8152c1222492465b54322ec508b" +checksum = "4c614d17805b093df4b147b51339e7e44bf05ef59fba1e45d83500bcfb4d8585" dependencies = [ - "proc-macro2", - "quote", - "syn", + "proc-macro2 1.0.54", + "quote 1.0.26", + "syn 2.0.12", ] [[package]] name = "serde_json" -version = "1.0.68" +version = "1.0.95" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0f690853975602e1bfe1ccbf50504d67174e3bcf340f23b5ea9992e0587a52d8" +checksum = "d721eca97ac802aa7777b701877c8004d950fc142651367300d21c1cc0194744" dependencies = [ "itoa", "ryu", @@ -3153,10 +2894,28 @@ dependencies = [ ] [[package]] -name = "serde_urlencoded" -version = "0.7.0" +name = "serde_plain" +version = "1.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "edfa57a7f8d9c1d260a549e7224100f6c43d43f9103e06dd8b4095a9b2b43ce9" +checksum = "d6018081315db179d0ce57b1fe4b62a12a0028c9cf9bbef868c9cf477b3c34ae" +dependencies = [ + "serde", +] + +[[package]] +name = "serde_spanned" +version = "0.6.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0efd8caf556a6cebd3b285caf480045fcc1ac04f6bd786b09a6f11af30c4fcf4" +dependencies = [ + "serde", +] + +[[package]] +name = "serde_urlencoded" +version = "0.7.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d3491c14715ca2294c4d6a88f15e84739788c1d030eed8c110436aafdaa2f3fd" dependencies = [ "form_urlencoded", "itoa", @@ -3165,54 +2924,40 @@ dependencies = [ ] [[package]] -name = "sha-1" -version = "0.8.2" +name = "sha1" +version = "0.10.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f7d94d0bede923b3cea61f3f1ff57ff8cdfd77b400fb8f9998949e0cf04163df" +checksum = "f04293dc80c3993519f2d7f6f511707ee7094fe0c6d3406feb330cdb3540eba3" dependencies = [ - "block-buffer 0.7.3", - "digest 0.8.1", - "fake-simd", - "opaque-debug 0.2.3", -] - -[[package]] -name = "sha-1" -version = "0.9.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "99cd6713db3cf16b6c84e06321e049a9b9f699826e16096d23bbcc44d15d51a6" -dependencies = [ - "block-buffer 0.9.0", "cfg-if 1.0.0", "cpufeatures", - "digest 0.9.0", - "opaque-debug 0.3.0", + "digest 0.10.6", ] [[package]] -name = "sha1" -version = "0.6.0" +name = "sha1_smol" +version = "1.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2579985fda508104f7587689507983eadd6a6e84dd35d6d115361f530916fa0d" +checksum = "ae1a47186c03a32177042e55dbc5fd5aee900b8e0069a8d70fba96a9375cd012" [[package]] name = "sha2" -version = "0.9.8" +version = "0.9.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b69f9a4c9740d74c5baa3fd2e547f9525fa8088a8a958e0ca2409a514e33f5fa" +checksum = "4d58a1e1bf39749807d89cf2d98ac2dfa0ff1cb3faa38fbb64dd88ac8013d800" dependencies = [ "block-buffer 0.9.0", "cfg-if 1.0.0", "cpufeatures", "digest 0.9.0", - "opaque-debug 0.3.0", + "opaque-debug", ] [[package]] name = "shell-words" -version = "1.0.0" +version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b6fa3938c99da4914afedd13bf3d79bcb6c277d1b2c398d23257a304d9e1b074" +checksum = "24188a676b6ae68c3b2cb3a01be17fbf7240ce009799bb56d5b1409051e78fde" [[package]] name = "shlex" @@ -3221,55 +2966,77 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "43b2853a4d09f215c24cc5489c992ce46052d359b5109343cbafbf26bc62f8a3" [[package]] -name = "signal-hook-registry" -version = "1.4.0" +name = "signal-hook" +version = "0.3.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e51e73328dc4ac0c7ccbda3a494dfa03df1de2f46018127f60c693f2648455b0" +checksum = "732768f1176d21d09e076c23a93123d40bba92d50c4058da34d45c8de8e682b9" +dependencies = [ + "libc", + "signal-hook-registry", +] + +[[package]] +name = "signal-hook-mio" +version = "0.2.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "29ad2e15f37ec9a6cc544097b78a1ec90001e9f71b81338ca39f430adaca99af" +dependencies = [ + "libc", + "mio", + "signal-hook", +] + +[[package]] +name = "signal-hook-registry" +version = "1.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d8229b473baa5980ac72ef434c4415e70c4b5e71b423043adb4ba059f89c99a1" dependencies = [ "libc", ] [[package]] name = "simsearch" -version = "0.2.3" +version = "0.2.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ec7c616f4afa8be07117e344990cc90651fbaad06055655f3d8cc4a668675398" +checksum = "1649c86f6ff4bec1c5a96b834f1e0da09eff92d85e3963286a61f41afca65de5" dependencies = [ - "strsim 0.10.0", + "strsim", "triple_accel", ] [[package]] name = "slab" -version = "0.4.5" +version = "0.4.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9def91fd1e018fe007022791f865d0ccc9b3a0d5001e01aabb8b40e46000afb5" - -[[package]] -name = "smallvec" -version = "1.7.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1ecab6c735a6bb4139c0caafd0cc3635748bbb3acf4550e8138122099251f309" - -[[package]] -name = "socket2" -version = "0.3.19" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "122e570113d28d773067fab24266b66753f6ea915758651696b6e35e49f88d6e" +checksum = "6528351c9bc8ab22353f9d776db39a20288e8d6c37ef8cfe3317cf875eecfc2d" dependencies = [ - "cfg-if 1.0.0", - "libc", - "winapi 0.3.9", + "autocfg 1.1.0", ] [[package]] -name = "socket2" -version = "0.4.2" +name = "slug" +version = "0.1.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5dc90fe6c7be1a323296982db1836d1ea9e47b6839496dde9a541bc496df3516" +checksum = "b3bc762e6a4b6c6fcaade73e77f9ebc6991b676f88bb2358bddb56560f073373" +dependencies = [ + "deunicode", +] + +[[package]] +name = "smallvec" +version = "1.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a507befe795404456341dfab10cef66ead4c041f62b8b11bbb92bffe5d0953e0" + +[[package]] +name = "socket2" +version = "0.4.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "64a4a911eed85daf18834cfaa86a79b7d266ff93ff5ba14005426219480ed662" dependencies = [ "libc", - "winapi 0.3.9", + "winapi", ] [[package]] @@ -3278,76 +3045,34 @@ version = "0.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6e63cff320ae2c57904679ba7cb63280a3dc4613885beafb148ee7bf9aa9042d" -[[package]] -name = "standback" -version = "0.2.17" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e113fb6f3de07a243d434a56ec6f186dfd51cb08448239fe7bcae73f87ff28ff" -dependencies = [ - "version_check 0.9.3", -] - -[[package]] -name = "stdweb" -version = "0.4.20" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d022496b16281348b52d0e30ae99e01a73d737b2f45d38fed4edf79f9325a1d5" -dependencies = [ - "discard", - "rustc_version 0.2.3", - "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", - "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", - "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 = "strsim" -version = "0.8.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8ea5119cdb4c55b55d432abb513a0429384878c15dde60cc77b1c99de1a95a6a" - [[package]] name = "strsim" version = "0.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "73473c0e59e6d5812c5dfe2a064a6444949f089e20eec9a2e5506596494e4623" +[[package]] +name = "strum" +version = "0.24.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "063e6045c0e62079840579a7e47a355ae92f60eb74daaf156fb1e84ba164e63f" +dependencies = [ + "strum_macros", +] + +[[package]] +name = "strum_macros" +version = "0.24.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1e385be0d24f186b4ce2f9982191e7101bb737312ad61c1f2f984f34bcf85d59" +dependencies = [ + "heck", + "proc-macro2 1.0.54", + "quote 1.0.26", + "rustversion", + "syn 1.0.109", +] + [[package]] name = "subtle" version = "2.4.1" @@ -3356,66 +3081,104 @@ checksum = "6bdef32e8150c2a081110b42772ffe7d7c9032b606bc226c8260fd97e0976601" [[package]] name = "syn" -version = "1.0.80" +version = "0.12.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d010a1623fbd906d51d650a9916aaefc05ffa0e4053ff7fe601167f3e715d194" +checksum = "c97c05b8ebc34ddd6b967994d5c6e9852fa92f8b82b3858c39451f97346dcce5" dependencies = [ - "proc-macro2", - "quote", + "proc-macro2 0.2.3", + "quote 0.4.2", "unicode-xid", ] [[package]] -name = "syntect" -version = "4.6.0" +name = "syn" +version = "0.14.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8b20815bbe80ee0be06e6957450a841185fcf690fe0178f14d77a05ce2caa031" +checksum = "261ae9ecaa397c42b960649561949d69311f08eeaea86a65696e6e46517cf741" +dependencies = [ + "proc-macro2 0.4.30", + "quote 0.6.13", + "unicode-xid", +] + +[[package]] +name = "syn" +version = "1.0.109" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "72b64191b275b66ffe2469e8af2c1cfe3bafa67b529ead792a6d0160888b4237" +dependencies = [ + "proc-macro2 1.0.54", + "quote 1.0.26", + "unicode-ident", +] + +[[package]] +name = "syn" +version = "2.0.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "79d9531f94112cfc3e4c8f5f02cb2b58f72c97b7efd85f70203cc6d8efda5927" +dependencies = [ + "proc-macro2 1.0.54", + "quote 1.0.26", + "unicode-ident", +] + +[[package]] +name = "syntect" +version = "5.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c6c454c27d9d7d9a84c7803aaa3c50cd088d2906fe3c6e42da3209aa623576a8" dependencies = [ "bincode", - "bitflags", + "bitflags 1.3.2", + "fancy-regex", "flate2", "fnv", "lazy_static", - "lazycell", + "once_cell", "onig", "plist", "regex-syntax", "serde", "serde_derive", "serde_json", + "thiserror", "walkdir", "yaml-rust", ] -[[package]] -name = "tap" -version = "1.0.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "55937e1799185b12863d447f42597ed69d9928686b8d88a1df17376a097d8369" - [[package]] name = "tempfile" -version = "3.2.0" +version = "3.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dac1c663cfc93810f88aed9b8941d48cabf856a1b111c29a40439018d870eb22" +checksum = "b9fbec84f381d5795b08656e4912bec604d162bff9291d6189a78f4c8ab87998" dependencies = [ "cfg-if 1.0.0", - "libc", - "rand 0.8.4", - "redox_syscall 0.2.10", - "remove_dir_all", - "winapi 0.3.9", + "fastrand", + "redox_syscall 0.3.5", + "rustix 0.37.5", + "windows-sys 0.45.0", ] [[package]] name = "termcolor" -version = "1.1.2" +version = "1.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2dfed899f0eb03f32ee8c6a0aabdb8a7949659e3466561fc0adf54e26d88c5f4" +checksum = "be55cf8942feac5c765c2c993422806843c9a9a45d4d5c407ad6dd2ea95eb9b6" dependencies = [ "winapi-util", ] +[[package]] +name = "terminal_size" +version = "0.2.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4c9afddd2cec1c0909f06b00ef33f94ab2cc0578c4a610aa208ddfec8aa2b43a" +dependencies = [ + "rustix 0.36.11", + "windows-sys 0.45.0", +] + [[package]] name = "termion" version = "1.5.6" @@ -3424,245 +3187,220 @@ checksum = "077185e2eac69c3f8379a4298e1e07cd36beb962290d4a51199acf0fdc10607e" dependencies = [ "libc", "numtoa", - "redox_syscall 0.2.10", + "redox_syscall 0.2.16", "redox_termios", ] [[package]] -name = "textwrap" -version = "0.11.0" +name = "termion" +version = "2.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d326610f408c7a4eb6f51c37c330e496b08506c9457c9d34287ecc38809fb060" +checksum = "659c1f379f3408c7e5e84c7d0da6d93404e3800b6b9d063ba24436419302ec90" dependencies = [ - "unicode-width", + "libc", + "numtoa", + "redox_syscall 0.2.16", + "redox_termios", ] [[package]] name = "thiserror" -version = "1.0.30" +version = "1.0.40" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "854babe52e4df1653706b98fcfc05843010039b406875930a70e4d9644e5c417" +checksum = "978c9a314bd8dc99be594bc3c175faaa9794be04a5a5e153caba6915336cebac" dependencies = [ "thiserror-impl", ] [[package]] name = "thiserror-impl" -version = "1.0.30" +version = "1.0.40" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "aa32fd3f627f367fe16f893e2597ae3c05020f8bba2666a4e6ea73d377e5714b" +checksum = "f9456a42c5b0d803c8cd86e73dd7cc9edd429499f37a3550d286d5e86720569f" dependencies = [ - "proc-macro2", - "quote", - "syn", -] - -[[package]] -name = "threadpool" -version = "1.8.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d050e60b33d41c19108b32cea32164033a9013fe3b46cbd4457559bfbf77afaa" -dependencies = [ - "num_cpus", + "proc-macro2 1.0.54", + "quote 1.0.26", + "syn 2.0.12", ] [[package]] name = "time" -version = "0.1.43" +version = "0.1.45" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ca8a50ef2360fbd1eeb0ecd46795a87a19024eb4b53c5dc916ca1fd95fe62438" +checksum = "1b797afad3f312d1c66a56d11d0316f916356d11bd158fbc6ca6389ff6bf805a" dependencies = [ "libc", - "winapi 0.3.9", + "wasi 0.10.0+wasi-snapshot-preview1", + "winapi", ] [[package]] name = "time" -version = "0.2.27" +version = "0.3.20" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4752a97f8eebd6854ff91f1c1824cd6160626ac4bd44287f7f4ea2035a02a242" +checksum = "cd0cbfecb4d19b5ea75bb31ad904eb5b9fa13f21079c3b92017ebdf4999a5890" dependencies = [ - "const_fn", - "libc", - "standback", - "stdweb", + "itoa", + "serde", + "time-core", "time-macros", - "version_check 0.9.3", - "winapi 0.3.9", ] +[[package]] +name = "time-core" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2e153e1f1acaef8acc537e68b44906d2db6436e2b35ac2c6b42640fff91f00fd" + [[package]] name = "time-macros" -version = "0.1.1" +version = "0.2.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "957e9c6e26f12cb6d0dd7fc776bb67a706312e7299aed74c8dd5b17ebb27e2f1" +checksum = "fd80a657e71da814b8e5d60d3374fc6d35045062245d80224748ae522dd76f36" dependencies = [ - "proc-macro-hack", - "time-macros-impl", -] - -[[package]] -name = "time-macros-impl" -version = "0.1.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fd3c141a1b43194f3f56a1411225df8646c55781d5f26db825b3d98507eb482f" -dependencies = [ - "proc-macro-hack", - "proc-macro2", - "quote", - "standback", - "syn", + "time-core", ] [[package]] name = "tinyvec" -version = "1.5.0" +version = "1.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f83b2a3d4d9091d0abd7eba4dc2710b1718583bd4d8992e2190720ea38f391f7" +checksum = "87cc5ceb3875bb20c2890005a4e226a4651264a5c75edb2421b52861a0a0cb50" dependencies = [ "tinyvec_macros", ] [[package]] name = "tinyvec_macros" -version = "0.1.0" +version = "0.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cda74da7e1a664f795bb1f8a87ec406fb89a02522cf6e50620d016add6dbbf5c" +checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20" [[package]] name = "tokio" -version = "0.2.25" +version = "1.27.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6703a273949a90131b290be1fe7b039d0fc884aa1935860dfcbe056f28cd8092" +checksum = "d0de47a4eecbe11f498978a9b29d792f0d2692d1dd003650c24c76510e3bc001" dependencies = [ - "bytes 0.5.6", - "fnv", - "futures-core", - "iovec", - "lazy_static", + "autocfg 1.1.0", + "bytes", "libc", - "memchr", - "mio 0.6.23", - "mio-uds", - "pin-project-lite 0.1.12", - "signal-hook-registry", - "slab", - "winapi 0.3.9", -] - -[[package]] -name = "tokio" -version = "1.12.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c2c2416fdedca8443ae44b4527de1ea633af61d8f7169ffa6e72c5b53d24efcc" -dependencies = [ - "autocfg 1.0.1", - "bytes 1.1.0", - "libc", - "memchr", - "mio 0.7.13", + "mio", "num_cpus", - "once_cell", - "pin-project-lite 0.2.7", + "parking_lot", + "pin-project-lite", "signal-hook-registry", + "socket2", "tokio-macros", - "winapi 0.3.9", + "windows-sys 0.45.0", ] [[package]] name = "tokio-macros" -version = "1.5.0" +version = "2.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b2dd85aeaba7b68df939bd357c6afb36c87951be9e80bf9c859f2fc3e9fca0fd" +checksum = "61a573bdc87985e9d6ddeed1b3d864e8a302c847e40d647746df2f1de209d1ce" dependencies = [ - "proc-macro2", - "quote", - "syn", + "proc-macro2 1.0.54", + "quote 1.0.26", + "syn 2.0.12", ] [[package]] name = "tokio-native-tls" -version = "0.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f7d995660bd2b7f8c1568414c1126076c13fbb725c40112dc0120b78eb9b717b" -dependencies = [ - "native-tls", - "tokio 1.12.0", -] - -[[package]] -name = "tokio-util" version = "0.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "be8242891f2b6cbef26a2d7e8605133c2c554cd35b3e4948ea892d6d68436499" +checksum = "bbae76ab933c85776efabc971569dd6119c580d8f5d448769dec1764bf796ef2" dependencies = [ - "bytes 0.5.6", - "futures-core", - "futures-io", - "futures-sink", - "log", - "pin-project-lite 0.1.12", - "tokio 0.2.25", + "native-tls", + "tokio", ] [[package]] name = "tokio-util" -version = "0.6.8" +version = "0.7.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "08d3725d3efa29485e87311c5b699de63cde14b00ed4d256b8318aa30ca452cd" +checksum = "5427d89453009325de0d8f342c9490009f76e999cb7672d77e46267448f7e6b2" dependencies = [ - "bytes 1.1.0", + "bytes", "futures-core", "futures-sink", - "log", - "pin-project-lite 0.2.7", - "tokio 1.12.0", + "pin-project-lite", + "tokio", + "tracing", ] [[package]] name = "toml" -version = "0.5.8" +version = "0.7.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a31142970826733df8241ef35dc040ef98c679ab14d7c3e54d827099b3acecaa" +checksum = "b403acf6f2bb0859c93c7f0d967cb4a75a7ac552100f9322faf64dc047669b21" +dependencies = [ + "serde", + "serde_spanned", + "toml_datetime", + "toml_edit", +] + +[[package]] +name = "toml_datetime" +version = "0.6.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3ab8ed2edee10b50132aed5f331333428b011c99402b5a534154ed15746f9622" dependencies = [ "serde", ] [[package]] -name = "tower-service" -version = "0.3.1" +name = "toml_edit" +version = "0.19.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "360dfd1d6d30e05fda32ace2c8c70e9c0a9da713275777f5a4dbb8a1893930c6" +checksum = "239410c8609e8125456927e6707163a3b1fdb40561e4b803bc041f466ccfdc13" +dependencies = [ + "indexmap", + "serde", + "serde_spanned", + "toml_datetime", + "winnow", +] + +[[package]] +name = "tower-service" +version = "0.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b6bc1c9ce2b5135ac7f93c72918fc37feb872bdc6a5533a8b85eb4b86bfdae52" [[package]] name = "tracing" -version = "0.1.29" +version = "0.1.37" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "375a639232caf30edfc78e8d89b2d4c375515393e7af7e16f01cd96917fb2105" +checksum = "8ce8c33a8d48bd45d624a6e523445fd21ec13d3653cd51f681abf67418f54eb8" dependencies = [ "cfg-if 1.0.0", "log", - "pin-project-lite 0.2.7", + "pin-project-lite", + "tracing-attributes", "tracing-core", ] [[package]] -name = "tracing-core" -version = "0.1.21" +name = "tracing-attributes" +version = "0.1.23" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1f4ed65637b8390770814083d20756f87bfa2c21bf2f110babdc5438351746e4" +checksum = "4017f8f45139870ca7e672686113917c71c7a6e02d4924eda67186083c03081a" dependencies = [ - "lazy_static", + "proc-macro2 1.0.54", + "quote 1.0.26", + "syn 1.0.109", ] [[package]] -name = "tracing-futures" -version = "0.2.5" +name = "tracing-core" +version = "0.1.30" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "97d095ae15e245a057c8e8451bab9b3ee1e1f68e9ba2b4fbc18d0ac5237835f2" +checksum = "24eb03ba0eab1fd845050058ce5e616558e8f8d8fca633e6b163fe25c797213a" dependencies = [ - "pin-project 1.0.8", - "tracing", + "once_cell", ] [[package]] @@ -3671,99 +3409,37 @@ version = "0.3.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "622b09ce2fe2df4618636fb92176d205662f59803f39e70d1c333393082de96c" -[[package]] -name = "trust-dns-proto" -version = "0.19.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1cad71a0c0d68ab9941d2fb6e82f8fb2e86d9945b94e1661dd0aaea2b88215a9" -dependencies = [ - "async-trait", - "cfg-if 1.0.0", - "enum-as-inner", - "futures", - "idna", - "lazy_static", - "log", - "rand 0.7.3", - "smallvec", - "thiserror", - "tokio 0.2.25", - "url", -] - -[[package]] -name = "trust-dns-resolver" -version = "0.19.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "710f593b371175db53a26d0b38ed2978fafb9e9e8d3868b1acd753ea18df0ceb" -dependencies = [ - "cfg-if 0.1.10", - "futures", - "ipconfig", - "lazy_static", - "log", - "lru-cache", - "resolv-conf", - "smallvec", - "thiserror", - "tokio 0.2.25", - "trust-dns-proto", -] - [[package]] name = "try-lock" -version = "0.2.3" +version = "0.2.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "59547bce71d9c38b83d9c0e92b6066c4253371f15005def0c30d9657f50c7642" +checksum = "3528ecfd12c466c6f163363caf2d02a71161dd5e1cc6ae7b34207ea2d42d81ed" [[package]] name = "tui" -version = "0.9.5" +version = "0.19.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9533d39bef0ae8f510e8a99d78702e68d1bbf0b98a78ec9740509d287010ae1e" +checksum = "ccdd26cbd674007e649a272da4475fb666d3aa0ad0531da7136db6fab0e5bad1" dependencies = [ - "bitflags", + "bitflags 1.3.2", "cassowary", - "either", - "itertools", - "termion", + "crossterm", + "termion 1.5.6", "unicode-segmentation", "unicode-width", ] -[[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 = "typed-arena" -version = "1.7.0" +version = "2.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a9b2228007eba4120145f785df0f6c92ea538f5a3635a612ecf4e334c8c1446d" +checksum = "6af6ae20167a9ece4bcb41af5b80f8a1f1df981f6391189ce00fd257af04126a" [[package]] name = "typenum" -version = "1.14.0" +version = "1.16.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b63708a265f51345575b27fe43f9500ad611579e764c79edbc2037b1121959ec" - -[[package]] -name = "ucd-trie" -version = "0.1.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "56dee185309b50d1f11bfedef0fe6d036842e3fb77413abef29f8f8d1c5d4c1c" - -[[package]] -name = "unchecked-index" -version = "0.2.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eeba86d422ce181a719445e51872fa30f1f7413b62becb52e95ec91aa262d85c" +checksum = "497961ef93d974e23eb6f433eb5fe1b7930b659f06d12dec6fc44a8f554c0bba" [[package]] name = "unicase" @@ -3771,41 +3447,47 @@ version = "2.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "50f37be617794602aabbeee0be4f259dc1778fabe05e2d67ee8f79326d5cb4f6" dependencies = [ - "version_check 0.9.3", + "version_check 0.9.4", ] [[package]] name = "unicode-bidi" -version = "0.3.7" +version = "0.3.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1a01404663e3db436ed2746d9fefef640d868edae3cceb81c3b8d5732fda678f" +checksum = "92888ba5573ff080736b3648696b70cafad7d250551175acbaa4e0385b3e1460" + +[[package]] +name = "unicode-ident" +version = "1.0.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e5464a87b239f13a63a501f2701565754bae92d243d4bb7eb12f6d57d2269bf4" [[package]] name = "unicode-normalization" -version = "0.1.19" +version = "0.1.22" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d54590932941a9e9266f0832deed84ebe1bf2e4c9e4a3554d393d18f5e854bf9" +checksum = "5c5713f0fc4b5db668a2ac63cdb7bb4469d8c9fed047b1d0292cc7b0ce2ba921" dependencies = [ "tinyvec", ] [[package]] name = "unicode-segmentation" -version = "1.8.0" +version = "1.10.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8895849a949e7845e06bd6dc1aa51731a103c42707010a5b591c0038fb73385b" +checksum = "1dd624098567895118886609431a7c3b8f516e41d30e0643f03d94592a147e36" [[package]] name = "unicode-width" -version = "0.1.9" +version = "0.1.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3ed742d4ea2bd1176e236172c8429aaf54486e7ac098db29ffe6529e0ce50973" +checksum = "c0edd1e5b14653f783770bce4a4dabb4a5108a5370a5f5d8cfe8710c361f6c8b" [[package]] name = "unicode-xid" -version = "0.2.2" +version = "0.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8ccb82d61f80a663efe1f787a51b16b5a51e3314d6ac365b08639f52387b33f3" +checksum = "fc72304796d0818e357ead4e000d19c9c174ab23dc11093ac919054d20a6a7fc" [[package]] name = "unicode_categories" @@ -3815,16 +3497,21 @@ checksum = "39ec24b3121d976906ece63c9daad25b85969647682eee313cb5779fdd69e14e" [[package]] name = "url" -version = "2.2.2" +version = "2.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a507c383b2d33b5fc35d1861e77e6b383d158b2da5e14fe51b83dfedf6fd578c" +checksum = "0d68c799ae75762b8c3fe375feb6600ef5602c883c5d21eb51c09f22b83c4643" dependencies = [ "form_urlencoded", "idna", - "matches", "percent-encoding", ] +[[package]] +name = "utf8parse" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "711b9620af191e0cdc7468a8d14e709c3dcdb115b36f838e601583af800a370a" + [[package]] name = "uuid" version = "0.7.4" @@ -3836,45 +3523,13 @@ dependencies = [ [[package]] name = "uuid" -version = "0.8.2" +version = "1.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bc5cf98d8186244414c848017f0e2676b3fcb46807f6668a97dfe67359a3c4b7" +checksum = "1674845326ee10d37ca60470760d4288a6f80f304007d92e5c53bab78c9cfd79" dependencies = [ - "getrandom 0.2.3", + "getrandom", "serde", - "sha1", -] - -[[package]] -name = "v_escape" -version = "0.15.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f3e0ab5fab1db278a9413d2ea794cb66f471f898c5b020c3c394f6447625d9d4" -dependencies = [ - "buf-min", - "v_escape_derive", -] - -[[package]] -name = "v_escape_derive" -version = "0.8.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f29769400af8b264944b851c961a4a6930e76604f59b1fcd51246bab6a296c8c" -dependencies = [ - "nom 4.2.3", - "proc-macro2", - "quote", - "syn", -] - -[[package]] -name = "v_htmlescape" -version = "0.12.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1f9a8af610ad6f7fc9989c9d2590d9764bc61f294884e9ee93baa58795174572" -dependencies = [ - "cfg-if 1.0.0", - "v_escape", + "sha1_smol", ] [[package]] @@ -3883,12 +3538,6 @@ version = "0.2.15" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "accd4ea62f7bb7a82fe23066fb0957d48ef677f6eeb8215f372f52e48bb32426" -[[package]] -name = "vec_map" -version = "0.8.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f1bddf1187be692e79c5ffeab891132dfb0f236ed36a43c7ed39f1165ee20191" - [[package]] name = "version_check" version = "0.1.5" @@ -3897,18 +3546,17 @@ checksum = "914b1a6776c4c929a602fafd8bc742e06365d4bcbe48c30f9cca5824f70dc9dd" [[package]] name = "version_check" -version = "0.9.3" +version = "0.9.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5fecdca9a5291cc2b8dcf7dc02453fee791a280f3743cb0905f8822ae463b3fe" +checksum = "49874b5167b65d7193b8aba1567f5c7d93d001cafc34600cee003eda787e483f" [[package]] name = "walkdir" -version = "2.3.2" +version = "2.3.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "808cf2735cd4b6866113f648b791c6adc5714537bc222d9347bb203386ffda56" +checksum = "36df944cda56c7d8d8b7496af378e6b16de9284591917d307c9b4d313c44e698" dependencies = [ "same-file", - "winapi 0.3.9", "winapi-util", ] @@ -3924,48 +3572,46 @@ dependencies = [ [[package]] name = "wasi" -version = "0.9.0+wasi-snapshot-preview1" +version = "0.10.0+wasi-snapshot-preview1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cccddf32554fecc6acb585f82a32a72e28b48f8c4c1883ddfeeeaa96f7d8e519" +checksum = "1a143597ca7c7793eff794def352d41792a93c481eb1042423ff7ff72ba2c31f" [[package]] name = "wasi" -version = "0.10.2+wasi-snapshot-preview1" +version = "0.11.0+wasi-snapshot-preview1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fd6fbd9a79829dd1ad0cc20627bf1ed606756a7f77edff7b66b7064f9cb327c6" +checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423" [[package]] name = "wasm-bindgen" -version = "0.2.78" +version = "0.2.84" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "632f73e236b219150ea279196e54e610f5dbafa5d61786303d4da54f84e47fce" +checksum = "31f8dcbc21f30d9b8f2ea926ecb58f6b91192c17e9d33594b3df58b2007ca53b" dependencies = [ "cfg-if 1.0.0", - "serde", - "serde_json", "wasm-bindgen-macro", ] [[package]] name = "wasm-bindgen-backend" -version = "0.2.78" +version = "0.2.84" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a317bf8f9fba2476b4b2c85ef4c4af8ff39c3c7f0cdfeed4f82c34a880aa837b" +checksum = "95ce90fd5bcc06af55a641a86428ee4229e44e07033963a2290a8e241607ccb9" dependencies = [ "bumpalo", - "lazy_static", "log", - "proc-macro2", - "quote", - "syn", + "once_cell", + "proc-macro2 1.0.54", + "quote 1.0.26", + "syn 1.0.109", "wasm-bindgen-shared", ] [[package]] name = "wasm-bindgen-futures" -version = "0.4.28" +version = "0.4.34" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8e8d7523cb1f2a4c96c1317ca690031b714a51cc14e05f712446691f413f5d39" +checksum = "f219e0d211ba40266969f6dbdd90636da12f75bee4fc9d6c23d1260dadb51454" dependencies = [ "cfg-if 1.0.0", "js-sys", @@ -3975,38 +3621,38 @@ dependencies = [ [[package]] name = "wasm-bindgen-macro" -version = "0.2.78" +version = "0.2.84" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d56146e7c495528bf6587663bea13a8eb588d39b36b679d83972e1a2dbbdacf9" +checksum = "4c21f77c0bedc37fd5dc21f897894a5ca01e7bb159884559461862ae90c0b4c5" dependencies = [ - "quote", + "quote 1.0.26", "wasm-bindgen-macro-support", ] [[package]] name = "wasm-bindgen-macro-support" -version = "0.2.78" +version = "0.2.84" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7803e0eea25835f8abdc585cd3021b3deb11543c6fe226dcd30b228857c5c5ab" +checksum = "2aff81306fcac3c7515ad4e177f521b5c9a15f2b08f4e32d823066102f35a5f6" dependencies = [ - "proc-macro2", - "quote", - "syn", + "proc-macro2 1.0.54", + "quote 1.0.26", + "syn 1.0.109", "wasm-bindgen-backend", "wasm-bindgen-shared", ] [[package]] name = "wasm-bindgen-shared" -version = "0.2.78" +version = "0.2.84" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0237232789cf037d5480773fe568aac745bfe2afbc11a863e97901780a6b47cc" +checksum = "0046fef7e28c3804e5e38bfa31ea2a0f73905319b677e57ebe37e49358989b5d" [[package]] name = "wasm-bindgen-test" -version = "0.3.28" +version = "0.3.34" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "96f1aa7971fdf61ef0f353602102dbea75a56e225ed036c1e3740564b91e6b7e" +checksum = "6db36fc0f9fb209e88fb3642590ae0205bb5a56216dabd963ba15879fe53a30b" dependencies = [ "console_error_panic_hook", "js-sys", @@ -4018,23 +3664,12 @@ dependencies = [ [[package]] name = "wasm-bindgen-test-macro" -version = "0.3.28" +version = "0.3.34" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6006f79628dfeb96a86d4db51fbf1344cd7fd8408f06fc9aa3c84913a4789688" +checksum = "0734759ae6b3b1717d661fe4f016efcfb9828f5edb4520c18eaee05af3b43be9" dependencies = [ - "proc-macro2", - "quote", -] - -[[package]] -name = "wasm-logger" -version = "0.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "074649a66bb306c8f2068c9016395fa65d8e08d2affcbf95acf3c24c3ab19718" -dependencies = [ - "log", - "wasm-bindgen", - "web-sys", + "proc-macro2 1.0.54", + "quote 1.0.26", ] [[package]] @@ -4045,27 +3680,27 @@ dependencies = [ "actix-multipart", "amazon-actor", "bincode", + "bitque-config", + "bitque-data", "common", "database-actor", "filesystem-actor", "futures", - "jirs-config", - "jirs-data", "libc", "mail-actor", "openssl-sys", "serde", - "tokio 0.2.25", + "tokio", "toml", - "uuid 0.8.2", + "uuid 1.3.0", "websocket-actor", ] [[package]] name = "web-sys" -version = "0.3.55" +version = "0.3.61" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "38eb105f1c59d9eaa6b5cdc92b859d85b926e82cb2e0945cd0c9259faa6fe9fb" +checksum = "e33b99f4b23ba3eec1a53ac264e35a755f00e966e0065077d6027c0f575b0b97" dependencies = [ "js-sys", "wasm-bindgen", @@ -4078,14 +3713,14 @@ dependencies = [ "actix", "async-trait", "bincode", + "bitque-config", + "bitque-data", "common", "comrak", "database-actor", "flate2", "futures", "highlight-actor", - "jirs-config", - "jirs-data", "lazy_static", "libc", "mail-actor", @@ -4093,7 +3728,7 @@ dependencies = [ "serde", "syntect", "toml", - "uuid 0.8.2", + "uuid 1.3.0", ] [[package]] @@ -4106,21 +3741,9 @@ dependencies = [ "libc", "memory_units", "spin", - "winapi 0.3.9", + "winapi", ] -[[package]] -name = "widestring" -version = "0.4.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c168940144dd21fd8046987c16a46a33d5fc84eec29ef9dcddc2ac9e31526b7c" - -[[package]] -name = "winapi" -version = "0.2.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "167dc9d6949a9b857f3451275e911c3f44255842c1f7a76f33c55103a909087a" - [[package]] name = "winapi" version = "0.3.9" @@ -4131,12 +3754,6 @@ dependencies = [ "winapi-x86_64-pc-windows-gnu", ] -[[package]] -name = "winapi-build" -version = "0.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2d315eee3b34aca4797b2da6b13ed88266e6d612562a0c46390af8299fc699bc" - [[package]] name = "winapi-i686-pc-windows-gnu" version = "0.4.0" @@ -4149,7 +3766,7 @@ version = "0.1.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "70ec6ce85bb158151cae5e5c87f95a8e97d2c0c4b001223f33a334e3ce5de178" dependencies = [ - "winapi 0.3.9", + "winapi", ] [[package]] @@ -4159,35 +3776,166 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" [[package]] -name = "winreg" -version = "0.6.2" +name = "windows" +version = "0.47.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b2986deb581c4fe11b621998a5e53361efe6b48a151178d0cd9eeffa4dc6acc9" +checksum = "2649ff315bee4c98757f15dac226efe3d81927adbb6e882084bb1ee3e0c330a7" dependencies = [ - "winapi 0.3.9", + "windows-targets 0.47.0", ] [[package]] -name = "ws2_32-sys" -version = "0.2.1" +name = "windows-sys" +version = "0.42.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d59cefebd0c892fa2dd6de581e937301d8552cb44489cdff035c6187cb63fa5e" +checksum = "5a3e1820f08b8513f676f7ab6c1f99ff312fb97b553d30ff4dd86f9f15728aa7" dependencies = [ - "winapi 0.2.8", - "winapi-build", + "windows_aarch64_gnullvm 0.42.2", + "windows_aarch64_msvc 0.42.2", + "windows_i686_gnu 0.42.2", + "windows_i686_msvc 0.42.2", + "windows_x86_64_gnu 0.42.2", + "windows_x86_64_gnullvm 0.42.2", + "windows_x86_64_msvc 0.42.2", ] [[package]] -name = "wyz" -version = "0.2.0" +name = "windows-sys" +version = "0.45.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "85e60b0d1b5f99db2556934e21937020776a5d31520bf169e851ac44e6420214" +checksum = "75283be5efb2831d37ea142365f009c02ec203cd29a3ebecbc093d52315b66d0" +dependencies = [ + "windows-targets 0.42.2", +] + +[[package]] +name = "windows-targets" +version = "0.42.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8e5180c00cd44c9b1c88adb3693291f1cd93605ded80c250a75d472756b4d071" +dependencies = [ + "windows_aarch64_gnullvm 0.42.2", + "windows_aarch64_msvc 0.42.2", + "windows_i686_gnu 0.42.2", + "windows_i686_msvc 0.42.2", + "windows_x86_64_gnu 0.42.2", + "windows_x86_64_gnullvm 0.42.2", + "windows_x86_64_msvc 0.42.2", +] + +[[package]] +name = "windows-targets" +version = "0.47.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2f8996d3f43b4b2d44327cd71b7b0efd1284ab60e6e9d0e8b630e18555d87d3e" +dependencies = [ + "windows_aarch64_gnullvm 0.47.0", + "windows_aarch64_msvc 0.47.0", + "windows_i686_gnu 0.47.0", + "windows_i686_msvc 0.47.0", + "windows_x86_64_gnu 0.47.0", + "windows_x86_64_gnullvm 0.47.0", + "windows_x86_64_msvc 0.47.0", +] + +[[package]] +name = "windows_aarch64_gnullvm" +version = "0.42.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "597a5118570b68bc08d8d59125332c54f1ba9d9adeedeef5b99b02ba2b0698f8" + +[[package]] +name = "windows_aarch64_gnullvm" +version = "0.47.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "831d567d53d4f3cb1db332b68e6e2b6260228eb4d99a777d8b2e8ed794027c90" + +[[package]] +name = "windows_aarch64_msvc" +version = "0.42.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e08e8864a60f06ef0d0ff4ba04124db8b0fb3be5776a5cd47641e942e58c4d43" + +[[package]] +name = "windows_aarch64_msvc" +version = "0.47.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6a42d54a417c60ce4f0e31661eed628f0fa5aca73448c093ec4d45fab4c51cdf" + +[[package]] +name = "windows_i686_gnu" +version = "0.42.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c61d927d8da41da96a81f029489353e68739737d3beca43145c8afec9a31a84f" + +[[package]] +name = "windows_i686_gnu" +version = "0.47.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c1925beafdbb22201a53a483db861a5644123157c1c3cee83323a2ed565d71e3" + +[[package]] +name = "windows_i686_msvc" +version = "0.42.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "44d840b6ec649f480a41c8d80f9c65108b92d89345dd94027bfe06ac444d1060" + +[[package]] +name = "windows_i686_msvc" +version = "0.47.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3a8ef8f2f1711b223947d9b69b596cf5a4e452c930fb58b6fc3fdae7d0ec6b31" + +[[package]] +name = "windows_x86_64_gnu" +version = "0.42.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8de912b8b8feb55c064867cf047dda097f92d51efad5b491dfb98f6bbb70cb36" + +[[package]] +name = "windows_x86_64_gnu" +version = "0.47.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7acaa0c2cf0d2ef99b61c308a0c3dbae430a51b7345dedec470bd8f53f5a3642" + +[[package]] +name = "windows_x86_64_gnullvm" +version = "0.42.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "26d41b46a36d453748aedef1486d5c7a85db22e56aff34643984ea85514e94a3" + +[[package]] +name = "windows_x86_64_gnullvm" +version = "0.47.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e5a0628f71be1d11e17ca4a0e9e15b3a5180f6fbf1c2d55e3ba3f850378052c1" + +[[package]] +name = "windows_x86_64_msvc" +version = "0.42.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9aec5da331524158c6d1a4ac0ab1541149c0b9505fde06423b02f5ef0106b9f0" + +[[package]] +name = "windows_x86_64_msvc" +version = "0.47.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9d6e62c256dc6d40b8c8707df17df8d774e60e39db723675241e7c15e910bce7" + +[[package]] +name = "winnow" +version = "0.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ae8970b36c66498d8ff1d66685dc86b91b29db0c7739899012f63a63814b4b28" +dependencies = [ + "memchr", +] [[package]] name = "xdg" -version = "2.3.0" +version = "2.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "de4cfc7dc9727713f386aadce9496f1ed64ea368d9f1f813a54d0f98f8741286" +checksum = "0c4583db5cbd4c4c0303df2d15af80f0539db703fa1c68802d4cbbd2dd0f88f6" dependencies = [ "dirs", ] @@ -4209,6 +3957,6 @@ dependencies = [ [[package]] name = "zeroize" -version = "1.4.2" +version = "1.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bf68b08513768deaa790264a7fac27a58cbf2705cfcdc9448362229217d7e970" +checksum = "2a0956f1ba7c7909bfb66c2e9e4124ab6f6482560f6628b5aaeba39207c9aad9" diff --git a/Cargo.toml b/Cargo.toml index 11e7483c..9e72e539 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,31 +1,49 @@ #[package] -#name = "jirs" +#name = "bitque" #version = "0.1.0" #authors = ["Adrian Wozniak "] #edition = "2018" #description = "JIRS (Simplified JIRA in Rust)" -#repository = "https://gitlab.com/adrian.wozniak/jirs" +#repository = "https://gitlab.com/adrian.wozniak/bitque" #license = "MPL-2.0" #license-file = "./LICENSE" [workspace] members = [ - "./shared/common", - "./jirs-cli", - "./jirs-server", - "./shared/jirs-config", - "./shared/jirs-data", - "./derive/derive_enum_iter", - "./derive/derive_enum_primitive", - "./derive/derive_enum_sql", - "./derive/derive_db_execute", - "./actors/highlight-actor", - "./actors/database-actor", - "./actors/web-actor", - "./actors/websocket-actor", - "./actors/mail-actor", - "./actors/amazon-actor", - "./actors/filesystem-actor", + "./crates/common", + "./crates/bitque-cli", + "./crates/bitque-server", + "./crates/bitque-config", + "./crates/bitque-data", + "./crates/derive_enum_iter", + "./crates/derive_enum_primitive", + "./crates/derive_enum_sql", + "./crates/derive_db_execute", + "./crates/highlight-actor", + "./crates/database-actor", + "./crates/web-actor", + "./crates/websocket-actor", + "./crates/mail-actor", + "./crates/amazon-actor", + "./crates/filesystem-actor", # Client - "./web" + "./crates/web" ] + +[workspace.dependencies] +common = { path = "./crates/common" } +bitque-cli = { path = "./crates/bitque-cli" } +bitque-server = { path = "./crates/bitque-server" } +bitque-config = { path = "./crates/bitque-config" } +bitque-data = { path = "./crates/bitque-data" } +derive_enum_iter = { path = "./crates/derive_enum_iter" } +derive_enum_primitive = { path = "./crates/derive_enum_primitive" } +derive_enum_sql = { path = "./crates/derive_enum_sql" } +derive_db_execute = { path = "./crates/derive_db_execute" } +highlight-actor = { path = "./crates/highlight-actor" } +database-actor = { path = "./crates/database-actor" } +web-actor = { path = "./crates/web-actor" } +websocket-actor = { path = "./crates/websocket-actor" } +mail-actor = { path = "./crates/mail-actor" } +amazon-actor = { path = "./crates/amazon-actor" } +filesystem-actor = { path = "./crates/filesystem-actor" } diff --git a/Dockerfile.build b/Dockerfile.build index d5f95801..8e3cc6c3 100644 --- a/Dockerfile.build +++ b/Dockerfile.build @@ -9,7 +9,7 @@ RUN . $HOME/.cargo/env && \ RUN ls -al /app CMD . $HOME/.cargo/env && \ - cd ./jirs-server && \ - rm -Rf ./target/debug/jirs_server && \ - cargo build --bin jirs_server --release --no-default-features --features local-storage && \ - cp /app/target/release/jirs_server /app/build/ + cd ./bitque-server && \ + rm -Rf ./target/debug/bitque_server && \ + cargo build --bin bitque_server --release --no-default-features --features local-storage && \ + cp /app/target/release/bitque_server /app/build/ diff --git a/README.md b/README.md index 2e94e71a..67b612c4 100644 --- a/README.md +++ b/README.md @@ -1,13 +1,13 @@ # A simplified Jira clone built with seed.rs and actix -![JIRS](https://raw.githubusercontent.com/Eraden/jirs/master/web/static/project-icon.svg) +![JIRS](https://raw.githubusercontent.com/Eraden/bitque/master/web/static/project-icon.svg) -Server: [![builds.sr.ht status](https://builds.sr.ht/~tsumanu/jirs/server.yml.svg)](https://builds.sr.ht/~tsumanu/jirs/server.yml?) -Client: [![builds.sr.ht status](https://builds.sr.ht/~tsumanu/jirs/client.yml.svg)](https://builds.sr.ht/~tsumanu/jirs/client.yml?) +Server: [![builds.sr.ht status](https://builds.sr.ht/~tsumanu/bitque/server.yml.svg)](https://builds.sr.ht/~tsumanu/bitque/server.yml?) +Client: [![builds.sr.ht status](https://builds.sr.ht/~tsumanu/bitque/client.yml.svg)](https://builds.sr.ht/~tsumanu/bitque/client.yml?) -Main repo: https://git.sr.ht/~tsumanu/jirs +Main repo: https://git.sr.ht/~tsumanu/bitque -Demo: https://jirs.ita-prog.pl +Demo: https://bitque.ita-prog.pl ## Features @@ -101,7 +101,7 @@ This requires additional configuration. ```toml [filesystem] -store_path = "/var/jirs/uploads" +store_path = "/var/bitque/uploads" client_path = "/img" ``` @@ -128,7 +128,7 @@ region_name = "eu-central-1" ```toml # db.toml concurrency = 2 -database_url = "postgres://postgres@localhost:5432/jirs" +database_url = "postgres://postgres@localhost:5432/bitque" ``` #### Mail Service @@ -141,15 +141,15 @@ concurrency = 2 user = "apikey" pass = "YOUR-TOKEN" host = "smtp.sendgrid.net" -from = "contact@jirs.pl" +from = "contact@bitque.pl" ``` ### Local variables -Within `jirs` directory place `.env` file with following content +Within `bitque` directory place `.env` file with following content ```dotenv -DATABASE_URL=postgres://postgres@localhost:5432/jirs +DATABASE_URL=postgres://postgres@localhost:5432/bitque RUST_LOG=actix_web=info,diesel=info JIRS_CLIENT_PORT=7000 JIRS_CLIENT_BIND=0.0.0.0 @@ -170,23 +170,23 @@ Requirements: ```bash cargo install diesel_cli --no-default-features --features postgres -export DATABASE_URL=postgres://postgres@localhost/jirs +export DATABASE_URL=postgres://postgres@localhost/bitque diesel setup diesel migration run -cargo run --bin jirs_server +cargo run --bin bitque_server ``` ### Frontend ```bash curl https://rustwasm.github.io/wasm-pack/installer/init.sh -sSf | sh -cd jirs_client +cd bitque_client ./web/scripts/prod.sh ``` ```bash -sudo ln -s ./jirs.nginx /etc/nginx/sites-enabled/ +sudo ln -s ./bitque.nginx /etc/nginx/sites-enabled/ sudo nginx -s reload ``` @@ -204,10 +204,10 @@ Custom element glued with WASM * `lang` does not have callback and it's used only on `connectedCallback` ```html - + struct Foo { } - + ``` ### Supported languages @@ -349,3 +349,11 @@ struct Foo { * lrc * reStructuredText * srt + +## Utils + +```bash +cargo install --locked --git https://github.com/dcchut/cargo-derivefmt --bin cargo-derivefmt +cargo install carto-sort +cargo install cargo-llvm-cov +``` diff --git a/actors/amazon-actor/Cargo.toml b/actors/amazon-actor/Cargo.toml deleted file mode 100644 index c8ed9ccf..00000000 --- a/actors/amazon-actor/Cargo.toml +++ /dev/null @@ -1,44 +0,0 @@ -[package] -name = "amazon-actor" -version = "0.1.0" -authors = ["Adrian Wozniak "] -edition = "2018" -description = "JIRS (Simplified JIRA in Rust) shared data types" -repository = "https://gitlab.com/adrian.wozniak/jirs" -license = "MPL-2.0" -#license-file = "../LICENSE" - -[lib] -name = "amazon_actor" -path = "./src/lib.rs" - -[dependencies] -common = { path = "../../shared/common" } -actix = { version = "0.10.0" } -bytes = { version = "1.0.0" } - -serde = { version = "*" } - -futures = { version = "0.3.8" } -openssl-sys = { version = "*", features = ["vendored"] } -libc = { version = "0.2.0", default-features = false } - -uuid = { version = "0.8.2", features = ["serde", "v4", "v5"] } - -[dependencies.jirs-config] -path = "../../shared/jirs-config" -features = ["mail", "web", "local-storage"] - -# Amazon S3 -[dependencies.rusoto_s3] -version = "0.47.0" - -[dependencies.rusoto_core] -version = "0.47.0" - -[dependencies.rusoto_signature] -version = "0.47.0" - -[dependencies.tokio] -version = "0.2.23" -features = ["tcp", "time", "rt-core", "fs"] diff --git a/actors/database-actor/src/schema.rs b/actors/database-actor/src/schema.rs deleted file mode 100644 index f2b4a709..00000000 --- a/actors/database-actor/src/schema.rs +++ /dev/null @@ -1,730 +0,0 @@ -#![allow(unused_imports, dead_code)] - -table! { - use diesel::sql_types::*; - use jirs_data::*; - - /// Representation of the `comments` table. - /// - /// (Automatically generated by Diesel.) - comments (id) { - /// The `id` column of the `comments` table. - /// - /// Its SQL type is `Int4`. - /// - /// (Automatically generated by Diesel.) - id -> Int4, - /// The `body` column of the `comments` table. - /// - /// Its SQL type is `Text`. - /// - /// (Automatically generated by Diesel.) - body -> Text, - /// The `user_id` column of the `comments` table. - /// - /// Its SQL type is `Int4`. - /// - /// (Automatically generated by Diesel.) - user_id -> Int4, - /// The `issue_id` column of the `comments` table. - /// - /// Its SQL type is `Int4`. - /// - /// (Automatically generated by Diesel.) - issue_id -> Int4, - /// The `created_at` column of the `comments` table. - /// - /// Its SQL type is `Timestamp`. - /// - /// (Automatically generated by Diesel.) - created_at -> Timestamp, - /// The `updated_at` column of the `comments` table. - /// - /// Its SQL type is `Timestamp`. - /// - /// (Automatically generated by Diesel.) - updated_at -> Timestamp, - } -} - -table! { - use diesel::sql_types::*; - use jirs_data::*; - - /// Representation of the `epics` table. - /// - /// (Automatically generated by Diesel.) - epics (id) { - /// The `id` column of the `epics` table. - /// - /// Its SQL type is `Int4`. - /// - /// (Automatically generated by Diesel.) - id -> Int4, - /// The `name` column of the `epics` table. - /// - /// Its SQL type is `Text`. - /// - /// (Automatically generated by Diesel.) - name -> Text, - /// The `user_id` column of the `epics` table. - /// - /// Its SQL type is `Int4`. - /// - /// (Automatically generated by Diesel.) - user_id -> Int4, - /// The `project_id` column of the `epics` table. - /// - /// Its SQL type is `Int4`. - /// - /// (Automatically generated by Diesel.) - project_id -> Int4, - /// The `created_at` column of the `epics` table. - /// - /// Its SQL type is `Timestamp`. - /// - /// (Automatically generated by Diesel.) - created_at -> Timestamp, - /// The `updated_at` column of the `epics` table. - /// - /// Its SQL type is `Timestamp`. - /// - /// (Automatically generated by Diesel.) - updated_at -> Timestamp, - /// The `starts_at` column of the `epics` table. - /// - /// Its SQL type is `Nullable`. - /// - /// (Automatically generated by Diesel.) - starts_at -> Nullable, - /// The `ends_at` column of the `epics` table. - /// - /// Its SQL type is `Nullable`. - /// - /// (Automatically generated by Diesel.) - ends_at -> Nullable, - /// The `description` column of the `epics` table. - /// - /// Its SQL type is `Nullable`. - /// - /// (Automatically generated by Diesel.) - description -> Nullable, - /// The `description_html` column of the `epics` table. - /// - /// Its SQL type is `Nullable`. - /// - /// (Automatically generated by Diesel.) - description_html -> Nullable, - } -} - -table! { - use diesel::sql_types::*; - use jirs_data::*; - - /// Representation of the `invitations` table. - /// - /// (Automatically generated by Diesel.) - invitations (id) { - /// The `id` column of the `invitations` table. - /// - /// Its SQL type is `Int4`. - /// - /// (Automatically generated by Diesel.) - id -> Int4, - /// The `name` column of the `invitations` table. - /// - /// Its SQL type is `Text`. - /// - /// (Automatically generated by Diesel.) - name -> Text, - /// The `email` column of the `invitations` table. - /// - /// Its SQL type is `Text`. - /// - /// (Automatically generated by Diesel.) - email -> Text, - /// The `state` column of the `invitations` table. - /// - /// Its SQL type is `InvitationStateType`. - /// - /// (Automatically generated by Diesel.) - state -> InvitationStateType, - /// The `project_id` column of the `invitations` table. - /// - /// Its SQL type is `Int4`. - /// - /// (Automatically generated by Diesel.) - project_id -> Int4, - /// The `invited_by_id` column of the `invitations` table. - /// - /// Its SQL type is `Int4`. - /// - /// (Automatically generated by Diesel.) - invited_by_id -> Int4, - /// The `created_at` column of the `invitations` table. - /// - /// Its SQL type is `Timestamp`. - /// - /// (Automatically generated by Diesel.) - created_at -> Timestamp, - /// The `updated_at` column of the `invitations` table. - /// - /// Its SQL type is `Timestamp`. - /// - /// (Automatically generated by Diesel.) - updated_at -> Timestamp, - /// The `bind_token` column of the `invitations` table. - /// - /// Its SQL type is `Uuid`. - /// - /// (Automatically generated by Diesel.) - bind_token -> Uuid, - /// The `role` column of the `invitations` table. - /// - /// Its SQL type is `UserRoleType`. - /// - /// (Automatically generated by Diesel.) - role -> UserRoleType, - } -} - -table! { - use diesel::sql_types::*; - use jirs_data::*; - - /// Representation of the `issue_assignees` table. - /// - /// (Automatically generated by Diesel.) - issue_assignees (id) { - /// The `id` column of the `issue_assignees` table. - /// - /// Its SQL type is `Int4`. - /// - /// (Automatically generated by Diesel.) - id -> Int4, - /// The `issue_id` column of the `issue_assignees` table. - /// - /// Its SQL type is `Int4`. - /// - /// (Automatically generated by Diesel.) - issue_id -> Int4, - /// The `user_id` column of the `issue_assignees` table. - /// - /// Its SQL type is `Int4`. - /// - /// (Automatically generated by Diesel.) - user_id -> Int4, - /// The `created_at` column of the `issue_assignees` table. - /// - /// Its SQL type is `Timestamp`. - /// - /// (Automatically generated by Diesel.) - created_at -> Timestamp, - /// The `updated_at` column of the `issue_assignees` table. - /// - /// Its SQL type is `Timestamp`. - /// - /// (Automatically generated by Diesel.) - updated_at -> Timestamp, - } -} - -table! { - use diesel::sql_types::*; - use jirs_data::*; - - /// Representation of the `issue_statuses` table. - /// - /// (Automatically generated by Diesel.) - issue_statuses (id) { - /// The `id` column of the `issue_statuses` table. - /// - /// Its SQL type is `Int4`. - /// - /// (Automatically generated by Diesel.) - id -> Int4, - /// The `name` column of the `issue_statuses` table. - /// - /// Its SQL type is `Varchar`. - /// - /// (Automatically generated by Diesel.) - name -> Varchar, - /// The `position` column of the `issue_statuses` table. - /// - /// Its SQL type is `Int4`. - /// - /// (Automatically generated by Diesel.) - position -> Int4, - /// The `project_id` column of the `issue_statuses` table. - /// - /// Its SQL type is `Int4`. - /// - /// (Automatically generated by Diesel.) - project_id -> Int4, - /// The `created_at` column of the `issue_statuses` table. - /// - /// Its SQL type is `Timestamp`. - /// - /// (Automatically generated by Diesel.) - created_at -> Timestamp, - /// The `updated_at` column of the `issue_statuses` table. - /// - /// Its SQL type is `Timestamp`. - /// - /// (Automatically generated by Diesel.) - updated_at -> Timestamp, - } -} - -table! { - use diesel::sql_types::*; - use jirs_data::*; - - /// Representation of the `issues` table. - /// - /// (Automatically generated by Diesel.) - issues (id) { - /// The `id` column of the `issues` table. - /// - /// Its SQL type is `Int4`. - /// - /// (Automatically generated by Diesel.) - id -> Int4, - /// The `title` column of the `issues` table. - /// - /// Its SQL type is `Text`. - /// - /// (Automatically generated by Diesel.) - title -> Text, - /// The `issue_type` column of the `issues` table. - /// - /// Its SQL type is `IssueTypeType`. - /// - /// (Automatically generated by Diesel.) - issue_type -> IssueTypeType, - /// The `priority` column of the `issues` table. - /// - /// Its SQL type is `IssuePriorityType`. - /// - /// (Automatically generated by Diesel.) - priority -> IssuePriorityType, - /// The `list_position` column of the `issues` table. - /// - /// Its SQL type is `Int4`. - /// - /// (Automatically generated by Diesel.) - list_position -> Int4, - /// The `description` column of the `issues` table. - /// - /// Its SQL type is `Nullable`. - /// - /// (Automatically generated by Diesel.) - description -> Nullable, - /// The `description_text` column of the `issues` table. - /// - /// Its SQL type is `Nullable`. - /// - /// (Automatically generated by Diesel.) - description_text -> Nullable, - /// The `estimate` column of the `issues` table. - /// - /// Its SQL type is `Nullable`. - /// - /// (Automatically generated by Diesel.) - estimate -> Nullable, - /// The `time_spent` column of the `issues` table. - /// - /// Its SQL type is `Nullable`. - /// - /// (Automatically generated by Diesel.) - time_spent -> Nullable, - /// The `time_remaining` column of the `issues` table. - /// - /// Its SQL type is `Nullable`. - /// - /// (Automatically generated by Diesel.) - time_remaining -> Nullable, - /// The `reporter_id` column of the `issues` table. - /// - /// Its SQL type is `Int4`. - /// - /// (Automatically generated by Diesel.) - reporter_id -> Int4, - /// The `project_id` column of the `issues` table. - /// - /// Its SQL type is `Int4`. - /// - /// (Automatically generated by Diesel.) - project_id -> Int4, - /// The `created_at` column of the `issues` table. - /// - /// Its SQL type is `Timestamp`. - /// - /// (Automatically generated by Diesel.) - created_at -> Timestamp, - /// The `updated_at` column of the `issues` table. - /// - /// Its SQL type is `Timestamp`. - /// - /// (Automatically generated by Diesel.) - updated_at -> Timestamp, - /// The `issue_status_id` column of the `issues` table. - /// - /// Its SQL type is `Int4`. - /// - /// (Automatically generated by Diesel.) - issue_status_id -> Int4, - /// The `epic_id` column of the `issues` table. - /// - /// Its SQL type is `Nullable`. - /// - /// (Automatically generated by Diesel.) - epic_id -> Nullable, - } -} - -table! { - use diesel::sql_types::*; - use jirs_data::*; - - /// Representation of the `messages` table. - /// - /// (Automatically generated by Diesel.) - messages (id) { - /// The `id` column of the `messages` table. - /// - /// Its SQL type is `Int4`. - /// - /// (Automatically generated by Diesel.) - id -> Int4, - /// The `receiver_id` column of the `messages` table. - /// - /// Its SQL type is `Int4`. - /// - /// (Automatically generated by Diesel.) - receiver_id -> Int4, - /// The `sender_id` column of the `messages` table. - /// - /// Its SQL type is `Int4`. - /// - /// (Automatically generated by Diesel.) - sender_id -> Int4, - /// The `summary` column of the `messages` table. - /// - /// Its SQL type is `Text`. - /// - /// (Automatically generated by Diesel.) - summary -> Text, - /// The `description` column of the `messages` table. - /// - /// Its SQL type is `Text`. - /// - /// (Automatically generated by Diesel.) - description -> Text, - /// The `message_type` column of the `messages` table. - /// - /// Its SQL type is `MessageTypeType`. - /// - /// (Automatically generated by Diesel.) - message_type -> MessageTypeType, - /// The `hyper_link` column of the `messages` table. - /// - /// Its SQL type is `Text`. - /// - /// (Automatically generated by Diesel.) - hyper_link -> Text, - /// The `created_at` column of the `messages` table. - /// - /// Its SQL type is `Timestamp`. - /// - /// (Automatically generated by Diesel.) - created_at -> Timestamp, - /// The `updated_at` column of the `messages` table. - /// - /// Its SQL type is `Timestamp`. - /// - /// (Automatically generated by Diesel.) - updated_at -> Timestamp, - } -} - -table! { - use diesel::sql_types::*; - use jirs_data::*; - - /// Representation of the `projects` table. - /// - /// (Automatically generated by Diesel.) - projects (id) { - /// The `id` column of the `projects` table. - /// - /// Its SQL type is `Int4`. - /// - /// (Automatically generated by Diesel.) - id -> Int4, - /// The `name` column of the `projects` table. - /// - /// Its SQL type is `Text`. - /// - /// (Automatically generated by Diesel.) - name -> Text, - /// The `url` column of the `projects` table. - /// - /// Its SQL type is `Text`. - /// - /// (Automatically generated by Diesel.) - url -> Text, - /// The `description` column of the `projects` table. - /// - /// Its SQL type is `Text`. - /// - /// (Automatically generated by Diesel.) - description -> Text, - /// The `category` column of the `projects` table. - /// - /// Its SQL type is `ProjectCategoryType`. - /// - /// (Automatically generated by Diesel.) - category -> ProjectCategoryType, - /// The `created_at` column of the `projects` table. - /// - /// Its SQL type is `Timestamp`. - /// - /// (Automatically generated by Diesel.) - created_at -> Timestamp, - /// The `updated_at` column of the `projects` table. - /// - /// Its SQL type is `Timestamp`. - /// - /// (Automatically generated by Diesel.) - updated_at -> Timestamp, - /// The `time_tracking` column of the `projects` table. - /// - /// Its SQL type is `TimeTrackingType`. - /// - /// (Automatically generated by Diesel.) - time_tracking -> TimeTrackingType, - } -} - -table! { - use diesel::sql_types::*; - use jirs_data::*; - - /// Representation of the `tokens` table. - /// - /// (Automatically generated by Diesel.) - tokens (id) { - /// The `id` column of the `tokens` table. - /// - /// Its SQL type is `Int4`. - /// - /// (Automatically generated by Diesel.) - id -> Int4, - /// The `user_id` column of the `tokens` table. - /// - /// Its SQL type is `Int4`. - /// - /// (Automatically generated by Diesel.) - user_id -> Int4, - /// The `access_token` column of the `tokens` table. - /// - /// Its SQL type is `Uuid`. - /// - /// (Automatically generated by Diesel.) - access_token -> Uuid, - /// The `refresh_token` column of the `tokens` table. - /// - /// Its SQL type is `Uuid`. - /// - /// (Automatically generated by Diesel.) - refresh_token -> Uuid, - /// The `created_at` column of the `tokens` table. - /// - /// Its SQL type is `Timestamp`. - /// - /// (Automatically generated by Diesel.) - created_at -> Timestamp, - /// The `updated_at` column of the `tokens` table. - /// - /// Its SQL type is `Timestamp`. - /// - /// (Automatically generated by Diesel.) - updated_at -> Timestamp, - /// The `bind_token` column of the `tokens` table. - /// - /// Its SQL type is `Nullable`. - /// - /// (Automatically generated by Diesel.) - bind_token -> Nullable, - } -} - -table! { - use diesel::sql_types::*; - use jirs_data::*; - - /// Representation of the `user_projects` table. - /// - /// (Automatically generated by Diesel.) - user_projects (id) { - /// The `id` column of the `user_projects` table. - /// - /// Its SQL type is `Int4`. - /// - /// (Automatically generated by Diesel.) - id -> Int4, - /// The `user_id` column of the `user_projects` table. - /// - /// Its SQL type is `Int4`. - /// - /// (Automatically generated by Diesel.) - user_id -> Int4, - /// The `project_id` column of the `user_projects` table. - /// - /// Its SQL type is `Int4`. - /// - /// (Automatically generated by Diesel.) - project_id -> Int4, - /// The `is_default` column of the `user_projects` table. - /// - /// Its SQL type is `Bool`. - /// - /// (Automatically generated by Diesel.) - is_default -> Bool, - /// The `is_current` column of the `user_projects` table. - /// - /// Its SQL type is `Bool`. - /// - /// (Automatically generated by Diesel.) - is_current -> Bool, - /// The `role` column of the `user_projects` table. - /// - /// Its SQL type is `UserRoleType`. - /// - /// (Automatically generated by Diesel.) - role -> UserRoleType, - /// The `created_at` column of the `user_projects` table. - /// - /// Its SQL type is `Timestamp`. - /// - /// (Automatically generated by Diesel.) - created_at -> Timestamp, - /// The `updated_at` column of the `user_projects` table. - /// - /// Its SQL type is `Timestamp`. - /// - /// (Automatically generated by Diesel.) - updated_at -> Timestamp, - } -} - -table! { - use diesel::sql_types::*; - use jirs_data::*; - - /// Representation of the `user_settings` table. - /// - /// (Automatically generated by Diesel.) - user_settings (id) { - /// The `id` column of the `user_settings` table. - /// - /// Its SQL type is `Int4`. - /// - /// (Automatically generated by Diesel.) - id -> Int4, - /// The `user_id` column of the `user_settings` table. - /// - /// Its SQL type is `Int4`. - /// - /// (Automatically generated by Diesel.) - user_id -> Int4, - /// The `text_editor_mode` column of the `user_settings` table. - /// - /// Its SQL type is `TextEditorModeType`. - /// - /// (Automatically generated by Diesel.) - text_editor_mode -> TextEditorModeType, - } -} - -table! { - use diesel::sql_types::*; - use jirs_data::*; - - /// Representation of the `users` table. - /// - /// (Automatically generated by Diesel.) - users (id) { - /// The `id` column of the `users` table. - /// - /// Its SQL type is `Int4`. - /// - /// (Automatically generated by Diesel.) - id -> Int4, - /// The `name` column of the `users` table. - /// - /// Its SQL type is `Text`. - /// - /// (Automatically generated by Diesel.) - name -> Text, - /// The `email` column of the `users` table. - /// - /// Its SQL type is `Text`. - /// - /// (Automatically generated by Diesel.) - email -> Text, - /// The `avatar_url` column of the `users` table. - /// - /// Its SQL type is `Nullable`. - /// - /// (Automatically generated by Diesel.) - avatar_url -> Nullable, - /// The `created_at` column of the `users` table. - /// - /// Its SQL type is `Timestamp`. - /// - /// (Automatically generated by Diesel.) - created_at -> Timestamp, - /// The `updated_at` column of the `users` table. - /// - /// Its SQL type is `Timestamp`. - /// - /// (Automatically generated by Diesel.) - updated_at -> Timestamp, - } -} - -joinable!(comments -> issues (issue_id)); -joinable!(comments -> users (user_id)); -joinable!(epics -> projects (project_id)); -joinable!(epics -> users (user_id)); -joinable!(invitations -> projects (project_id)); -joinable!(invitations -> users (invited_by_id)); -joinable!(issue_assignees -> issues (issue_id)); -joinable!(issue_assignees -> users (user_id)); -joinable!(issue_statuses -> projects (project_id)); -joinable!(issues -> epics (epic_id)); -joinable!(issues -> issue_statuses (issue_status_id)); -joinable!(issues -> projects (project_id)); -joinable!(issues -> users (reporter_id)); -joinable!(tokens -> users (user_id)); -joinable!(user_projects -> projects (project_id)); -joinable!(user_projects -> users (user_id)); -joinable!(user_settings -> users (user_id)); - -allow_tables_to_appear_in_same_query!( - comments, - epics, - invitations, - issue_assignees, - issue_statuses, - issues, - messages, - projects, - tokens, - user_projects, - user_settings, - users, -); diff --git a/actors/web-actor/Cargo.toml b/actors/web-actor/Cargo.toml deleted file mode 100644 index f968d51d..00000000 --- a/actors/web-actor/Cargo.toml +++ /dev/null @@ -1,63 +0,0 @@ -[package] -name = "web-actor" -version = "0.1.0" -authors = ["Adrian Wozniak "] -edition = "2018" -description = "JIRS (Simplified JIRA in Rust) shared data types" -repository = "https://gitlab.com/adrian.wozniak/jirs" -license = "MPL-2.0" -#license-file = "../LICENSE" - -[lib] -name = "web_actor" -path = "./src/lib.rs" - -[features] -local-storage = ["filesystem-actor"] -aws-s3 = ["amazon-actor"] -default = ["local-storage"] - -[dependencies] -common = { path = "../../shared/common" } -actix = { version = "0.10.0" } - -serde = "*" -bincode = "*" -toml = { version = "*" } - -actix-multipart = "*" - -futures = { version = "0.3.8" } -openssl-sys = { version = "*", features = ["vendored"] } -libc = { version = "0.2.0", default-features = false } - -uuid = { version = "0.8.2", features = ["serde", "v4", "v5"] } - -[dependencies.jirs-config] -path = "../../shared/jirs-config" -features = ["mail", "web", "local-storage"] - -[dependencies.jirs-data] -path = "../../shared/jirs-data" -features = ["backend"] - -[dependencies.database-actor] -path = "../database-actor" - -[dependencies.mail-actor] -path = "../mail-actor" - -[dependencies.websocket-actor] -path = "../websocket-actor" - -[dependencies.filesystem-actor] -path = "../filesystem-actor" -optional = true - -[dependencies.amazon-actor] -path = "../amazon-actor" -optional = true - -[dependencies.tokio] -version = "0.2.23" -features = ["dns"] diff --git a/crates/amazon-actor/Cargo.toml b/crates/amazon-actor/Cargo.toml new file mode 100644 index 00000000..a33cb5fb --- /dev/null +++ b/crates/amazon-actor/Cargo.toml @@ -0,0 +1,28 @@ +[package] +name = "amazon-actor" +version = "0.1.0" +authors = ["Adrian Wozniak "] +edition = "2018" +description = "JIRS (Simplified JIRA in Rust) shared data types" +repository = "https://gitlab.com/adrian.wozniak/bitque" +license = "MPL-2.0" +#license-file = "../LICENSE" + +[lib] +name = "amazon_actor" +path = "./src/lib.rs" + +[dependencies] +actix = { version = "0.13.0" } +bitque-config = { workspace = true, features = ["mail", "web", "local-storage"] } +bytes = { version = "1.0.0" } +common = { workspace = true } +futures = { version = "0.3.8" } +libc = { version = "0.2.0", default-features = false } +openssl-sys = { version = "*", features = ["vendored"] } +rusoto_core = { version = "0.48.0" } +rusoto_s3 = { version = "0.48.0" } +rusoto_signature = { version = "0.48.0" } +serde = { version = "*" } +tokio = { version = "1", features = ["full"] } +uuid = { version = "1.3.0", features = ["serde", "v4", "v5"] } diff --git a/actors/amazon-actor/src/lib.rs b/crates/amazon-actor/src/lib.rs similarity index 88% rename from actors/amazon-actor/src/lib.rs rename to crates/amazon-actor/src/lib.rs index c0415a10..76f2f583 100644 --- a/actors/amazon-actor/src/lib.rs +++ b/crates/amazon-actor/src/lib.rs @@ -34,13 +34,13 @@ impl actix::Handler for AmazonExecutor { mut source, file_name, } = msg; - jirs_config::amazon::config().set_variables(); + bitque_config::amazon::config().set_variables(); tokio::runtime::Runtime::new() .expect("Failed to start amazon agent") .block_on(async { - let s3 = jirs_config::amazon::config(); - common::log::debug!("{:?}", s3); + let s3 = bitque_config::amazon::config(); + ::tracing::debug!("{:?}", s3); // TODO: Unable to upload as stream because there is no size_hint // let stream = source @@ -67,18 +67,18 @@ impl actix::Handler for AmazonExecutor { let id = match client.put_object(put_object).await { Ok(obj) => obj, Err(e) => { - common::log::error!("{}", e); + ::tracing::error!("{}", e); return Err(AmazonError::UploadFailed); } }; - common::log::debug!("{:?}", id); + ::tracing::debug!("{:?}", id); Ok(aws_s3_url(file_name.as_str())) }) } } fn aws_s3_url(key: &str) -> String { - let config = jirs_config::amazon::config(); + let config = bitque_config::amazon::config(); format!( "https://{bucket}.s3.{region}.amazonaws.com/{key}", bucket = config.bucket, diff --git a/crates/bitque-cli/Cargo.toml b/crates/bitque-cli/Cargo.toml new file mode 100644 index 00000000..63b081b9 --- /dev/null +++ b/crates/bitque-cli/Cargo.toml @@ -0,0 +1,12 @@ +[package] +name = "bitquec" +version = "0.1.0" +authors = ["Adrian Wozniak "] +edition = "2018" + +[dependencies] +actix = { version = "0.13.0" } +clap = { version = "4.1.13" } +common = { workspace = true } +termion = { version = "*" } +tui = { version = "0.19.0", features = ["termion"] } diff --git a/jirs-cli/src/main.rs b/crates/bitque-cli/src/main.rs similarity index 99% rename from jirs-cli/src/main.rs rename to crates/bitque-cli/src/main.rs index 4dbc4358..1bcaecd0 100644 --- a/jirs-cli/src/main.rs +++ b/crates/bitque-cli/src/main.rs @@ -14,7 +14,7 @@ use tui::style::{Color, Style}; use tui::widgets::{Block, Borders, Tabs}; use tui::Terminal; -#[derive(Debug, Clone, Copy)] +#[derive(Clone, Copy, Debug)] pub struct Config { pub exit_key: Key, pub tick_rate: Duration, diff --git a/shared/jirs-config/Cargo.toml b/crates/bitque-config/Cargo.toml similarity index 64% rename from shared/jirs-config/Cargo.toml rename to crates/bitque-config/Cargo.toml index 7deffa41..c2a3f335 100644 --- a/shared/jirs-config/Cargo.toml +++ b/crates/bitque-config/Cargo.toml @@ -1,15 +1,15 @@ [package] -name = "jirs-config" +name = "bitque-config" version = "0.1.0" authors = ["Adrian Wozniak "] edition = "2018" description = "JIRS (Simplified JIRA in Rust) shared data types" -repository = "https://gitlab.com/adrian.wozniak/jirs" +repository = "https://gitlab.com/adrian.wozniak/bitque" license = "MPL-2.0" #license-file = "../LICENSE" [lib] -name = "jirs_config" +name = "bitque_config" path = "./src/lib.rs" [features] @@ -23,18 +23,8 @@ websocket = [] default = ["local-storage", "database", "hi", "mail", "web", "websocket"] [dependencies] +rusoto_core = { optional = true, version = "0.48.0" } +rusoto_s3 = { optional = true, version = "0.48.0" } +rusoto_signature = { optional = true, version = "0.48.0" } serde = { version = "*" } toml = { version = "*" } - -# Amazon S3 -[dependencies.rusoto_s3] -optional = true -version = "0.47.0" - -[dependencies.rusoto_core] -optional = true -version = "0.47.0" - -[dependencies.rusoto_signature] -optional = true -version = "0.47.0" diff --git a/shared/jirs-config/src/amazon.rs b/crates/bitque-config/src/amazon.rs similarity index 97% rename from shared/jirs-config/src/amazon.rs rename to crates/bitque-config/src/amazon.rs index 43ef6030..2f33439c 100644 --- a/shared/jirs-config/src/amazon.rs +++ b/crates/bitque-config/src/amazon.rs @@ -1,7 +1,7 @@ use rusoto_signature::Region; use serde::{Deserialize, Serialize}; -#[derive(Serialize, Deserialize, Debug)] +#[derive(Debug, Deserialize, Serialize)] pub struct Configuration { pub access_key_id: String, pub secret_access_key: String, diff --git a/shared/jirs-config/src/database.rs b/crates/bitque-config/src/database.rs similarity index 76% rename from shared/jirs-config/src/database.rs rename to crates/bitque-config/src/database.rs index a4bbfa60..aff2a359 100644 --- a/shared/jirs-config/src/database.rs +++ b/crates/bitque-config/src/database.rs @@ -1,4 +1,4 @@ -#[derive(serde::Serialize, serde::Deserialize)] +#[derive(serde::Deserialize, serde::Serialize)] pub struct Configuration { pub concurrency: usize, pub database_url: String, @@ -7,10 +7,10 @@ pub struct Configuration { impl Default for Configuration { fn default() -> Self { let database_url = if cfg!(test) { - "postgres://postgres@localhost:5432/jirs_test".to_string() + "postgres://postgres@localhost:5432/bitque_test".to_string() } else { std::env::var("DATABASE_URL") - .unwrap_or_else(|_| "postgres://postgres@localhost:5432/jirs".to_string()) + .unwrap_or_else(|_| "postgres://postgres@localhost:5432/bitque".to_string()) }; Self { concurrency: 2, diff --git a/shared/jirs-config/src/fs.rs b/crates/bitque-config/src/fs.rs similarity index 95% rename from shared/jirs-config/src/fs.rs rename to crates/bitque-config/src/fs.rs index 00e2090d..49fdcf21 100644 --- a/shared/jirs-config/src/fs.rs +++ b/crates/bitque-config/src/fs.rs @@ -1,6 +1,6 @@ use serde::{Deserialize, Serialize}; -#[derive(Serialize, Deserialize)] +#[derive(Deserialize, Serialize)] pub struct Configuration { pub store_path: String, pub client_path: String, diff --git a/shared/jirs-config/src/hi.rs b/crates/bitque-config/src/hi.rs similarity index 93% rename from shared/jirs-config/src/hi.rs rename to crates/bitque-config/src/hi.rs index 93272554..49207b6a 100644 --- a/shared/jirs-config/src/hi.rs +++ b/crates/bitque-config/src/hi.rs @@ -1,6 +1,6 @@ use serde::{Deserialize, Serialize}; -#[derive(Serialize, Deserialize)] +#[derive(Deserialize, Serialize)] pub struct Configuration { pub concurrency: usize, #[serde(default = "Configuration::default_theme")] diff --git a/shared/jirs-config/src/lib.rs b/crates/bitque-config/src/lib.rs similarity index 100% rename from shared/jirs-config/src/lib.rs rename to crates/bitque-config/src/lib.rs diff --git a/shared/jirs-config/src/mail.rs b/crates/bitque-config/src/mail.rs similarity index 83% rename from shared/jirs-config/src/mail.rs rename to crates/bitque-config/src/mail.rs index bca2c017..d245babe 100644 --- a/shared/jirs-config/src/mail.rs +++ b/crates/bitque-config/src/mail.rs @@ -1,4 +1,4 @@ -#[derive(serde::Serialize, serde::Deserialize)] +#[derive(serde::Deserialize, serde::Serialize)] pub struct Configuration { pub concurrency: usize, pub user: String, @@ -14,7 +14,7 @@ impl Default for Configuration { user: "apikey".to_string(), pass: "YOUR-TOKEN".to_string(), host: "smtp.sendgrid.net".to_string(), - from: "contact@jirs.pl".to_string(), + from: "contact@bitque.pl".to_string(), } } } diff --git a/shared/jirs-config/src/utils.rs b/crates/bitque-config/src/utils.rs similarity index 100% rename from shared/jirs-config/src/utils.rs rename to crates/bitque-config/src/utils.rs diff --git a/shared/jirs-config/src/web.rs b/crates/bitque-config/src/web.rs similarity index 97% rename from shared/jirs-config/src/web.rs rename to crates/bitque-config/src/web.rs index 512a915b..ec10e9de 100644 --- a/shared/jirs-config/src/web.rs +++ b/crates/bitque-config/src/web.rs @@ -6,7 +6,7 @@ pub enum Protocol { Https, } -#[derive(Serialize, Deserialize)] +#[derive(Deserialize, Serialize)] pub struct Configuration { pub concurrency: usize, pub port: String, diff --git a/shared/jirs-config/src/websocket.rs b/crates/bitque-config/src/websocket.rs similarity index 83% rename from shared/jirs-config/src/websocket.rs rename to crates/bitque-config/src/websocket.rs index 7cc8ef88..16aebfcc 100644 --- a/shared/jirs-config/src/websocket.rs +++ b/crates/bitque-config/src/websocket.rs @@ -1,4 +1,4 @@ -#[derive(serde::Serialize, serde::Deserialize)] +#[derive(serde::Deserialize, serde::Serialize)] pub struct Configuration { pub concurrency: usize, } diff --git a/crates/bitque-data/Cargo.toml b/crates/bitque-data/Cargo.toml new file mode 100644 index 00000000..86848806 --- /dev/null +++ b/crates/bitque-data/Cargo.toml @@ -0,0 +1,29 @@ +[package] +name = "bitque-data" +version = "0.1.0" +authors = ["Adrian Wozniak "] +edition = "2018" +description = "JIRS (Simplified JIRA in Rust) shared data types" +repository = "https://gitlab.com/adrian.wozniak/bitque" +license = "MPL-2.0" +#license-file = "../LICENSE" + +[lib] +name = "bitque_data" +path = "./src/lib.rs" + +[features] +backend = ["diesel", "actix", "diesel-derive-newtype"] +frontend = [] + +[dependencies] +actix = { version = "0.13.0", optional = true } +chrono = { version = "*", features = ["serde"] } +diesel = { version = "2.0.3", features = ["postgres", "numeric", "uuid", "r2d2"], optional = true } +diesel-derive-enum = { version = "2.0.1", features = ["postgres"] } +diesel-derive-more = { version = "1.1.3" } +diesel-derive-newtype = { version = "2.0.0-rc.0", optional = true } +serde = { version = "*" } +serde_json = { version = "*" } +strum = { version = "0.24.1", features = ['derive', 'strum_macros', 'std'] } +uuid = { version = "1.3.0", features = ["serde"] } diff --git a/shared/jirs-data/src/fields.rs b/crates/bitque-data/src/fields.rs similarity index 54% rename from shared/jirs-data/src/fields.rs rename to crates/bitque-data/src/fields.rs index f60b8838..5694d18a 100644 --- a/shared/jirs-data/src/fields.rs +++ b/crates/bitque-data/src/fields.rs @@ -1,6 +1,6 @@ use serde::{Deserialize, Serialize}; -#[derive(Serialize, Deserialize, Clone, Copy, Debug, PartialOrd, PartialEq, Hash)] +#[derive(Clone, Copy, Debug, Deserialize, Hash, PartialEq, PartialOrd, Serialize)] pub enum ProjectFieldId { Name, Url, @@ -11,20 +11,20 @@ pub enum ProjectFieldId { IssueStatusName, } -#[derive(Serialize, Deserialize, Clone, Copy, Debug, PartialOrd, PartialEq, Hash)] +#[derive(Clone, Copy, Debug, Deserialize, Hash, PartialEq, PartialOrd, Serialize)] pub enum SignInFieldId { Username, Email, Token, } -#[derive(Serialize, Deserialize, Clone, Copy, Debug, PartialOrd, PartialEq, Hash)] +#[derive(Clone, Copy, Debug, Deserialize, Hash, PartialEq, PartialOrd, Serialize)] pub enum SignUpFieldId { Username, Email, } -#[derive(Serialize, Deserialize, Clone, Copy, Debug, PartialOrd, PartialEq, Hash)] +#[derive(Clone, Copy, Debug, Deserialize, Hash, PartialEq, PartialOrd, Serialize)] pub enum UsersFieldId { Username, Email, @@ -34,17 +34,17 @@ pub enum UsersFieldId { TextEditorMode, } -#[derive(Serialize, Deserialize, Clone, Copy, Debug, PartialOrd, PartialEq, Hash)] +#[derive(Clone, Copy, Debug, Deserialize, Hash, PartialEq, PartialOrd, Serialize)] pub enum InviteFieldId { Token, } -#[derive(Serialize, Deserialize, Clone, Copy, Debug, PartialOrd, PartialEq, Hash)] +#[derive(Clone, Copy, Debug, Deserialize, Hash, PartialEq, PartialOrd, Serialize)] pub enum CommentFieldId { Body, } -#[derive(Serialize, Deserialize, Clone, Copy, Debug, PartialOrd, PartialEq, Hash)] +#[derive(Clone, Copy, Debug, Deserialize, Hash, PartialEq, PartialOrd, Serialize)] pub enum IssueFieldId { Type, Title, @@ -62,7 +62,7 @@ pub enum IssueFieldId { EpicEndsAt, } -#[derive(Serialize, Deserialize, Clone, Copy, Debug, PartialOrd, PartialEq, Hash)] +#[derive(Clone, Copy, Debug, Deserialize, Hash, PartialEq, PartialOrd, Serialize)] pub enum EpicFieldId { Name, StartsAt, diff --git a/shared/jirs-data/src/lib.rs b/crates/bitque-data/src/lib.rs similarity index 65% rename from shared/jirs-data/src/lib.rs rename to crates/bitque-data/src/lib.rs index 90afae93..9e80459d 100644 --- a/shared/jirs-data/src/lib.rs +++ b/crates/bitque-data/src/lib.rs @@ -1,11 +1,8 @@ use std::cmp::Ordering; -use std::str::FromStr; use chrono::NaiveDateTime; -use derive_enum_iter::EnumIter; -use derive_enum_primitive::EnumPrimitive; #[cfg(feature = "backend")] -use derive_enum_sql::EnumSql; +use diesel_derive_enum::DbEnum; #[cfg(feature = "backend")] use diesel::*; pub use fields::*; @@ -13,6 +10,7 @@ pub use msg::WsMsg; pub use payloads::*; use serde::{Deserialize, Serialize}; use uuid::Uuid; +use strum::*; pub mod fields; pub mod msg; @@ -52,11 +50,11 @@ pub type InvitationToken = Uuid; pub type StartsAt = NaiveDateTime; pub type EndsAt = NaiveDateTime; -#[cfg_attr(feature = "backend", derive(FromSqlRow, AsExpression, EnumSql))] -#[cfg_attr(feature = "backend", sql_type = "IssueTypeType")] +#[cfg_attr(feature = "backend", derive(DbEnum))] #[derive( - Clone, Copy, Deserialize, Serialize, Debug, PartialOrd, PartialEq, Hash, EnumIter, EnumPrimitive, + Clone, Copy, Debug, Deserialize, Display, EnumIter, EnumString, Hash, IntoStaticStr, PartialEq, PartialOrd, Serialize, )] +#[strum(serialize_all = "snake_case")] pub enum IssueType { Task, Bug, @@ -69,17 +67,11 @@ impl Default for IssueType { } } -impl std::fmt::Display for IssueType { - fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { - f.write_str(self.to_str()) - } -} - -#[cfg_attr(feature = "backend", derive(FromSqlRow, AsExpression, EnumSql))] -#[cfg_attr(feature = "backend", sql_type = "IssuePriorityType")] +#[cfg_attr(feature = "backend", derive(DbEnum))] #[derive( - Clone, Copy, Deserialize, Serialize, Debug, PartialOrd, PartialEq, Hash, EnumIter, EnumPrimitive, +Clone, Copy, Debug, Deserialize, Display, EnumIter, EnumString, Hash, IntoStaticStr, PartialEq, PartialOrd, Serialize, )] +#[strum(serialize_all = "snake_case")] pub enum IssuePriority { Highest, High, @@ -94,15 +86,9 @@ impl Default for IssuePriority { } } -impl std::fmt::Display for IssuePriority { - fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { - f.write_str(self.to_str()) - } -} - -#[cfg_attr(feature = "backend", derive(FromSqlRow, AsExpression, EnumSql))] -#[cfg_attr(feature = "backend", sql_type = "UserRoleType")] -#[derive(Clone, Copy, Deserialize, Serialize, Debug, PartialEq, Hash, EnumIter, EnumPrimitive)] +#[cfg_attr(feature = "backend", derive(DbEnum))] +#[derive(Clone, Copy, Debug, Deserialize, Display, EnumIter, EnumString, Hash, IntoStaticStr, PartialEq, Serialize)] +#[strum(serialize_all = "snake_case")] pub enum UserRole { User, Manager, @@ -130,17 +116,11 @@ impl Default for UserRole { } } -impl std::fmt::Display for UserRole { - fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { - f.write_str(self.to_str()) - } -} - -#[cfg_attr(feature = "backend", derive(FromSqlRow, AsExpression, EnumSql))] -#[cfg_attr(feature = "backend", sql_type = "ProjectCategoryType")] +#[cfg_attr(feature = "backend", derive(DbEnum))] #[derive( - Clone, Copy, Deserialize, Serialize, Debug, PartialOrd, PartialEq, Hash, EnumIter, EnumPrimitive, + Clone, Copy, Debug, Deserialize, Display, EnumIter, EnumString, Hash, IntoStaticStr, PartialEq, PartialOrd, Serialize, )] +#[strum(serialize_all = "snake_case")] pub enum ProjectCategory { Software, Marketing, @@ -153,17 +133,11 @@ impl Default for ProjectCategory { } } -impl std::fmt::Display for ProjectCategory { - fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { - f.write_str(self.to_str()) - } -} - -#[cfg_attr(feature = "backend", derive(FromSqlRow, AsExpression, EnumSql))] -#[cfg_attr(feature = "backend", sql_type = "InvitationStateType")] +#[cfg_attr(feature = "backend", derive(DbEnum))] #[derive( - Clone, Copy, Deserialize, Serialize, Debug, PartialOrd, PartialEq, Hash, EnumIter, EnumPrimitive, + Clone, Copy, Debug, Deserialize, Display, EnumIter, EnumString, Hash, IntoStaticStr, PartialEq, PartialOrd, Serialize, )] +#[strum(serialize_all = "snake_case")] pub enum InvitationState { Sent, Accepted, @@ -176,17 +150,11 @@ impl Default for InvitationState { } } -impl std::fmt::Display for InvitationState { - fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { - f.write_str(self.to_str()) - } -} - -#[cfg_attr(feature = "backend", derive(FromSqlRow, AsExpression, EnumSql))] -#[cfg_attr(feature = "backend", sql_type = "TimeTrackingType")] +#[cfg_attr(feature = "backend", derive(DbEnum))] #[derive( - Clone, Copy, Deserialize, Serialize, Debug, PartialOrd, PartialEq, Hash, EnumIter, EnumPrimitive, + Clone, Copy, Debug, Deserialize, Display, EnumIter, EnumString, Hash, IntoStaticStr, PartialEq, PartialOrd, Serialize, )] +#[strum(serialize_all = "snake_case")] pub enum TimeTracking { Untracked, Fibonacci, @@ -199,7 +167,7 @@ impl Default for TimeTracking { } } -#[derive(Clone, Serialize, Debug, PartialEq)] +#[derive(Clone, Debug, PartialEq, Serialize)] pub struct ErrorResponse { pub errors: Vec, } @@ -213,7 +181,7 @@ impl ErrorResponse { } #[cfg_attr(feature = "backend", derive(Queryable))] -#[derive(Clone, Serialize, Deserialize, Debug, PartialEq)] +#[derive(Clone, Debug, Deserialize, PartialEq, Serialize)] pub struct Project { pub id: ProjectId, pub name: String, @@ -231,7 +199,7 @@ impl Project { } } -#[derive(Clone, Serialize, Deserialize, Debug, PartialEq)] +#[derive(Clone, Debug, Deserialize, PartialEq, Serialize)] pub struct Issue { pub id: EpicId, pub title: String, @@ -254,7 +222,7 @@ pub struct Issue { } #[cfg_attr(feature = "backend", derive(Queryable))] -#[derive(Clone, Serialize, Deserialize, Debug, PartialEq)] +#[derive(Clone, Debug, Deserialize, PartialEq, Serialize)] pub struct IssueStatus { pub id: IssueStatusId, pub name: String, @@ -265,7 +233,7 @@ pub struct IssueStatus { } #[cfg_attr(feature = "backend", derive(Queryable))] -#[derive(Debug, Clone, Serialize, Deserialize, PartialEq)] +#[derive(Clone, Debug, Deserialize, PartialEq, Serialize)] pub struct Invitation { pub id: InvitationId, pub name: String, @@ -280,7 +248,7 @@ pub struct Invitation { } #[cfg_attr(feature = "backend", derive(Queryable))] -#[derive(Clone, Debug, Serialize, Deserialize, PartialEq)] +#[derive(Clone, Debug, Deserialize, PartialEq, Serialize)] pub struct Comment { pub id: CommentId, pub body: String, @@ -291,7 +259,7 @@ pub struct Comment { } #[cfg_attr(feature = "backend", derive(Queryable))] -#[derive(Clone, Debug, Serialize, Deserialize, PartialEq)] +#[derive(Clone, Debug, Deserialize, PartialEq, Serialize)] pub struct User { pub id: UserId, pub name: String, @@ -308,7 +276,7 @@ impl User { } #[cfg_attr(feature = "backend", derive(Queryable))] -#[derive(Clone, Debug, Serialize, Deserialize, PartialEq)] +#[derive(Clone, Debug, Deserialize, PartialEq, Serialize)] pub struct UserProject { pub id: UserProjectId, pub user_id: UserId, @@ -321,7 +289,7 @@ pub struct UserProject { } #[cfg_attr(feature = "backend", derive(Queryable))] -#[derive(Clone, Debug, Serialize, Deserialize, PartialEq)] +#[derive(Clone, Debug, Deserialize, PartialEq, Serialize)] pub struct Token { pub id: TokenId, pub user_id: UserId, @@ -333,7 +301,7 @@ pub struct Token { } #[cfg_attr(feature = "backend", derive(Queryable))] -#[derive(Clone, Debug, Serialize, Deserialize, PartialEq)] +#[derive(Clone, Debug, Deserialize, PartialEq, Serialize)] pub struct IssueAssignee { pub id: i32, pub issue_id: EpicId, @@ -342,11 +310,11 @@ pub struct IssueAssignee { pub updated_at: NaiveDateTime, } -#[cfg_attr(feature = "backend", derive(FromSqlRow, AsExpression, EnumSql))] -#[cfg_attr(feature = "backend", sql_type = "MessageTypeType")] +#[cfg_attr(feature = "backend", derive(DbEnum))] #[derive( - Clone, Copy, Deserialize, Serialize, Debug, PartialOrd, PartialEq, Hash, EnumPrimitive, + Clone, Copy, Debug, Deserialize, Display, EnumString, Hash, IntoStaticStr, PartialEq, PartialOrd, Serialize, )] +#[strum(serialize_all = "snake_case")] pub enum MessageType { ReceivedInvitation, AssignedToIssue, @@ -359,14 +327,8 @@ impl Default for MessageType { } } -impl std::fmt::Display for MessageType { - fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { - f.write_str(self.to_label()) - } -} - #[cfg_attr(feature = "backend", derive(Queryable))] -#[derive(Clone, Debug, Serialize, Deserialize, PartialEq)] +#[derive(Clone, Debug, Deserialize, PartialEq, Serialize)] pub struct Message { pub id: MessageId, pub receiver_id: UserId, @@ -380,7 +342,7 @@ pub struct Message { } #[cfg_attr(feature = "backend", derive(Queryable))] -#[derive(Clone, Debug, Serialize, Deserialize, PartialEq)] +#[derive(Clone, Debug, Deserialize, PartialEq, Serialize)] pub struct Epic { pub id: EpicId, pub name: NameString, @@ -400,7 +362,7 @@ pub static BOLD: FontStyle = 1; pub static UNDERLINE: FontStyle = 2; pub static ITALIC: FontStyle = 4; -#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize)] +#[derive(Clone, Copy, Debug, Deserialize, Eq, PartialEq, Serialize)] pub struct Color { /// Red component pub r: u8, @@ -412,7 +374,7 @@ pub struct Color { pub a: u8, } -#[derive(Clone, Debug, Serialize, Deserialize, PartialEq)] +#[derive(Clone, Debug, Deserialize, PartialEq, Serialize)] pub struct Style { /// Foreground color pub foreground: Color, @@ -422,16 +384,16 @@ pub struct Style { pub font_style: FontStyle, } -#[derive(Clone, Debug, Serialize, Deserialize, PartialEq)] +#[derive(Clone, Debug, Deserialize, PartialEq, Serialize)] pub struct HighlightedCode { pub parts: Vec<(Style, String)>, } -#[cfg_attr(feature = "backend", derive(FromSqlRow, AsExpression, EnumSql))] -#[cfg_attr(feature = "backend", sql_type = "TextEditorModeType")] +#[cfg_attr(feature = "backend", derive(DbEnum))] #[derive( - Clone, Copy, Deserialize, Serialize, Debug, PartialOrd, PartialEq, Hash, EnumIter, EnumPrimitive, + Clone, Copy, Debug, Deserialize, Display, EnumIter, EnumString, Hash, IntoStaticStr, PartialEq, PartialOrd, Serialize, )] +#[strum(serialize_all = "snake_case")] #[repr(C)] pub enum TextEditorMode { MdOnly, @@ -446,7 +408,7 @@ impl Default for TextEditorMode { } #[cfg_attr(feature = "backend", derive(Queryable))] -#[derive(Clone, Debug, Serialize, Deserialize, PartialEq)] +#[derive(Clone, Debug, Deserialize, PartialEq, Serialize)] pub struct UserSetting { pub id: UserSettingId, pub user_id: UserId, diff --git a/shared/jirs-data/src/msg.rs b/crates/bitque-data/src/msg.rs similarity index 93% rename from shared/jirs-data/src/msg.rs rename to crates/bitque-data/src/msg.rs index d3494e3a..5f1c7aef 100644 --- a/shared/jirs-data/src/msg.rs +++ b/crates/bitque-data/src/msg.rs @@ -11,7 +11,7 @@ use crate::{ UsernameString, }; -#[derive(Serialize, Deserialize, Debug, Clone, PartialEq)] +#[derive(Clone, Debug, Deserialize, PartialEq, Serialize)] #[repr(C)] pub enum WsError { InvalidLoginPair, @@ -119,7 +119,7 @@ impl WsError { } } -#[derive(Serialize, Deserialize, Debug, Clone, PartialEq)] +#[derive(Clone, Debug, Deserialize, PartialEq, Serialize)] pub struct IssueSync { pub id: IssueId, pub list_position: ListPosition, @@ -127,7 +127,7 @@ pub struct IssueSync { pub epic_id: Option, } -#[derive(Serialize, Deserialize, Debug, Clone, PartialEq)] +#[derive(Clone, Debug, Deserialize, PartialEq, Serialize)] pub enum WsMsgIssue { IssueUpdate(IssueId, IssueFieldId, PayloadVariant), IssueUpdated(Issue), @@ -145,7 +145,7 @@ impl From for WsMsg { } } -#[derive(Serialize, Deserialize, Debug, Clone, PartialEq)] +#[derive(Clone, Debug, Deserialize, PartialEq, Serialize)] pub enum WsMsgIssueStatus { IssueStatusesLoad, IssueStatusesLoaded(Vec), @@ -163,7 +163,7 @@ impl From for WsMsg { } } -#[derive(Serialize, Deserialize, Debug, Clone, PartialEq)] +#[derive(Clone, Debug, Deserialize, PartialEq, Serialize)] pub enum WsMsgComment { IssueCommentsLoad(IssueId), IssueCommentsLoaded(Vec), @@ -181,7 +181,7 @@ impl From for WsMsg { } } -#[derive(Serialize, Deserialize, Debug, Clone, PartialEq)] +#[derive(Clone, Debug, Deserialize, PartialEq, Serialize)] pub enum WsMsgInvitation { InvitationListLoad, InvitationListLoaded(Vec), @@ -218,7 +218,7 @@ impl From for WsMsg { } } -#[derive(Serialize, Deserialize, Debug, Clone, PartialEq)] +#[derive(Clone, Debug, Deserialize, PartialEq, Serialize)] pub enum WsMsgEpic { EpicsLoad, EpicsLoaded(Vec), @@ -237,7 +237,7 @@ pub enum WsMsgEpic { EpicTransform(EpicId, IssueType), } -#[derive(Serialize, Deserialize, Debug, Clone, PartialEq)] +#[derive(Clone, Debug, Deserialize, PartialEq, Serialize)] pub enum WsMsgProject { ProjectsLoad, ProjectsLoaded(Vec), @@ -255,7 +255,7 @@ impl From for WsMsg { } } -#[derive(Serialize, Deserialize, Debug, Clone, PartialEq)] +#[derive(Clone, Debug, Deserialize, PartialEq, Serialize)] pub enum WsMsgSession { // auth AuthorizeLoad(Uuid), @@ -279,7 +279,7 @@ impl From for WsMsg { } } -#[derive(Serialize, Deserialize, Debug, Clone, PartialEq)] +#[derive(Clone, Debug, Deserialize, PartialEq, Serialize)] pub enum WsMsgUser { // users AvatarUrlChanged(UserId, AvatarUrl), @@ -297,7 +297,7 @@ impl From for WsMsg { } } -#[derive(Serialize, Deserialize, Debug, Clone, PartialEq)] +#[derive(Clone, Debug, Deserialize, PartialEq, Serialize)] pub enum WsMsgMessage { // messages MessageUpdated(Message), @@ -313,7 +313,7 @@ impl From for WsMsg { } } -#[derive(Serialize, Deserialize, Debug, Clone, PartialEq)] +#[derive(Clone, Debug, Deserialize, PartialEq, Serialize)] pub enum WsMsg { Ping, Pong, diff --git a/shared/jirs-data/src/payloads.rs b/crates/bitque-data/src/payloads.rs similarity index 86% rename from shared/jirs-data/src/payloads.rs rename to crates/bitque-data/src/payloads.rs index 3c78cea1..53d4dd2f 100644 --- a/shared/jirs-data/src/payloads.rs +++ b/crates/bitque-data/src/payloads.rs @@ -5,20 +5,20 @@ use crate::{ ProjectId, TimeTracking, UserId, }; -#[derive(Clone, Debug, Serialize, Deserialize, PartialEq)] +#[derive(Clone, Debug, Deserialize, PartialEq, Serialize)] pub struct CreateCommentPayload { pub user_id: Option, pub issue_id: IssueId, pub body: String, } -#[derive(Clone, Debug, Serialize, Deserialize, PartialEq)] +#[derive(Clone, Debug, Deserialize, PartialEq, Serialize)] pub struct UpdateCommentPayload { pub id: CommentId, pub body: String, } -#[derive(Serialize, Deserialize, Debug, Clone, PartialEq)] +#[derive(Clone, Debug, Deserialize, PartialEq, Serialize)] pub struct CreateIssuePayload { pub title: String, pub issue_type: IssueType, @@ -35,7 +35,7 @@ pub struct CreateIssuePayload { pub epic_id: Option, } -#[derive(Serialize, Deserialize, Debug, Clone, PartialEq)] +#[derive(Clone, Debug, Deserialize, PartialEq, Serialize)] pub struct UpdateProjectPayload { pub id: ProjectId, pub name: Option, @@ -45,7 +45,7 @@ pub struct UpdateProjectPayload { pub time_tracking: Option, } -#[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] +#[derive(Clone, Debug, Deserialize, PartialEq, Serialize)] pub enum PayloadVariant { OptionI32(Option), VecI32(Vec), @@ -56,7 +56,7 @@ pub enum PayloadVariant { ProjectCategory(ProjectCategory), } -#[derive(Clone, Debug, Serialize, Deserialize, PartialEq, PartialOrd)] +#[derive(Clone, Debug, Deserialize, PartialEq, PartialOrd, Serialize)] pub struct UpdateIssuePayload { pub title: String, pub issue_type: IssueType, diff --git a/crates/bitque-server/Cargo.toml b/crates/bitque-server/Cargo.toml new file mode 100644 index 00000000..aded7374 --- /dev/null +++ b/crates/bitque-server/Cargo.toml @@ -0,0 +1,35 @@ +[package] +name = "bitque" +version = "0.1.0" +authors = ["Adrian Wozniak "] +edition = "2018" +description = "JIRS (Simplified JIRA in Rust) Actix server" +repository = "https://gitlab.com/adrian.wozniak/bitque" +license = "MPL-2.0" +#license-file = "../LICENSE" + +[features] +aws-s3 = ["amazon-actor"] +local-storage = ["filesystem-actor"] +default = ["local-storage"] + +[dependencies] +actix = { version = "0" } +amazon-actor = { workspace = true, optional = true } +bitque-config = { workspace = true, features = ["web", "websocket", "local-storage", "hi", "database"] } +bitque-data = { workspace = true, features = ["backend"] } +common = { workspace = true } +database-actor = { workspace = true } +dotenv = { version = "*" } +filesystem-actor = { workspace = true, optional = true } +futures = { version = "*" } +highlight-actor = { workspace = true } +libc = { version = "0.2.0", default-features = false } +mail-actor = { workspace = true } +openssl-sys = { version = "*", features = ["vendored"] } +serde = { version = "*", features = ["derive"] } +serde_json = { version = ">=0.8.0, <2.0" } +tokio = { version = "1", features = ["full"] } +toml = { version = "0.7.3" } +web-actor = { workspace = true, features = ["local-storage"] } +websocket-actor = { workspace = true } diff --git a/jirs-server/Dockerfile b/crates/bitque-server/Dockerfile similarity index 73% rename from jirs-server/Dockerfile rename to crates/bitque-server/Dockerfile index c08e6ece..3e635d22 100644 --- a/jirs-server/Dockerfile +++ b/crates/bitque-server/Dockerfile @@ -8,12 +8,12 @@ RUN rustup toolchain install nightly && \ RUN cargo install diesel_cli --no-default-features --features postgres -ADD jirs-server /app/jirs-server -ADD jirs-data /app/jirs-data +ADD bitque-server /app/bitque-server +ADD bitque-data /app/bitque-data RUN pacman -Sy openssl openssh pkgconf --noconfirm RUN pkg-config --libs openssl -CMD cd /app/jirs-server && \ +CMD cd /app/bitque-server && \ $HOME/.cargo/bin/diesel setup --database-url=$DATABASE_URL && \ - cargo run --bin jirs_server + cargo run --bin bitque_server diff --git a/jirs-server/LICENSE b/crates/bitque-server/LICENSE similarity index 100% rename from jirs-server/LICENSE rename to crates/bitque-server/LICENSE diff --git a/jirs-server/seed.sql b/crates/bitque-server/seed.sql similarity index 100% rename from jirs-server/seed.sql rename to crates/bitque-server/seed.sql diff --git a/jirs-server/src/errors.rs b/crates/bitque-server/src/errors.rs similarity index 97% rename from jirs-server/src/errors.rs rename to crates/bitque-server/src/errors.rs index f6bb00be..26c51839 100644 --- a/jirs-server/src/errors.rs +++ b/crates/bitque-server/src/errors.rs @@ -1,7 +1,7 @@ use actix_web::HttpResponse; use common::*; -use jirs_data::msg::WsError; -use jirs_data::ErrorResponse; +use bitque_data::msg::WsError; +use bitque_data::ErrorResponse; const TOKEN_NOT_FOUND: &str = "Token not found"; const DATABASE_CONNECTION_FAILED: &str = "Database connection failed"; diff --git a/jirs-server/src/main.rs b/crates/bitque-server/src/main.rs similarity index 84% rename from jirs-server/src/main.rs rename to crates/bitque-server/src/main.rs index 0a2287bb..7d68b5de 100644 --- a/jirs-server/src/main.rs +++ b/crates/bitque-server/src/main.rs @@ -21,28 +21,28 @@ async fn main() -> Result<(), String> { dotenv::dotenv().ok(); pretty_env_logger::init(); - let web_config = jirs_config::web::Configuration::read(); + let web_config = bitque_config::web::Configuration::read(); let db_addr = actix::SyncArbiter::start( - jirs_config::database::Configuration::read().concurrency, + bitque_config::database::Configuration::read().concurrency, database_actor::DbExecutor::default, ); let mail_addr = actix::SyncArbiter::start( - jirs_config::mail::Configuration::read().concurrency, + bitque_config::mail::Configuration::read().concurrency, mail_actor::MailExecutor::default, ); let hi_addr = actix::SyncArbiter::start( - jirs_config::hi::Configuration::read().concurrency, + bitque_config::hi::Configuration::read().concurrency, highlight_actor::HighlightActor::default, ); #[cfg(feature = "local-storage")] let fs_addr = actix::SyncArbiter::start( - jirs_config::fs::Configuration::read().concurrency, + bitque_config::fs::Configuration::read().concurrency, filesystem_actor::FileSystemExecutor::default, ); #[cfg(feature = "aws-s3")] let amazon_addr = actix::SyncArbiter::start( - jirs_config::web::Configuration::read().concurrency, + bitque_config::web::Configuration::read().concurrency, amazon_actor::AmazonExecutor::default, ); diff --git a/crates/common/Cargo.toml b/crates/common/Cargo.toml new file mode 100644 index 00000000..2555e22d --- /dev/null +++ b/crates/common/Cargo.toml @@ -0,0 +1,10 @@ +[package] +name = "common" +version = "0.1.0" +authors = ["Adrian Wozniak "] +edition = "2018" +description = "JIRS (Simplified JIRA in Rust) Actix server" +repository = "https://gitlab.com/adrian.wozniak/bitque" +license = "MPL-2.0" + +[dependencies] diff --git a/jirs-server/tmp/.gitkeep b/crates/common/src/lib.rs similarity index 100% rename from jirs-server/tmp/.gitkeep rename to crates/common/src/lib.rs diff --git a/actors/database-actor/Cargo.toml b/crates/database-actor/Cargo.toml similarity index 53% rename from actors/database-actor/Cargo.toml rename to crates/database-actor/Cargo.toml index 12adc40e..4d72cb1f 100644 --- a/actors/database-actor/Cargo.toml +++ b/crates/database-actor/Cargo.toml @@ -4,7 +4,7 @@ version = "0.1.0" authors = ["Adrian Wozniak "] edition = "2018" description = "JIRS (Simplified JIRA in Rust) shared data types" -repository = "https://gitlab.com/adrian.wozniak/jirs" +repository = "https://gitlab.com/adrian.wozniak/bitque" license = "MPL-2.0" #license-file = "../LICENSE" @@ -13,46 +13,31 @@ name = "database_actor" path = "./src/lib.rs" [dependencies] -common = { path = "../../shared/common" } -actix = { version = "0.10.0" } - -serde = { version = "*" } +actix = { version = "0.13.0" } +bigdecimal = { version = "0.3.0" } bincode = { version = "*" } -toml = { version = "*" } - -futures = { version = "0.3.8" } -openssl-sys = { version = "*", features = ["vendored"] } -libc = { version = "0.2.0", default-features = false } - -pq-sys = { version = ">=0.3.0, <0.5.0" } -r2d2 = { version = ">= 0.8, < 0.9" } - -dotenv = { version = "*" } - +bitflags = { version = "2.0.2" } +bitque-config = { workspace = true, features = ["database"] } +bitque-data = { workspace = true, features = ["backend"] } byteorder = { version = "1.0" } chrono = { version = "0.4", features = ["serde"] } -time = { version = "0.1" } -url = { version = "2.1.0" } -percent-encoding = { version = "2.1.0" } -uuid = { version = "0.8.2", features = ["serde", "v4", "v5"] } -ipnetwork = { version = ">=0.12.2, <0.17.0" } -num-bigint = { version = ">=0.1.41, <0.3" } -num-traits = { version = "0.2" } +common = { workspace = true } +derive_db_execute = { workspace = true } +diesel = { version = "2.0.3", features = ["postgres", "numeric", "uuid", "r2d2", "chrono"] } +dotenv = { version = "*" } +futures = { version = "0.3.8" } +ipnetwork = { version = "0.20.0" } +libc = { version = "0.2.0", default-features = false } +num-bigint = { version = "0.4.3" } num-integer = { version = "0.1.32" } -bigdecimal = { version = ">= 0.0.10, <= 0.1.0" } -bitflags = { version = "1.0" } - -[dependencies.jirs-config] -path = "../../shared/jirs-config" -features = ["database"] - -[dependencies.jirs-data] -path = "../../shared/jirs-data" -features = ["backend"] - -[dependencies.derive_db_execute] -path = "../../derive/derive_db_execute" - -[dependencies.diesel] -version = "1.4.8" -features = [ "postgres", "numeric", "uuidv07", "r2d2", "chrono" ] +num-traits = { version = "0.2" } +openssl-sys = { version = "*", features = ["vendored"] } +percent-encoding = { version = "2.1.0" } +pq-sys = { version = ">=0.3.0, <0.5.0" } +r2d2 = { version = ">= 0.8, < 0.9" } +serde = { version = "*" } +time = { version = "0.3.20" } +toml = { version = "*" } +tracing = { version = "0.1.37" } +url = { version = "2.1.0" } +uuid = { version = "1.3.0", features = ["serde", "v4", "v5"] } diff --git a/actors/database-actor/src/authorize_user.rs b/crates/database-actor/src/authorize_user.rs similarity index 93% rename from actors/database-actor/src/authorize_user.rs rename to crates/database-actor/src/authorize_user.rs index 3ef9cccd..92ba6ba7 100644 --- a/actors/database-actor/src/authorize_user.rs +++ b/crates/database-actor/src/authorize_user.rs @@ -1,5 +1,5 @@ use diesel::prelude::*; -use jirs_data::User; +use bitque_data::User; use crate::db_find; use crate::tokens::FindAccessToken; diff --git a/actors/database-actor/src/comments.rs b/crates/database-actor/src/comments.rs similarity index 95% rename from actors/database-actor/src/comments.rs rename to crates/database-actor/src/comments.rs index 1172e494..29340c66 100644 --- a/actors/database-actor/src/comments.rs +++ b/crates/database-actor/src/comments.rs @@ -1,5 +1,5 @@ use diesel::prelude::*; -use jirs_data::{Comment, CommentId, IssueId, UserId}; +use bitque_data::{Comment, CommentId, IssueId, UserId}; use crate::{db_create, db_delete, db_load, db_update}; diff --git a/actors/database-actor/src/epics.rs b/crates/database-actor/src/epics.rs similarity index 96% rename from actors/database-actor/src/epics.rs rename to crates/database-actor/src/epics.rs index 9e3bdc60..dbaa859a 100644 --- a/actors/database-actor/src/epics.rs +++ b/crates/database-actor/src/epics.rs @@ -1,6 +1,6 @@ use derive_db_execute::Execute; use diesel::prelude::*; -use jirs_data::{DescriptionString, EndsAt, Epic, EpicId, ProjectId, StartsAt}; +use bitque_data::{DescriptionString, EndsAt, Epic, EpicId, ProjectId, StartsAt}; use crate::{db_create, db_delete, db_load, db_update}; diff --git a/actors/database-actor/src/errors.rs b/crates/database-actor/src/errors.rs similarity index 95% rename from actors/database-actor/src/errors.rs rename to crates/database-actor/src/errors.rs index 9cb79889..352dbcd7 100644 --- a/actors/database-actor/src/errors.rs +++ b/crates/database-actor/src/errors.rs @@ -1,4 +1,4 @@ -use jirs_data::{EmailString, UsernameString}; +use bitque_data::{EmailString, UsernameString}; #[derive(Debug)] pub enum OperationError { diff --git a/actors/database-actor/src/invitations.rs b/crates/database-actor/src/invitations.rs similarity index 99% rename from actors/database-actor/src/invitations.rs rename to crates/database-actor/src/invitations.rs index 8680c2d5..926013fe 100644 --- a/actors/database-actor/src/invitations.rs +++ b/crates/database-actor/src/invitations.rs @@ -1,6 +1,6 @@ use actix::{Handler, Message}; use diesel::prelude::*; -use jirs_data::{ +use bitque_data::{ EmailString, Invitation, InvitationId, InvitationState, InvitationToken, ProjectId, Token, User, UserId, UserRole, UsernameString, }; diff --git a/actors/database-actor/src/issue_assignees.rs b/crates/database-actor/src/issue_assignees.rs similarity index 94% rename from actors/database-actor/src/issue_assignees.rs rename to crates/database-actor/src/issue_assignees.rs index 2d0cc5bd..9a30f54b 100644 --- a/actors/database-actor/src/issue_assignees.rs +++ b/crates/database-actor/src/issue_assignees.rs @@ -1,6 +1,6 @@ -use diesel::expression::dsl::not; use diesel::prelude::*; -use jirs_data::{IssueAssignee, IssueId, UserId}; +use diesel::dsl::not; +use bitque_data::{IssueAssignee, IssueId, UserId}; use crate::{db_create, db_delete, db_load, db_load_field}; diff --git a/actors/database-actor/src/issue_statuses.rs b/crates/database-actor/src/issue_statuses.rs similarity index 94% rename from actors/database-actor/src/issue_statuses.rs rename to crates/database-actor/src/issue_statuses.rs index 60b60fd6..c1927065 100644 --- a/actors/database-actor/src/issue_statuses.rs +++ b/crates/database-actor/src/issue_statuses.rs @@ -1,5 +1,5 @@ use diesel::prelude::*; -use jirs_data::{IssueStatus, IssueStatusId, Position, ProjectId, TitleString}; +use bitque_data::{IssueStatus, IssueStatusId, Position, ProjectId, TitleString}; use crate::{db_create, db_delete, db_load, db_update}; diff --git a/actors/database-actor/src/issues.rs b/crates/database-actor/src/issues.rs similarity index 85% rename from actors/database-actor/src/issues.rs rename to crates/database-actor/src/issues.rs index be78889d..d5d2c3a5 100644 --- a/actors/database-actor/src/issues.rs +++ b/crates/database-actor/src/issues.rs @@ -1,7 +1,7 @@ use derive_db_execute::Execute; -use diesel::expression::sql_literal::sql; +use diesel::dsl::sql; use diesel::prelude::*; -use jirs_data::{IssueId, IssuePriority, IssueStatusId, IssueType, ProjectId, UserId}; +use bitque_data::{IssueId, IssuePriority, IssueStatusId, IssueType, ProjectId, UserId}; use crate::models::Issue; @@ -28,21 +28,21 @@ pub struct LoadProjectIssues { #[derive(Default, Execute)] #[db_exec(result = "Issue", schema = "issues")] pub struct UpdateIssue { - pub issue_id: jirs_data::IssueId, + pub issue_id: bitque_data::IssueId, pub title: Option, pub issue_type: Option, pub priority: Option, - pub list_position: Option, + pub list_position: Option, pub description: Option, pub description_text: Option, pub estimate: Option, pub time_spent: Option, pub time_remaining: Option, - pub project_id: Option, - pub user_ids: Option>, - pub reporter_id: Option, - pub issue_status_id: Option, - pub epic_id: Option>, + pub project_id: Option, + pub user_ids: Option>, + pub reporter_id: Option, + pub issue_status_id: Option, + pub epic_id: Option>, } impl UpdateIssue { @@ -88,7 +88,7 @@ impl UpdateIssue { )) .get_result(conn) .map_err(|e| { - common::log::debug!("{:?}", e); + ::tracing::debug!("{:?}", e); crate::DatabaseError::GenericFailure( crate::OperationError::Create, crate::ResourceKind::Issue, @@ -114,7 +114,7 @@ pub struct DeleteIssue { mod inner { use derive_db_execute::Execute; use diesel::prelude::*; - use jirs_data::{IssuePriority, IssueStatusId, IssueType}; + use bitque_data::{IssuePriority, IssueStatusId, IssueType}; use crate::models::Issue; @@ -153,9 +153,9 @@ mod inner { pub estimate: Option, pub time_spent: Option, pub time_remaining: Option, - pub project_id: jirs_data::ProjectId, - pub reporter_id: jirs_data::UserId, - pub epic_id: Option, + pub project_id: bitque_data::ProjectId, + pub reporter_id: bitque_data::UserId, + pub epic_id: Option, } } @@ -171,10 +171,10 @@ pub struct CreateIssue { pub estimate: Option, pub time_spent: Option, pub time_remaining: Option, - pub project_id: jirs_data::ProjectId, - pub reporter_id: jirs_data::UserId, - pub user_ids: Vec, - pub epic_id: Option, + pub project_id: bitque_data::ProjectId, + pub reporter_id: bitque_data::UserId, + pub user_ids: Vec, + pub epic_id: Option, } impl CreateIssue { @@ -186,7 +186,7 @@ impl CreateIssue { .select(sql("COALESCE(max(list_position), 0) + 1")) .get_result::(conn) .map_err(|e| { - common::log::error!("resolve new issue position failed {}", e); + ::tracing::error!("resolve new issue position failed {}", e); crate::DatabaseError::Issue(crate::IssueError::BadListPosition) })?; let i_s_id: IssueStatusId = if msg.issue_status_id == 0 { @@ -195,7 +195,7 @@ impl CreateIssue { } .execute(conn) .map_err(|e| { - common::log::error!("Failed to find issue status. {:?}", e); + ::tracing::error!("Failed to find issue status. {:?}", e); e })? .first() @@ -229,7 +229,7 @@ impl CreateIssue { } .execute(conn) .map_err(|e| { - common::log::error!("Failed to insert issue. {:?}", e); + ::tracing::error!("Failed to insert issue. {:?}", e); e })?; if !assign_users.is_empty() { @@ -239,12 +239,12 @@ impl CreateIssue { } .execute(conn) .map_err(|e| { - common::log::error!("Failed to apply multiple assignee to issue. {:?}", e); + ::tracing::error!("Failed to apply multiple assignee to issue. {:?}", e); e })?; } issues.find(issue.id).get_result(conn).map_err(|e| { - common::log::error!("{:?}", e); + ::tracing::error!("{:?}", e); crate::DatabaseError::GenericFailure( crate::OperationError::Create, crate::ResourceKind::Issue, diff --git a/actors/database-actor/src/lib.rs b/crates/database-actor/src/lib.rs similarity index 86% rename from actors/database-actor/src/lib.rs rename to crates/database-actor/src/lib.rs index 0bbb3eee..a049a9ed 100644 --- a/actors/database-actor/src/lib.rs +++ b/crates/database-actor/src/lib.rs @@ -31,7 +31,7 @@ pub type DbPooledConn = r2d2::PooledConnection>; pub struct DbExecutor { pub pool: DbPool, - pub config: jirs_config::database::Configuration, + pub config: bitque_config::database::Configuration, } impl Actor for DbExecutor { @@ -42,14 +42,14 @@ impl Default for DbExecutor { fn default() -> Self { Self { pool: build_pool(), - config: jirs_config::database::Configuration::read(), + config: bitque_config::database::Configuration::read(), } } } pub fn build_pool() -> DbPool { dotenv::dotenv().ok(); - let config = jirs_config::database::Configuration::read(); + let config = bitque_config::database::Configuration::read(); let manager = ConnectionManager::::new(&config.database_url); r2d2::Pool::builder() @@ -75,7 +75,7 @@ impl<'l> Guard<'l> { use diesel::prelude::*; let tm = conn.transaction_manager(); tm.begin_transaction(conn).map_err(|e| { - common::log::error!("{:?}", e); + ::tracing::error!("{:?}", e); crate::DatabaseError::DatabaseConnectionLost })?; Ok(Self { conn, tm }) @@ -91,15 +91,15 @@ impl<'l> Guard<'l> { match r { Ok(r) => { self.tm.commit_transaction(self.conn).map_err(|e| { - common::log::error!("{:?}", e); + ::tracing::error!("{:?}", e); crate::DatabaseError::DatabaseConnectionLost })?; Ok(r) } Err(e) => { - common::log::error!("{:?}", e); + ::tracing::error!("{:?}", e); self.tm.rollback_transaction(self.conn).map_err(|e| { - common::log::error!("{:?}", e); + ::tracing::error!("{:?}", e); crate::DatabaseError::DatabaseConnectionLost })?; Err(e) diff --git a/actors/database-actor/src/messages.rs b/crates/database-actor/src/messages.rs similarity index 95% rename from actors/database-actor/src/messages.rs rename to crates/database-actor/src/messages.rs index 6ecece3c..a0c904d0 100644 --- a/actors/database-actor/src/messages.rs +++ b/crates/database-actor/src/messages.rs @@ -1,5 +1,5 @@ use diesel::prelude::*; -use jirs_data::{BindToken, Message, MessageId, MessageType, User, UserId}; +use bitque_data::{BindToken, Message, MessageId, MessageType, User, UserId}; use crate::users::{FindUser, LookupUser}; use crate::{db_create, db_delete, db_load}; diff --git a/actors/database-actor/src/models.rs b/crates/database-actor/src/models.rs similarity index 78% rename from actors/database-actor/src/models.rs rename to crates/database-actor/src/models.rs index edd8a09f..cd7f4bb5 100644 --- a/actors/database-actor/src/models.rs +++ b/crates/database-actor/src/models.rs @@ -1,5 +1,5 @@ use chrono::NaiveDateTime; -use jirs_data::{ +use bitque_data::{ EpicId, InvitationState, IssuePriority, IssueStatusId, IssueType, ProjectCategory, ProjectId, TimeTracking, UserId, }; @@ -7,7 +7,7 @@ use serde::{Deserialize, Serialize}; use crate::schema::*; -#[derive(Serialize, Debug, Deserialize, Queryable)] +#[derive(Debug, Deserialize, Queryable, Serialize)] pub struct Issue { pub id: i32, pub title: String, @@ -27,9 +27,9 @@ pub struct Issue { pub epic_id: Option, } -impl Into for Issue { - fn into(self) -> jirs_data::Issue { - jirs_data::Issue { +impl Into for Issue { + fn into(self) -> bitque_data::Issue { + bitque_data::Issue { id: self.id, title: self.title, issue_type: self.issue_type, @@ -52,8 +52,8 @@ impl Into for Issue { } } -#[derive(Debug, Serialize, Deserialize, Insertable)] -#[table_name = "issues"] +#[derive(Debug, Deserialize, Insertable, Serialize)] +#[diesel(table_name = issues)] pub struct CreateIssueForm { pub title: String, pub issue_type: IssueType, @@ -70,15 +70,15 @@ pub struct CreateIssueForm { pub epic_id: Option, } -#[derive(Debug, Serialize, Deserialize, Insertable)] -#[table_name = "issue_assignees"] +#[derive(Debug, Deserialize, Insertable, Serialize)] +#[diesel(table_name = issue_assignees)] pub struct CreateIssueAssigneeForm { pub issue_id: i32, pub user_id: i32, } -#[derive(Debug, Serialize, Deserialize, Insertable)] -#[table_name = "projects"] +#[derive(Debug, Deserialize, Insertable, Serialize)] +#[diesel(table_name = projects)] pub struct UpdateProjectForm { pub name: Option, pub url: Option, @@ -87,8 +87,8 @@ pub struct UpdateProjectForm { pub time_tracking: Option, } -#[derive(Debug, Serialize, Deserialize, Insertable)] -#[table_name = "projects"] +#[derive(Debug, Deserialize, Insertable, Serialize)] +#[diesel(table_name = projects)] pub struct CreateProjectForm { pub name: String, pub url: String, @@ -96,16 +96,16 @@ pub struct CreateProjectForm { pub category: ProjectCategory, } -#[derive(Debug, Serialize, Deserialize, Insertable)] -#[table_name = "users"] +#[derive(Debug, Deserialize, Insertable, Serialize)] +#[diesel(table_name = users)] pub struct UserForm { pub name: String, pub email: String, pub avatar_url: Option, } -#[derive(Debug, Serialize, Deserialize, Insertable)] -#[table_name = "invitations"] +#[derive(Debug, Deserialize, Insertable, Serialize)] +#[diesel(table_name = invitations)] pub struct InvitationForm { pub name: String, pub email: String, diff --git a/actors/database-actor/src/prelude.rs b/crates/database-actor/src/prelude.rs similarity index 95% rename from actors/database-actor/src/prelude.rs rename to crates/database-actor/src/prelude.rs index 2c27a97f..a07cb2e4 100644 --- a/actors/database-actor/src/prelude.rs +++ b/crates/database-actor/src/prelude.rs @@ -2,13 +2,13 @@ macro_rules! db_pool { ($self: expr) => { &$self.pool.get().map_err(|e| { - common::log::error!("{:?}", e); + ::tracing::error!("{:?}", e); $crate::DatabaseError::DatabaseConnectionLost })? }; ($self: expr, $pool: expr) => { &$pool.get().map_err(|e| { - common::log::error!("{:?}", e); + ::tracing::error!("{:?}", e); $crate::DatabaseError::DatabaseConnectionLost })? }; @@ -18,7 +18,7 @@ macro_rules! db_pool { macro_rules! q { ($q: expr) => {{ let q = $q; - common::log::debug!( + ::tracing::debug!( "{}", diesel::debug_query::(&q).to_string() ); @@ -40,7 +40,7 @@ macro_rules! db_find { $crate::q!($q) .first($conn) .map_err(|e| { - common::log::error!("{:?}", e); + ::tracing::error!("{:?}", e); $crate::DatabaseError::GenericFailure( $crate::OperationError::LoadCollection, $crate::ResourceKind::$resource, @@ -81,7 +81,7 @@ macro_rules! db_load { $crate::q!($q) .load(conn) .map_err(|e| { - common::log::error!("{:?}", e); + ::tracing::error!("{:?}", e); $crate::DatabaseError::GenericFailure( $crate::OperationError::LoadCollection, $crate::ResourceKind::$resource, @@ -120,7 +120,7 @@ macro_rules! db_load_field { $crate::q!($q) .load(conn) .map_err(|e| { - common::log::error!("{:?}", e); + ::tracing::error!("{:?}", e); $crate::DatabaseError::GenericFailure( $crate::OperationError::LoadCollection, $crate::ResourceKind::$resource, @@ -162,7 +162,7 @@ macro_rules! db_create { $crate::q!($q) .get_result::<$resource>($conn) .map_err(|e| { - common::log::error!("{:?}", e); + ::tracing::error!("{:?}", e); $crate::DatabaseError::GenericFailure( $crate::OperationError::Create, $crate::ResourceKind::$resource, @@ -205,7 +205,7 @@ macro_rules! db_update { $crate::q!($q) .get_result::<$resource>($conn) .map_err(|e| { - common::log::error!("{:?}", e); + ::tracing::error!("{:?}", e); $crate::DatabaseError::GenericFailure( $crate::OperationError::Update, $crate::ResourceKind::$resource, @@ -247,7 +247,7 @@ macro_rules! db_delete { $crate::q!($q) .execute($conn) .map_err(|e| { - common::log::error!("{:?}", e); + ::tracing::error!("{:?}", e); $crate::DatabaseError::GenericFailure( $crate::OperationError::Delete, $crate::ResourceKind::$resource, diff --git a/actors/database-actor/src/projects.rs b/crates/database-actor/src/projects.rs similarity index 94% rename from actors/database-actor/src/projects.rs rename to crates/database-actor/src/projects.rs index 0d2aaac1..e5e2f360 100644 --- a/actors/database-actor/src/projects.rs +++ b/crates/database-actor/src/projects.rs @@ -1,5 +1,5 @@ use diesel::prelude::*; -use jirs_data::{NameString, Project, ProjectCategory, ProjectId, TimeTracking, UserId}; +use bitque_data::{NameString, Project, ProjectCategory, ProjectId, TimeTracking, UserId}; use crate::{db_create, db_find, db_load, db_update}; @@ -12,7 +12,7 @@ db_find! { mod inner { use diesel::prelude::*; - use jirs_data::{NameString, Project, ProjectCategory, TimeTracking}; + use bitque_data::{NameString, Project, ProjectCategory, TimeTracking}; use crate::db_create; diff --git a/actors/database-actor/src/schema.patch b/crates/database-actor/src/schema.patch similarity index 53% rename from actors/database-actor/src/schema.patch rename to crates/database-actor/src/schema.patch index fa7e2685..a3669dd7 100644 --- a/actors/database-actor/src/schema.patch +++ b/crates/database-actor/src/schema.patch @@ -1,13 +1,13 @@ -diff --git a/jirs-server/src/schema.rs b/jirs-server/src/schema.rs +diff --git a/bitque-server/src/schema.rs b/bitque-server/src/schema.rs index 00d1c0b..5b82ccf 100644 ---- a/jirs-server/src/schema.rs -+++ b/jirs-server/src/schema.rs +--- a/bitque-server/src/schema.rs ++++ b/bitque-server/src/schema.rs @@ -1,6 +1,8 @@ +#![allow(unused_imports, dead_code)] + table! { use diesel::sql_types::*; - use jirs_data::*; + use bitque_data::*; /// Representation of the `comments` table. /// diff --git a/crates/database-actor/src/schema.rs b/crates/database-actor/src/schema.rs new file mode 100644 index 00000000..34a35365 --- /dev/null +++ b/crates/database-actor/src/schema.rs @@ -0,0 +1,224 @@ +// @generated automatically by Diesel CLI. + +diesel::table! { + use diesel::sql_types::*; + use bitque_data::*; + + comments (id) { + id -> Int4, + body -> Text, + user_id -> Int4, + issue_id -> Int4, + created_at -> Timestamp, + updated_at -> Timestamp, + } +} + +diesel::table! { + use diesel::sql_types::*; + use bitque_data::*; + + epics (id) { + id -> Int4, + name -> Text, + user_id -> Int4, + project_id -> Int4, + created_at -> Timestamp, + updated_at -> Timestamp, + starts_at -> Nullable, + ends_at -> Nullable, + description -> Nullable, + description_html -> Nullable, + } +} + +diesel::table! { + use diesel::sql_types::*; + use bitque_data::*; + + invitations (id) { + id -> Int4, + name -> Text, + email -> Text, + state -> InvitationState, + project_id -> Int4, + invited_by_id -> Int4, + created_at -> Timestamp, + updated_at -> Timestamp, + bind_token -> Uuid, + role -> UserRole, + } +} + +diesel::table! { + use diesel::sql_types::*; + use bitque_data::*; + + issue_assignees (id) { + id -> Int4, + issue_id -> Int4, + user_id -> Int4, + created_at -> Timestamp, + updated_at -> Timestamp, + } +} + +diesel::table! { + use diesel::sql_types::*; + use bitque_data::*; + + issue_statuses (id) { + id -> Int4, + name -> Varchar, + position -> Int4, + project_id -> Int4, + created_at -> Timestamp, + updated_at -> Timestamp, + } +} + +diesel::table! { + use diesel::sql_types::*; + use bitque_data::*; + + issues (id) { + id -> Int4, + title -> Text, + issue_type -> IssueType, + priority -> IssuePriority, + list_position -> Int4, + description -> Nullable, + description_text -> Nullable, + estimate -> Nullable, + time_spent -> Nullable, + time_remaining -> Nullable, + reporter_id -> Int4, + project_id -> Int4, + created_at -> Timestamp, + updated_at -> Timestamp, + issue_status_id -> Int4, + epic_id -> Nullable, + } +} + +diesel::table! { + use diesel::sql_types::*; + use bitque_data::*; + + messages (id) { + id -> Int4, + receiver_id -> Int4, + sender_id -> Int4, + summary -> Text, + description -> Text, + message_type -> MessageType, + hyper_link -> Text, + created_at -> Timestamp, + updated_at -> Timestamp, + } +} + +diesel::table! { + use diesel::sql_types::*; + use bitque_data::*; + + projects (id) { + id -> Int4, + name -> Text, + url -> Text, + description -> Text, + category -> ProjectCategory, + created_at -> Timestamp, + updated_at -> Timestamp, + time_tracking -> TimeTracking, + } +} + +diesel::table! { + use diesel::sql_types::*; + use bitque_data::*; + + tokens (id) { + id -> Int4, + user_id -> Int4, + access_token -> Uuid, + refresh_token -> Uuid, + created_at -> Timestamp, + updated_at -> Timestamp, + bind_token -> Nullable, + } +} + +diesel::table! { + use diesel::sql_types::*; + use bitque_data::*; + + user_projects (id) { + id -> Int4, + user_id -> Int4, + project_id -> Int4, + is_default -> Bool, + is_current -> Bool, + role -> UserRole, + created_at -> Timestamp, + updated_at -> Timestamp, + } +} + +diesel::table! { + use diesel::sql_types::*; + use bitque_data::*; + + user_settings (id) { + id -> Int4, + user_id -> Int4, + text_editor_mode -> TextEditorMode, + } +} + +diesel::table! { + use diesel::sql_types::*; + use bitque_data::*; + + users (id) { + id -> Int4, + name -> Text, + email -> Text, + avatar_url -> Nullable, + created_at -> Timestamp, + updated_at -> Timestamp, + } +} + +diesel::joinable!(comments -> issues (issue_id)); +diesel::joinable!(comments -> users (user_id)); +diesel::joinable!(epics -> projects (project_id)); +diesel::joinable!(epics -> users (user_id)); +diesel::joinable!(invitations -> projects (project_id)); +diesel::joinable!(invitations -> users (invited_by_id)); +diesel::joinable!(issue_assignees -> issues (issue_id)); +diesel::joinable!(issue_assignees -> users (user_id)); +diesel::joinable!(issue_statuses -> projects (project_id)); +diesel::joinable!(issues -> epics (epic_id)); +diesel::joinable!(issues -> issue_statuses (issue_status_id)); +diesel::joinable!(issues -> projects (project_id)); +diesel::joinable!(issues -> users (reporter_id)); +diesel::joinable!(tokens -> users (user_id)); +diesel::joinable!(user_projects -> projects (project_id)); +diesel::joinable!(user_projects -> users (user_id)); +diesel::joinable!(user_settings -> users (user_id)); + +diesel::allow_tables_to_appear_in_same_query!( + comments, + epics, + invitations, + issue_assignees, + issue_statuses, + issues, + messages, + projects, + tokens, + user_projects, + user_settings, + users, +); diff --git a/actors/database-actor/src/tokens.rs b/crates/database-actor/src/tokens.rs similarity index 96% rename from actors/database-actor/src/tokens.rs rename to crates/database-actor/src/tokens.rs index 9cda69a4..19b6c2e6 100644 --- a/actors/database-actor/src/tokens.rs +++ b/crates/database-actor/src/tokens.rs @@ -1,5 +1,5 @@ use diesel::prelude::*; -use jirs_data::{Token, UserId}; +use bitque_data::{Token, UserId}; use crate::{db_create, db_find, db_update}; diff --git a/actors/database-actor/src/user_projects.rs b/crates/database-actor/src/user_projects.rs similarity index 96% rename from actors/database-actor/src/user_projects.rs rename to crates/database-actor/src/user_projects.rs index 2f5324f7..a6c5d29b 100644 --- a/actors/database-actor/src/user_projects.rs +++ b/crates/database-actor/src/user_projects.rs @@ -1,5 +1,5 @@ use diesel::prelude::*; -use jirs_data::{ProjectId, UserId, UserProject, UserProjectId, UserRole}; +use bitque_data::{ProjectId, UserId, UserProject, UserProjectId, UserRole}; use crate::{db_create, db_delete, db_find, db_load, db_update}; @@ -27,7 +27,7 @@ db_load! { mod inner { use diesel::prelude::*; - use jirs_data::{UserId, UserProject, UserProjectId}; + use bitque_data::{UserId, UserProject, UserProjectId}; use crate::db_update; diff --git a/actors/database-actor/src/user_settings.rs b/crates/database-actor/src/user_settings.rs similarity index 91% rename from actors/database-actor/src/user_settings.rs rename to crates/database-actor/src/user_settings.rs index 3aec2c41..0bce0f2b 100644 --- a/actors/database-actor/src/user_settings.rs +++ b/crates/database-actor/src/user_settings.rs @@ -1,5 +1,5 @@ use diesel::prelude::*; -use jirs_data::{TextEditorMode, UserId, UserSetting}; +use bitque_data::{TextEditorMode, UserId, UserSetting}; use crate::{db_find, db_update}; @@ -30,7 +30,7 @@ db_update! { mod inner { use diesel::prelude::*; - use jirs_data::{TextEditorMode, UserId, UserSetting}; + use bitque_data::{TextEditorMode, UserId, UserSetting}; use crate::{db_create, db_update}; diff --git a/actors/database-actor/src/users.rs b/crates/database-actor/src/users.rs similarity index 97% rename from actors/database-actor/src/users.rs rename to crates/database-actor/src/users.rs index 119761dd..558b6583 100644 --- a/actors/database-actor/src/users.rs +++ b/crates/database-actor/src/users.rs @@ -1,5 +1,5 @@ use diesel::prelude::*; -use jirs_data::{EmailString, IssueId, ProjectId, User, UserId, UserRole, UsernameString}; +use bitque_data::{EmailString, IssueId, ProjectId, User, UserId, UserRole, UsernameString}; use crate::projects::CreateProject; use crate::user_projects::CreateUserProject; @@ -154,7 +154,7 @@ db_update! { #[cfg(test)] mod tests { use diesel::connection::TransactionManager; - use jirs_data::{Project, ProjectCategory}; + use bitque_data::{Project, ProjectCategory}; use super::*; use crate::build_pool; diff --git a/derive/derive_db_execute/Cargo.toml b/crates/derive_db_execute/Cargo.toml similarity index 85% rename from derive/derive_db_execute/Cargo.toml rename to crates/derive_db_execute/Cargo.toml index 59a2a37e..49242c9c 100644 --- a/derive/derive_db_execute/Cargo.toml +++ b/crates/derive_db_execute/Cargo.toml @@ -4,7 +4,7 @@ version = "0.1.0" authors = ["Adrian Wozniak "] edition = "2018" description = "JIRS (Simplified JIRA in Rust) shared data types" -repository = "https://gitlab.com/adrian.wozniak/jirs" +repository = "https://gitlab.com/adrian.wozniak/bitque" license = "MPL-2.0" #license-file = "../LICENSE" diff --git a/derive/derive_db_execute/src/lib.rs b/crates/derive_db_execute/src/lib.rs similarity index 96% rename from derive/derive_db_execute/src/lib.rs rename to crates/derive_db_execute/src/lib.rs index ca914017..3a5a97c2 100644 --- a/derive/derive_db_execute/src/lib.rs +++ b/crates/derive_db_execute/src/lib.rs @@ -157,7 +157,7 @@ fn build_create_exec( use crate::schema::{schema}::dsl::*; let msg = self; crate::q!({query}).get_result(conn).map_err(|e| {{ - common::log::error!("{{:?}}", e); + ::tracing::error!("{{:?}}", e); crate::DatabaseError::GenericFailure( crate::OperationError::Create, crate::ResourceKind::{resource}, @@ -192,7 +192,7 @@ fn build_find_exec( use crate::schema::{schema}::dsl::*; let msg = self; crate::q!({query}).first(conn).map_err(|e| {{ - common::log::error!("{{:?}}", e); + ::tracing::error!("{{:?}}", e); crate::DatabaseError::GenericFailure( crate::OperationError::LoadSingle, crate::ResourceKind::{resource}, @@ -226,7 +226,7 @@ fn build_load_exec( use crate::schema::{schema}::dsl::*; let msg = self; crate::q!({query}).load(conn).map_err(|e| {{ - common::log::error!("{{:?}}", e); + ::tracing::error!("{{:?}}", e); crate::DatabaseError::GenericFailure( crate::OperationError::LoadCollection, crate::ResourceKind::{resource}, @@ -260,7 +260,7 @@ fn build_update_exec( use crate::schema::{schema}::dsl::*; let msg = self; crate::q!({query}).get_result(conn).map_err(|e| {{ - common::log::error!("{{:?}}", e); + ::tracing::error!("{{:?}}", e); crate::DatabaseError::GenericFailure( crate::OperationError::Update, crate::ResourceKind::{resource}, @@ -294,7 +294,7 @@ fn build_destroy_exec( use crate::schema::{schema}::dsl::*; let msg = self; crate::q!({query}).execute(conn).map_err(|e| {{ - common::log::error!("{{:?}}", e); + ::tracing::error!("{{:?}}", e); crate::DatabaseError::GenericFailure( crate::OperationError::Delete, crate::ResourceKind::{resource}, diff --git a/derive/derive_db_execute/src/parse_attr.rs b/crates/derive_db_execute/src/parse_attr.rs similarity index 99% rename from derive/derive_db_execute/src/parse_attr.rs rename to crates/derive_db_execute/src/parse_attr.rs index de5f4b24..4bd297ba 100644 --- a/derive/derive_db_execute/src/parse_attr.rs +++ b/crates/derive_db_execute/src/parse_attr.rs @@ -3,7 +3,7 @@ use std::iter::Peekable; use proc_macro::token_stream::IntoIter; use proc_macro::TokenTree; -#[derive(Default, Debug)] +#[derive(Debug, Default)] pub struct Attributes { pub result: Option, pub schema: Option, diff --git a/derive/derive_db_execute/src/utils.rs b/crates/derive_db_execute/src/utils.rs similarity index 100% rename from derive/derive_db_execute/src/utils.rs rename to crates/derive_db_execute/src/utils.rs diff --git a/derive/derive_enum_iter/Cargo.toml b/crates/derive_enum_iter/Cargo.toml similarity index 85% rename from derive/derive_enum_iter/Cargo.toml rename to crates/derive_enum_iter/Cargo.toml index 85bc90f5..424bf291 100644 --- a/derive/derive_enum_iter/Cargo.toml +++ b/crates/derive_enum_iter/Cargo.toml @@ -4,7 +4,7 @@ version = "0.1.0" authors = ["Adrian Wozniak "] edition = "2018" description = "JIRS (Simplified JIRA in Rust) shared data types" -repository = "https://gitlab.com/adrian.wozniak/jirs" +repository = "https://gitlab.com/adrian.wozniak/bitque" license = "MPL-2.0" #license-file = "../LICENSE" diff --git a/derive/derive_enum_iter/src/lib.rs b/crates/derive_enum_iter/src/lib.rs similarity index 100% rename from derive/derive_enum_iter/src/lib.rs rename to crates/derive_enum_iter/src/lib.rs diff --git a/derive/derive_enum_primitive/Cargo.toml b/crates/derive_enum_primitive/Cargo.toml similarity index 85% rename from derive/derive_enum_primitive/Cargo.toml rename to crates/derive_enum_primitive/Cargo.toml index 850efeee..64d992f0 100644 --- a/derive/derive_enum_primitive/Cargo.toml +++ b/crates/derive_enum_primitive/Cargo.toml @@ -4,7 +4,7 @@ version = "0.1.0" authors = ["Adrian Wozniak "] edition = "2018" description = "JIRS (Simplified JIRA in Rust) shared data types" -repository = "https://gitlab.com/adrian.wozniak/jirs" +repository = "https://gitlab.com/adrian.wozniak/bitque" license = "MPL-2.0" #license-file = "../LICENSE" diff --git a/derive/derive_enum_primitive/src/lib.rs b/crates/derive_enum_primitive/src/lib.rs similarity index 100% rename from derive/derive_enum_primitive/src/lib.rs rename to crates/derive_enum_primitive/src/lib.rs diff --git a/derive/derive_enum_sql/Cargo.toml b/crates/derive_enum_sql/Cargo.toml similarity index 85% rename from derive/derive_enum_sql/Cargo.toml rename to crates/derive_enum_sql/Cargo.toml index e4cb0428..d7cf196a 100644 --- a/derive/derive_enum_sql/Cargo.toml +++ b/crates/derive_enum_sql/Cargo.toml @@ -4,7 +4,7 @@ version = "0.1.0" authors = ["Adrian Wozniak "] edition = "2018" description = "JIRS (Simplified JIRA in Rust) shared data types" -repository = "https://gitlab.com/adrian.wozniak/jirs" +repository = "https://gitlab.com/adrian.wozniak/bitque" license = "MPL-2.0" #license-file = "../LICENSE" diff --git a/derive/derive_enum_sql/src/lib.rs b/crates/derive_enum_sql/src/lib.rs similarity index 100% rename from derive/derive_enum_sql/src/lib.rs rename to crates/derive_enum_sql/src/lib.rs diff --git a/derive/derive_utils/Cargo.toml b/crates/derive_utils/Cargo.toml similarity index 85% rename from derive/derive_utils/Cargo.toml rename to crates/derive_utils/Cargo.toml index f8c680c9..07018b1d 100644 --- a/derive/derive_utils/Cargo.toml +++ b/crates/derive_utils/Cargo.toml @@ -4,7 +4,7 @@ version = "0.1.0" authors = ["Adrian Wozniak "] edition = "2018" description = "JIRS (Simplified JIRA in Rust) shared data types" -repository = "https://gitlab.com/adrian.wozniak/jirs" +repository = "https://gitlab.com/adrian.wozniak/bitque" license = "MPL-2.0" #license-file = "../LICENSE" diff --git a/derive/derive_utils/src/lib.rs b/crates/derive_utils/src/lib.rs similarity index 100% rename from derive/derive_utils/src/lib.rs rename to crates/derive_utils/src/lib.rs diff --git a/actors/filesystem-actor/Cargo.toml b/crates/filesystem-actor/Cargo.toml similarity index 52% rename from actors/filesystem-actor/Cargo.toml rename to crates/filesystem-actor/Cargo.toml index 74e54fd8..13da0df9 100644 --- a/actors/filesystem-actor/Cargo.toml +++ b/crates/filesystem-actor/Cargo.toml @@ -4,7 +4,7 @@ version = "0.1.0" authors = ["Adrian Wozniak "] edition = "2018" description = "JIRS (Simplified JIRA in Rust) shared data types" -repository = "https://gitlab.com/adrian.wozniak/jirs" +repository = "https://gitlab.com/adrian.wozniak/bitque" license = "MPL-2.0" #license-file = "../LICENSE" @@ -13,16 +13,10 @@ name = "filesystem_actor" path = "./src/lib.rs" [dependencies] -common = { path = "../../shared/common" } -actix = { version = "0.10.0" } -actix-files = { version = "0.5.0" } - +actix = { version = "0.13.0" } +actix-files = { version = "0.6.2" } +bitque-config = { workspace = true, features = ["local-storage"] } +bytes = { version = "1.4.0" } +common = { workspace = true } futures = { version = "0.3.8" } - -[dependencies.jirs-config] -path = "../../shared/jirs-config" -features = ["local-storage"] - -[dependencies.tokio] -version = "0.2.23" -features = ["dns"] +tokio = { version = "1", features = ["full"] } diff --git a/actors/filesystem-actor/src/lib.rs b/crates/filesystem-actor/src/lib.rs similarity index 94% rename from actors/filesystem-actor/src/lib.rs rename to crates/filesystem-actor/src/lib.rs index b003f3ef..cff62ea1 100644 --- a/actors/filesystem-actor/src/lib.rs +++ b/crates/filesystem-actor/src/lib.rs @@ -3,7 +3,7 @@ use std::path::PathBuf; use actix::SyncContext; use actix_files::{self, Files}; -use jirs_config::fs::Configuration; +use bitque_config::fs::Configuration; #[derive(Debug)] pub enum FsError { @@ -42,7 +42,7 @@ impl actix::Actor for FileSystemExecutor { #[derive(actix::Message)] #[rtype(result = "Result")] pub struct CreateFile { - pub source: tokio::sync::broadcast::Receiver, + pub source: tokio::sync::broadcast::Receiver, pub file_name: String, } diff --git a/actors/highlight-actor/Cargo.toml b/crates/highlight-actor/Cargo.toml similarity index 58% rename from actors/highlight-actor/Cargo.toml rename to crates/highlight-actor/Cargo.toml index 767d2563..ce93706f 100644 --- a/actors/highlight-actor/Cargo.toml +++ b/crates/highlight-actor/Cargo.toml @@ -4,7 +4,7 @@ version = "0.1.0" authors = ["Adrian Wozniak "] edition = "2018" description = "JIRS (Simplified JIRA in Rust) shared data types" -repository = "https://gitlab.com/adrian.wozniak/jirs" +repository = "https://gitlab.com/adrian.wozniak/bitque" license = "MPL-2.0" #license-file = "../LICENSE" @@ -13,23 +13,14 @@ name = "highlight_actor" path = "./src/lib.rs" [dependencies] -common = { path = "../../shared/common" } -actix = { version = "0.10.0" } - -serde = "*" -bincode = "*" -toml = { version = "*" } - -simsearch = { version = "0.2" } - +actix = { version = "0.13.0" } +bincode = { version = "*" } +bitque-config = { workspace = true, features = ["hi"] } +bitque-data = { workspace = true, features = ["backend"] } +common = { workspace = true } flate2 = { version = "*" } -syntect = { version = "*" } lazy_static = { version = "*" } - -[dependencies.jirs-config] -path = "../../shared/jirs-config" -features = ["hi"] - -[dependencies.jirs-data] -path = "../../shared/jirs-data" -features = ["backend"] +serde = { version = "*" } +simsearch = { version = "0.2" } +syntect = { version = "*" } +toml = { version = "*" } diff --git a/actors/highlight-actor/src/lib.rs b/crates/highlight-actor/src/lib.rs similarity index 90% rename from actors/highlight-actor/src/lib.rs rename to crates/highlight-actor/src/lib.rs index 98952f6d..c55d869e 100644 --- a/actors/highlight-actor/src/lib.rs +++ b/crates/highlight-actor/src/lib.rs @@ -1,7 +1,7 @@ use std::sync::Arc; use actix::{Actor, Handler, SyncContext}; -use jirs_data::HighlightedCode; +use bitque_data::HighlightedCode; use simsearch::SimSearch; use syntect::easy::HighlightLines; use syntect::highlighting::{Style, ThemeSet}; @@ -79,7 +79,14 @@ impl HighlightActor { .ok_or(HighlightError::UnknownTheme)?; let mut hi = HighlightLines::new(set, theme); - Ok(hi.highlight(code, self.syntax_set.as_ref())) + + let mut res = Vec::with_capacity(code.split_ascii_whitespace().count()); + for line in code.lines() { + res.extend(hi.highlight_line(line, self.syntax_set.as_ref()).map_err(|_e| { + HighlightError::UnknownLanguage + })?.iter()); + } + Ok(res) } } @@ -105,14 +112,14 @@ impl Handler for HighlightActor { .into_iter() .map(|(style, part)| { ( - jirs_data::Style { - foreground: jirs_data::Color { + bitque_data::Style { + foreground: bitque_data::Color { r: style.foreground.r, g: style.foreground.g, b: style.foreground.b, a: style.foreground.a, }, - background: jirs_data::Color { + background: bitque_data::Color { r: style.background.r, g: style.background.g, b: style.background.b, @@ -128,7 +135,7 @@ impl Handler for HighlightActor { } } -#[derive(actix::Message, Default)] +#[derive(Default, actix::Message)] #[rtype(result = "Result")] pub struct TextHighlightCode { pub code: String, diff --git a/actors/highlight-actor/src/load.rs b/crates/highlight-actor/src/load.rs similarity index 100% rename from actors/highlight-actor/src/load.rs rename to crates/highlight-actor/src/load.rs diff --git a/actors/highlight-actor/src/syntaxes.bin b/crates/highlight-actor/src/syntaxes.bin similarity index 100% rename from actors/highlight-actor/src/syntaxes.bin rename to crates/highlight-actor/src/syntaxes.bin diff --git a/actors/highlight-actor/src/themes.bin b/crates/highlight-actor/src/themes.bin similarity index 100% rename from actors/highlight-actor/src/themes.bin rename to crates/highlight-actor/src/themes.bin diff --git a/actors/mail-actor/Cargo.toml b/crates/mail-actor/Cargo.toml similarity index 66% rename from actors/mail-actor/Cargo.toml rename to crates/mail-actor/Cargo.toml index b572aa6b..aaafdac2 100644 --- a/actors/mail-actor/Cargo.toml +++ b/crates/mail-actor/Cargo.toml @@ -4,7 +4,7 @@ version = "0.1.0" authors = ["Adrian Wozniak "] edition = "2018" description = "JIRS (Simplified JIRA in Rust) shared data types" -repository = "https://gitlab.com/adrian.wozniak/jirs" +repository = "https://gitlab.com/adrian.wozniak/bitque" license = "MPL-2.0" #license-file = "../LICENSE" @@ -13,25 +13,16 @@ name = "mail_actor" path = "./src/lib.rs" [dependencies] -common = { path = "../../shared/common" } -actix = { version = "0.10.0" } - -serde = "*" -toml = { version = "*" } - +actix = { version = "0.13.0" } +bitque-config = { workspace = true, features = ["mail", "web"] } +common = { workspace = true } dotenv = { version = "*" } - -uuid = { version = "0.8.2", features = ["serde", "v4", "v5"] } - futures = { version = "*" } -openssl-sys = { version = "*", features = ["vendored"] } -libc = { version = "0.2.0", default-features = false } - lettre = { version = "0.10.0-rc.3" } lettre_email = { version = "*" } - +libc = { version = "0.2.0", default-features = false } log = { version = "*" } - -[dependencies.jirs-config] -path = "../../shared/jirs-config" -features = ["mail", "web"] +openssl-sys = { version = "*", features = ["vendored"] } +serde = { version = "*" } +toml = { version = "*" } +uuid = { version = "1.3.0", features = ["serde", "v4", "v5"] } diff --git a/actors/mail-actor/src/invite.rs b/crates/mail-actor/src/invite.rs similarity index 96% rename from actors/mail-actor/src/invite.rs rename to crates/mail-actor/src/invite.rs index 79995e0e..f40c52dd 100644 --- a/actors/mail-actor/src/invite.rs +++ b/crates/mail-actor/src/invite.rs @@ -22,7 +22,7 @@ impl Handler for MailExecutor { fn handle(&mut self, msg: Invite, _ctx: &mut Self::Context) -> Self::Result { use lettre::Transport; let transport = &mut self.transport; - let addr = jirs_config::web::Configuration::read().full_addr(); + let addr = bitque_config::web::Configuration::read().full_addr(); let from = email_address(self.config.from.as_str())?; let to = email_address(&msg.email)?; diff --git a/actors/mail-actor/src/lib.rs b/crates/mail-actor/src/lib.rs similarity index 82% rename from actors/mail-actor/src/lib.rs rename to crates/mail-actor/src/lib.rs index d40a9e7d..43ec3bb6 100644 --- a/actors/mail-actor/src/lib.rs +++ b/crates/mail-actor/src/lib.rs @@ -20,7 +20,7 @@ pub enum MailError { pub struct MailExecutor { pub transport: MailTransport, - pub config: jirs_config::mail::Configuration, + pub config: bitque_config::mail::Configuration, } impl Actor for MailExecutor { @@ -29,7 +29,7 @@ impl Actor for MailExecutor { impl Default for MailExecutor { fn default() -> Self { - let config = jirs_config::mail::Configuration::read(); + let config = bitque_config::mail::Configuration::read(); Self { transport: mail_transport(&config), config, @@ -37,8 +37,8 @@ impl Default for MailExecutor { } } -fn mail_client(config: &jirs_config::mail::Configuration) -> lettre::SmtpTransport { - let jirs_config::mail::Configuration { +fn mail_client(config: &bitque_config::mail::Configuration) -> lettre::SmtpTransport { + let bitque_config::mail::Configuration { user: mail_user, pass: mail_pass, host: mail_host, @@ -52,7 +52,7 @@ fn mail_client(config: &jirs_config::mail::Configuration) -> lettre::SmtpTranspo .build() } -fn mail_transport(config: &jirs_config::mail::Configuration) -> MailTransport { +fn mail_transport(config: &bitque_config::mail::Configuration) -> MailTransport { mail_client(config) } diff --git a/actors/mail-actor/src/welcome.rs b/crates/mail-actor/src/welcome.rs similarity index 100% rename from actors/mail-actor/src/welcome.rs rename to crates/mail-actor/src/welcome.rs diff --git a/crates/web-actor/Cargo.toml b/crates/web-actor/Cargo.toml new file mode 100644 index 00000000..89da13d8 --- /dev/null +++ b/crates/web-actor/Cargo.toml @@ -0,0 +1,38 @@ +[package] +name = "web-actor" +version = "0.1.0" +authors = ["Adrian Wozniak "] +edition = "2018" +description = "JIRS (Simplified JIRA in Rust) shared data types" +repository = "https://gitlab.com/adrian.wozniak/bitque" +license = "MPL-2.0" +#license-file = "../LICENSE" + +[lib] +name = "web_actor" +path = "./src/lib.rs" + +[features] +local-storage = ["filesystem-actor"] +aws-s3 = ["amazon-actor"] +default = ["local-storage"] + +[dependencies] +actix = { version = "0.13.0" } +actix-multipart = { version = "*" } +amazon-actor = { workspace = true, optional = true } +bincode = { version = "*" } +bitque-config = { workspace = true, features = ["mail", "web", "local-storage"] } +bitque-data = { workspace = true, features = ["backend"] } +common = { workspace = true } +database-actor = { workspace = true } +filesystem-actor = { workspace = true, optional = true } +futures = { version = "0.3.8" } +libc = { version = "0.2.0", default-features = false } +mail-actor = { workspace = true } +openssl-sys = { version = "*", features = ["vendored"] } +serde = { version = "*" } +tokio = { version = "1", features = ["full"] } +toml = { version = "*" } +uuid = { version = "1.3.0", features = ["serde", "v4", "v5"] } +websocket-actor = { workspace = true } diff --git a/actors/web-actor/src/avatar.rs b/crates/web-actor/src/avatar.rs similarity index 96% rename from actors/web-actor/src/avatar.rs rename to crates/web-actor/src/avatar.rs index 78d1d191..3df8b081 100644 --- a/actors/web-actor/src/avatar.rs +++ b/crates/web-actor/src/avatar.rs @@ -13,8 +13,8 @@ use database_actor::DbExecutor; #[cfg(feature = "local-storage")] use futures::executor::block_on; use futures::{StreamExt, TryStreamExt}; -use jirs_data::msg::{WsMsg, WsMsgUser}; -use jirs_data::{User, UserId}; +use bitque_data::msg::{WsMsg, WsMsgUser}; +use bitque_data::{User, UserId}; use websocket_actor::server::InnerMsg::BroadcastToChannel; use websocket_actor::server::WsServer; @@ -161,13 +161,13 @@ async fn update_user_avatar( Ok(Ok(user)) => Ok(user), Ok(Err(e)) => { - common::log::error!("{:?}", e); + ::tracing::error!("{:?}", e); Err(actix_web::Error::from( HttpResponse::Unauthorized().finish(), )) } Err(e) => { - common::log::error!("{:?}", e); + ::tracing::error!("{:?}", e); Err(actix_web::Error::from( HttpResponse::Unauthorized().finish(), )) @@ -192,11 +192,11 @@ async fn handle_token( Ok(Ok(user)) => Ok(user.id), Ok(Err(e)) => { - common::log::error!("{:?}", e); + ::tracing::error!("{:?}", e); Err(HttpResponse::Unauthorized().finish().into()) } Err(e) => { - common::log::error!("{:?}", e); + ::tracing::error!("{:?}", e); Err(HttpResponse::Unauthorized().finish().into()) } } diff --git a/actors/web-actor/src/errors.rs b/crates/web-actor/src/errors.rs similarity index 97% rename from actors/web-actor/src/errors.rs rename to crates/web-actor/src/errors.rs index f6bb00be..26c51839 100644 --- a/actors/web-actor/src/errors.rs +++ b/crates/web-actor/src/errors.rs @@ -1,7 +1,7 @@ use actix_web::HttpResponse; use common::*; -use jirs_data::msg::WsError; -use jirs_data::ErrorResponse; +use bitque_data::msg::WsError; +use bitque_data::ErrorResponse; const TOKEN_NOT_FOUND: &str = "Token not found"; const DATABASE_CONNECTION_FAILED: &str = "Database connection failed"; diff --git a/actors/web-actor/src/handlers/mod.rs b/crates/web-actor/src/handlers/mod.rs similarity index 100% rename from actors/web-actor/src/handlers/mod.rs rename to crates/web-actor/src/handlers/mod.rs diff --git a/actors/web-actor/src/handlers/upload_avatar_image.rs b/crates/web-actor/src/handlers/upload_avatar_image.rs similarity index 95% rename from actors/web-actor/src/handlers/upload_avatar_image.rs rename to crates/web-actor/src/handlers/upload_avatar_image.rs index 8331fde0..60a78e41 100644 --- a/actors/web-actor/src/handlers/upload_avatar_image.rs +++ b/crates/web-actor/src/handlers/upload_avatar_image.rs @@ -5,7 +5,7 @@ use actix_web::web::Data; use actix_web::Error; use common::*; use futures::StreamExt; -use jirs_data::UserId; +use bitque_data::UserId; use tokio::sync::broadcast::{Receiver, Sender}; #[cfg(all(feature = "local-storage", feature = "aws-s3"))] @@ -113,7 +113,7 @@ async fn aws_s3( amazon: Data>, receiver: Receiver, ) -> Option { - let s3 = jirs_config::amazon::config(); + let s3 = bitque_config::amazon::config(); if !s3.active { return None; } @@ -134,11 +134,11 @@ async fn aws_s3( async fn local_storage_write( system_file_name: String, fs: Data>, - _user_id: jirs_data::UserId, + _user_id: bitque_data::UserId, receiver: Receiver, ) -> Option { - let web_config = jirs_config::web::config(); - let fs_config = jirs_config::fs::config(); + let web_config = bitque_config::web::config(); + let fs_config = bitque_config::fs::config(); match fs .send(filesystem_actor::CreateFile { diff --git a/actors/web-actor/src/lib.rs b/crates/web-actor/src/lib.rs similarity index 97% rename from actors/web-actor/src/lib.rs rename to crates/web-actor/src/lib.rs index 7bfc8ba4..651a4485 100644 --- a/actors/web-actor/src/lib.rs +++ b/crates/web-actor/src/lib.rs @@ -5,7 +5,7 @@ use common::*; use database_actor::authorize_user::AuthorizeUser; use database_actor::DbExecutor; pub use errors::*; -use jirs_data::User; +use bitque_data::User; use crate::middleware::authorize::token_from_headers; diff --git a/actors/web-actor/src/middleware/authorize.rs b/crates/web-actor/src/middleware/authorize.rs similarity index 100% rename from actors/web-actor/src/middleware/authorize.rs rename to crates/web-actor/src/middleware/authorize.rs diff --git a/actors/web-actor/src/middleware/mod.rs b/crates/web-actor/src/middleware/mod.rs similarity index 100% rename from actors/web-actor/src/middleware/mod.rs rename to crates/web-actor/src/middleware/mod.rs diff --git a/web/.dockerignore b/crates/web/.dockerignore similarity index 100% rename from web/.dockerignore rename to crates/web/.dockerignore diff --git a/web/.env b/crates/web/.env similarity index 100% rename from web/.env rename to crates/web/.env diff --git a/web/.gitignore b/crates/web/.gitignore similarity index 100% rename from web/.gitignore rename to crates/web/.gitignore diff --git a/web/Cargo.toml b/crates/web/Cargo.toml similarity index 63% rename from web/Cargo.toml rename to crates/web/Cargo.toml index 34b24b4b..cf55d68a 100644 --- a/web/Cargo.toml +++ b/crates/web/Cargo.toml @@ -1,16 +1,16 @@ [package] -name = "jirs_client" +name = "bitque_client" version = "0.1.0" authors = ["Adrian Wozniak "] edition = "2018" description = "JIRS (Simplified JIRA in Rust) WASM client" -repository = "https://gitlab.com/adrian.wozniak/jirs" +repository = "https://gitlab.com/adrian.wozniak/bitque" license = "MPL-2.0" #license-file = "../LICENSE" [lib] crate-type = ["cdylib", "rlib"] -name = "jirs_client" +name = "bitque_client" path = "src/lib.rs" [features] @@ -18,38 +18,23 @@ print-model = [] default = [] [dependencies] -jirs-data = { path = "../shared/jirs-data", features = ["frontend"] } - -seed = { version = "0.8.0" } - +bincode = { version = "*" } +bitque-data = { workspace = true, features = ["frontend"] } +chrono = { version = "0.4", default-features = false, features = ["serde", "wasmbind"] } +console_error_panic_hook = { version = "*" } +derive_enum_iter = { workspace = true } +derive_enum_primitive = { workspace = true } +dotenv = { version = "*" } +futures = "0.3.6" +js-sys = { version = "*", default-features = false } +seed = { version = "0.10.0" } serde = { version = "*" } serde_json = { version = "*" } -bincode = { version = "*" } - -chrono = { version = "0.4", default-features = false, features = ["serde", "wasmbind"] } -uuid = { version = "0.8.2", features = ["serde"] } -futures = "0.3.6" - -dotenv = { version = "*" } -wasm-logger = { version = "*" } -log = "*" - -console_error_panic_hook = { version = "*" } - -[dependencies.wee_alloc] -version = "*" -features = ["static_array_backend"] - -[dependencies.wasm-bindgen] -version = "*" -features = ["enable-interning"] - -[dependencies.wasm-bindgen-futures] -version = "*" - -[dependencies.js-sys] -version = "*" -default-features = false +tracing = { version = "0.1.37" } +uuid = { version = "1.3.0", features = ["serde"] } +wasm-bindgen = { version = "*", features = ["enable-interning"] } +wasm-bindgen-futures = { version = "*" } +wee_alloc = { version = "*", features = ["static_array_backend"] } [dependencies.web-sys] version = "*" @@ -85,11 +70,5 @@ features = [ "DragEvent", ] -[dependencies.derive_enum_primitive] -path = "../derive/derive_enum_primitive" - -[dependencies.derive_enum_iter] -path = "../derive/derive_enum_iter" - [dev-dependencies] wasm-bindgen-test = { version = "*" } diff --git a/web/Dockerfile b/crates/web/Dockerfile similarity index 75% rename from web/Dockerfile rename to crates/web/Dockerfile index a0c86e8c..92802968 100644 --- a/web/Dockerfile +++ b/crates/web/Dockerfile @@ -8,14 +8,14 @@ RUN rustup toolchain install nightly && \ rustup default nightly && \ curl https://rustwasm.github.io/wasm-pack/installer/init.sh -sSf | sh -ADD ./jirs-data /app/jirs-data +ADD ./bitque-data /app/bitque-data -ADD ./jirs-client /app/jirs-client +ADD ./bitque-client /app/bitque-client -RUN cd ./jirs-client && \ +RUN cd ./bitque-client && \ rm -Rf build && \ mkdir build && \ - wasm-pack build --mode normal --release --out-name jirs --out-dir ./build --target web && \ + wasm-pack build --mode normal --release --out-name bitque --out-dir ./build --target web && \ cp -r ./static/* ./build && \ cat ./static/index.js \ | sed -e "s/process.env.JIRS_SERVER_BIND/'$JIRS_SERVER_BIND'/g" \ @@ -24,6 +24,6 @@ RUN cd ./jirs-client && \ mkdir -p /assets && \ cp -r ./build/* /assets -CMD cat /app/jirs-client/static/index.js \ +CMD cat /app/bitque-client/static/index.js \ | sed -e "s/process.env.JIRS_SERVER_BIND/'$JIRS_SERVER_BIND'/g" \ | sed -e "s/process.env.JIRS_SERVER_PORT/'$JIRS_SERVER_PORT'/g" &> /assets/index.js diff --git a/web/LICENSE b/crates/web/LICENSE similarity index 100% rename from web/LICENSE rename to crates/web/LICENSE diff --git a/web/build.rs b/crates/web/build.rs similarity index 97% rename from web/build.rs rename to crates/web/build.rs index 2c8f38d0..ff5a4c48 100644 --- a/web/build.rs +++ b/crates/web/build.rs @@ -1,5 +1,3 @@ -#![feature(format_args_capture)] - fn main() { if std::fs::metadata("./src/location.rs").is_ok() { return; diff --git a/web/js/css/app.scss b/crates/web/js/css/app.scss similarity index 100% rename from web/js/css/app.scss rename to crates/web/js/css/app.scss diff --git a/web/js/css/aside.scss b/crates/web/js/css/aside.scss similarity index 100% rename from web/js/css/aside.scss rename to crates/web/js/css/aside.scss diff --git a/web/js/css/deleteIssueStatus.scss b/crates/web/js/css/deleteIssueStatus.scss similarity index 100% rename from web/js/css/deleteIssueStatus.scss rename to crates/web/js/css/deleteIssueStatus.scss diff --git a/web/js/css/epicsPage.scss b/crates/web/js/css/epicsPage.scss similarity index 100% rename from web/js/css/epicsPage.scss rename to crates/web/js/css/epicsPage.scss diff --git a/web/js/css/fonts.scss b/crates/web/js/css/fonts.scss similarity index 100% rename from web/js/css/fonts.scss rename to crates/web/js/css/fonts.scss diff --git a/web/js/css/global.scss b/crates/web/js/css/global.scss similarity index 100% rename from web/js/css/global.scss rename to crates/web/js/css/global.scss diff --git a/web/js/css/iconfonts.scss b/crates/web/js/css/iconfonts.scss similarity index 100% rename from web/js/css/iconfonts.scss rename to crates/web/js/css/iconfonts.scss diff --git a/web/js/css/invite.scss b/crates/web/js/css/invite.scss similarity index 100% rename from web/js/css/invite.scss rename to crates/web/js/css/invite.scss diff --git a/web/js/css/issue.scss b/crates/web/js/css/issue.scss similarity index 100% rename from web/js/css/issue.scss rename to crates/web/js/css/issue.scss diff --git a/web/js/css/issuesAndFilters.scss b/crates/web/js/css/issuesAndFilters.scss similarity index 100% rename from web/js/css/issuesAndFilters.scss rename to crates/web/js/css/issuesAndFilters.scss diff --git a/web/js/css/login.scss b/crates/web/js/css/login.scss similarity index 100% rename from web/js/css/login.scss rename to crates/web/js/css/login.scss diff --git a/web/js/css/normalize.scss b/crates/web/js/css/normalize.scss similarity index 100% rename from web/js/css/normalize.scss rename to crates/web/js/css/normalize.scss diff --git a/web/js/css/profile.scss b/crates/web/js/css/profile.scss similarity index 100% rename from web/js/css/profile.scss rename to crates/web/js/css/profile.scss diff --git a/web/js/css/project.scss b/crates/web/js/css/project.scss similarity index 100% rename from web/js/css/project.scss rename to crates/web/js/css/project.scss diff --git a/web/js/css/projectSettings.scss b/crates/web/js/css/projectSettings.scss similarity index 100% rename from web/js/css/projectSettings.scss rename to crates/web/js/css/projectSettings.scss diff --git a/web/js/css/register.scss b/crates/web/js/css/register.scss similarity index 100% rename from web/js/css/register.scss rename to crates/web/js/css/register.scss diff --git a/web/js/css/reports.scss b/crates/web/js/css/reports.scss similarity index 100% rename from web/js/css/reports.scss rename to crates/web/js/css/reports.scss diff --git a/web/js/css/shared.scss b/crates/web/js/css/shared.scss similarity index 100% rename from web/js/css/shared.scss rename to crates/web/js/css/shared.scss diff --git a/web/js/css/sidebar.scss b/crates/web/js/css/sidebar.scss similarity index 100% rename from web/js/css/sidebar.scss rename to crates/web/js/css/sidebar.scss diff --git a/web/js/css/styledAvatar.scss b/crates/web/js/css/styledAvatar.scss similarity index 100% rename from web/js/css/styledAvatar.scss rename to crates/web/js/css/styledAvatar.scss diff --git a/web/js/css/styledButton.scss b/crates/web/js/css/styledButton.scss similarity index 100% rename from web/js/css/styledButton.scss rename to crates/web/js/css/styledButton.scss diff --git a/web/js/css/styledCheckbox.scss b/crates/web/js/css/styledCheckbox.scss similarity index 100% rename from web/js/css/styledCheckbox.scss rename to crates/web/js/css/styledCheckbox.scss diff --git a/web/js/css/styledComment.scss b/crates/web/js/css/styledComment.scss similarity index 100% rename from web/js/css/styledComment.scss rename to crates/web/js/css/styledComment.scss diff --git a/web/js/css/styledDateTimeInput.scss b/crates/web/js/css/styledDateTimeInput.scss similarity index 100% rename from web/js/css/styledDateTimeInput.scss rename to crates/web/js/css/styledDateTimeInput.scss diff --git a/web/js/css/styledEditor.scss b/crates/web/js/css/styledEditor.scss similarity index 100% rename from web/js/css/styledEditor.scss rename to crates/web/js/css/styledEditor.scss diff --git a/web/js/css/styledForm.scss b/crates/web/js/css/styledForm.scss similarity index 100% rename from web/js/css/styledForm.scss rename to crates/web/js/css/styledForm.scss diff --git a/web/js/css/styledIcon.scss b/crates/web/js/css/styledIcon.scss similarity index 100% rename from web/js/css/styledIcon.scss rename to crates/web/js/css/styledIcon.scss diff --git a/web/js/css/styledImageInput.scss b/crates/web/js/css/styledImageInput.scss similarity index 100% rename from web/js/css/styledImageInput.scss rename to crates/web/js/css/styledImageInput.scss diff --git a/web/js/css/styledInput.scss b/crates/web/js/css/styledInput.scss similarity index 100% rename from web/js/css/styledInput.scss rename to crates/web/js/css/styledInput.scss diff --git a/web/js/css/styledLink.scss b/crates/web/js/css/styledLink.scss similarity index 100% rename from web/js/css/styledLink.scss rename to crates/web/js/css/styledLink.scss diff --git a/web/js/css/styledModal.scss b/crates/web/js/css/styledModal.scss similarity index 100% rename from web/js/css/styledModal.scss rename to crates/web/js/css/styledModal.scss diff --git a/web/js/css/styledPage.scss b/crates/web/js/css/styledPage.scss similarity index 100% rename from web/js/css/styledPage.scss rename to crates/web/js/css/styledPage.scss diff --git a/web/js/css/styledRte.scss b/crates/web/js/css/styledRte.scss similarity index 100% rename from web/js/css/styledRte.scss rename to crates/web/js/css/styledRte.scss diff --git a/web/js/css/styledSelect.scss b/crates/web/js/css/styledSelect.scss similarity index 100% rename from web/js/css/styledSelect.scss rename to crates/web/js/css/styledSelect.scss diff --git a/web/js/css/styledSelectChild.scss b/crates/web/js/css/styledSelectChild.scss similarity index 100% rename from web/js/css/styledSelectChild.scss rename to crates/web/js/css/styledSelectChild.scss diff --git a/web/js/css/styledTextArea.scss b/crates/web/js/css/styledTextArea.scss similarity index 100% rename from web/js/css/styledTextArea.scss rename to crates/web/js/css/styledTextArea.scss diff --git a/web/js/css/styledTooltip.scss b/crates/web/js/css/styledTooltip.scss similarity index 100% rename from web/js/css/styledTooltip.scss rename to crates/web/js/css/styledTooltip.scss diff --git a/web/js/css/timeTracking.scss b/crates/web/js/css/timeTracking.scss similarity index 100% rename from web/js/css/timeTracking.scss rename to crates/web/js/css/timeTracking.scss diff --git a/web/js/css/users.scss b/crates/web/js/css/users.scss similarity index 100% rename from web/js/css/users.scss rename to crates/web/js/css/users.scss diff --git a/web/js/css/variables.scss b/crates/web/js/css/variables.scss similarity index 100% rename from web/js/css/variables.scss rename to crates/web/js/css/variables.scss diff --git a/web/js/nginx-selfsigned.crt b/crates/web/js/nginx-selfsigned.crt similarity index 100% rename from web/js/nginx-selfsigned.crt rename to crates/web/js/nginx-selfsigned.crt diff --git a/web/js/nginx-selfsigned.key b/crates/web/js/nginx-selfsigned.key similarity index 100% rename from web/js/nginx-selfsigned.key rename to crates/web/js/nginx-selfsigned.key diff --git a/web/js/styles.css b/crates/web/js/styles.css similarity index 100% rename from web/js/styles.css rename to crates/web/js/styles.css diff --git a/web/js/template.ejs b/crates/web/js/template.ejs similarity index 100% rename from web/js/template.ejs rename to crates/web/js/template.ejs diff --git a/web/js/template.html b/crates/web/js/template.html similarity index 100% rename from web/js/template.html rename to crates/web/js/template.html diff --git a/web/scripts/dev.sh b/crates/web/scripts/dev.sh similarity index 92% rename from web/scripts/dev.sh rename to crates/web/scripts/dev.sh index 9d4f3493..c12356a3 100755 --- a/web/scripts/dev.sh +++ b/crates/web/scripts/dev.sh @@ -12,7 +12,7 @@ fi export PROJECT_ROOT=$(git rev-parse --show-toplevel) export CLIENT_ROOT=${PROJECT_ROOT}/web -export HI_ROOT=${PROJECT_ROOT}/highlight/jirs-highlight +export HI_ROOT=${PROJECT_ROOT}/highlight/bitque-highlight export MODE=force export BUILD_TYPE=--dev export COPY_TO=${CLIENT_ROOT}/tmp diff --git a/web/scripts/prod.sh b/crates/web/scripts/prod.sh similarity index 83% rename from web/scripts/prod.sh rename to crates/web/scripts/prod.sh index 3105d07c..3a47f481 100755 --- a/web/scripts/prod.sh +++ b/crates/web/scripts/prod.sh @@ -12,7 +12,7 @@ fi export PROJECT_ROOT=$(git rev-parse --show-toplevel) export CLIENT_ROOT=${PROJECT_ROOT}/web -export HI_ROOT=${PROJECT_ROOT}/highlight/jirs-highlight +export HI_ROOT=${PROJECT_ROOT}/highlight/bitque-highlight export MODE=force export BUILD_TYPE=--release export COPY_TO=/tmp/wasm @@ -26,4 +26,4 @@ cd ${CLIENT_ROOT} . .env -${CLIENT_ROOT}/scripts/run-wasm-pack.sh \ No newline at end of file +${CLIENT_ROOT}/scripts/run-wasm-pack.sh diff --git a/web/scripts/run-wasm-pack.sh b/crates/web/scripts/run-wasm-pack.sh similarity index 90% rename from web/scripts/run-wasm-pack.sh rename to crates/web/scripts/run-wasm-pack.sh index c0e1f495..fb03f56e 100755 --- a/web/scripts/run-wasm-pack.sh +++ b/crates/web/scripts/run-wasm-pack.sh @@ -9,7 +9,7 @@ mkdir -p tmp mkdir -p target cd ${CLIENT_ROOT} -wasm-pack --verbose build --mode ${MODE} ${BUILD_TYPE} --out-name jirs --out-dir ${CLIENT_ROOT}/build --target web +wasm-pack --verbose build --mode ${MODE} ${BUILD_TYPE} --out-name bitque --out-dir ${CLIENT_ROOT}/build --target web cd ${CLIENT_ROOT} rm -Rf ${COPY_TO}/styles.css diff --git a/web/src/changes.rs b/crates/web/src/changes.rs similarity index 97% rename from web/src/changes.rs rename to crates/web/src/changes.rs index 5262841b..f5b0afba 100644 --- a/web/src/changes.rs +++ b/crates/web/src/changes.rs @@ -1,4 +1,4 @@ -use jirs_data::{EpicId, IssueStatusId, WsMsg}; +use bitque_data::{EpicId, IssueStatusId, WsMsg}; use seed::prelude::WebSocketMessage; use crate::components::styled_md_editor::MdEditorMode as TabMode; diff --git a/web/src/components/events.rs b/crates/web/src/components/events.rs similarity index 100% rename from web/src/components/events.rs rename to crates/web/src/components/events.rs diff --git a/web/src/components/mod.rs b/crates/web/src/components/mod.rs similarity index 100% rename from web/src/components/mod.rs rename to crates/web/src/components/mod.rs diff --git a/web/src/components/styled_avatar.rs b/crates/web/src/components/styled_avatar.rs similarity index 100% rename from web/src/components/styled_avatar.rs rename to crates/web/src/components/styled_avatar.rs diff --git a/web/src/components/styled_button.rs b/crates/web/src/components/styled_button.rs similarity index 100% rename from web/src/components/styled_button.rs rename to crates/web/src/components/styled_button.rs diff --git a/web/src/components/styled_checkbox.rs b/crates/web/src/components/styled_checkbox.rs similarity index 100% rename from web/src/components/styled_checkbox.rs rename to crates/web/src/components/styled_checkbox.rs diff --git a/web/src/components/styled_confirm_modal.rs b/crates/web/src/components/styled_confirm_modal.rs similarity index 100% rename from web/src/components/styled_confirm_modal.rs rename to crates/web/src/components/styled_confirm_modal.rs diff --git a/web/src/components/styled_date_time_input.rs b/crates/web/src/components/styled_date_time_input.rs similarity index 99% rename from web/src/components/styled_date_time_input.rs rename to crates/web/src/components/styled_date_time_input.rs index 87ddd77f..44513dd6 100644 --- a/web/src/components/styled_date_time_input.rs +++ b/crates/web/src/components/styled_date_time_input.rs @@ -17,7 +17,7 @@ pub enum StyledDateTimeChanged { PopupVisibilityChanged(bool), } -#[derive(Clone, Debug, PartialOrd, PartialEq)] +#[derive(Clone, Debug, PartialEq, PartialOrd)] pub struct StyledDateTimeInputState { pub field_id: FieldId, pub timestamp: Option, diff --git a/web/src/components/styled_editor.rs b/crates/web/src/components/styled_editor.rs similarity index 99% rename from web/src/components/styled_editor.rs rename to crates/web/src/components/styled_editor.rs index d29ccb28..a62aa403 100644 --- a/web/src/components/styled_editor.rs +++ b/crates/web/src/components/styled_editor.rs @@ -1,4 +1,4 @@ -use jirs_data::TextEditorMode; +use bitque_data::TextEditorMode; use seed::prelude::*; use seed::*; diff --git a/web/src/components/styled_field.rs b/crates/web/src/components/styled_field.rs similarity index 100% rename from web/src/components/styled_field.rs rename to crates/web/src/components/styled_field.rs diff --git a/web/src/components/styled_form.rs b/crates/web/src/components/styled_form.rs similarity index 94% rename from web/src/components/styled_form.rs rename to crates/web/src/components/styled_form.rs index ee68b741..59906d51 100644 --- a/web/src/components/styled_form.rs +++ b/crates/web/src/components/styled_form.rs @@ -3,7 +3,7 @@ use seed::*; use crate::Msg; -#[derive(Debug, Clone, Default)] +#[derive(Clone, Debug, Default)] pub struct StyledForm<'l> { pub heading: &'l str, pub fields: Vec>, diff --git a/web/src/components/styled_icon.rs b/crates/web/src/components/styled_icon.rs similarity index 99% rename from web/src/components/styled_icon.rs rename to crates/web/src/components/styled_icon.rs index c4e128c3..bf4d3881 100644 --- a/web/src/components/styled_icon.rs +++ b/crates/web/src/components/styled_icon.rs @@ -1,11 +1,11 @@ -use jirs_data::{IssuePriority, IssueType}; +use bitque_data::{IssuePriority, IssueType}; use seed::prelude::*; use seed::*; use crate::Msg; #[allow(dead_code)] -#[derive(Copy, Clone, Debug)] +#[derive(Clone, Copy, Debug)] pub enum Icon { Stopwatch, diff --git a/web/src/components/styled_image_input.rs b/crates/web/src/components/styled_image_input.rs similarity index 98% rename from web/src/components/styled_image_input.rs rename to crates/web/src/components/styled_image_input.rs index a2a18b22..838fb163 100644 --- a/web/src/components/styled_image_input.rs +++ b/crates/web/src/components/styled_image_input.rs @@ -4,7 +4,7 @@ use web_sys::File; use crate::{FieldId, Msg}; -#[derive(Debug, Clone)] +#[derive(Clone, Debug)] pub struct StyledImageInputState { field_id: FieldId, pub file: Option, diff --git a/web/src/components/styled_input.rs b/crates/web/src/components/styled_input.rs similarity index 98% rename from web/src/components/styled_input.rs rename to crates/web/src/components/styled_input.rs index 953b849c..7bda1882 100644 --- a/web/src/components/styled_input.rs +++ b/crates/web/src/components/styled_input.rs @@ -4,7 +4,7 @@ use seed::*; use crate::components::styled_icon::{Icon, StyledIcon}; use crate::{FieldId, Msg}; -#[derive(Clone, Debug, PartialOrd, PartialEq)] +#[derive(Clone, Debug, PartialEq, PartialOrd)] #[repr(C)] pub enum InputVariant { Normal, @@ -21,7 +21,7 @@ impl InputVariant { } } -#[derive(Clone, Debug, PartialOrd, PartialEq)] +#[derive(Clone, Debug, PartialEq, PartialOrd)] pub struct StyledInputState { pub field_id: FieldId, touched: bool, diff --git a/web/src/components/styled_link.rs b/crates/web/src/components/styled_link.rs similarity index 100% rename from web/src/components/styled_link.rs rename to crates/web/src/components/styled_link.rs diff --git a/web/src/components/styled_md_editor.rs b/crates/web/src/components/styled_md_editor.rs similarity index 96% rename from web/src/components/styled_md_editor.rs rename to crates/web/src/components/styled_md_editor.rs index 14fefdba..5c7a04c0 100644 --- a/web/src/components/styled_md_editor.rs +++ b/crates/web/src/components/styled_md_editor.rs @@ -4,14 +4,14 @@ use seed::*; use crate::components::styled_textarea::StyledTextarea; use crate::{FieldChange, FieldId, Msg}; -#[derive(Debug, Clone, PartialOrd, PartialEq, Hash)] +#[derive(Clone, Debug, Hash, PartialEq, PartialOrd)] #[repr(C)] pub enum MdEditorMode { Editor, View, } -#[derive(Debug, Clone, PartialOrd, PartialEq)] +#[derive(Clone, Debug, PartialEq, PartialOrd)] pub struct StyledMdEditorState { pub id: FieldId, pub mode: MdEditorMode, @@ -47,7 +47,7 @@ impl StyledMdEditorState { } } -#[derive(Debug, Clone)] +#[derive(Clone, Debug)] pub struct StyledMdEditor<'l> { pub id: Option, pub initial_text: &'l str, diff --git a/web/src/components/styled_modal.rs b/crates/web/src/components/styled_modal.rs similarity index 98% rename from web/src/components/styled_modal.rs rename to crates/web/src/components/styled_modal.rs index 41761ba9..54164feb 100644 --- a/web/src/components/styled_modal.rs +++ b/crates/web/src/components/styled_modal.rs @@ -5,7 +5,7 @@ use crate::components::styled_icon::{Icon, StyledIcon}; use crate::Msg; #[allow(dead_code)] -#[derive(Debug, Copy, Clone, PartialOrd, PartialEq)] +#[derive(Clone, Copy, Debug, PartialEq, PartialOrd)] #[repr(C)] pub enum ModalVariant { Center, diff --git a/web/src/components/styled_rte.rs b/crates/web/src/components/styled_rte.rs similarity index 99% rename from web/src/components/styled_rte.rs rename to crates/web/src/components/styled_rte.rs index 034435be..24bed1b4 100644 --- a/web/src/components/styled_rte.rs +++ b/crates/web/src/components/styled_rte.rs @@ -8,7 +8,7 @@ use crate::components::styled_select_child::StyledSelectOption; use crate::components::styled_tooltip::{StyledTooltip, TooltipVariant}; use crate::{ButtonId, FieldId, Msg, RteField}; -#[derive(Debug, Clone, Copy)] +#[derive(Clone, Copy, Debug)] pub enum HeadingSize { Normal, H1, @@ -164,14 +164,14 @@ impl RteMsg { } } -#[derive(Debug, Clone)] +#[derive(Clone, Debug)] pub struct StyledRteTableState { pub visible: bool, pub rows: u16, pub cols: u16, } -#[derive(Debug, Clone)] +#[derive(Clone, Debug)] pub struct StyledRteCodeState { pub visible: bool, pub lang: StyledSelectState, @@ -315,7 +315,7 @@ impl StyledRteState { _ => return, }; let code = self.code_tooltip.code.to_string(); - let view = match doc.create_element("jirs-code-view") { + let view = match doc.create_element("bitque-code-view") { Ok(t) => t, _ => return, }; diff --git a/web/src/components/styled_select.rs b/crates/web/src/components/styled_select.rs similarity index 98% rename from web/src/components/styled_select.rs rename to crates/web/src/components/styled_select.rs index ee011135..0cd91cf4 100644 --- a/web/src/components/styled_select.rs +++ b/crates/web/src/components/styled_select.rs @@ -15,7 +15,7 @@ pub enum StyledSelectChanged { RemoveMulti(u32), } -#[derive(Copy, Clone, Debug, PartialEq)] +#[derive(Clone, Copy, Debug, PartialEq)] #[repr(C)] pub enum SelectVariant { Empty, @@ -37,7 +37,7 @@ impl SelectVariant { } } -#[derive(Debug, Clone, PartialOrd, PartialEq, Hash)] +#[derive(Clone, Debug, Hash, PartialEq, PartialOrd)] pub struct StyledSelectState { pub field_id: FieldId, pub opened: bool, diff --git a/web/src/components/styled_select_child.rs b/crates/web/src/components/styled_select_child.rs similarity index 98% rename from web/src/components/styled_select_child.rs rename to crates/web/src/components/styled_select_child.rs index 666d6178..e5a38551 100644 --- a/web/src/components/styled_select_child.rs +++ b/crates/web/src/components/styled_select_child.rs @@ -5,7 +5,7 @@ use crate::components::styled_icon::{Icon, StyledIcon}; use crate::components::styled_select::SelectVariant; use crate::Msg; -#[derive(Copy, Clone, PartialEq)] +#[derive(Clone, Copy, PartialEq)] #[repr(u8)] pub enum DisplayType { SelectOption, diff --git a/web/src/components/styled_textarea.rs b/crates/web/src/components/styled_textarea.rs similarity index 100% rename from web/src/components/styled_textarea.rs rename to crates/web/src/components/styled_textarea.rs diff --git a/web/src/components/styled_tip.rs b/crates/web/src/components/styled_tip.rs similarity index 100% rename from web/src/components/styled_tip.rs rename to crates/web/src/components/styled_tip.rs diff --git a/web/src/components/styled_tooltip.rs b/crates/web/src/components/styled_tooltip.rs similarity index 97% rename from web/src/components/styled_tooltip.rs rename to crates/web/src/components/styled_tooltip.rs index 1903c8aa..b79d591c 100644 --- a/web/src/components/styled_tooltip.rs +++ b/crates/web/src/components/styled_tooltip.rs @@ -3,7 +3,7 @@ use seed::*; use crate::Msg; -#[derive(Debug, Copy, Clone)] +#[derive(Clone, Copy, Debug)] #[repr(C)] pub enum TooltipVariant { About, diff --git a/web/src/fields.rs b/crates/web/src/fields.rs similarity index 96% rename from web/src/fields.rs rename to crates/web/src/fields.rs index 9b0a2c06..dbbebed6 100644 --- a/web/src/fields.rs +++ b/crates/web/src/fields.rs @@ -1,22 +1,22 @@ -use jirs_data::{ +use bitque_data::{ CommentFieldId, EpicFieldId, InviteFieldId, IssueFieldId, ProjectFieldId, SignInFieldId, SignUpFieldId, UsersFieldId, }; pub type AvatarFilterActive = bool; -#[derive(Clone, Copy, Debug, PartialOrd, PartialEq, Hash)] +#[derive(Clone, Copy, Debug, Hash, PartialEq, PartialOrd)] pub enum EditIssueModalSection { Issue(IssueFieldId), Comment(CommentFieldId), } -#[derive(Clone, Debug, PartialOrd, PartialEq, Hash)] +#[derive(Clone, Debug, Hash, PartialEq, PartialOrd)] pub enum RteField { CodeLang(Box), } -#[derive(Clone, Debug, PartialOrd, PartialEq, Hash)] +#[derive(Clone, Debug, Hash, PartialEq, PartialOrd)] #[repr(C)] pub enum ButtonId { JustifyAll, @@ -84,12 +84,12 @@ impl ButtonId { } } -#[derive(Clone, Copy, Debug, PartialOrd, PartialEq, Hash)] +#[derive(Clone, Copy, Debug, Hash, PartialEq, PartialOrd)] pub enum IssuesAndFiltersId { Jql, } -#[derive(Clone, Debug, PartialOrd, PartialEq, Hash)] +#[derive(Clone, Debug, Hash, PartialEq, PartialOrd)] pub enum FieldId { NoField, SignIn(SignInFieldId), diff --git a/web/src/images/email_send.rs b/crates/web/src/images/email_send.rs similarity index 100% rename from web/src/images/email_send.rs rename to crates/web/src/images/email_send.rs diff --git a/web/src/images/logo.rs b/crates/web/src/images/logo.rs similarity index 100% rename from web/src/images/logo.rs rename to crates/web/src/images/logo.rs diff --git a/web/src/images/mod.rs b/crates/web/src/images/mod.rs similarity index 100% rename from web/src/images/mod.rs rename to crates/web/src/images/mod.rs diff --git a/web/src/images/project_avatar.rs b/crates/web/src/images/project_avatar.rs similarity index 100% rename from web/src/images/project_avatar.rs rename to crates/web/src/images/project_avatar.rs diff --git a/web/src/lib.rs b/crates/web/src/lib.rs similarity index 99% rename from web/src/lib.rs rename to crates/web/src/lib.rs index 2477927f..863a7b17 100644 --- a/web/src/lib.rs +++ b/crates/web/src/lib.rs @@ -4,8 +4,8 @@ pub use changes::*; pub use components::*; pub use fields::*; pub use images::*; -use jirs_data::msg::WsMsgSession; -use jirs_data::*; +use bitque_data::msg::WsMsgSession; +use bitque_data::*; use seed::prelude::*; use web_sys::File; @@ -335,7 +335,7 @@ pub fn render() { } else { wasm_logger::Config::new(log::Level::Error) .message_on_new_line() - .module_prefix("jirs") + .module_prefix("bitque") }); #[cfg(debug_assertions)] diff --git a/web/src/location.rs b/crates/web/src/location.rs similarity index 100% rename from web/src/location.rs rename to crates/web/src/location.rs diff --git a/web/src/modals/comments_delete/mod.rs b/crates/web/src/modals/comments_delete/mod.rs similarity index 100% rename from web/src/modals/comments_delete/mod.rs rename to crates/web/src/modals/comments_delete/mod.rs diff --git a/web/src/modals/comments_delete/model.rs b/crates/web/src/modals/comments_delete/model.rs similarity index 86% rename from web/src/modals/comments_delete/model.rs rename to crates/web/src/modals/comments_delete/model.rs index 63044268..a0a4ba3a 100644 --- a/web/src/modals/comments_delete/model.rs +++ b/crates/web/src/modals/comments_delete/model.rs @@ -1,4 +1,4 @@ -use jirs_data::CommentId; +use bitque_data::CommentId; #[derive(Debug, Default)] pub struct Model { diff --git a/web/src/modals/comments_delete/view.rs b/crates/web/src/modals/comments_delete/view.rs similarity index 95% rename from web/src/modals/comments_delete/view.rs rename to crates/web/src/modals/comments_delete/view.rs index 808ad533..a8fcffb2 100644 --- a/web/src/modals/comments_delete/view.rs +++ b/crates/web/src/modals/comments_delete/view.rs @@ -1,4 +1,4 @@ -use jirs_data::CommentId; +use bitque_data::CommentId; use seed::prelude::*; use crate::styled_confirm_modal::StyledConfirmModal; diff --git a/web/src/modals/debug/mod.rs b/crates/web/src/modals/debug/mod.rs similarity index 100% rename from web/src/modals/debug/mod.rs rename to crates/web/src/modals/debug/mod.rs diff --git a/web/src/modals/debug/model.rs b/crates/web/src/modals/debug/model.rs similarity index 100% rename from web/src/modals/debug/model.rs rename to crates/web/src/modals/debug/model.rs diff --git a/web/src/modals/debug/update.rs b/crates/web/src/modals/debug/update.rs similarity index 100% rename from web/src/modals/debug/update.rs rename to crates/web/src/modals/debug/update.rs diff --git a/web/src/modals/debug/view.rs b/crates/web/src/modals/debug/view.rs similarity index 100% rename from web/src/modals/debug/view.rs rename to crates/web/src/modals/debug/view.rs diff --git a/web/src/modals/epic_field.rs b/crates/web/src/modals/epic_field.rs similarity index 97% rename from web/src/modals/epic_field.rs rename to crates/web/src/modals/epic_field.rs index 60baa77e..fdd52b6c 100644 --- a/web/src/modals/epic_field.rs +++ b/crates/web/src/modals/epic_field.rs @@ -1,4 +1,4 @@ -use jirs_data::{Epic, EpicId}; +use bitque_data::{Epic, EpicId}; use seed::prelude::Node; use crate::components::styled_field::StyledField; diff --git a/web/src/modals/epics_delete/mod.rs b/crates/web/src/modals/epics_delete/mod.rs similarity index 100% rename from web/src/modals/epics_delete/mod.rs rename to crates/web/src/modals/epics_delete/mod.rs diff --git a/web/src/modals/epics_delete/model.rs b/crates/web/src/modals/epics_delete/model.rs similarity index 79% rename from web/src/modals/epics_delete/model.rs rename to crates/web/src/modals/epics_delete/model.rs index c8a43aa2..f86c6a2d 100644 --- a/web/src/modals/epics_delete/model.rs +++ b/crates/web/src/modals/epics_delete/model.rs @@ -1,8 +1,8 @@ -use jirs_data::{EpicId, IssueId}; +use bitque_data::{EpicId, IssueId}; use crate::model; -#[derive(Clone, Debug, PartialOrd, PartialEq)] +#[derive(Clone, Debug, PartialEq, PartialOrd)] pub struct Model { pub epic_id: EpicId, pub related_issues: Vec, diff --git a/web/src/modals/epics_delete/update.rs b/crates/web/src/modals/epics_delete/update.rs similarity index 92% rename from web/src/modals/epics_delete/update.rs rename to crates/web/src/modals/epics_delete/update.rs index ddfba3c3..aa0a3e3e 100644 --- a/web/src/modals/epics_delete/update.rs +++ b/crates/web/src/modals/epics_delete/update.rs @@ -1,5 +1,5 @@ -use jirs_data::msg::WsMsgEpic; -use jirs_data::WsMsg; +use bitque_data::msg::WsMsgEpic; +use bitque_data::WsMsg; use seed::prelude::*; use crate::ws::send_ws_msg; diff --git a/web/src/modals/epics_delete/view.rs b/crates/web/src/modals/epics_delete/view.rs similarity index 100% rename from web/src/modals/epics_delete/view.rs rename to crates/web/src/modals/epics_delete/view.rs diff --git a/web/src/modals/epics_edit/mod.rs b/crates/web/src/modals/epics_edit/mod.rs similarity index 100% rename from web/src/modals/epics_edit/mod.rs rename to crates/web/src/modals/epics_edit/mod.rs diff --git a/web/src/modals/epics_edit/model.rs b/crates/web/src/modals/epics_edit/model.rs similarity index 99% rename from web/src/modals/epics_edit/model.rs rename to crates/web/src/modals/epics_edit/model.rs index 169f17e7..14430f5e 100644 --- a/web/src/modals/epics_edit/model.rs +++ b/crates/web/src/modals/epics_edit/model.rs @@ -1,4 +1,4 @@ -use jirs_data::*; +use bitque_data::*; use seed::prelude::Orders; use crate::components::styled_checkbox::StyledCheckboxState; diff --git a/web/src/modals/epics_edit/update.rs b/crates/web/src/modals/epics_edit/update.rs similarity index 97% rename from web/src/modals/epics_edit/update.rs rename to crates/web/src/modals/epics_edit/update.rs index c36283c8..070e5b3a 100644 --- a/web/src/modals/epics_edit/update.rs +++ b/crates/web/src/modals/epics_edit/update.rs @@ -1,5 +1,5 @@ -use jirs_data::msg::WsMsgEpic; -use jirs_data::{EpicFieldId, IssueType, WsMsg}; +use bitque_data::msg::WsMsgEpic; +use bitque_data::{EpicFieldId, IssueType, WsMsg}; use seed::prelude::*; use crate::components::styled_date_time_input::StyledDateTimeChanged; diff --git a/web/src/modals/epics_edit/view.rs b/crates/web/src/modals/epics_edit/view.rs similarity index 98% rename from web/src/modals/epics_edit/view.rs rename to crates/web/src/modals/epics_edit/view.rs index f9d6dbdd..0bcee322 100644 --- a/web/src/modals/epics_edit/view.rs +++ b/crates/web/src/modals/epics_edit/view.rs @@ -1,4 +1,4 @@ -use jirs_data::{EpicFieldId, IssueType}; +use bitque_data::{EpicFieldId, IssueType}; use seed::prelude::*; use seed::*; diff --git a/web/src/modals/issue_statuses_delete/mod.rs b/crates/web/src/modals/issue_statuses_delete/mod.rs similarity index 100% rename from web/src/modals/issue_statuses_delete/mod.rs rename to crates/web/src/modals/issue_statuses_delete/mod.rs diff --git a/web/src/modals/issue_statuses_delete/model.rs b/crates/web/src/modals/issue_statuses_delete/model.rs similarity index 76% rename from web/src/modals/issue_statuses_delete/model.rs rename to crates/web/src/modals/issue_statuses_delete/model.rs index ef3d1906..d6ca1393 100644 --- a/web/src/modals/issue_statuses_delete/model.rs +++ b/crates/web/src/modals/issue_statuses_delete/model.rs @@ -1,6 +1,6 @@ -use jirs_data::IssueStatusId; +use bitque_data::IssueStatusId; -#[derive(Clone, Debug, PartialOrd, PartialEq)] +#[derive(Clone, Debug, PartialEq, PartialOrd)] pub struct Model { pub delete_id: IssueStatusId, pub receiver_id: Option, diff --git a/web/src/modals/issue_statuses_delete/update.rs b/crates/web/src/modals/issue_statuses_delete/update.rs similarity index 92% rename from web/src/modals/issue_statuses_delete/update.rs rename to crates/web/src/modals/issue_statuses_delete/update.rs index 31429237..2bd08d36 100644 --- a/web/src/modals/issue_statuses_delete/update.rs +++ b/crates/web/src/modals/issue_statuses_delete/update.rs @@ -1,5 +1,5 @@ -use jirs_data::msg::WsMsgIssueStatus; -use jirs_data::WsMsg; +use bitque_data::msg::WsMsgIssueStatus; +use bitque_data::WsMsg; use seed::prelude::*; use crate::model::Model; diff --git a/web/src/modals/issue_statuses_delete/view.rs b/crates/web/src/modals/issue_statuses_delete/view.rs similarity index 94% rename from web/src/modals/issue_statuses_delete/view.rs rename to crates/web/src/modals/issue_statuses_delete/view.rs index d46f84b2..8a7cd6f9 100644 --- a/web/src/modals/issue_statuses_delete/view.rs +++ b/crates/web/src/modals/issue_statuses_delete/view.rs @@ -1,4 +1,4 @@ -use jirs_data::IssueStatusId; +use bitque_data::IssueStatusId; use seed::prelude::*; use crate::components::styled_confirm_modal::StyledConfirmModal; diff --git a/web/src/modals/issues_create/events.rs b/crates/web/src/modals/issues_create/events.rs similarity index 100% rename from web/src/modals/issues_create/events.rs rename to crates/web/src/modals/issues_create/events.rs diff --git a/web/src/modals/issues_create/mod.rs b/crates/web/src/modals/issues_create/mod.rs similarity index 100% rename from web/src/modals/issues_create/mod.rs rename to crates/web/src/modals/issues_create/mod.rs diff --git a/web/src/modals/issues_create/model.rs b/crates/web/src/modals/issues_create/model.rs similarity index 92% rename from web/src/modals/issues_create/model.rs rename to crates/web/src/modals/issues_create/model.rs index b47bbc94..5e43bfd6 100644 --- a/web/src/modals/issues_create/model.rs +++ b/crates/web/src/modals/issues_create/model.rs @@ -1,6 +1,6 @@ use derive_enum_iter::EnumIter; use derive_enum_primitive::EnumPrimitive; -use jirs_data::{IssueFieldId, IssuePriority}; +use bitque_data::{IssueFieldId, IssuePriority}; use seed::prelude::*; use crate::components::styled_date_time_input::*; @@ -10,7 +10,7 @@ use crate::model::IssueModal; use crate::shared::validate::*; use crate::{FieldId, Msg}; -#[derive(Copy, Clone, EnumPrimitive, EnumIter)] +#[derive(Clone, Copy, EnumIter, EnumPrimitive)] pub enum Type { Task, Bug, @@ -60,11 +60,11 @@ pub struct Model { pub estimate: Option, pub time_spent: Option, pub time_remaining: Option, - pub project_id: Option, - pub user_ids: Vec, - pub reporter_id: Option, - pub issue_status_id: jirs_data::IssueStatusId, - pub epic_id: Option, + pub project_id: Option, + pub user_ids: Vec, + pub reporter_id: Option, + pub issue_status_id: bitque_data::IssueStatusId, + pub epic_id: Option, // modal fields pub title_state: StyledInputState, diff --git a/web/src/modals/issues_create/update.rs b/crates/web/src/modals/issues_create/update.rs similarity index 94% rename from web/src/modals/issues_create/update.rs rename to crates/web/src/modals/issues_create/update.rs index 0017ecae..37cc6e44 100644 --- a/web/src/modals/issues_create/update.rs +++ b/crates/web/src/modals/issues_create/update.rs @@ -1,5 +1,5 @@ -use jirs_data::msg::{WsMsgEpic, WsMsgIssue}; -use jirs_data::{IssueFieldId, UserId, WsMsg}; +use bitque_data::msg::{WsMsgEpic, WsMsgIssue}; +use bitque_data::{IssueFieldId, UserId, WsMsg}; use seed::prelude::*; use crate::components::styled_select::StyledSelectChanged; @@ -39,7 +39,7 @@ pub fn update(msg: &Msg, model: &mut crate::model::Model, orders: &mut impl Orde match type_value { 0 | 1 | 2 => { let issue_type = type_value.into(); - let payload = jirs_data::CreateIssuePayload { + let payload = bitque_data::CreateIssuePayload { title: modal.title_state.value.clone(), issue_type, issue_status_id: modal.issue_status_id, @@ -56,7 +56,7 @@ pub fn update(msg: &Msg, model: &mut crate::model::Model, orders: &mut impl Orde }; send_ws_msg( - jirs_data::WsMsg::Issue(WsMsgIssue::IssueCreate(payload)), + bitque_data::WsMsg::Issue(WsMsgIssue::IssueCreate(payload)), model.ws.as_ref(), orders, ); diff --git a/web/src/modals/issues_create/view.rs b/crates/web/src/modals/issues_create/view.rs similarity index 99% rename from web/src/modals/issues_create/view.rs rename to crates/web/src/modals/issues_create/view.rs index cbca9452..0b9994ba 100644 --- a/web/src/modals/issues_create/view.rs +++ b/crates/web/src/modals/issues_create/view.rs @@ -1,4 +1,4 @@ -use jirs_data::{IssueFieldId, IssuePriority, User}; +use bitque_data::{IssueFieldId, IssuePriority, User}; use seed::prelude::*; use seed::*; diff --git a/web/src/modals/issues_delete/mod.rs b/crates/web/src/modals/issues_delete/mod.rs similarity index 100% rename from web/src/modals/issues_delete/mod.rs rename to crates/web/src/modals/issues_delete/mod.rs diff --git a/web/src/modals/issues_delete/model.rs b/crates/web/src/modals/issues_delete/model.rs similarity index 74% rename from web/src/modals/issues_delete/model.rs rename to crates/web/src/modals/issues_delete/model.rs index feb39300..0eb0dab4 100644 --- a/web/src/modals/issues_delete/model.rs +++ b/crates/web/src/modals/issues_delete/model.rs @@ -1,4 +1,4 @@ -use jirs_data::IssueId; +use bitque_data::IssueId; #[derive(Debug, Default)] pub struct Model { diff --git a/web/src/modals/issues_delete/update.rs b/crates/web/src/modals/issues_delete/update.rs similarity index 100% rename from web/src/modals/issues_delete/update.rs rename to crates/web/src/modals/issues_delete/update.rs diff --git a/web/src/modals/issues_delete/view.rs b/crates/web/src/modals/issues_delete/view.rs similarity index 100% rename from web/src/modals/issues_delete/view.rs rename to crates/web/src/modals/issues_delete/view.rs diff --git a/web/src/modals/issues_edit/events.rs b/crates/web/src/modals/issues_edit/events.rs similarity index 94% rename from web/src/modals/issues_edit/events.rs rename to crates/web/src/modals/issues_edit/events.rs index 3331dfb1..7c8f6bed 100644 --- a/web/src/modals/issues_edit/events.rs +++ b/crates/web/src/modals/issues_edit/events.rs @@ -1,4 +1,4 @@ -use jirs_data::IssueId; +use bitque_data::IssueId; use seed::prelude::*; pub type EvHandler = seed::EventHandler; diff --git a/web/src/modals/issues_edit/mod.rs b/crates/web/src/modals/issues_edit/mod.rs similarity index 100% rename from web/src/modals/issues_edit/mod.rs rename to crates/web/src/modals/issues_edit/mod.rs diff --git a/web/src/modals/issues_edit/model.rs b/crates/web/src/modals/issues_edit/model.rs similarity index 98% rename from web/src/modals/issues_edit/model.rs rename to crates/web/src/modals/issues_edit/model.rs index f738a8fd..f99ea188 100644 --- a/web/src/modals/issues_edit/model.rs +++ b/crates/web/src/modals/issues_edit/model.rs @@ -1,4 +1,4 @@ -use jirs_data::{Issue, IssueFieldId, IssueId, TextEditorMode, TimeTracking, UpdateIssuePayload}; +use bitque_data::{Issue, IssueFieldId, IssueId, TextEditorMode, TimeTracking, UpdateIssuePayload}; use seed::prelude::*; use crate::components::styled_date_time_input::StyledDateTimeInputState; diff --git a/web/src/modals/issues_edit/update.rs b/crates/web/src/modals/issues_edit/update.rs similarity index 99% rename from web/src/modals/issues_edit/update.rs rename to crates/web/src/modals/issues_edit/update.rs index b2a0ff56..d7fadd46 100644 --- a/web/src/modals/issues_edit/update.rs +++ b/crates/web/src/modals/issues_edit/update.rs @@ -1,5 +1,5 @@ -use jirs_data::msg::{WsMsgComment, WsMsgIssue}; -use jirs_data::*; +use bitque_data::msg::{WsMsgComment, WsMsgIssue}; +use bitque_data::*; use seed::prelude::*; use crate::components::styled_select::StyledSelectChanged; diff --git a/web/src/modals/issues_edit/view.rs b/crates/web/src/modals/issues_edit/view.rs similarity index 99% rename from web/src/modals/issues_edit/view.rs rename to crates/web/src/modals/issues_edit/view.rs index 73be9371..64d3fa54 100644 --- a/web/src/modals/issues_edit/view.rs +++ b/crates/web/src/modals/issues_edit/view.rs @@ -1,5 +1,5 @@ use comments::*; -use jirs_data::{ +use bitque_data::{ CommentFieldId, IssueFieldId, IssuePriority, IssueStatus, IssueType, TimeTracking, UpdateIssuePayload, User, }; diff --git a/web/src/modals/issues_edit/view/comments.rs b/crates/web/src/modals/issues_edit/view/comments.rs similarity index 98% rename from web/src/modals/issues_edit/view/comments.rs rename to crates/web/src/modals/issues_edit/view/comments.rs index fc8ad09a..fdedefc1 100644 --- a/web/src/modals/issues_edit/view/comments.rs +++ b/crates/web/src/modals/issues_edit/view/comments.rs @@ -1,4 +1,4 @@ -use jirs_data::{Comment, CommentFieldId}; +use bitque_data::{Comment, CommentFieldId}; use seed::prelude::*; use seed::*; diff --git a/web/src/modals/mod.rs b/crates/web/src/modals/mod.rs similarity index 100% rename from web/src/modals/mod.rs rename to crates/web/src/modals/mod.rs diff --git a/web/src/modals/time_tracking/mod.rs b/crates/web/src/modals/time_tracking/mod.rs similarity index 100% rename from web/src/modals/time_tracking/mod.rs rename to crates/web/src/modals/time_tracking/mod.rs diff --git a/web/src/modals/time_tracking/model.rs b/crates/web/src/modals/time_tracking/model.rs similarity index 86% rename from web/src/modals/time_tracking/model.rs rename to crates/web/src/modals/time_tracking/model.rs index c0777c46..c5d1059e 100644 --- a/web/src/modals/time_tracking/model.rs +++ b/crates/web/src/modals/time_tracking/model.rs @@ -1,4 +1,4 @@ -use jirs_data::IssueId; +use bitque_data::IssueId; #[derive(Debug, Default)] pub struct Model { diff --git a/web/src/modals/time_tracking/update.rs b/crates/web/src/modals/time_tracking/update.rs similarity index 100% rename from web/src/modals/time_tracking/update.rs rename to crates/web/src/modals/time_tracking/update.rs diff --git a/web/src/modals/time_tracking/view.rs b/crates/web/src/modals/time_tracking/view.rs similarity index 98% rename from web/src/modals/time_tracking/view.rs rename to crates/web/src/modals/time_tracking/view.rs index 7e28f447..3b8c76b3 100644 --- a/web/src/modals/time_tracking/view.rs +++ b/crates/web/src/modals/time_tracking/view.rs @@ -1,4 +1,4 @@ -use jirs_data::{IssueFieldId, IssueId, TimeTracking}; +use bitque_data::{IssueFieldId, IssueId, TimeTracking}; use seed::prelude::*; use seed::*; diff --git a/web/src/modals/update.rs b/crates/web/src/modals/update.rs similarity index 98% rename from web/src/modals/update.rs rename to crates/web/src/modals/update.rs index 60cf7628..0d0cb12f 100644 --- a/web/src/modals/update.rs +++ b/crates/web/src/modals/update.rs @@ -1,5 +1,5 @@ -use jirs_data::msg::WsMsgComment; -use jirs_data::{CommentId, EpicId, IssueId, IssueStatusId, TimeTracking, WsMsg}; +use bitque_data::msg::WsMsgComment; +use bitque_data::{CommentId, EpicId, IssueId, IssueStatusId, TimeTracking, WsMsg}; use seed::prelude::*; use crate::model::{ModalType, Model, Page}; @@ -7,7 +7,7 @@ use crate::shared::go_to_board; use crate::ws::send_ws_msg; use crate::{FieldChange, FieldId, Msg, OperationKind, ResourceKind}; -#[derive(Debug, Clone, Copy)] +#[derive(Clone, Copy, Debug)] #[repr(C)] pub enum DebugMsg { Console, diff --git a/web/src/modals/view.rs b/crates/web/src/modals/view.rs similarity index 100% rename from web/src/modals/view.rs rename to crates/web/src/modals/view.rs diff --git a/web/src/model.rs b/crates/web/src/model.rs similarity index 97% rename from web/src/model.rs rename to crates/web/src/model.rs index 2d9bb21d..fbbc8b82 100644 --- a/web/src/model.rs +++ b/crates/web/src/model.rs @@ -1,6 +1,6 @@ use std::collections::hash_map::HashMap; -use jirs_data::*; +use bitque_data::*; use seed::app::Orders; use seed::browser::web_socket::WebSocket; use serde::{Deserialize, Serialize}; @@ -61,14 +61,14 @@ pub enum ModalType { DebugModal(Option), } -#[derive(Clone, Debug, PartialOrd, PartialEq)] +#[derive(Clone, Debug, PartialEq, PartialOrd)] pub struct CommentForm { pub id: Option, pub body: String, pub creating: bool, } -#[derive(Copy, Clone, Debug, PartialOrd, PartialEq)] +#[derive(Clone, Copy, Debug, PartialEq, PartialOrd)] pub enum Page { Project, // epic @@ -130,23 +130,23 @@ impl Page { } } -#[derive(Serialize, Deserialize, Debug)] +#[derive(Debug, Deserialize, Serialize)] pub struct CreateCommentForm { pub fields: CreateCommentPayload, } -#[derive(Serialize, Deserialize, Debug)] +#[derive(Debug, Deserialize, Serialize)] pub struct CreateIssueForm { pub fields: CreateIssuePayload, } -#[derive(Serialize, Deserialize, Debug)] +#[derive(Debug, Deserialize, Serialize)] pub struct UpdateProjectForm { pub id: ProjectId, pub fields: UpdateProjectPayload, } -#[derive(Debug, Clone, Copy, PartialOrd, PartialEq)] +#[derive(Clone, Copy, Debug, PartialEq, PartialOrd)] #[repr(C)] pub enum InvitationFormState { Initial = 1, diff --git a/web/src/pages/epics_page/mod.rs b/crates/web/src/pages/epics_page/mod.rs similarity index 100% rename from web/src/pages/epics_page/mod.rs rename to crates/web/src/pages/epics_page/mod.rs diff --git a/web/src/pages/epics_page/model.rs b/crates/web/src/pages/epics_page/model.rs similarity index 96% rename from web/src/pages/epics_page/model.rs rename to crates/web/src/pages/epics_page/model.rs index 44f57ee6..0b63cd03 100644 --- a/web/src/pages/epics_page/model.rs +++ b/crates/web/src/pages/epics_page/model.rs @@ -1,6 +1,6 @@ use std::collections::HashMap; -use jirs_data::{EpicId, IssueId}; +use bitque_data::{EpicId, IssueId}; use crate::model::Model; diff --git a/web/src/pages/epics_page/update.rs b/crates/web/src/pages/epics_page/update.rs similarity index 97% rename from web/src/pages/epics_page/update.rs rename to crates/web/src/pages/epics_page/update.rs index 5ee1d9ee..16431ca4 100644 --- a/web/src/pages/epics_page/update.rs +++ b/crates/web/src/pages/epics_page/update.rs @@ -1,4 +1,4 @@ -use jirs_data::msg::WsMsgIssueStatus; +use bitque_data::msg::WsMsgIssueStatus; use seed::app::Orders; use crate::model::{Model, Page, PageContent}; diff --git a/web/src/pages/epics_page/view.rs b/crates/web/src/pages/epics_page/view.rs similarity index 98% rename from web/src/pages/epics_page/view.rs rename to crates/web/src/pages/epics_page/view.rs index ca9f4a95..6ddbd6be 100644 --- a/web/src/pages/epics_page/view.rs +++ b/crates/web/src/pages/epics_page/view.rs @@ -1,5 +1,5 @@ use chrono::NaiveDateTime; -use jirs_data::{Issue, IssueStatus}; +use bitque_data::{Issue, IssueStatus}; use seed::prelude::*; use seed::*; diff --git a/web/src/pages/invite_page/mod.rs b/crates/web/src/pages/invite_page/mod.rs similarity index 100% rename from web/src/pages/invite_page/mod.rs rename to crates/web/src/pages/invite_page/mod.rs diff --git a/web/src/pages/invite_page/model.rs b/crates/web/src/pages/invite_page/model.rs similarity index 100% rename from web/src/pages/invite_page/model.rs rename to crates/web/src/pages/invite_page/model.rs diff --git a/web/src/pages/invite_page/update.rs b/crates/web/src/pages/invite_page/update.rs similarity index 96% rename from web/src/pages/invite_page/update.rs rename to crates/web/src/pages/invite_page/update.rs index ac6047da..e7eeb2d3 100644 --- a/web/src/pages/invite_page/update.rs +++ b/crates/web/src/pages/invite_page/update.rs @@ -1,8 +1,8 @@ use std::str::FromStr; -use jirs_data::fields::*; -use jirs_data::msg::WsMsgInvitation; -use jirs_data::WsMsg; +use bitque_data::fields::*; +use bitque_data::msg::WsMsgInvitation; +use bitque_data::WsMsg; use seed::prelude::*; use crate::model::{Model, Page, PageContent}; diff --git a/web/src/pages/invite_page/view.rs b/crates/web/src/pages/invite_page/view.rs similarity index 98% rename from web/src/pages/invite_page/view.rs rename to crates/web/src/pages/invite_page/view.rs index 306f39c1..77e7be64 100644 --- a/web/src/pages/invite_page/view.rs +++ b/crates/web/src/pages/invite_page/view.rs @@ -1,4 +1,4 @@ -use jirs_data::fields::*; +use bitque_data::fields::*; use seed::prelude::*; use seed::*; diff --git a/web/src/pages/issues_and_filters/mod.rs b/crates/web/src/pages/issues_and_filters/mod.rs similarity index 100% rename from web/src/pages/issues_and_filters/mod.rs rename to crates/web/src/pages/issues_and_filters/mod.rs diff --git a/web/src/pages/issues_and_filters/model.rs b/crates/web/src/pages/issues_and_filters/model.rs similarity index 98% rename from web/src/pages/issues_and_filters/model.rs rename to crates/web/src/pages/issues_and_filters/model.rs index 47cb86e9..e4eed09e 100644 --- a/web/src/pages/issues_and_filters/model.rs +++ b/crates/web/src/pages/issues_and_filters/model.rs @@ -1,4 +1,4 @@ -use jirs_data::{Issue, IssueId, UserId, UsernameString}; +use bitque_data::{Issue, IssueId, UserId, UsernameString}; use seed::app::Orders; use crate::components::styled_select::StyledSelectState; @@ -150,7 +150,7 @@ impl Jql { } } - pub fn is_visible(&self, issue: &jirs_data::Issue) -> bool { + pub fn is_visible(&self, issue: &bitque_data::Issue) -> bool { if self.len() < 3 { return true; } @@ -347,8 +347,8 @@ impl From for OpOption { #[derive(Debug)] pub enum JqlValueOption { User(UserId, UsernameString), - Priority(jirs_data::IssuePriority), - Type(jirs_data::IssueType), + Priority(bitque_data::IssuePriority), + Type(bitque_data::IssueType), } impl JqlValueOption { diff --git a/web/src/pages/issues_and_filters/update.rs b/crates/web/src/pages/issues_and_filters/update.rs similarity index 100% rename from web/src/pages/issues_and_filters/update.rs rename to crates/web/src/pages/issues_and_filters/update.rs diff --git a/web/src/pages/issues_and_filters/view.rs b/crates/web/src/pages/issues_and_filters/view.rs similarity index 100% rename from web/src/pages/issues_and_filters/view.rs rename to crates/web/src/pages/issues_and_filters/view.rs diff --git a/web/src/pages/issues_and_filters/view/filters.rs b/crates/web/src/pages/issues_and_filters/view/filters.rs similarity index 93% rename from web/src/pages/issues_and_filters/view/filters.rs rename to crates/web/src/pages/issues_and_filters/view/filters.rs index 88fa19f7..a4fc4c62 100644 --- a/web/src/pages/issues_and_filters/view/filters.rs +++ b/crates/web/src/pages/issues_and_filters/view/filters.rs @@ -87,11 +87,11 @@ fn options<'l, 'm: 'l>(model: &'m Model, jql: &Jql) -> Vec { vec![ - jirs_data::IssuePriority::Lowest, - jirs_data::IssuePriority::Low, - jirs_data::IssuePriority::Medium, - jirs_data::IssuePriority::High, - jirs_data::IssuePriority::Highest, + bitque_data::IssuePriority::Lowest, + bitque_data::IssuePriority::Low, + bitque_data::IssuePriority::Medium, + bitque_data::IssuePriority::High, + bitque_data::IssuePriority::Highest, ] .into_iter() .map(|u| StyledSelectOption { @@ -106,9 +106,9 @@ fn options<'l, 'm: 'l>(model: &'m Model, jql: &Jql) -> Vec { vec![ - jirs_data::IssueType::Task, - jirs_data::IssueType::Bug, - jirs_data::IssueType::Story, + bitque_data::IssueType::Task, + bitque_data::IssueType::Bug, + bitque_data::IssueType::Story, ] .into_iter() .map(|u| StyledSelectOption { @@ -162,7 +162,7 @@ fn field_select_option<'l, 'm: 'l>( Some(JqlPartType::Op) if matches!(jql.field(), Some(JqlPart::Field(FieldOption::Priority))) => { - let p: jirs_data::IssuePriority = option_value.into(); + let p: bitque_data::IssuePriority = option_value.into(); StyledSelectOption { name: Some("priority"), icon: None, @@ -173,7 +173,7 @@ fn field_select_option<'l, 'm: 'l>( } } Some(JqlPartType::Op) if matches!(jql.field(), Some(JqlPart::Field(FieldOption::Type))) => { - let p: jirs_data::IssueType = option_value.into(); + let p: bitque_data::IssueType = option_value.into(); StyledSelectOption { name: Some("type"), icon: None, diff --git a/web/src/pages/issues_and_filters/view/issue_info.rs b/crates/web/src/pages/issues_and_filters/view/issue_info.rs similarity index 99% rename from web/src/pages/issues_and_filters/view/issue_info.rs rename to crates/web/src/pages/issues_and_filters/view/issue_info.rs index 732b4746..cf7e595a 100644 --- a/web/src/pages/issues_and_filters/view/issue_info.rs +++ b/crates/web/src/pages/issues_and_filters/view/issue_info.rs @@ -1,7 +1,7 @@ use seed::*; use seed::prelude::*; -use jirs_data::{Issue, IssueId}; +use bitque_data::{Issue, IssueId}; use crate::components::styled_icon::*; use crate::components::styled_link::*; diff --git a/web/src/pages/mod.rs b/crates/web/src/pages/mod.rs similarity index 100% rename from web/src/pages/mod.rs rename to crates/web/src/pages/mod.rs diff --git a/web/src/pages/profile_page/events.rs b/crates/web/src/pages/profile_page/events.rs similarity index 100% rename from web/src/pages/profile_page/events.rs rename to crates/web/src/pages/profile_page/events.rs diff --git a/web/src/pages/profile_page/mod.rs b/crates/web/src/pages/profile_page/mod.rs similarity index 100% rename from web/src/pages/profile_page/mod.rs rename to crates/web/src/pages/profile_page/mod.rs diff --git a/web/src/pages/profile_page/model.rs b/crates/web/src/pages/profile_page/model.rs similarity index 95% rename from web/src/pages/profile_page/model.rs rename to crates/web/src/pages/profile_page/model.rs index 60e33489..569b1731 100644 --- a/web/src/pages/profile_page/model.rs +++ b/crates/web/src/pages/profile_page/model.rs @@ -1,4 +1,4 @@ -use jirs_data::{ProjectId, TextEditorMode, User, UsersFieldId}; +use bitque_data::{ProjectId, TextEditorMode, User, UsersFieldId}; use crate::components::styled_checkbox::StyledCheckboxState; use crate::components::styled_image_input::StyledImageInputState; diff --git a/web/src/pages/profile_page/update.rs b/crates/web/src/pages/profile_page/update.rs similarity index 98% rename from web/src/pages/profile_page/update.rs rename to crates/web/src/pages/profile_page/update.rs index ca05429e..c49addc2 100644 --- a/web/src/pages/profile_page/update.rs +++ b/crates/web/src/pages/profile_page/update.rs @@ -1,5 +1,5 @@ -use jirs_data::msg::WsMsgUser; -use jirs_data::{ProjectId, User, UsersFieldId, WsMsg}; +use bitque_data::msg::WsMsgUser; +use bitque_data::{ProjectId, User, UsersFieldId, WsMsg}; use seed::prelude::{Method, Orders, Request}; use web_sys::FormData; diff --git a/web/src/pages/profile_page/view.rs b/crates/web/src/pages/profile_page/view.rs similarity index 99% rename from web/src/pages/profile_page/view.rs rename to crates/web/src/pages/profile_page/view.rs index 4c831596..07901225 100644 --- a/web/src/pages/profile_page/view.rs +++ b/crates/web/src/pages/profile_page/view.rs @@ -1,6 +1,6 @@ use std::collections::HashMap; -use jirs_data::*; +use bitque_data::*; use seed::prelude::*; use seed::*; diff --git a/web/src/pages/project_page/events.rs b/crates/web/src/pages/project_page/events.rs similarity index 99% rename from web/src/pages/project_page/events.rs rename to crates/web/src/pages/project_page/events.rs index 7b759ae4..adc6ad53 100644 --- a/web/src/pages/project_page/events.rs +++ b/crates/web/src/pages/project_page/events.rs @@ -1,4 +1,4 @@ -use jirs_data::{EpicId, UserId}; +use bitque_data::{EpicId, UserId}; use seed::prelude::*; use crate::model::Page; diff --git a/web/src/pages/project_page/mod.rs b/crates/web/src/pages/project_page/mod.rs similarity index 100% rename from web/src/pages/project_page/mod.rs rename to crates/web/src/pages/project_page/mod.rs diff --git a/web/src/pages/project_page/model.rs b/crates/web/src/pages/project_page/model.rs similarity index 98% rename from web/src/pages/project_page/model.rs rename to crates/web/src/pages/project_page/model.rs index f277200e..6c047ba5 100644 --- a/web/src/pages/project_page/model.rs +++ b/crates/web/src/pages/project_page/model.rs @@ -1,18 +1,18 @@ use std::collections::HashMap; use chrono::NaiveDateTime; -use jirs_data::*; +use bitque_data::*; use crate::shared::drag::DragState; -#[derive(Default, Debug)] +#[derive(Debug, Default)] pub struct StatusIssueIds { pub status_id: IssueStatusId, pub status_name: IssueStatusName, pub issue_ids: Vec, } -#[derive(Default, Debug)] +#[derive(Debug, Default)] pub struct EpicIssuePerStatus { pub epic_ref: Option<(EpicId, EpicName, Option, Option)>, pub per_status_issues: Vec, diff --git a/web/src/pages/project_page/update.rs b/crates/web/src/pages/project_page/update.rs similarity index 97% rename from web/src/pages/project_page/update.rs rename to crates/web/src/pages/project_page/update.rs index f674dad7..99cc8dcc 100644 --- a/web/src/pages/project_page/update.rs +++ b/crates/web/src/pages/project_page/update.rs @@ -1,5 +1,5 @@ -use jirs_data::msg::WsMsgIssue; -use jirs_data::*; +use bitque_data::msg::WsMsgIssue; +use bitque_data::*; use seed::prelude::Orders; use crate::components::styled_select::StyledSelectChanged; @@ -110,7 +110,7 @@ pub fn update(msg: Msg, model: &mut crate::model::Model, orders: &mut impl Order } Msg::DeleteIssue(issue_id) => { send_ws_msg( - jirs_data::WsMsg::Issue(WsMsgIssue::IssueDelete(issue_id)), + bitque_data::WsMsg::Issue(WsMsgIssue::IssueDelete(issue_id)), model.ws.as_ref(), orders, ); diff --git a/web/src/pages/project_page/view.rs b/crates/web/src/pages/project_page/view.rs similarity index 94% rename from web/src/pages/project_page/view.rs rename to crates/web/src/pages/project_page/view.rs index d6481277..3c0fc637 100644 --- a/web/src/pages/project_page/view.rs +++ b/crates/web/src/pages/project_page/view.rs @@ -40,7 +40,7 @@ fn header(model: &Model) -> Node { id!["projectBoardHeader"], div![id!["boardName"], C!["headerChild"], "Kanban board"], a![ - attrs![At::Href => "https://gitlab.com/adrian.wozniak/jirs", At::Target => "__blank", At::Rel => "noreferrer noopener"], + attrs![At::Href => "https://gitlab.com/adrian.wozniak/bitque", At::Target => "__blank", At::Rel => "noreferrer noopener"], StyledButton::secondary_with_text_and_icon( "Repository", StyledIcon::from(Icon::Github).render(), diff --git a/web/src/pages/project_page/view/board.rs b/crates/web/src/pages/project_page/view/board.rs similarity index 99% rename from web/src/pages/project_page/view/board.rs rename to crates/web/src/pages/project_page/view/board.rs index 4346db56..c38d98d2 100644 --- a/web/src/pages/project_page/view/board.rs +++ b/crates/web/src/pages/project_page/view/board.rs @@ -1,7 +1,7 @@ use seed::*; use seed::prelude::*; -use jirs_data::*; +use bitque_data::*; use crate::{match_page, Model, Msg}; use crate::components::styled_avatar::*; diff --git a/web/src/pages/project_page/view/filters.rs b/crates/web/src/pages/project_page/view/filters.rs similarity index 100% rename from web/src/pages/project_page/view/filters.rs rename to crates/web/src/pages/project_page/view/filters.rs diff --git a/web/src/pages/project_settings_page/events.rs b/crates/web/src/pages/project_settings_page/events.rs similarity index 99% rename from web/src/pages/project_settings_page/events.rs rename to crates/web/src/pages/project_settings_page/events.rs index 556b3da6..5a14f7aa 100644 --- a/web/src/pages/project_settings_page/events.rs +++ b/crates/web/src/pages/project_settings_page/events.rs @@ -1,4 +1,4 @@ -use jirs_data::IssueStatusId; +use bitque_data::IssueStatusId; use seed::prelude::*; type EvHandler = EventHandler; diff --git a/web/src/pages/project_settings_page/mod.rs b/crates/web/src/pages/project_settings_page/mod.rs similarity index 100% rename from web/src/pages/project_settings_page/mod.rs rename to crates/web/src/pages/project_settings_page/mod.rs diff --git a/web/src/pages/project_settings_page/model.rs b/crates/web/src/pages/project_settings_page/model.rs similarity index 94% rename from web/src/pages/project_settings_page/model.rs rename to crates/web/src/pages/project_settings_page/model.rs index 1ff59a75..f2eedec8 100644 --- a/web/src/pages/project_settings_page/model.rs +++ b/crates/web/src/pages/project_settings_page/model.rs @@ -1,4 +1,4 @@ -use jirs_data::{IssueStatusId, Project, ProjectFieldId, TextEditorMode, UpdateProjectPayload}; +use bitque_data::{IssueStatusId, Project, ProjectFieldId, TextEditorMode, UpdateProjectPayload}; use crate::components::styled_checkbox::StyledCheckboxState; use crate::components::styled_editor::StyledEditorState; @@ -21,7 +21,7 @@ pub struct ProjectSettingsPage { impl ProjectSettingsPage { pub fn new(mode: TextEditorMode, project: &Project) -> Self { - let jirs_data::Project { + let bitque_data::Project { id, name, url, diff --git a/web/src/pages/project_settings_page/time_tracking_fibonacci.txt b/crates/web/src/pages/project_settings_page/time_tracking_fibonacci.txt similarity index 100% rename from web/src/pages/project_settings_page/time_tracking_fibonacci.txt rename to crates/web/src/pages/project_settings_page/time_tracking_fibonacci.txt diff --git a/web/src/pages/project_settings_page/time_tracking_hourly.txt b/crates/web/src/pages/project_settings_page/time_tracking_hourly.txt similarity index 100% rename from web/src/pages/project_settings_page/time_tracking_hourly.txt rename to crates/web/src/pages/project_settings_page/time_tracking_hourly.txt diff --git a/web/src/pages/project_settings_page/update.rs b/crates/web/src/pages/project_settings_page/update.rs similarity index 98% rename from web/src/pages/project_settings_page/update.rs rename to crates/web/src/pages/project_settings_page/update.rs index 072b21aa..3c1294de 100644 --- a/web/src/pages/project_settings_page/update.rs +++ b/crates/web/src/pages/project_settings_page/update.rs @@ -1,7 +1,7 @@ use std::collections::HashSet; -use jirs_data::msg::{WsMsgIssueStatus, WsMsgProject, WsMsgSession}; -use jirs_data::{IssueStatus, IssueStatusId, ProjectFieldId, UpdateProjectPayload, WsMsg}; +use bitque_data::msg::{WsMsgIssueStatus, WsMsgProject, WsMsgSession}; +use bitque_data::{IssueStatus, IssueStatusId, ProjectFieldId, UpdateProjectPayload, WsMsg}; use seed::prelude::Orders; use crate::components::styled_select::StyledSelectChanged; diff --git a/web/src/pages/project_settings_page/view.rs b/crates/web/src/pages/project_settings_page/view.rs similarity index 99% rename from web/src/pages/project_settings_page/view.rs rename to crates/web/src/pages/project_settings_page/view.rs index ea68895f..08fd73b3 100644 --- a/web/src/pages/project_settings_page/view.rs +++ b/crates/web/src/pages/project_settings_page/view.rs @@ -1,6 +1,6 @@ use std::collections::HashMap; -use jirs_data::{IssueStatus, ProjectCategory, TimeTracking}; +use bitque_data::{IssueStatus, ProjectCategory, TimeTracking}; use seed::prelude::*; use seed::*; diff --git a/web/src/pages/reports_page/mod.rs b/crates/web/src/pages/reports_page/mod.rs similarity index 100% rename from web/src/pages/reports_page/mod.rs rename to crates/web/src/pages/reports_page/mod.rs diff --git a/web/src/pages/reports_page/model.rs b/crates/web/src/pages/reports_page/model.rs similarity index 100% rename from web/src/pages/reports_page/model.rs rename to crates/web/src/pages/reports_page/model.rs diff --git a/web/src/pages/reports_page/update.rs b/crates/web/src/pages/reports_page/update.rs similarity index 100% rename from web/src/pages/reports_page/update.rs rename to crates/web/src/pages/reports_page/update.rs diff --git a/web/src/pages/reports_page/view.rs b/crates/web/src/pages/reports_page/view.rs similarity index 99% rename from web/src/pages/reports_page/view.rs rename to crates/web/src/pages/reports_page/view.rs index 6314963f..e7a3a9e9 100644 --- a/web/src/pages/reports_page/view.rs +++ b/crates/web/src/pages/reports_page/view.rs @@ -1,7 +1,7 @@ use std::collections::HashMap; use chrono::Datelike; -use jirs_data::Issue; +use bitque_data::Issue; use seed::prelude::*; use seed::*; diff --git a/web/src/pages/sign_in_page/events.rs b/crates/web/src/pages/sign_in_page/events.rs similarity index 100% rename from web/src/pages/sign_in_page/events.rs rename to crates/web/src/pages/sign_in_page/events.rs diff --git a/web/src/pages/sign_in_page/mod.rs b/crates/web/src/pages/sign_in_page/mod.rs similarity index 100% rename from web/src/pages/sign_in_page/mod.rs rename to crates/web/src/pages/sign_in_page/mod.rs diff --git a/web/src/pages/sign_in_page/model.rs b/crates/web/src/pages/sign_in_page/model.rs similarity index 96% rename from web/src/pages/sign_in_page/model.rs rename to crates/web/src/pages/sign_in_page/model.rs index 4647caef..b733795d 100644 --- a/web/src/pages/sign_in_page/model.rs +++ b/crates/web/src/pages/sign_in_page/model.rs @@ -15,7 +15,7 @@ pub enum SignInMsg { InvalidPair, } -#[derive(Debug, PartialOrd, PartialEq)] +#[derive(Debug, PartialEq, PartialOrd)] pub enum SignInState { Initial, RequestSend, diff --git a/web/src/pages/sign_in_page/update.rs b/crates/web/src/pages/sign_in_page/update.rs similarity index 97% rename from web/src/pages/sign_in_page/update.rs rename to crates/web/src/pages/sign_in_page/update.rs index b6d84696..ef016e0a 100644 --- a/web/src/pages/sign_in_page/update.rs +++ b/crates/web/src/pages/sign_in_page/update.rs @@ -1,7 +1,7 @@ use std::str::FromStr; -use jirs_data::msg::{WsError, WsMsgSession}; -use jirs_data::{SignInFieldId, WsMsg}; +use bitque_data::msg::{WsError, WsMsgSession}; +use bitque_data::{SignInFieldId, WsMsg}; use seed::prelude::*; use seed::*; use uuid::Uuid; diff --git a/web/src/pages/sign_in_page/view.rs b/crates/web/src/pages/sign_in_page/view.rs similarity index 100% rename from web/src/pages/sign_in_page/view.rs rename to crates/web/src/pages/sign_in_page/view.rs diff --git a/web/src/pages/sign_up_page/mod.rs b/crates/web/src/pages/sign_up_page/mod.rs similarity index 100% rename from web/src/pages/sign_up_page/mod.rs rename to crates/web/src/pages/sign_up_page/mod.rs diff --git a/web/src/pages/sign_up_page/model.rs b/crates/web/src/pages/sign_up_page/model.rs similarity index 100% rename from web/src/pages/sign_up_page/model.rs rename to crates/web/src/pages/sign_up_page/model.rs diff --git a/web/src/pages/sign_up_page/update.rs b/crates/web/src/pages/sign_up_page/update.rs similarity index 96% rename from web/src/pages/sign_up_page/update.rs rename to crates/web/src/pages/sign_up_page/update.rs index 81a619ab..f7a77b7d 100644 --- a/web/src/pages/sign_up_page/update.rs +++ b/crates/web/src/pages/sign_up_page/update.rs @@ -1,5 +1,5 @@ -use jirs_data::msg::WsMsgSession; -use jirs_data::{SignUpFieldId, WsMsg}; +use bitque_data::msg::WsMsgSession; +use bitque_data::{SignUpFieldId, WsMsg}; use seed::prelude::*; use crate::model::{self, Model, Page, PageContent}; diff --git a/web/src/pages/sign_up_page/view.rs b/crates/web/src/pages/sign_up_page/view.rs similarity index 99% rename from web/src/pages/sign_up_page/view.rs rename to crates/web/src/pages/sign_up_page/view.rs index db0079ff..1bb9f63d 100644 --- a/web/src/pages/sign_up_page/view.rs +++ b/crates/web/src/pages/sign_up_page/view.rs @@ -1,4 +1,4 @@ -use jirs_data::SignUpFieldId; +use bitque_data::SignUpFieldId; use seed::prelude::*; use seed::*; diff --git a/web/src/pages/users_page/mod.rs b/crates/web/src/pages/users_page/mod.rs similarity index 100% rename from web/src/pages/users_page/mod.rs rename to crates/web/src/pages/users_page/mod.rs diff --git a/web/src/pages/users_page/model.rs b/crates/web/src/pages/users_page/model.rs similarity index 94% rename from web/src/pages/users_page/model.rs rename to crates/web/src/pages/users_page/model.rs index 1592d08b..014a8315 100644 --- a/web/src/pages/users_page/model.rs +++ b/crates/web/src/pages/users_page/model.rs @@ -1,4 +1,4 @@ -use jirs_data::{Invitation, User, UserRole, UsersFieldId}; +use bitque_data::{Invitation, User, UserRole, UsersFieldId}; use crate::components::styled_select::StyledSelectState; use crate::model::InvitationFormState; diff --git a/web/src/pages/users_page/update.rs b/crates/web/src/pages/users_page/update.rs similarity index 97% rename from web/src/pages/users_page/update.rs rename to crates/web/src/pages/users_page/update.rs index e3d1dff7..7b3c7b71 100644 --- a/web/src/pages/users_page/update.rs +++ b/crates/web/src/pages/users_page/update.rs @@ -1,5 +1,5 @@ -use jirs_data::msg::{WsMsgInvitation, WsMsgSession}; -use jirs_data::{InvitationState, UserRole, UsersFieldId, WsMsg}; +use bitque_data::msg::{WsMsgInvitation, WsMsgSession}; +use bitque_data::{InvitationState, UserRole, UsersFieldId, WsMsg}; use seed::prelude::Orders; use crate::components::styled_select::StyledSelectChanged; diff --git a/web/src/pages/users_page/view.rs b/crates/web/src/pages/users_page/view.rs similarity index 99% rename from web/src/pages/users_page/view.rs rename to crates/web/src/pages/users_page/view.rs index 10b84137..4036117f 100644 --- a/web/src/pages/users_page/view.rs +++ b/crates/web/src/pages/users_page/view.rs @@ -1,4 +1,4 @@ -use jirs_data::{InvitationState, UserRole, UsersFieldId}; +use bitque_data::{InvitationState, UserRole, UsersFieldId}; use seed::prelude::*; use seed::*; diff --git a/web/src/shared/aside.rs b/crates/web/src/shared/aside.rs similarity index 97% rename from web/src/shared/aside.rs rename to crates/web/src/shared/aside.rs index aed90e90..99f11a28 100644 --- a/web/src/shared/aside.rs +++ b/crates/web/src/shared/aside.rs @@ -1,5 +1,5 @@ -use jirs_data::msg::{WsMsgMessage, WsMsgProject}; -use jirs_data::{UserRole, WsMsg}; +use bitque_data::msg::{WsMsgMessage, WsMsgProject}; +use bitque_data::{UserRole, WsMsg}; use seed::prelude::*; use seed::*; diff --git a/web/src/shared/drag.rs b/crates/web/src/shared/drag.rs similarity index 97% rename from web/src/shared/drag.rs rename to crates/web/src/shared/drag.rs index 3507bd3f..a06fc297 100644 --- a/web/src/shared/drag.rs +++ b/crates/web/src/shared/drag.rs @@ -1,6 +1,6 @@ use std::collections::HashSet; -#[derive(Default, Debug)] +#[derive(Debug, Default)] pub struct DragState { pub last_id: Option, pub dragged_id: Option, diff --git a/web/src/shared/mod.rs b/crates/web/src/shared/mod.rs similarity index 100% rename from web/src/shared/mod.rs rename to crates/web/src/shared/mod.rs diff --git a/web/src/shared/navbar_left.rs b/crates/web/src/shared/navbar_left.rs similarity index 97% rename from web/src/shared/navbar_left.rs rename to crates/web/src/shared/navbar_left.rs index fe15f684..c307770b 100644 --- a/web/src/shared/navbar_left.rs +++ b/crates/web/src/shared/navbar_left.rs @@ -1,5 +1,5 @@ -use jirs_data::msg::{WsMsgInvitation, WsMsgMessage}; -use jirs_data::{InvitationToken, Message, MessageType, WsMsg}; +use bitque_data::msg::{WsMsgInvitation, WsMsgMessage}; +use bitque_data::{InvitationToken, Message, MessageType, WsMsg}; use seed::prelude::*; use seed::*; @@ -326,7 +326,7 @@ fn about_tooltip_popup(model: &Model) -> Node { ], a![ attrs![ - At::Href => "https://gitlab.com/adrian.wozniak/jirs", + At::Href => "https://gitlab.com/adrian.wozniak/bitque", At::Target => "_blank", At::Rel => "noreferrer noopener", ], @@ -335,7 +335,7 @@ fn about_tooltip_popup(model: &Model) -> Node { a![ id!["about-github-button"], attrs![ - At::Href => "https://gitlab.com/adrian.wozniak/jirs", + At::Href => "https://gitlab.com/adrian.wozniak/bitque", At::Target => "_blank", At::Rel => "noreferrer noopener", ], diff --git a/web/src/shared/on_event.rs b/crates/web/src/shared/on_event.rs similarity index 100% rename from web/src/shared/on_event.rs rename to crates/web/src/shared/on_event.rs diff --git a/web/src/shared/tracking_widget.rs b/crates/web/src/shared/tracking_widget.rs similarity index 98% rename from web/src/shared/tracking_widget.rs rename to crates/web/src/shared/tracking_widget.rs index ec78e1bf..b8a08a49 100644 --- a/web/src/shared/tracking_widget.rs +++ b/crates/web/src/shared/tracking_widget.rs @@ -1,4 +1,4 @@ -use jirs_data::{TimeTracking, UpdateIssuePayload}; +use bitque_data::{TimeTracking, UpdateIssuePayload}; use seed::prelude::*; use seed::*; diff --git a/web/src/shared/validate.rs b/crates/web/src/shared/validate.rs similarity index 99% rename from web/src/shared/validate.rs rename to crates/web/src/shared/validate.rs index 06b96943..39b54911 100644 --- a/web/src/shared/validate.rs +++ b/crates/web/src/shared/validate.rs @@ -108,7 +108,7 @@ validator!(AtMost, MAX, usize, is_less_eq, "Value is too long"); pub type Between = Chain>, Changed>>; -#[derive(Debug, Copy, Clone)] +#[derive(Clone, Copy, Debug)] #[repr(C)] pub enum TouchState { Untouched, diff --git a/web/src/validations.rs b/crates/web/src/validations.rs similarity index 100% rename from web/src/validations.rs rename to crates/web/src/validations.rs diff --git a/web/src/ws/init_load_sets.rs b/crates/web/src/ws/init_load_sets.rs similarity index 88% rename from web/src/ws/init_load_sets.rs rename to crates/web/src/ws/init_load_sets.rs index 327b056b..122dcc8f 100644 --- a/web/src/ws/init_load_sets.rs +++ b/crates/web/src/ws/init_load_sets.rs @@ -1,5 +1,5 @@ -use jirs_data::msg::{WsMsgEpic, WsMsgInvitation, WsMsgIssueStatus, WsMsgProject}; -use jirs_data::WsMsg; +use bitque_data::msg::{WsMsgEpic, WsMsgInvitation, WsMsgIssueStatus, WsMsgProject}; +use bitque_data::WsMsg; use seed::app::Orders; use crate::model::Model; diff --git a/web/src/ws/issue.rs b/crates/web/src/ws/issue.rs similarity index 98% rename from web/src/ws/issue.rs rename to crates/web/src/ws/issue.rs index 45cc8375..bbb835fe 100644 --- a/web/src/ws/issue.rs +++ b/crates/web/src/ws/issue.rs @@ -1,5 +1,5 @@ -use jirs_data::msg::{IssueSync, WsMsgIssue}; -use jirs_data::*; +use bitque_data::msg::{IssueSync, WsMsgIssue}; +use bitque_data::*; use seed::prelude::Orders; use seed::*; diff --git a/web/src/ws/mod.rs b/crates/web/src/ws/mod.rs similarity index 99% rename from web/src/ws/mod.rs rename to crates/web/src/ws/mod.rs index 101127e0..1a376281 100644 --- a/web/src/ws/mod.rs +++ b/crates/web/src/ws/mod.rs @@ -1,11 +1,11 @@ use std::collections::HashMap; pub use init_load_sets::*; -use jirs_data::msg::{ +use bitque_data::msg::{ WsError, WsMsgComment, WsMsgEpic, WsMsgIssue, WsMsgIssueStatus, WsMsgMessage, WsMsgProject, WsMsgSession, WsMsgUser, }; -use jirs_data::*; +use bitque_data::*; use seed::prelude::*; use crate::model::*; @@ -86,7 +86,7 @@ pub fn open_socket(model: &mut Model, orders: &mut impl Orders) { error!("Failed to open WebSocket"); None as Option }) - // .protocols(&["jirs"]) + // .protocols(&["bitque"]) .build_and_open() .ok(); } diff --git a/web/static/favicon.png b/crates/web/static/favicon.png similarity index 100% rename from web/static/favicon.png rename to crates/web/static/favicon.png diff --git a/web/static/feedback.png b/crates/web/static/feedback.png similarity index 100% rename from web/static/feedback.png rename to crates/web/static/feedback.png diff --git a/web/static/fonts/CircularStd-Black.eot b/crates/web/static/fonts/CircularStd-Black.eot similarity index 100% rename from web/static/fonts/CircularStd-Black.eot rename to crates/web/static/fonts/CircularStd-Black.eot diff --git a/web/static/fonts/CircularStd-Black.otf b/crates/web/static/fonts/CircularStd-Black.otf similarity index 100% rename from web/static/fonts/CircularStd-Black.otf rename to crates/web/static/fonts/CircularStd-Black.otf diff --git a/web/static/fonts/CircularStd-Black.svg b/crates/web/static/fonts/CircularStd-Black.svg similarity index 100% rename from web/static/fonts/CircularStd-Black.svg rename to crates/web/static/fonts/CircularStd-Black.svg diff --git a/web/static/fonts/CircularStd-Black.ttf b/crates/web/static/fonts/CircularStd-Black.ttf similarity index 100% rename from web/static/fonts/CircularStd-Black.ttf rename to crates/web/static/fonts/CircularStd-Black.ttf diff --git a/web/static/fonts/CircularStd-Black.woff b/crates/web/static/fonts/CircularStd-Black.woff similarity index 100% rename from web/static/fonts/CircularStd-Black.woff rename to crates/web/static/fonts/CircularStd-Black.woff diff --git a/web/static/fonts/CircularStd-Black.woff2 b/crates/web/static/fonts/CircularStd-Black.woff2 similarity index 100% rename from web/static/fonts/CircularStd-Black.woff2 rename to crates/web/static/fonts/CircularStd-Black.woff2 diff --git a/web/static/fonts/CircularStd-Bold.eot b/crates/web/static/fonts/CircularStd-Bold.eot similarity index 100% rename from web/static/fonts/CircularStd-Bold.eot rename to crates/web/static/fonts/CircularStd-Bold.eot diff --git a/web/static/fonts/CircularStd-Bold.otf b/crates/web/static/fonts/CircularStd-Bold.otf similarity index 100% rename from web/static/fonts/CircularStd-Bold.otf rename to crates/web/static/fonts/CircularStd-Bold.otf diff --git a/web/static/fonts/CircularStd-Bold.svg b/crates/web/static/fonts/CircularStd-Bold.svg similarity index 100% rename from web/static/fonts/CircularStd-Bold.svg rename to crates/web/static/fonts/CircularStd-Bold.svg diff --git a/web/static/fonts/CircularStd-Bold.ttf b/crates/web/static/fonts/CircularStd-Bold.ttf similarity index 100% rename from web/static/fonts/CircularStd-Bold.ttf rename to crates/web/static/fonts/CircularStd-Bold.ttf diff --git a/web/static/fonts/CircularStd-Bold.woff b/crates/web/static/fonts/CircularStd-Bold.woff similarity index 100% rename from web/static/fonts/CircularStd-Bold.woff rename to crates/web/static/fonts/CircularStd-Bold.woff diff --git a/web/static/fonts/CircularStd-Bold.woff2 b/crates/web/static/fonts/CircularStd-Bold.woff2 similarity index 100% rename from web/static/fonts/CircularStd-Bold.woff2 rename to crates/web/static/fonts/CircularStd-Bold.woff2 diff --git a/web/static/fonts/CircularStd-Book.eot b/crates/web/static/fonts/CircularStd-Book.eot similarity index 100% rename from web/static/fonts/CircularStd-Book.eot rename to crates/web/static/fonts/CircularStd-Book.eot diff --git a/web/static/fonts/CircularStd-Book.otf b/crates/web/static/fonts/CircularStd-Book.otf similarity index 100% rename from web/static/fonts/CircularStd-Book.otf rename to crates/web/static/fonts/CircularStd-Book.otf diff --git a/web/static/fonts/CircularStd-Book.svg b/crates/web/static/fonts/CircularStd-Book.svg similarity index 100% rename from web/static/fonts/CircularStd-Book.svg rename to crates/web/static/fonts/CircularStd-Book.svg diff --git a/web/static/fonts/CircularStd-Book.ttf b/crates/web/static/fonts/CircularStd-Book.ttf similarity index 100% rename from web/static/fonts/CircularStd-Book.ttf rename to crates/web/static/fonts/CircularStd-Book.ttf diff --git a/web/static/fonts/CircularStd-Book.woff b/crates/web/static/fonts/CircularStd-Book.woff similarity index 100% rename from web/static/fonts/CircularStd-Book.woff rename to crates/web/static/fonts/CircularStd-Book.woff diff --git a/web/static/fonts/CircularStd-Book.woff2 b/crates/web/static/fonts/CircularStd-Book.woff2 similarity index 100% rename from web/static/fonts/CircularStd-Book.woff2 rename to crates/web/static/fonts/CircularStd-Book.woff2 diff --git a/web/static/fonts/CircularStd-Medium.eot b/crates/web/static/fonts/CircularStd-Medium.eot similarity index 100% rename from web/static/fonts/CircularStd-Medium.eot rename to crates/web/static/fonts/CircularStd-Medium.eot diff --git a/web/static/fonts/CircularStd-Medium.otf b/crates/web/static/fonts/CircularStd-Medium.otf similarity index 100% rename from web/static/fonts/CircularStd-Medium.otf rename to crates/web/static/fonts/CircularStd-Medium.otf diff --git a/web/static/fonts/CircularStd-Medium.svg b/crates/web/static/fonts/CircularStd-Medium.svg similarity index 100% rename from web/static/fonts/CircularStd-Medium.svg rename to crates/web/static/fonts/CircularStd-Medium.svg diff --git a/web/static/fonts/CircularStd-Medium.ttf b/crates/web/static/fonts/CircularStd-Medium.ttf similarity index 100% rename from web/static/fonts/CircularStd-Medium.ttf rename to crates/web/static/fonts/CircularStd-Medium.ttf diff --git a/web/static/fonts/CircularStd-Medium.woff b/crates/web/static/fonts/CircularStd-Medium.woff similarity index 100% rename from web/static/fonts/CircularStd-Medium.woff rename to crates/web/static/fonts/CircularStd-Medium.woff diff --git a/web/static/fonts/CircularStd-Medium.woff2 b/crates/web/static/fonts/CircularStd-Medium.woff2 similarity index 100% rename from web/static/fonts/CircularStd-Medium.woff2 rename to crates/web/static/fonts/CircularStd-Medium.woff2 diff --git a/web/static/fonts/icofont.eot b/crates/web/static/fonts/icofont.eot similarity index 100% rename from web/static/fonts/icofont.eot rename to crates/web/static/fonts/icofont.eot diff --git a/web/static/fonts/icofont.svg b/crates/web/static/fonts/icofont.svg similarity index 100% rename from web/static/fonts/icofont.svg rename to crates/web/static/fonts/icofont.svg diff --git a/web/static/fonts/icofont.ttf b/crates/web/static/fonts/icofont.ttf similarity index 100% rename from web/static/fonts/icofont.ttf rename to crates/web/static/fonts/icofont.ttf diff --git a/web/static/fonts/icofont.woff b/crates/web/static/fonts/icofont.woff similarity index 100% rename from web/static/fonts/icofont.woff rename to crates/web/static/fonts/icofont.woff diff --git a/web/static/fonts/icofont.woff2 b/crates/web/static/fonts/icofont.woff2 similarity index 100% rename from web/static/fonts/icofont.woff2 rename to crates/web/static/fonts/icofont.woff2 diff --git a/web/static/fonts/jira.svg b/crates/web/static/fonts/jira.svg similarity index 100% rename from web/static/fonts/jira.svg rename to crates/web/static/fonts/jira.svg diff --git a/web/static/fonts/jira.ttf b/crates/web/static/fonts/jira.ttf similarity index 100% rename from web/static/fonts/jira.ttf rename to crates/web/static/fonts/jira.ttf diff --git a/web/static/fonts/jira.woff b/crates/web/static/fonts/jira.woff similarity index 100% rename from web/static/fonts/jira.woff rename to crates/web/static/fonts/jira.woff diff --git a/web/static/index.js b/crates/web/static/index.js similarity index 83% rename from web/static/index.js rename to crates/web/static/index.js index 09f7090b..67160a41 100644 --- a/web/static/index.js +++ b/crates/web/static/index.js @@ -1,4 +1,4 @@ -import("/jirs.js").then(async module => { +import("/bitque.js").then(async module => { // window.module = module; await module.default(); module.render(); diff --git a/web/static/logo.svg b/crates/web/static/logo.svg similarity index 100% rename from web/static/logo.svg rename to crates/web/static/logo.svg diff --git a/web/static/logo2.svg b/crates/web/static/logo2.svg similarity index 100% rename from web/static/logo2.svg rename to crates/web/static/logo2.svg diff --git a/web/static/project-avatar.svg b/crates/web/static/project-avatar.svg similarity index 100% rename from web/static/project-avatar.svg rename to crates/web/static/project-avatar.svg diff --git a/web/static/project-icon.svg b/crates/web/static/project-icon.svg similarity index 100% rename from web/static/project-icon.svg rename to crates/web/static/project-icon.svg diff --git a/web/tests/wasm.rs b/crates/web/tests/wasm.rs similarity index 88% rename from web/tests/wasm.rs rename to crates/web/tests/wasm.rs index 1656d9cd..9ee95727 100644 --- a/web/tests/wasm.rs +++ b/crates/web/tests/wasm.rs @@ -1,6 +1,6 @@ extern crate wasm_bindgen_test; -use jirs_client::validations::*; +use bitque_client::validations::*; use wasm_bindgen_test::*; #[wasm_bindgen_test] diff --git a/actors/websocket-actor/Cargo.toml b/crates/websocket-actor/Cargo.toml similarity index 56% rename from actors/websocket-actor/Cargo.toml rename to crates/websocket-actor/Cargo.toml index f981e667..e04036b0 100644 --- a/actors/websocket-actor/Cargo.toml +++ b/crates/websocket-actor/Cargo.toml @@ -4,7 +4,7 @@ version = "0.1.0" authors = ["Adrian Wozniak "] edition = "2018" description = "JIRS (Simplified JIRA in Rust) shared data types" -repository = "https://gitlab.com/adrian.wozniak/jirs" +repository = "https://gitlab.com/adrian.wozniak/bitque" license = "MPL-2.0" #license-file = "../LICENSE" @@ -13,40 +13,22 @@ name = "websocket_actor" path = "./src/lib.rs" [dependencies] -common = { path = "../../shared/common" } -actix = { version = "0.10.0" } - -serde = { version = "*" } -bincode = { version = "*" } -toml = { version = "*" } - -futures = { version = "0.3.8" } -openssl-sys = { version = "*", features = ["vendored"] } -libc = { version = "0.2.0", default-features = false } - -flate2 = { version = "*" } -syntect = { version = "*" } -lazy_static = { version = "*" } - -uuid = { version = "0.8.2", features = ["serde", "v4", "v5"] } - -comrak = { version = "*" } - +actix = { version = "0.13.0" } async-trait = { version = "*" } - -[dependencies.jirs-config] -path = "../../shared/jirs-config" -features = ["websocket"] - -[dependencies.jirs-data] -path = "../../shared/jirs-data" -features = ["backend"] - -[dependencies.database-actor] -path = "../database-actor" - -[dependencies.mail-actor] -path = "../mail-actor" - -[dependencies.highlight-actor] -path = "../highlight-actor" +bincode = { version = "*" } +bitque-config = { workspace = true, features = ["websocket"] } +bitque-data = { workspace = true, features = ["backend"] } +common = { workspace = true } +comrak = { version = "*" } +database-actor = { workspace = true } +flate2 = { version = "*" } +futures = { version = "0.3.8" } +highlight-actor = { workspace = true } +lazy_static = { version = "*" } +libc = { version = "0.2.0", default-features = false } +mail-actor = { workspace = true } +openssl-sys = { version = "*", features = ["vendored"] } +serde = { version = "*" } +syntect = { version = "*" } +toml = { version = "*" } +uuid = { version = "1.3.0", features = ["serde", "v4", "v5"] } diff --git a/actors/websocket-actor/src/handlers/auth.rs b/crates/websocket-actor/src/handlers/auth.rs similarity index 95% rename from actors/websocket-actor/src/handlers/auth.rs rename to crates/websocket-actor/src/handlers/auth.rs index 6e2a3479..04cd1819 100644 --- a/actors/websocket-actor/src/handlers/auth.rs +++ b/crates/websocket-actor/src/handlers/auth.rs @@ -3,8 +3,8 @@ use database_actor::authorize_user::AuthorizeUser; use database_actor::tokens::{CreateBindToken, FindBindToken}; use database_actor::users::LookupUser; use futures::executor::block_on; -use jirs_data::msg::{WsError, WsMsgSession}; -use jirs_data::{Token, WsMsg}; +use bitque_data::msg::{WsError, WsMsgSession}; +use bitque_data::{Token, WsMsg}; use mail_actor::welcome::Welcome; use crate::server::InnerMsg; @@ -79,7 +79,7 @@ pub struct CheckAuthToken { impl WsHandler for WebSocketActor { fn handle_msg(&mut self, msg: CheckAuthToken, ctx: &mut Self::Context) -> WsResult { - let user: jirs_data::User = db_or_debug_and_return!( + let user: bitque_data::User = db_or_debug_and_return!( self, AuthorizeUser { access_token: msg.token, @@ -90,7 +90,7 @@ impl WsHandler for WebSocketActor { Ok(Some(WsMsgSession::AuthorizeExpired.into())) ); - let setting: jirs_data::UserSetting = db_or_debug_or_fallback!( + let setting: bitque_data::UserSetting = db_or_debug_or_fallback!( self, database_actor::user_settings::FindUserSetting { user_id: user.id }, crate::user_settings::default_user_setting(user.id), diff --git a/actors/websocket-actor/src/handlers/comments.rs b/crates/websocket-actor/src/handlers/comments.rs similarity index 96% rename from actors/websocket-actor/src/handlers/comments.rs rename to crates/websocket-actor/src/handlers/comments.rs index d178a28d..fdae3d2e 100644 --- a/actors/websocket-actor/src/handlers/comments.rs +++ b/crates/websocket-actor/src/handlers/comments.rs @@ -1,5 +1,5 @@ -use jirs_data::msg::WsMsgComment; -use jirs_data::{CommentId, CreateCommentPayload, IssueId, UpdateCommentPayload, WsMsg}; +use bitque_data::msg::WsMsgComment; +use bitque_data::{CommentId, CreateCommentPayload, IssueId, UpdateCommentPayload, WsMsg}; use crate::{db_or_debug_and_return, AsyncHandler, WebSocketActor, WsResult}; diff --git a/actors/websocket-actor/src/handlers/epics.rs b/crates/websocket-actor/src/handlers/epics.rs similarity index 98% rename from actors/websocket-actor/src/handlers/epics.rs rename to crates/websocket-actor/src/handlers/epics.rs index c028ac80..7bebee73 100644 --- a/actors/websocket-actor/src/handlers/epics.rs +++ b/crates/websocket-actor/src/handlers/epics.rs @@ -1,5 +1,5 @@ -use jirs_data::msg::{WsMsgEpic, WsMsgIssue}; -use jirs_data::{ +use bitque_data::msg::{WsMsgEpic, WsMsgIssue}; +use bitque_data::{ DescriptionString, EndsAt, EpicId, IssueType, NameString, StartsAt, UserProject, WsMsg, }; @@ -181,7 +181,7 @@ pub struct TransformEpic { #[async_trait::async_trait] impl AsyncHandler for WebSocketActor { async fn exec(&mut self, msg: TransformEpic) -> WsResult { - let epic: jirs_data::Epic = db_or_debug_and_return!( + let epic: bitque_data::Epic = db_or_debug_and_return!( self, database_actor::epics::FindEpic { epic_id: msg.epic_id diff --git a/actors/websocket-actor/src/handlers/hi.rs b/crates/websocket-actor/src/handlers/hi.rs similarity index 93% rename from actors/websocket-actor/src/handlers/hi.rs rename to crates/websocket-actor/src/handlers/hi.rs index 93e439be..33b7b247 100644 --- a/actors/websocket-actor/src/handlers/hi.rs +++ b/crates/websocket-actor/src/handlers/hi.rs @@ -1,4 +1,4 @@ -use jirs_data::{Code, Lang, WsMsg}; +use bitque_data::{Code, Lang, WsMsg}; use crate::{actor_or_debug_and_return, AsyncHandler, WebSocketActor, WsResult}; diff --git a/actors/websocket-actor/src/handlers/invitations.rs b/crates/websocket-actor/src/handlers/invitations.rs similarity index 98% rename from actors/websocket-actor/src/handlers/invitations.rs rename to crates/websocket-actor/src/handlers/invitations.rs index f31aebec..1a75c8d4 100644 --- a/actors/websocket-actor/src/handlers/invitations.rs +++ b/crates/websocket-actor/src/handlers/invitations.rs @@ -1,8 +1,8 @@ use database_actor::invitations; use database_actor::messages::CreateMessageReceiver; use futures::executor::block_on; -use jirs_data::msg::{WsMsgInvitation, WsMsgMessage}; -use jirs_data::{ +use bitque_data::msg::{WsMsgInvitation, WsMsgMessage}; +use bitque_data::{ EmailString, InvitationId, InvitationToken, MessageType, UserRole, UsernameString, WsMsg, }; diff --git a/actors/websocket-actor/src/handlers/issue_statuses.rs b/crates/websocket-actor/src/handlers/issue_statuses.rs similarity index 97% rename from actors/websocket-actor/src/handlers/issue_statuses.rs rename to crates/websocket-actor/src/handlers/issue_statuses.rs index 8dfd7549..bbc55751 100644 --- a/actors/websocket-actor/src/handlers/issue_statuses.rs +++ b/crates/websocket-actor/src/handlers/issue_statuses.rs @@ -1,6 +1,6 @@ use database_actor::issue_statuses; -use jirs_data::msg::WsMsgIssueStatus; -use jirs_data::{IssueStatusId, Position, TitleString, WsMsg}; +use bitque_data::msg::WsMsgIssueStatus; +use bitque_data::{IssueStatusId, Position, TitleString, WsMsg}; use crate::{db_or_debug_and_return, AsyncHandler, WebSocketActor, WsResult}; diff --git a/actors/websocket-actor/src/handlers/issues.rs b/crates/websocket-actor/src/handlers/issues.rs similarity index 96% rename from actors/websocket-actor/src/handlers/issues.rs rename to crates/websocket-actor/src/handlers/issues.rs index a9c0e459..490b9dc3 100644 --- a/actors/websocket-actor/src/handlers/issues.rs +++ b/crates/websocket-actor/src/handlers/issues.rs @@ -2,8 +2,8 @@ use std::collections::HashMap; use database_actor::issue_assignees::LoadAssignees; use database_actor::issues::{LoadProjectIssues, UpdateIssue}; -use jirs_data::msg::{IssueSync, WsMsgIssue, WsMsgProject}; -use jirs_data::{CreateIssuePayload, IssueAssignee, IssueFieldId, IssueId, PayloadVariant, WsMsg}; +use bitque_data::msg::{IssueSync, WsMsgIssue, WsMsgProject}; +use bitque_data::{CreateIssuePayload, IssueAssignee, IssueFieldId, IssueId, PayloadVariant, WsMsg}; use crate::{db_or_debug_and_return, AsyncHandler, WebSocketActor, WsResult}; @@ -100,7 +100,7 @@ impl AsyncHandler for WebSocketActor { }; let issue = db_or_debug_and_return!(self, msg; async); - let mut issue: jirs_data::Issue = issue.into(); + let mut issue: bitque_data::Issue = issue.into(); let assignees: Vec = db_or_debug_and_return!(self, LoadAssignees { issue_id: issue.id }; async); @@ -162,7 +162,7 @@ impl AsyncHandler for WebSocketActor { let project_id = self.require_user_project()?.project_id; let v = db_or_debug_and_return!(self, LoadProjectIssues { project_id }; async); - let issues: Vec = v.into_iter().map(|i| i.into()).collect(); + let issues: Vec = v.into_iter().map(|i| i.into()).collect(); let mut issue_map = HashMap::new(); let mut queue = vec![]; for issue in issues { diff --git a/actors/websocket-actor/src/handlers/messages.rs b/crates/websocket-actor/src/handlers/messages.rs similarity index 96% rename from actors/websocket-actor/src/handlers/messages.rs rename to crates/websocket-actor/src/handlers/messages.rs index c99fef38..9b8299fa 100644 --- a/actors/websocket-actor/src/handlers/messages.rs +++ b/crates/websocket-actor/src/handlers/messages.rs @@ -1,6 +1,6 @@ use database_actor::messages; -use jirs_data::msg::WsMsgMessage; -use jirs_data::MessageId; +use bitque_data::msg::WsMsgMessage; +use bitque_data::MessageId; use crate::{db_or_debug_and_return, AsyncHandler, WebSocketActor, WsResult}; diff --git a/actors/websocket-actor/src/handlers/mod.rs b/crates/websocket-actor/src/handlers/mod.rs similarity index 100% rename from actors/websocket-actor/src/handlers/mod.rs rename to crates/websocket-actor/src/handlers/mod.rs diff --git a/actors/websocket-actor/src/handlers/projects.rs b/crates/websocket-actor/src/handlers/projects.rs similarity index 95% rename from actors/websocket-actor/src/handlers/projects.rs rename to crates/websocket-actor/src/handlers/projects.rs index 346f950e..786c48e1 100644 --- a/actors/websocket-actor/src/handlers/projects.rs +++ b/crates/websocket-actor/src/handlers/projects.rs @@ -1,6 +1,6 @@ use database_actor as db; -use jirs_data::msg::WsMsgProject; -use jirs_data::{UpdateProjectPayload, UserProject, WsMsg}; +use bitque_data::msg::WsMsgProject; +use bitque_data::{UpdateProjectPayload, UserProject, WsMsg}; use crate::handlers::{LoadIssues, LoadProjectUsers}; use crate::{db_or_debug_and_return, AsyncHandler, WebSocketActor, WsResult}; diff --git a/actors/websocket-actor/src/handlers/user_projects.rs b/crates/websocket-actor/src/handlers/user_projects.rs similarity index 96% rename from actors/websocket-actor/src/handlers/user_projects.rs rename to crates/websocket-actor/src/handlers/user_projects.rs index 1557d172..b0a74008 100644 --- a/actors/websocket-actor/src/handlers/user_projects.rs +++ b/crates/websocket-actor/src/handlers/user_projects.rs @@ -1,5 +1,5 @@ use database_actor as db; -use jirs_data::{UserProjectId, WsMsg}; +use bitque_data::{UserProjectId, WsMsg}; use crate::{db_or_debug_and_return, AsyncHandler, WebSocketActor, WsResult}; diff --git a/actors/websocket-actor/src/handlers/user_settings.rs b/crates/websocket-actor/src/handlers/user_settings.rs similarity index 89% rename from actors/websocket-actor/src/handlers/user_settings.rs rename to crates/websocket-actor/src/handlers/user_settings.rs index 7fae02e3..d417a9bd 100644 --- a/actors/websocket-actor/src/handlers/user_settings.rs +++ b/crates/websocket-actor/src/handlers/user_settings.rs @@ -1,5 +1,5 @@ -use jirs_data::msg::WsMsgUser; -use jirs_data::{TextEditorMode, UserId, UserSetting}; +use bitque_data::msg::WsMsgUser; +use bitque_data::{TextEditorMode, UserId, UserSetting}; use crate::{db_or_debug_and_return, AsyncHandler, WebSocketActor, WsResult}; diff --git a/actors/websocket-actor/src/handlers/users.rs b/crates/websocket-actor/src/handlers/users.rs similarity index 96% rename from actors/websocket-actor/src/handlers/users.rs rename to crates/websocket-actor/src/handlers/users.rs index b532b549..5b93e353 100644 --- a/actors/websocket-actor/src/handlers/users.rs +++ b/crates/websocket-actor/src/handlers/users.rs @@ -1,7 +1,7 @@ use database_actor::users::Register as DbRegister; use database_actor::{self}; -use jirs_data::msg::{WsMsgInvitation, WsMsgProject, WsMsgSession, WsMsgUser}; -use jirs_data::{UserId, UserProject, UserRole, WsMsg}; +use bitque_data::msg::{WsMsgInvitation, WsMsgProject, WsMsgSession, WsMsgUser}; +use bitque_data::{UserId, UserProject, UserRole, WsMsg}; use crate::handlers::auth::Authenticate; use crate::handlers::user_settings; diff --git a/actors/websocket-actor/src/lib.rs b/crates/websocket-actor/src/lib.rs similarity index 93% rename from actors/websocket-actor/src/lib.rs rename to crates/websocket-actor/src/lib.rs index 0100a163..1cc5b744 100644 --- a/actors/websocket-actor/src/lib.rs +++ b/crates/websocket-actor/src/lib.rs @@ -2,14 +2,14 @@ use actix::{Actor, ActorContext, Addr, AsyncContext, Handler, Recipient, StreamH use actix_web::web::{self, Data}; use actix_web::{get, Error, HttpRequest, HttpResponse}; use actix_web_actors::ws; -use common::log::*; +use ::tracing::*; use common::{actix_web, actix_web_actors}; use database_actor::projects::LoadCurrentProject; use database_actor::user_projects::CurrentUserProject; use database_actor::DbExecutor; use futures::executor::block_on as wait; -use jirs_data::msg::{WsMsgInvitation, WsMsgSession}; -use jirs_data::{Project, User, UserProject, WsMsg}; +use bitque_data::msg::{WsMsgInvitation, WsMsgSession}; +use bitque_data::{Project, User, UserProject, WsMsg}; use mail_actor::MailExecutor; use crate::handlers::*; @@ -22,7 +22,7 @@ pub mod server; pub type WsResult = std::result::Result, WsMsg>; trait WsMessageSender { - fn send_msg(&mut self, msg: &jirs_data::WsMsg); + fn send_msg(&mut self, msg: &bitque_data::WsMsg); } pub struct WebSocketActor { @@ -30,9 +30,9 @@ pub struct WebSocketActor { mail: Data>, addr: Addr, hi: Data>, - current_user: Option, - current_user_project: Option, - current_project: Option, + current_user: Option, + current_user_project: Option, + current_project: Option, } pub type WsCtx = ws::WebsocketContext; @@ -45,7 +45,7 @@ impl WsMessageSender for ws::WebsocketContext { fn send_msg(&mut self, msg: &WsMsg) { match bincode::serialize(msg) { Err(err) => { - common::log::error!("{}", err); + ::tracing::error!("{}", err); } Ok(v) => self.binary(v), } @@ -145,8 +145,8 @@ impl WebSocketActor { .send(InnerMsg::Join(project_id, user.id, addr)) .await { - Err(e) => common::log::error!("{:?}", e), - _ => common::log::info!(" joined channel"), + Err(e) => ::tracing::error!("{:?}", e), + _ => ::tracing::info!(" joined channel"), }; } @@ -204,7 +204,7 @@ impl StreamHandler> for WebSocketActor { Ok(ws::Message::Text(text)) => ctx.text(text), Ok(ws::Message::Binary(bin)) => { - let ws_msg: bincode::Result = + let ws_msg: bincode::Result = bincode::deserialize(bin.to_vec().as_slice()); let msg = match ws_msg { Ok(m) => m, diff --git a/actors/websocket-actor/src/prelude.rs b/crates/websocket-actor/src/prelude.rs similarity index 87% rename from actors/websocket-actor/src/prelude.rs rename to crates/websocket-actor/src/prelude.rs index 88e18569..5ceff3d0 100644 --- a/actors/websocket-actor/src/prelude.rs +++ b/crates/websocket-actor/src/prelude.rs @@ -52,11 +52,11 @@ macro_rules! actor_or_debug_and_return { match block_on($s.$actor.send($msg)) { Ok(Ok(r)) => r, Ok(Err(e)) => { - common::log::error!("{:?}", e); + ::tracing::error!("{:?}", e); return $actor_err; } Err(e) => { - common::log::error!("{:?}", e); + ::tracing::error!("{:?}", e); return $mailbox_err; } } @@ -68,11 +68,11 @@ macro_rules! actor_or_debug_and_return { match $s.$actor.send($msg).await { Ok(Ok(r)) => r, Ok(Err(e)) => { - common::log::error!("{:?}", e); + ::tracing::error!("{:?}", e); return $actor_err; } Err(e) => { - common::log::error!("{:?}", e); + ::tracing::error!("{:?}", e); return $mailbox_err; } } @@ -90,10 +90,10 @@ macro_rules! actor_or_debug_and_ignore { $on_success(r); } Ok(Err(e)) => { - common::log::error!("{:?}", e); + ::tracing::error!("{:?}", e); } Err(e) => { - common::log::error!("{:?}", e); + ::tracing::error!("{:?}", e); } } }; @@ -103,10 +103,10 @@ macro_rules! actor_or_debug_and_ignore { $on_success(r); } Ok(Err(e)) => { - common::log::error!("{:?}", e); + ::tracing::error!("{:?}", e); } Err(e) => { - common::log::error!("{:?}", e); + ::tracing::error!("{:?}", e); } } }; @@ -118,11 +118,11 @@ macro_rules! actor_or_debug_and_fallback { match block_on($s.$actor.send($msg)) { Ok(Ok(r)) => r, Ok(Err(e)) => { - common::log::error!("{:?}", e); + ::tracing::error!("{:?}", e); $actor_err } Err(e) => { - common::log::error!("{:?}", e); + ::tracing::error!("{:?}", e); $mailbox_err } } @@ -131,11 +131,11 @@ macro_rules! actor_or_debug_and_fallback { match $s.$actor.send($msg).await { Ok(Ok(r)) => r, Ok(Err(e)) => { - common::log::error!("{:?}", e); + ::tracing::error!("{:?}", e); $actor_err } Err(e) => { - common::log::error!("{:?}", e); + ::tracing::error!("{:?}", e); $mailbox_err } } diff --git a/actors/websocket-actor/src/server/mod.rs b/crates/websocket-actor/src/server/mod.rs similarity index 94% rename from actors/websocket-actor/src/server/mod.rs rename to crates/websocket-actor/src/server/mod.rs index 50ec33ab..508e4310 100644 --- a/actors/websocket-actor/src/server/mod.rs +++ b/crates/websocket-actor/src/server/mod.rs @@ -1,10 +1,10 @@ use std::collections::HashMap; use actix::{Actor, Context, Recipient}; -use common::log::*; -use jirs_data::{ProjectId, UserId, WsMsg}; +use ::tracing::*; +use bitque_data::{ProjectId, UserId, WsMsg}; -#[derive(actix::Message, Debug)] +#[derive(Debug, actix::Message)] #[rtype(result = "()")] pub enum InnerMsg { Join(ProjectId, UserId, Recipient), @@ -111,8 +111,8 @@ impl WsServer { fn send_to_recipients(&self, recipients: &[Recipient], msg: &WsMsg) { for recipient in recipients.iter() { match recipient.do_send(InnerMsg::Transfer(msg.clone())) { - Ok(_) => common::log::debug!("msg sent"), - Err(e) => common::log::error!("{}", e), + Ok(_) => ::tracing::debug!("msg sent"), + Err(e) => ::tracing::error!("{}", e), }; } } diff --git a/diesel.toml b/diesel.toml index 8c44ec59..5dc8eeaa 100644 --- a/diesel.toml +++ b/diesel.toml @@ -2,7 +2,7 @@ # see diesel.rs/guides/configuring-diesel-cli [print_schema] -file = "actors/database-actor/src/schema.rs" -import_types = ["diesel::sql_types::*", "jirs_data::*"] -with_docs = true -patch_file = "./actors/database-actor/src/schema.patch" +file = "crates/database-actor/src/schema.rs" +import_types = ["diesel::sql_types::*", "bitque_data::*"] +with_docs = false +generate_missing_sql_type_definitions = false diff --git a/docker-compose.yml b/docker-compose.yml index 3bfe3eaa..2483e826 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -17,21 +17,21 @@ services: - ./build:/app/build - type: volume source: rs-target - target: /app/jirs-server/target + target: /app/bitque-server/target - ./Cargo.toml:/app/Cargo.toml - ./Cargo.lock:/app/Cargo.lock - - ./jirs-server:/app/jirs-server - - ./jirs-data:/app/jirs-data - - ./jirs-cli:/app/jirs-cli - - ./jirs-client:/app/jirs-client + - ./bitque-server:/app/bitque-server + - ./bitque-data:/app/bitque-data + - ./bitque-cli:/app/bitque-cli + - ./bitque-client:/app/bitque-client server: build: - dockerfile: ./jirs-server/Dockerfile + dockerfile: ./bitque-server/Dockerfile context: . depends_on: - db environment: - - DATABASE_URL=postgres://postgres@db/jirs + - DATABASE_URL=postgres://postgres@db/bitque - JIRS_SERVER_PORT=5000 - JIRS_SERVER_BIND=0.0.0.0 - RUST_LOG=debug @@ -56,15 +56,15 @@ services: client: build: - dockerfile: ./jirs-client/Dockerfile + dockerfile: ./bitque-client/Dockerfile context: . env_file: - .env environment: - JIRS_SERVER_PORT=80 - - JIRS_SERVER_BIND=jirs.lvh.me + - JIRS_SERVER_BIND=bitque.lvh.me - JIRS_CLIENT_PORT=80 - - JIRS_CLIENT_BIND=jirs.lvh.me + - JIRS_CLIENT_BIND=bitque.lvh.me volumes: - type: volume source: assets diff --git a/docs/Deploy.md b/docs/Deploy.md index f1addd10..116b3f67 100644 --- a/docs/Deploy.md +++ b/docs/Deploy.md @@ -5,13 +5,13 @@ You can deploy easily JIRS to any PC including Raspberry PI. To do this you will We will use following setup, but you can modify it. * `issues.example.com` - domain -* `postgres://postgres@192.168.1.144:5432/jirs` - database on other machine and within inner network +* `postgres://postgres@192.168.1.144:5432/bitque` - database on other machine and within inner network -* `/var/jirs` - main directory -* `/var/jirs/clone` - cloned source code -* `/var/jirs/web` - All static assets including wasm library -* `/var/jirs/config` - config files -* `/var/jirs/uploads` - uploaded files +* `/var/bitque` - main directory +* `/var/bitque/clone` - cloned source code +* `/var/bitque/web` - All static assets including wasm library +* `/var/bitque/config` - config files +* `/var/bitque/uploads` - uploaded files ### JIRS Config files @@ -19,7 +19,7 @@ We will use following setup, but you can modify it. ```toml concurrency = 2 -database_url = "postgres://postgres@192.168.1.144:5432/jirs" +database_url = "postgres://postgres@192.168.1.144:5432/bitque" ``` * `config/web.toml` (public_path is required) @@ -59,11 +59,11 @@ server { listen 80; server_name issues.example.com; - root /var/jirs/web; + root /var/bitque/web; try_files $uri $uri/index.html index.html; location ~ /uploads/ { - root /var/jirs; + root /var/bitque; } location ~ .js { @@ -91,7 +91,7 @@ server { location ~ / { add_header 'Content-Type' 'text/html'; add_header 'Access-Control-Allow-Origin' '*'; - root /var/jirs/web; + root /var/bitque/web; try_files $uri $uri/index.html /index.html; } } @@ -109,8 +109,8 @@ Ensure `$HOME/.cargo/bin` is in `$PATH` * Compile server ```bash -cargo build --bin jirs --release --no-default-features --features local-storage -cp ./target/release/jirs /usr/bin/jirs +cargo build --bin bitque --release --no-default-features --features local-storage +cp ./target/release/bitque /usr/bin/bitque ``` * Compile web client @@ -118,10 +118,10 @@ cp ./target/release/jirs /usr/bin/jirs ```bash ./web/scripts/prod.sh -cp -r /tmp/wasm/* /var/jirs/web +cp -r /tmp/wasm/* /var/bitque/web ``` If it fails (there is no wasm-opt for Raspberry PI) you must disable wasm-opt or compile it on any other PC and just -copy everything to `/var/jirs/web` +copy everything to `/var/bitque/web` diff --git a/jirs-cli/Cargo.toml b/jirs-cli/Cargo.toml deleted file mode 100644 index f7568d7a..00000000 --- a/jirs-cli/Cargo.toml +++ /dev/null @@ -1,13 +0,0 @@ -[package] -name = "jirsc" -version = "0.1.0" -authors = ["Adrian Wozniak "] -edition = "2018" - -[dependencies] -common = { path = "../shared/common" } - -tui = { version = "0.9.5", features = ["termion"] } -clap = { version = "2.33.0" } -actix = { version = "0.10.0" } -termion = { version = "*" } diff --git a/jirs-server/Cargo.toml b/jirs-server/Cargo.toml deleted file mode 100644 index ec06c100..00000000 --- a/jirs-server/Cargo.toml +++ /dev/null @@ -1,64 +0,0 @@ -[package] -name = "jirs" -version = "0.1.0" -authors = ["Adrian Wozniak "] -edition = "2018" -description = "JIRS (Simplified JIRA in Rust) Actix server" -repository = "https://gitlab.com/adrian.wozniak/jirs" -license = "MPL-2.0" -#license-file = "../LICENSE" - -[features] -aws-s3 = ["amazon-actor"] -local-storage = ["filesystem-actor"] -default = ["local-storage"] - -[dependencies] -common = { path = "../shared/common" } -actix = { version = "0.10.0" } - -dotenv = { version = "*" } - -serde = { version = "*", features = ["derive"] } -serde_json = { version = ">=0.8.0, <2.0" } -toml = { version = "0.5.6" } - -futures = { version = "*" } -openssl-sys = { version = "*", features = ["vendored"] } -libc = { version = "0.2.0", default-features = false } - -[dependencies.jirs-config] -path = "../shared/jirs-config" -features = ["web", "websocket", "local-storage", "hi", "database"] - -[dependencies.jirs-data] -path = "../shared/jirs-data" -features = ["backend"] - -[dependencies.highlight-actor] -path = "../actors/highlight-actor" - -[dependencies.database-actor] -path = "../actors/database-actor" - -[dependencies.web-actor] -path = "../actors/web-actor" -features = ["local-storage"] - -[dependencies.websocket-actor] -path = "../actors/websocket-actor" - -[dependencies.mail-actor] -path = "../actors/mail-actor" - -[dependencies.filesystem-actor] -path = "../actors/filesystem-actor" -optional = true - -[dependencies.amazon-actor] -path = "../actors/amazon-actor" -optional = true - -[dependencies.tokio] -version = "0.2.23" -features = ["dns"] diff --git a/migrations/2020-03-25-150002_create__project_category_type/down.sql b/migrations/2020-03-25-150002_create__project_category_type/down.sql index d64d4a4d..f1cb3f4a 100644 --- a/migrations/2020-03-25-150002_create__project_category_type/down.sql +++ b/migrations/2020-03-25-150002_create__project_category_type/down.sql @@ -1 +1 @@ -DROP TYPE IF EXISTS "ProjectCategoryType" CASCADE; +DROP TYPE IF EXISTS "ProjectCategory" CASCADE; diff --git a/migrations/2020-03-25-150002_create__project_category_type/up.sql b/migrations/2020-03-25-150002_create__project_category_type/up.sql index de934d70..06a9201b 100644 --- a/migrations/2020-03-25-150002_create__project_category_type/up.sql +++ b/migrations/2020-03-25-150002_create__project_category_type/up.sql @@ -1,5 +1,5 @@ -DROP TYPE IF EXISTS "ProjectCategoryType" CASCADE; -CREATE TYPE "ProjectCategoryType" as ENUM ( +DROP TYPE IF EXISTS "ProjectCategory" CASCADE; +CREATE TYPE "ProjectCategory" as ENUM ( 'software', 'marketing', 'business' diff --git a/migrations/2020-03-25-150003_crate__issue_priority_type/down.sql b/migrations/2020-03-25-150003_crate__issue_priority_type/down.sql index 91512dfb..db135684 100644 --- a/migrations/2020-03-25-150003_crate__issue_priority_type/down.sql +++ b/migrations/2020-03-25-150003_crate__issue_priority_type/down.sql @@ -1 +1 @@ -DROP TYPE IF EXISTS "IssuePriorityType" CASCADE; +DROP TYPE IF EXISTS "IssuePriority" CASCADE; diff --git a/migrations/2020-03-25-150003_crate__issue_priority_type/up.sql b/migrations/2020-03-25-150003_crate__issue_priority_type/up.sql index a827e3f5..af7715cf 100644 --- a/migrations/2020-03-25-150003_crate__issue_priority_type/up.sql +++ b/migrations/2020-03-25-150003_crate__issue_priority_type/up.sql @@ -1,5 +1,5 @@ -DROP TYPE IF EXISTS "IssuePriorityType" CASCADE; -CREATE TYPE "IssuePriorityType" as ENUM ( +DROP TYPE IF EXISTS "IssuePriority" CASCADE; +CREATE TYPE "IssuePriority" as ENUM ( 'highest', 'high', 'medium', diff --git a/migrations/2020-03-25-150004_create__issue_type_type/down.sql b/migrations/2020-03-25-150004_create__issue_type_type/down.sql index 31f280ad..d8077f66 100644 --- a/migrations/2020-03-25-150004_create__issue_type_type/down.sql +++ b/migrations/2020-03-25-150004_create__issue_type_type/down.sql @@ -1 +1 @@ -DROP TYPE IF EXISTS "IssueTypeType" CASCADE; +DROP TYPE IF EXISTS "IssueType" CASCADE; diff --git a/migrations/2020-03-25-150004_create__issue_type_type/up.sql b/migrations/2020-03-25-150004_create__issue_type_type/up.sql index f85ac852..d569033e 100644 --- a/migrations/2020-03-25-150004_create__issue_type_type/up.sql +++ b/migrations/2020-03-25-150004_create__issue_type_type/up.sql @@ -1,5 +1,5 @@ -DROP TYPE IF EXISTS "IssueTypeType" CASCADE; -CREATE TYPE "IssueTypeType" AS ENUM ( +DROP TYPE IF EXISTS "IssueType" CASCADE; +CREATE TYPE "IssueType" AS ENUM ( 'task', 'bug', 'story' diff --git a/migrations/2020-03-25-150005_create__issue_status/down.sql b/migrations/2020-03-25-150005_create__issue_status/down.sql index 5e4368eb..f6added6 100644 --- a/migrations/2020-03-25-150005_create__issue_status/down.sql +++ b/migrations/2020-03-25-150005_create__issue_status/down.sql @@ -1 +1 @@ -DROP TYPE IF EXISTS "IssueStatusType" CASCADE; +DROP TYPE IF EXISTS "IssueStatus" CASCADE; diff --git a/migrations/2020-03-25-150005_create__issue_status/up.sql b/migrations/2020-03-25-150005_create__issue_status/up.sql index a26ceeca..f599f5dc 100644 --- a/migrations/2020-03-25-150005_create__issue_status/up.sql +++ b/migrations/2020-03-25-150005_create__issue_status/up.sql @@ -1,5 +1,5 @@ -DROP TYPE IF EXISTS "IssueStatusType" CASCADE; -CREATE TYPE "IssueStatusType" AS ENUM ( +DROP TYPE IF EXISTS "IssueStatus" CASCADE; +CREATE TYPE "IssueStatus" AS ENUM ( 'backlog', 'selected', 'in_progress', diff --git a/migrations/2020-03-25-150008_create_issues/up.sql b/migrations/2020-03-25-150008_create_issues/up.sql index f6b3fa4a..bc809202 100644 --- a/migrations/2020-03-25-150008_create_issues/up.sql +++ b/migrations/2020-03-25-150008_create_issues/up.sql @@ -1,9 +1,9 @@ CREATE TABLE issues ( id serial primary key not null, title text not null, - issue_type "IssueTypeType" NOT NULL DEFAULT 'task', - status "IssueStatusType" NOT NULL DEFAULT 'backlog', - priority "IssuePriorityType" NOT NULL DEFAULT 'low', + issue_type "IssueType" NOT NULL DEFAULT 'task', + status "IssueStatus" NOT NULL DEFAULT 'backlog', + priority "IssuePriority" NOT NULL DEFAULT 'low', list_position double precision not null default 0, description text, description_text text, diff --git a/migrations/2020-04-14-090059_change_project_type_field/up.sql b/migrations/2020-04-14-090059_change_project_type_field/up.sql index 229ac69a..6451a772 100644 --- a/migrations/2020-04-14-090059_change_project_type_field/up.sql +++ b/migrations/2020-04-14-090059_change_project_type_field/up.sql @@ -4,8 +4,8 @@ DROP DEFAULT; ALTER TABLE projects ALTER COLUMN category -SET DATA TYPE "ProjectCategoryType" -USING category::text::"ProjectCategoryType"; +SET DATA TYPE "ProjectCategory" +USING category::text::"ProjectCategory"; ALTER TABLE projects ALTER COLUMN category diff --git a/migrations/2020-04-20-071751_add_roles/down.sql b/migrations/2020-04-20-071751_add_roles/down.sql index 740e0d1d..220ff369 100644 --- a/migrations/2020-04-20-071751_add_roles/down.sql +++ b/migrations/2020-04-20-071751_add_roles/down.sql @@ -1,2 +1,2 @@ ALTER TABLE IF EXISTS users DROP COLUMN role; -DROP TYPE IF EXISTS "UserRoleType"; +DROP TYPE IF EXISTS "UserRole"; diff --git a/migrations/2020-04-20-071751_add_roles/up.sql b/migrations/2020-04-20-071751_add_roles/up.sql index a598dccc..4a3a4b3d 100644 --- a/migrations/2020-04-20-071751_add_roles/up.sql +++ b/migrations/2020-04-20-071751_add_roles/up.sql @@ -1,8 +1,8 @@ -DROP TYPE IF EXISTS "UserRoleType" CASCADE; -CREATE TYPE "UserRoleType" AS ENUM ( +DROP TYPE IF EXISTS "UserRole" CASCADE; +CREATE TYPE "UserRole" AS ENUM ( 'user', 'manager', 'owner' ); -ALTER TABLE users ADD COLUMN role "UserRoleType" DEFAULT 'user' NOT NULL; +ALTER TABLE users ADD COLUMN role "UserRole" DEFAULT 'user' NOT NULL; diff --git a/migrations/2020-04-20-172406_create_invitations/down.sql b/migrations/2020-04-20-172406_create_invitations/down.sql index 2633420b..118a2e13 100644 --- a/migrations/2020-04-20-172406_create_invitations/down.sql +++ b/migrations/2020-04-20-172406_create_invitations/down.sql @@ -1,2 +1,2 @@ drop TABLE IF EXISTS invitations CASCADE; -drop TYPE IF EXISTS "InvitationStateType" CASCADE; +drop TYPE IF EXISTS "InvitationState" CASCADE; diff --git a/migrations/2020-04-20-172406_create_invitations/up.sql b/migrations/2020-04-20-172406_create_invitations/up.sql index d973f4fd..9f85a86e 100644 --- a/migrations/2020-04-20-172406_create_invitations/up.sql +++ b/migrations/2020-04-20-172406_create_invitations/up.sql @@ -1,4 +1,4 @@ -create type "InvitationStateType" AS ENUM ( +create type "InvitationState" AS ENUM ( 'sent', 'accepted', 'revoked' @@ -8,7 +8,7 @@ create table invitations ( id serial primary key not null, name text not null, email text not null, - state "InvitationStateType" not null default 'sent', + state "InvitationState" not null default 'sent', project_id integer not null references projects (id), invited_by_id integer not null references users (id), created_at timestamp not null default now(), diff --git a/migrations/2020-04-24-163323_add_settings/down.sql b/migrations/2020-04-24-163323_add_settings/down.sql index 5a6b845e..76d05b9c 100644 --- a/migrations/2020-04-24-163323_add_settings/down.sql +++ b/migrations/2020-04-24-163323_add_settings/down.sql @@ -1,3 +1,3 @@ alter TABLE projects drop COLUMN time_tracking; -drop TYPE IF EXISTS "TimeTrackingType"; +drop TYPE IF EXISTS "TimeTracking"; diff --git a/migrations/2020-04-24-163323_add_settings/up.sql b/migrations/2020-04-24-163323_add_settings/up.sql index 3b753465..96f12910 100644 --- a/migrations/2020-04-24-163323_add_settings/up.sql +++ b/migrations/2020-04-24-163323_add_settings/up.sql @@ -1,7 +1,7 @@ -CREATE TYPE "TimeTrackingType" AS ENUM ( +CREATE TYPE "TimeTracking" AS ENUM ( 'untracked', 'fibonacci', 'hourly' ); -ALTER TABLE projects ADD COLUMN time_tracking "TimeTrackingType" NOT NULL DEFAULT 'untracked'; +ALTER TABLE projects ADD COLUMN time_tracking "TimeTracking" NOT NULL DEFAULT 'untracked'; diff --git a/migrations/2020-05-06-130610_add_custom_columns/down.sql b/migrations/2020-05-06-130610_add_custom_columns/down.sql index 21dbe042..2a5a59c9 100644 --- a/migrations/2020-05-06-130610_add_custom_columns/down.sql +++ b/migrations/2020-05-06-130610_add_custom_columns/down.sql @@ -1,13 +1,13 @@ -DROP TYPE IF EXISTS "IssueStatusType" CASCADE; -CREATE TYPE "IssueStatusType" AS ENUM ( +DROP TYPE IF EXISTS "IssueStatus" CASCADE; +CREATE TYPE "IssueStatus" AS ENUM ( 'backlog', 'selected', 'in_progress', 'done' ); -ALTER TABLE issues ADD COLUMN status "IssueStatusType"; +ALTER TABLE issues ADD COLUMN status "IssueStatus"; UPDATE issues -SET status = issue_statuses.name :: "IssueStatusType" +SET status = issue_statuses.name :: "IssueStatus" FROM issue_statuses WHERE issue_statuses.id = issues.issue_status_id; diff --git a/migrations/2020-05-06-130610_add_custom_columns/up.sql b/migrations/2020-05-06-130610_add_custom_columns/up.sql index ba4c8da6..b375f591 100644 --- a/migrations/2020-05-06-130610_add_custom_columns/up.sql +++ b/migrations/2020-05-06-130610_add_custom_columns/up.sql @@ -34,4 +34,4 @@ WHERE issue_statuses.name = issues.status :: text AND issues.project_id = issue_ ALTER TABLE issues DROP COLUMN status; ALTER TABLE issues ALTER COLUMN issue_status_id SET NOT NULL; -DROP TYPE IF EXISTS "IssueStatusType"; +DROP TYPE IF EXISTS "IssueStatus"; diff --git a/migrations/2020-05-21-051229_multi_project_users/down.sql b/migrations/2020-05-21-051229_multi_project_users/down.sql index 3c185747..7110544e 100644 --- a/migrations/2020-05-21-051229_multi_project_users/down.sql +++ b/migrations/2020-05-21-051229_multi_project_users/down.sql @@ -1,6 +1,6 @@ BEGIN; -ALTER TABLE users ADD COLUMN role "UserRoleType" DEFAULT 'user' NOT NULL; +ALTER TABLE users ADD COLUMN role "UserRole" DEFAULT 'user' NOT NULL; ALTER TABLE users ADD COLUMN project_id int; UPDATE users diff --git a/migrations/2020-05-21-051229_multi_project_users/up.sql b/migrations/2020-05-21-051229_multi_project_users/up.sql index 508c807e..3c3e7678 100644 --- a/migrations/2020-05-21-051229_multi_project_users/up.sql +++ b/migrations/2020-05-21-051229_multi_project_users/up.sql @@ -7,7 +7,7 @@ CREATE TABLE user_projects ( project_id int not null references projects (id), is_default bool not null default false, is_current bool not null default false, - role "UserRoleType" not null default 'user', + role "UserRole" not null default 'user', created_at timestamp not null default now(), updated_at timestamp not null default now() ); diff --git a/migrations/2020-05-21-160206_add_role_to_invitation/up.sql b/migrations/2020-05-21-160206_add_role_to_invitation/up.sql index 43501c63..30fdac5f 100644 --- a/migrations/2020-05-21-160206_add_role_to_invitation/up.sql +++ b/migrations/2020-05-21-160206_add_role_to_invitation/up.sql @@ -1 +1 @@ -ALTER TABLE invitations ADD COLUMN role "UserRoleType" NOT NULL DEFAULT 'user'; +ALTER TABLE invitations ADD COLUMN role "UserRole" NOT NULL DEFAULT 'user'; diff --git a/migrations/2020-05-24-081604_add_message_types/down.sql b/migrations/2020-05-24-081604_add_message_types/down.sql index 5970ff48..e1195b15 100644 --- a/migrations/2020-05-24-081604_add_message_types/down.sql +++ b/migrations/2020-05-24-081604_add_message_types/down.sql @@ -1,4 +1,4 @@ ALTER TABLE messages ALTER COLUMN message_type SET DATA TYPE text; -DROP TYPE "MessageTypeType"; +DROP TYPE "MessageType"; diff --git a/migrations/2020-05-24-081604_add_message_types/up.sql b/migrations/2020-05-24-081604_add_message_types/up.sql index 0910a270..9008d516 100644 --- a/migrations/2020-05-24-081604_add_message_types/up.sql +++ b/migrations/2020-05-24-081604_add_message_types/up.sql @@ -1,4 +1,4 @@ -CREATE TYPE "MessageTypeType" AS ENUM ( +CREATE TYPE "MessageType" AS ENUM ( 'received_invitation', 'assigned_to_issue', 'mention' @@ -6,5 +6,5 @@ CREATE TYPE "MessageTypeType" AS ENUM ( ALTER TABLE messages ALTER COLUMN message_type -SET DATA TYPE "MessageTypeType" -USING message_type::text::"MessageTypeType"; +SET DATA TYPE "MessageType" +USING message_type::text::"MessageType"; diff --git a/migrations/2020-08-10-133733_add_epic_issue_type/down.sql b/migrations/2020-08-10-133733_add_epic_issue_type/down.sql index 0f8135ef..644f3c4e 100644 --- a/migrations/2020-08-10-133733_add_epic_issue_type/down.sql +++ b/migrations/2020-08-10-133733_add_epic_issue_type/down.sql @@ -7,8 +7,8 @@ UPDATE "issues" SET "issue_type" = 'task' WHERE "issue_type" = 'epic'; -DROP TYPE IF EXISTS "IssueTypeType" CASCADE; -CREATE TYPE "IssueTypeType" AS ENUM ( +DROP TYPE IF EXISTS "IssueType" CASCADE; +CREATE TYPE "IssueType" AS ENUM ( 'task', 'bug', 'story' @@ -16,5 +16,5 @@ CREATE TYPE "IssueTypeType" AS ENUM ( ALTER TABLE "issues" ALTER COLUMN "issue_type" - SET DATA TYPE "IssueTypeType" - USING "issue_type"::"IssueTypeType"; + SET DATA TYPE "IssueType" + USING "issue_type"::"IssueType"; diff --git a/migrations/2020-08-10-133733_add_epic_issue_type/up.sql b/migrations/2020-08-10-133733_add_epic_issue_type/up.sql index 7f23f2a9..e6dce4cb 100644 --- a/migrations/2020-08-10-133733_add_epic_issue_type/up.sql +++ b/migrations/2020-08-10-133733_add_epic_issue_type/up.sql @@ -3,8 +3,8 @@ ALTER TABLE "issues" SET DATA TYPE TEXT USING "issue_type"::TEXT; -DROP TYPE IF EXISTS "IssueTypeType" CASCADE; -CREATE TYPE "IssueTypeType" AS ENUM ( +DROP TYPE IF EXISTS "IssueType" CASCADE; +CREATE TYPE "IssueType" AS ENUM ( 'task', 'bug', 'story', @@ -13,5 +13,5 @@ CREATE TYPE "IssueTypeType" AS ENUM ( ALTER TABLE "issues" ALTER COLUMN "issue_type" - SET DATA TYPE "IssueTypeType" - USING "issue_type"::"IssueTypeType"; + SET DATA TYPE "IssueType" + USING "issue_type"::"IssueType"; diff --git a/migrations/2020-08-10-194809_change_epic/down.sql b/migrations/2020-08-10-194809_change_epic/down.sql index 5a2ded21..1b807727 100644 --- a/migrations/2020-08-10-194809_change_epic/down.sql +++ b/migrations/2020-08-10-194809_change_epic/down.sql @@ -3,8 +3,8 @@ ALTER TABLE "issues" SET DATA TYPE TEXT USING "issue_type"::TEXT; -DROP TYPE IF EXISTS "IssueTypeType" CASCADE; -CREATE TYPE "IssueTypeType" AS ENUM ( +DROP TYPE IF EXISTS "IssueType" CASCADE; +CREATE TYPE "IssueType" AS ENUM ( 'task', 'bug', 'story', @@ -13,8 +13,8 @@ CREATE TYPE "IssueTypeType" AS ENUM ( ALTER TABLE "issues" ALTER COLUMN "issue_type" - SET DATA TYPE "IssueTypeType" - USING "issue_type"::"IssueTypeType"; + SET DATA TYPE "IssueType" + USING "issue_type"::"IssueType"; ALTER TABLE "issues" DROP COLUMN "epic_id"; diff --git a/migrations/2020-08-10-194809_change_epic/up.sql b/migrations/2020-08-10-194809_change_epic/up.sql index a61fe2be..4c001fda 100644 --- a/migrations/2020-08-10-194809_change_epic/up.sql +++ b/migrations/2020-08-10-194809_change_epic/up.sql @@ -7,8 +7,8 @@ UPDATE "issues" SET "issue_type" = 'task' WHERE "issue_type" = 'epic'; -DROP TYPE IF EXISTS "IssueTypeType" CASCADE; -CREATE TYPE "IssueTypeType" AS ENUM ( +DROP TYPE IF EXISTS "IssueType" CASCADE; +CREATE TYPE "IssueType" AS ENUM ( 'task', 'bug', 'story' @@ -16,8 +16,8 @@ CREATE TYPE "IssueTypeType" AS ENUM ( ALTER TABLE "issues" ALTER COLUMN "issue_type" - SET DATA TYPE "IssueTypeType" - USING "issue_type"::"IssueTypeType"; + SET DATA TYPE "IssueType" + USING "issue_type"::"IssueType"; CREATE TABLE epics ( id serial primary key not null, diff --git a/migrations/2021-04-26-100410_add_user_settings/down.sql b/migrations/2021-04-26-100410_add_user_settings/down.sql index eb26a96f..b9c94475 100644 --- a/migrations/2021-04-26-100410_add_user_settings/down.sql +++ b/migrations/2021-04-26-100410_add_user_settings/down.sql @@ -1,2 +1,2 @@ DROP TABLE IF EXISTS user_settings; -DROP TYPE "TextEditorModeType"; +DROP TYPE "TextEditorMode"; diff --git a/migrations/2021-04-26-100410_add_user_settings/up.sql b/migrations/2021-04-26-100410_add_user_settings/up.sql index de9af155..7b051276 100644 --- a/migrations/2021-04-26-100410_add_user_settings/up.sql +++ b/migrations/2021-04-26-100410_add_user_settings/up.sql @@ -1,4 +1,4 @@ -CREATE TYPE "TextEditorModeType" AS ENUM ( +CREATE TYPE "TextEditorMode" AS ENUM ( 'md_only', 'rte_only', 'mixed' @@ -8,5 +8,5 @@ CREATE TABLE IF NOT EXISTS user_settings ( id serial not null unique primary key, user_id int references users (id) not null, - text_editor_mode "TextEditorModeType" DEFAULT 'md_only' NOT NULL + text_editor_mode "TextEditorMode" DEFAULT 'md_only' NOT NULL ); diff --git a/shared/common/Cargo.toml b/shared/common/Cargo.toml deleted file mode 100644 index 1de8490d..00000000 --- a/shared/common/Cargo.toml +++ /dev/null @@ -1,29 +0,0 @@ -[package] -name = "common" -version = "0.1.0" -authors = ["Adrian Wozniak "] -edition = "2018" -description = "JIRS (Simplified JIRA in Rust) Actix server" -repository = "https://gitlab.com/adrian.wozniak/jirs" -license = "MPL-2.0" - -[dependencies] -actix = { version = "0.10.0" } - -actix-web = { version = "3.3.2" } -actix-cors = { version = "0.5.4" } -actix-service = { version = "1.0.6" } -actix-rt = { version = "1" } -actix-web-actors = { version = "3.0.0" } -actix_derive = { version = "0.5.0" } - -serde = { version = "*" } -serde_derive = { version = "*" } - -log = "0.4" -pretty_env_logger = "0.4" -env_logger = "0.7" - -reexport-proc-macro = { version = "*" } - -bytes = { version = "0.5.6" } diff --git a/shared/common/src/lib.rs b/shared/common/src/lib.rs deleted file mode 100644 index 952f0947..00000000 --- a/shared/common/src/lib.rs +++ /dev/null @@ -1,10 +0,0 @@ -#[macro_use] -extern crate reexport_proc_macro; - -pub use { - actix_cors, actix_rt, actix_service, actix_web, actix_web_actors, bytes, env_logger, log, - pretty_env_logger, serde, -}; - -reexport_proc_macro!(actix_derive); -reexport_proc_macro!(serde_derive); diff --git a/shared/jirs-data/Cargo.toml b/shared/jirs-data/Cargo.toml deleted file mode 100644 index 15145fc5..00000000 --- a/shared/jirs-data/Cargo.toml +++ /dev/null @@ -1,42 +0,0 @@ -[package] -name = "jirs-data" -version = "0.1.0" -authors = ["Adrian Wozniak "] -edition = "2018" -description = "JIRS (Simplified JIRA in Rust) shared data types" -repository = "https://gitlab.com/adrian.wozniak/jirs" -license = "MPL-2.0" -#license-file = "../LICENSE" - -[lib] -name = "jirs_data" -path = "./src/lib.rs" - -[features] -backend = ["diesel", "actix", "derive_enum_sql"] -frontend = [] - -[dependencies] -serde = { version = "*" } -serde_json = { version = "*" } -chrono = { version = "*", features = ["serde"] } -uuid = { version = "0.8.2", features = ["serde"] } - -[dependencies.actix] -version = "0.10.0" -optional = true - -[dependencies.diesel] -version = "1.4.8" -features = [ "postgres", "numeric", "uuidv07", "r2d2" ] -optional = true - -[dependencies.derive_enum_iter] -path = "../../derive/derive_enum_iter" - -[dependencies.derive_enum_primitive] -path = "../../derive/derive_enum_primitive" - -[dependencies.derive_enum_sql] -path = "../../derive/derive_enum_sql" -optional = true