app state progres

This commit is contained in:
Jamie 2022-02-25 17:56:49 -08:00
parent 764b052c3f
commit c8c7d05252
11 changed files with 590 additions and 121 deletions

View file

@ -5,44 +5,10 @@
<cargoProject FILE="$PROJECT_DIR$/apps/desktop/src-tauri/Cargo.toml" />
</component>
<component name="ChangeListManager">
<list default="true" id="e9f4d63e-e014-4f5b-9bf1-6c3b1fae8f30" name="Changes" comment="settings via react router">
<change afterPath="$PROJECT_DIR$/apps/desktop/src/components/layout/Dialog.tsx" afterDir="false" />
<change afterPath="$PROJECT_DIR$/apps/desktop/src/components/primitive/Listbox.tsx" afterDir="false" />
<change afterPath="$PROJECT_DIR$/apps/desktop/src/components/transitions/SlideUp.tsx" afterDir="false" />
<change afterPath="$PROJECT_DIR$/apps/desktop/src/screens/settings/LocationSettings.tsx" afterDir="false" />
<change afterPath="$PROJECT_DIR$/apps/desktop/src/screens/settings/SecuritySettings.tsx" afterDir="false" />
<change afterPath="$PROJECT_DIR$/packages/core/lib/p2p/listener.rs" afterDir="false" />
<change afterPath="$PROJECT_DIR$/packages/core/lib/p2p/mod.rs" afterDir="false" />
<change beforePath="$PROJECT_DIR$/.idea/spacedrive.iml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/spacedrive.iml" afterDir="false" />
<change beforePath="$PROJECT_DIR$/apps/desktop/package.json" beforeDir="false" afterPath="$PROJECT_DIR$/apps/desktop/package.json" afterDir="false" />
<change beforePath="$PROJECT_DIR$/apps/desktop/src-tauri/Cargo.lock" beforeDir="false" afterPath="$PROJECT_DIR$/apps/desktop/src-tauri/Cargo.lock" afterDir="false" />
<change beforePath="$PROJECT_DIR$/apps/desktop/src-tauri/src/commands.rs" beforeDir="false" afterPath="$PROJECT_DIR$/apps/desktop/src-tauri/src/commands.rs" afterDir="false" />
<change beforePath="$PROJECT_DIR$/apps/desktop/src-tauri/src/main.rs" beforeDir="false" afterPath="$PROJECT_DIR$/apps/desktop/src-tauri/src/main.rs" afterDir="false" />
<change beforePath="$PROJECT_DIR$/apps/desktop/src/App.tsx" beforeDir="false" afterPath="$PROJECT_DIR$/apps/desktop/src/App.tsx" afterDir="false" />
<change beforePath="$PROJECT_DIR$/apps/desktop/src/components/file/FileItem.tsx" beforeDir="false" afterPath="$PROJECT_DIR$/apps/desktop/src/components/file/FileItem.tsx" afterDir="false" />
<change beforePath="$PROJECT_DIR$/apps/desktop/src/components/file/Sidebar.tsx" beforeDir="false" afterPath="$PROJECT_DIR$/apps/desktop/src/components/file/Sidebar.tsx" afterDir="false" />
<change beforePath="$PROJECT_DIR$/apps/desktop/src/components/layout/Modal.tsx" beforeDir="false" afterPath="$PROJECT_DIR$/apps/desktop/src/components/layout/Modal.tsx" afterDir="false" />
<change beforePath="$PROJECT_DIR$/apps/desktop/src/components/layout/TopBar.tsx" beforeDir="false" afterPath="$PROJECT_DIR$/apps/desktop/src/components/layout/TopBar.tsx" afterDir="false" />
<change beforePath="$PROJECT_DIR$/apps/desktop/src/components/primitive/Button.tsx" beforeDir="false" afterPath="$PROJECT_DIR$/apps/desktop/src/components/primitive/Button.tsx" afterDir="false" />
<change beforePath="$PROJECT_DIR$/apps/desktop/src/components/primitive/Dropdown.tsx" beforeDir="false" afterPath="$PROJECT_DIR$/apps/desktop/src/components/primitive/Dropdown.tsx" afterDir="false" />
<change beforePath="$PROJECT_DIR$/apps/desktop/src/components/primitive/Input.tsx" beforeDir="false" afterPath="$PROJECT_DIR$/apps/desktop/src/components/primitive/Input.tsx" afterDir="false" />
<change beforePath="$PROJECT_DIR$/apps/desktop/src/components/primitive/InputContainer.tsx" beforeDir="false" afterPath="$PROJECT_DIR$/apps/desktop/src/components/primitive/InputContainer.tsx" afterDir="false" />
<change beforePath="$PROJECT_DIR$/apps/desktop/src/components/primitive/Toggle.tsx" beforeDir="false" afterPath="$PROJECT_DIR$/apps/desktop/src/components/primitive/Toggle.tsx" afterDir="false" />
<change beforePath="$PROJECT_DIR$/apps/desktop/src/screens/Explorer.tsx" beforeDir="false" afterPath="$PROJECT_DIR$/apps/desktop/src/screens/Explorer.tsx" afterDir="false" />
<change beforePath="$PROJECT_DIR$/apps/desktop/src/screens/Overview.tsx" beforeDir="false" afterPath="$PROJECT_DIR$/apps/desktop/src/screens/Overview.tsx" afterDir="false" />
<change beforePath="$PROJECT_DIR$/apps/desktop/src/screens/Settings.tsx" beforeDir="false" afterPath="$PROJECT_DIR$/apps/desktop/src/screens/Settings.tsx" afterDir="false" />
<change beforePath="$PROJECT_DIR$/apps/desktop/src/screens/settings/General.tsx" beforeDir="false" afterPath="$PROJECT_DIR$/apps/desktop/src/screens/settings/GeneralSettings.tsx" afterDir="false" />
<change beforePath="$PROJECT_DIR$/packages/core/Cargo.lock" beforeDir="false" afterPath="$PROJECT_DIR$/packages/core/Cargo.lock" afterDir="false" />
<change beforePath="$PROJECT_DIR$/packages/core/Cargo.toml" beforeDir="false" afterPath="$PROJECT_DIR$/packages/core/Cargo.toml" afterDir="false" />
<change beforePath="$PROJECT_DIR$/packages/core/lib/db/entity/location_paths.rs" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/packages/core/lib/db/entity/locations.rs" beforeDir="false" afterPath="$PROJECT_DIR$/packages/core/lib/db/entity/locations.rs" afterDir="false" />
<change beforePath="$PROJECT_DIR$/packages/core/lib/db/entity/mod.rs" beforeDir="false" afterPath="$PROJECT_DIR$/packages/core/lib/db/entity/mod.rs" afterDir="false" />
<change beforePath="$PROJECT_DIR$/packages/core/lib/db/migrations/primary/V1__initial.sql" beforeDir="false" afterPath="$PROJECT_DIR$/packages/core/lib/db/migrations/primary/V1__initial.sql" afterDir="false" />
<list default="true" id="e9f4d63e-e014-4f5b-9bf1-6c3b1fae8f30" name="Changes" comment="- tcp listener WIP&#10;- better settings">
<change beforePath="$PROJECT_DIR$/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/workspace.xml" afterDir="false" />
<change beforePath="$PROJECT_DIR$/packages/core/lib/file/client.rs" beforeDir="false" afterPath="$PROJECT_DIR$/packages/core/lib/file/client.rs" afterDir="false" />
<change beforePath="$PROJECT_DIR$/packages/core/lib/file/indexer.rs" beforeDir="false" afterPath="$PROJECT_DIR$/packages/core/lib/file/indexer.rs" afterDir="false" />
<change beforePath="$PROJECT_DIR$/packages/core/lib/file/locations.rs" beforeDir="false" afterPath="$PROJECT_DIR$/packages/core/lib/file/locations.rs" afterDir="false" />
<change beforePath="$PROJECT_DIR$/packages/core/lib/main.rs" beforeDir="false" afterPath="$PROJECT_DIR$/packages/core/lib/main.rs" afterDir="false" />
<change beforePath="$PROJECT_DIR$/yarn.lock" beforeDir="false" afterPath="$PROJECT_DIR$/yarn.lock" afterDir="false" />
</list>
<option name="SHOW_DIALOG" value="false" />
<option name="HIGHLIGHT_CONFLICTS" value="true" />
@ -203,7 +169,7 @@
<workItem from="1645523382970" duration="40541000" />
<workItem from="1645675072647" duration="1008000" />
<workItem from="1645676102200" duration="7490000" />
<workItem from="1645688411634" duration="7274000" />
<workItem from="1645688411634" duration="12878000" />
</task>
<task id="LOCAL-00001" summary="just a bunch 'o stuff">
<created>1645422057851</created>
@ -246,7 +212,8 @@
<MESSAGE value="just a bunch 'o stuff" />
<MESSAGE value="settings" />
<MESSAGE value="settings via react router" />
<option name="LAST_COMMIT_MESSAGE" value="settings via react router" />
<MESSAGE value="- tcp listener WIP&#10;- better settings" />
<option name="LAST_COMMIT_MESSAGE" value="- tcp listener WIP&#10;- better settings" />
</component>
<component name="XSLT-Support.FileAssociations.UIState">
<expand />

View file

@ -39,7 +39,7 @@ version = "0.4.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "0b613b8e1e3cf911a086f53f03bf286f52fd7a7258e4fa606f0ef220d39d8877"
dependencies = [
"generic-array",
"generic-array 0.14.4",
]
[[package]]
@ -51,7 +51,7 @@ dependencies = [
"cfg-if 1.0.0",
"cipher",
"cpufeatures",
"opaque-debug",
"opaque-debug 0.3.0",
]
[[package]]
@ -68,6 +68,12 @@ dependencies = [
"subtle",
]
[[package]]
name = "ahash"
version = "0.4.7"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "739f4a8db6605981345c5654f3a85b056ce52f37a39d34da03f25bf2151ea16e"
[[package]]
name = "ahash"
version = "0.7.6"
@ -517,14 +523,26 @@ version = "0.1.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "0d8c1fef690941d3e7788d328517591fecc684c084084702d6ff1641e993699a"
[[package]]
name = "block-buffer"
version = "0.7.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "c0940dc441f31689269e10ac70eb1002a3a1d3ad1390e030043662eb7fe4688b"
dependencies = [
"block-padding 0.1.5",
"byte-tools",
"byteorder",
"generic-array 0.12.4",
]
[[package]]
name = "block-buffer"
version = "0.9.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "4152116fd6e9dadb291ae18fc1ec3575ed6d84c29642d97890f4b4a3417297e4"
dependencies = [
"block-padding",
"generic-array",
"block-padding 0.2.1",
"generic-array 0.14.4",
]
[[package]]
@ -533,7 +551,16 @@ version = "0.10.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "0bf7fe51849ea569fd452f37822f606a5cabb684dc918707a0193fd4664ff324"
dependencies = [
"generic-array",
"generic-array 0.14.4",
]
[[package]]
name = "block-padding"
version = "0.1.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "fa79dedbb091f449f1f39e53edf88d5dbe95f895dae6135a8d7b881fb5af73f5"
dependencies = [
"byte-tools",
]
[[package]]
@ -577,6 +604,12 @@ version = "3.8.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "8f1e260c3a9040a7c19a12468758f4c16f31a81a1fe087482be9570ec864bb6c"
[[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"
@ -812,7 +845,7 @@ version = "0.3.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "7ee52072ec15386f770805afd189a01c8841be8696bed250fa2f13c4c0d6dfb7"
dependencies = [
"generic-array",
"generic-array 0.14.4",
]
[[package]]
@ -881,6 +914,25 @@ dependencies = [
"cache-padded",
]
[[package]]
name = "config"
version = "0.12.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "54ad70579325f1a38ea4c13412b82241c5900700a69785d73e2736bd65a33f86"
dependencies = [
"async-trait",
"json5",
"lazy_static",
"nom",
"pathdiff",
"ron",
"rust-ini",
"serde",
"serde_json",
"toml",
"yaml-rust",
]
[[package]]
name = "constant_time_eq"
version = "0.1.5"
@ -1101,7 +1153,7 @@ version = "0.1.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "57952ca27b5e3606ff4dd79b0020231aaf9d6aa76dc05fd30137538c50bd3ce8"
dependencies = [
"generic-array",
"generic-array 0.14.4",
"typenum",
]
@ -1111,7 +1163,7 @@ version = "0.8.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b584a330336237c1eecd3e94266efb216c56ed91225d634cb2991c5f3fd1aeab"
dependencies = [
"generic-array",
"generic-array 0.14.4",
"subtle",
]
@ -1289,13 +1341,22 @@ dependencies = [
"syn",
]
[[package]]
name = "digest"
version = "0.8.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f3d0c8c8752312f9713efd397ff63acb9f85585afbf179282e720e7704954dd5"
dependencies = [
"generic-array 0.12.4",
]
[[package]]
name = "digest"
version = "0.9.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d3dd60d1080a57a05ab032377049e0591415d2b31afd7028356dbf3cc6dcb066"
dependencies = [
"generic-array",
"generic-array 0.14.4",
]
[[package]]
@ -1347,6 +1408,15 @@ version = "0.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "bd0c93bb4b0c6d9b77f4435b0ae98c24d17f1c45b2ff844c6151a07256ca923b"
[[package]]
name = "dlv-list"
version = "0.2.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "68df3f2b690c1b86e65ef7830956aededf3cb0a16f898f79b9a6f421a7b6211b"
dependencies = [
"rand 0.8.4",
]
[[package]]
name = "dns-parser"
version = "0.8.0"
@ -1497,6 +1567,12 @@ version = "2.5.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f7531096570974c3a9dcf9e4b8e1cede1ec26cf5046219fb3b9d897503b9be59"
[[package]]
name = "fake-simd"
version = "0.1.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "e88a8acf291dafb59c2d96e8f59828f3838bb1a70398823ade51a84de6a6deed"
[[package]]
name = "fallible-iterator"
version = "0.2.0"
@ -1848,6 +1924,15 @@ dependencies = [
"winapi 0.3.9",
]
[[package]]
name = "generic-array"
version = "0.12.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "ffdf9f34f1447443d37393cc6c2b8313aebddcd96906caf34e54c68d8e57d7bd"
dependencies = [
"typenum",
]
[[package]]
name = "generic-array"
version = "0.14.4"
@ -1886,7 +1971,7 @@ version = "0.4.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "1583cc1656d7839fd3732b80cf4f38850336cdb9b8ded1cd399ca62958de3c99"
dependencies = [
"opaque-debug",
"opaque-debug 0.3.0",
"polyval",
]
@ -2084,13 +2169,22 @@ dependencies = [
"syn",
]
[[package]]
name = "hashbrown"
version = "0.9.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d7afe4a420e3fe79967a00898cc1f4db7c8a49a9333a29f8a4bd76a253d5cd04"
dependencies = [
"ahash 0.4.7",
]
[[package]]
name = "hashbrown"
version = "0.11.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "ab5ef0d4909ef3724cc8cce6ccc8572c5c817592e9285f5464f8e86f8bd3726e"
dependencies = [
"ahash",
"ahash 0.7.6",
]
[[package]]
@ -2099,7 +2193,7 @@ version = "0.7.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "7249a3129cbc1ffccd74857f81464a323a152173cdb134e0fd81bc803b29facf"
dependencies = [
"hashbrown",
"hashbrown 0.11.2",
]
[[package]]
@ -2158,7 +2252,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "17ea0a1394df5b6574da6e0c1ade9e78868c9fb0a4e5ef4428e32da4676b85b1"
dependencies = [
"digest 0.9.0",
"generic-array",
"generic-array 0.14.4",
"hmac",
]
@ -2315,7 +2409,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "bc633605454125dec4b66843673f01c7df2b89479b32e0ed634e43a91cff62a5"
dependencies = [
"autocfg",
"hashbrown",
"hashbrown 0.11.2",
]
[[package]]
@ -2489,6 +2583,17 @@ dependencies = [
"wasm-bindgen",
]
[[package]]
name = "json5"
version = "0.4.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "96b0db21af676c1ce64250b5f40f3ce2cf27e4e47cb91ed91eb6fe9350b430c1"
dependencies = [
"pest",
"pest_derive",
"serde",
]
[[package]]
name = "keccak"
version = "0.1.0"
@ -3199,7 +3304,7 @@ version = "0.7.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "274353858935c992b13c0ca408752e2121da852d07dec7ce5f108c77dfa14d1f"
dependencies = [
"hashbrown",
"hashbrown 0.11.2",
]
[[package]]
@ -3238,6 +3343,12 @@ dependencies = [
"libc",
]
[[package]]
name = "maplit"
version = "1.0.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "3e2e65a1a2e43cfcb47a895c4c8b10d1f4a61097f9f254f183aee60cad9c651d"
[[package]]
name = "markup5ever"
version = "0.10.1"
@ -3781,6 +3892,12 @@ version = "1.9.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "da32515d9f6e6e489d7bc9d84c71b060db7247dc035bbe44eac88cf87486d8d5"
[[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"
@ -3830,6 +3947,16 @@ dependencies = [
"vcpkg",
]
[[package]]
name = "ordered-multimap"
version = "0.3.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "1c672c7ad9ec066e428c00eb917124a06f08db19e2584de982cc34b1f4c12485"
dependencies = [
"dlv-list",
"hashbrown 0.9.1",
]
[[package]]
name = "os_info"
version = "3.0.9"
@ -3996,6 +4123,40 @@ 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 = "petgraph"
version = "0.6.0"
@ -4248,7 +4409,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "048aeb476be11a4b6ca432ca569e375810de9294ae78f4774e78ea98a9246ede"
dependencies = [
"cpufeatures",
"opaque-debug",
"opaque-debug 0.3.0",
"universal-hash",
]
@ -4260,7 +4421,7 @@ checksum = "8419d2b623c7c0896ff2d5d96e2cb4ede590fed28fcc34934f4c33c036e620a1"
dependencies = [
"cfg-if 1.0.0",
"cpufeatures",
"opaque-debug",
"opaque-debug 0.3.0",
"universal-hash",
]
@ -4771,6 +4932,17 @@ dependencies = [
"winapi 0.3.9",
]
[[package]]
name = "ron"
version = "0.7.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "1b861ecaade43ac97886a512b360d01d66be9f41f3c61088b42cedf92e03d678"
dependencies = [
"base64",
"bitflags 1.3.2",
"serde",
]
[[package]]
name = "rtnetlink"
version = "0.9.1"
@ -4813,6 +4985,16 @@ dependencies = [
"crossbeam-utils",
]
[[package]]
name = "rust-ini"
version = "0.17.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "63471c4aa97a1cf8332a5f97709a79a4234698de6a1f5087faf66f2dae810e22"
dependencies = [
"cfg-if 1.0.0",
"ordered-multimap",
]
[[package]]
name = "rust_decimal"
version = "1.19.0"
@ -4971,12 +5153,14 @@ dependencies = [
"bytesize",
"cargo-edit",
"chrono",
"config",
"data-encoding",
"env_logger",
"futures",
"hostname",
"hotwatch",
"int-enum",
"lazy_static",
"libp2p",
"log",
"once_cell",
@ -5215,6 +5399,18 @@ dependencies = [
"stable_deref_trait",
]
[[package]]
name = "sha-1"
version = "0.8.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f7d94d0bede923b3cea61f3f1ff57ff8cdfd77b400fb8f9998949e0cf04163df"
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"
@ -5225,7 +5421,7 @@ dependencies = [
"cfg-if 1.0.0",
"cpufeatures",
"digest 0.9.0",
"opaque-debug",
"opaque-debug 0.3.0",
]
[[package]]
@ -5238,7 +5434,7 @@ dependencies = [
"cfg-if 1.0.0",
"cpufeatures",
"digest 0.9.0",
"opaque-debug",
"opaque-debug 0.3.0",
]
[[package]]
@ -5271,7 +5467,7 @@ dependencies = [
"block-buffer 0.9.0",
"digest 0.9.0",
"keccak",
"opaque-debug",
"opaque-debug 0.3.0",
]
[[package]]
@ -5415,7 +5611,7 @@ dependencies = [
"httparse",
"log",
"rand 0.8.4",
"sha-1",
"sha-1 0.9.8",
]
[[package]]
@ -5493,7 +5689,7 @@ version = "0.5.9"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "aec89bfaca8f7737439bad16d52b07f1ccd0730520d3bf6ae9d069fe4b641fb1"
dependencies = [
"ahash",
"ahash 0.7.6",
"atoi",
"bitflags 1.3.2",
"byteorder",
@ -6371,7 +6567,7 @@ version = "0.4.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "9f214e8f697e925001e66ec2c6e37a4ef93f0f78c2eed7814394e10c62025b05"
dependencies = [
"generic-array",
"generic-array 0.14.4",
"subtle",
]
@ -7085,6 +7281,15 @@ version = "0.8.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d2d7d3948613f75c98fd9328cfdcc45acc4d360655289d0a7d4ec931392200a3"
[[package]]
name = "yaml-rust"
version = "0.4.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "56c1936c4cc7a1c9ab21a1ebb602eb942ba868cbd44a99cb7cdc5892335e1c85"
dependencies = [
"linked-hash-map",
]
[[package]]
name = "yamux"
version = "0.10.0"

266
packages/core/Cargo.lock generated
View file

@ -29,7 +29,7 @@ version = "0.4.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "0b613b8e1e3cf911a086f53f03bf286f52fd7a7258e4fa606f0ef220d39d8877"
dependencies = [
"generic-array",
"generic-array 0.14.5",
]
[[package]]
@ -41,7 +41,7 @@ dependencies = [
"cfg-if 1.0.0",
"cipher",
"cpufeatures",
"opaque-debug",
"opaque-debug 0.3.0",
]
[[package]]
@ -58,6 +58,12 @@ dependencies = [
"subtle",
]
[[package]]
name = "ahash"
version = "0.4.7"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "739f4a8db6605981345c5654f3a85b056ce52f37a39d34da03f25bf2151ea16e"
[[package]]
name = "ahash"
version = "0.7.6"
@ -424,14 +430,26 @@ dependencies = [
"digest 0.10.3",
]
[[package]]
name = "block-buffer"
version = "0.7.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "c0940dc441f31689269e10ac70eb1002a3a1d3ad1390e030043662eb7fe4688b"
dependencies = [
"block-padding 0.1.5",
"byte-tools",
"byteorder",
"generic-array 0.12.4",
]
[[package]]
name = "block-buffer"
version = "0.9.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "4152116fd6e9dadb291ae18fc1ec3575ed6d84c29642d97890f4b4a3417297e4"
dependencies = [
"block-padding",
"generic-array",
"block-padding 0.2.1",
"generic-array 0.14.5",
]
[[package]]
@ -440,7 +458,16 @@ version = "0.10.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "0bf7fe51849ea569fd452f37822f606a5cabb684dc918707a0193fd4664ff324"
dependencies = [
"generic-array",
"generic-array 0.14.5",
]
[[package]]
name = "block-padding"
version = "0.1.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "fa79dedbb091f449f1f39e53edf88d5dbe95f895dae6135a8d7b881fb5af73f5"
dependencies = [
"byte-tools",
]
[[package]]
@ -475,6 +502,12 @@ version = "3.9.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "a4a45a46ab1f2412e53d3a0ade76ffad2025804294569aae387231a0cd6e0899"
[[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"
@ -631,7 +664,7 @@ version = "0.3.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "7ee52072ec15386f770805afd189a01c8841be8696bed250fa2f13c4c0d6dfb7"
dependencies = [
"generic-array",
"generic-array 0.14.5",
]
[[package]]
@ -669,6 +702,25 @@ dependencies = [
"cache-padded",
]
[[package]]
name = "config"
version = "0.12.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "54ad70579325f1a38ea4c13412b82241c5900700a69785d73e2736bd65a33f86"
dependencies = [
"async-trait",
"json5",
"lazy_static",
"nom",
"pathdiff",
"ron",
"rust-ini",
"serde",
"serde_json",
"toml",
"yaml-rust",
]
[[package]]
name = "core-foundation"
version = "0.9.3"
@ -787,7 +839,7 @@ version = "0.1.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "57952ca27b5e3606ff4dd79b0020231aaf9d6aa76dc05fd30137538c50bd3ce8"
dependencies = [
"generic-array",
"generic-array 0.14.5",
"typenum",
]
@ -797,7 +849,7 @@ version = "0.8.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b584a330336237c1eecd3e94266efb216c56ed91225d634cb2991c5f3fd1aeab"
dependencies = [
"generic-array",
"generic-array 0.14.5",
"subtle",
]
@ -863,13 +915,22 @@ version = "2.3.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "3ee2393c4a91429dffb4bedf19f4d6abf27d8a732c8ce4980305d782e5426d57"
[[package]]
name = "digest"
version = "0.8.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f3d0c8c8752312f9713efd397ff63acb9f85585afbf179282e720e7704954dd5"
dependencies = [
"generic-array 0.12.4",
]
[[package]]
name = "digest"
version = "0.9.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d3dd60d1080a57a05ab032377049e0591415d2b31afd7028356dbf3cc6dcb066"
dependencies = [
"generic-array",
"generic-array 0.14.5",
]
[[package]]
@ -904,6 +965,15 @@ dependencies = [
"winapi 0.3.9",
]
[[package]]
name = "dlv-list"
version = "0.2.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "68df3f2b690c1b86e65ef7830956aededf3cb0a16f898f79b9a6f421a7b6211b"
dependencies = [
"rand 0.8.5",
]
[[package]]
name = "dns-parser"
version = "0.8.0"
@ -1012,6 +1082,12 @@ version = "2.5.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "77f3309417938f28bf8228fcff79a4a37103981e3e186d2ccd19c74b38f4eb71"
[[package]]
name = "fake-simd"
version = "0.1.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "e88a8acf291dafb59c2d96e8f59828f3838bb1a70398823ade51a84de6a6deed"
[[package]]
name = "fallible-iterator"
version = "0.2.0"
@ -1248,6 +1324,15 @@ dependencies = [
"slab",
]
[[package]]
name = "generic-array"
version = "0.12.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "ffdf9f34f1447443d37393cc6c2b8313aebddcd96906caf34e54c68d8e57d7bd"
dependencies = [
"typenum",
]
[[package]]
name = "generic-array"
version = "0.14.5"
@ -1286,7 +1371,7 @@ version = "0.4.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "1583cc1656d7839fd3732b80cf4f38850336cdb9b8ded1cd399ca62958de3c99"
dependencies = [
"opaque-debug",
"opaque-debug 0.3.0",
"polyval",
]
@ -1329,13 +1414,22 @@ dependencies = [
"wasm-bindgen",
]
[[package]]
name = "hashbrown"
version = "0.9.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d7afe4a420e3fe79967a00898cc1f4db7c8a49a9333a29f8a4bd76a253d5cd04"
dependencies = [
"ahash 0.4.7",
]
[[package]]
name = "hashbrown"
version = "0.11.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "ab5ef0d4909ef3724cc8cce6ccc8572c5c817592e9285f5464f8e86f8bd3726e"
dependencies = [
"ahash",
"ahash 0.7.6",
]
[[package]]
@ -1344,7 +1438,7 @@ version = "0.7.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "7249a3129cbc1ffccd74857f81464a323a152173cdb134e0fd81bc803b29facf"
dependencies = [
"hashbrown",
"hashbrown 0.11.2",
]
[[package]]
@ -1397,7 +1491,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "17ea0a1394df5b6574da6e0c1ade9e78868c9fb0a4e5ef4428e32da4676b85b1"
dependencies = [
"digest 0.9.0",
"generic-array",
"generic-array 0.14.5",
"hmac",
]
@ -1489,7 +1583,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "282a6247722caba404c065016bbfa522806e51714c34f5dfc3e4a3a46fcb4223"
dependencies = [
"autocfg",
"hashbrown",
"hashbrown 0.11.2",
]
[[package]]
@ -1616,6 +1710,17 @@ dependencies = [
"wasm-bindgen",
]
[[package]]
name = "json5"
version = "0.4.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "96b0db21af676c1ce64250b5f40f3ce2cf27e4e47cb91ed91eb6fe9350b430c1"
dependencies = [
"pest",
"pest_derive",
"serde",
]
[[package]]
name = "keccak"
version = "0.1.0"
@ -2299,7 +2404,7 @@ version = "0.7.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "274353858935c992b13c0ca408752e2121da852d07dec7ce5f108c77dfa14d1f"
dependencies = [
"hashbrown",
"hashbrown 0.11.2",
]
[[package]]
@ -2311,6 +2416,12 @@ dependencies = [
"linked-hash-map",
]
[[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"
@ -2641,6 +2752,12 @@ version = "1.9.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "da32515d9f6e6e489d7bc9d84c71b060db7247dc035bbe44eac88cf87486d8d5"
[[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"
@ -2666,6 +2783,16 @@ dependencies = [
"vcpkg",
]
[[package]]
name = "ordered-multimap"
version = "0.3.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "1c672c7ad9ec066e428c00eb917124a06f08db19e2584de982cc34b1f4c12485"
dependencies = [
"dlv-list",
"hashbrown 0.9.1",
]
[[package]]
name = "ouroboros"
version = "0.11.1"
@ -2777,6 +2904,49 @@ version = "2.1.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 = "petgraph"
version = "0.6.0"
@ -2907,7 +3077,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "048aeb476be11a4b6ca432ca569e375810de9294ae78f4774e78ea98a9246ede"
dependencies = [
"cpufeatures",
"opaque-debug",
"opaque-debug 0.3.0",
"universal-hash",
]
@ -2919,7 +3089,7 @@ checksum = "8419d2b623c7c0896ff2d5d96e2cb4ede590fed28fcc34934f4c33c036e620a1"
dependencies = [
"cfg-if 1.0.0",
"cpufeatures",
"opaque-debug",
"opaque-debug 0.3.0",
"universal-hash",
]
@ -3305,6 +3475,17 @@ dependencies = [
"winapi 0.3.9",
]
[[package]]
name = "ron"
version = "0.7.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "1b861ecaade43ac97886a512b360d01d66be9f41f3c61088b42cedf92e03d678"
dependencies = [
"base64",
"bitflags 1.3.2",
"serde",
]
[[package]]
name = "rtnetlink"
version = "0.9.1"
@ -3335,6 +3516,16 @@ dependencies = [
"smallvec",
]
[[package]]
name = "rust-ini"
version = "0.17.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "63471c4aa97a1cf8332a5f97709a79a4234698de6a1f5087faf66f2dae810e22"
dependencies = [
"cfg-if 1.0.0",
"ordered-multimap",
]
[[package]]
name = "rust_decimal"
version = "1.21.0"
@ -3462,12 +3653,14 @@ dependencies = [
"bytesize",
"cargo-edit",
"chrono",
"config",
"data-encoding",
"env_logger",
"futures",
"hostname",
"hotwatch",
"int-enum",
"lazy_static",
"libp2p",
"log",
"once_cell",
@ -3612,6 +3805,18 @@ dependencies = [
"serde",
]
[[package]]
name = "sha-1"
version = "0.8.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f7d94d0bede923b3cea61f3f1ff57ff8cdfd77b400fb8f9998949e0cf04163df"
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"
@ -3622,7 +3827,7 @@ dependencies = [
"cfg-if 1.0.0",
"cpufeatures",
"digest 0.9.0",
"opaque-debug",
"opaque-debug 0.3.0",
]
[[package]]
@ -3635,7 +3840,7 @@ dependencies = [
"cfg-if 1.0.0",
"cpufeatures",
"digest 0.9.0",
"opaque-debug",
"opaque-debug 0.3.0",
]
[[package]]
@ -3668,7 +3873,7 @@ dependencies = [
"block-buffer 0.9.0",
"digest 0.9.0",
"keccak",
"opaque-debug",
"opaque-debug 0.3.0",
]
[[package]]
@ -3793,7 +3998,7 @@ dependencies = [
"httparse",
"log",
"rand 0.8.5",
"sha-1",
"sha-1 0.9.8",
]
[[package]]
@ -3829,7 +4034,7 @@ version = "0.5.9"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "aec89bfaca8f7737439bad16d52b07f1ccd0730520d3bf6ae9d069fe4b641fb1"
dependencies = [
"ahash",
"ahash 0.7.6",
"atoi",
"bitflags 1.3.2",
"byteorder",
@ -4240,6 +4445,12 @@ version = "1.15.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "dcf81ac59edc17cc8697ff311e8f5ef2d99fcbd9817b34cec66f90b6c3dfd987"
[[package]]
name = "ucd-trie"
version = "0.1.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "56dee185309b50d1f11bfedef0fe6d036842e3fb77413abef29f8f8d1c5d4c1c"
[[package]]
name = "uint"
version = "0.9.3"
@ -4297,7 +4508,7 @@ version = "0.4.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "9f214e8f697e925001e66ec2c6e37a4ef93f0f78c2eed7814394e10c62025b05"
dependencies = [
"generic-array",
"generic-array 0.14.5",
"subtle",
]
@ -4754,6 +4965,15 @@ dependencies = [
"zeroize",
]
[[package]]
name = "yaml-rust"
version = "0.4.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "56c1936c4cc7a1c9ab21a1ebb602eb942ba868cbd44a99cb7cdc5892335e1c85"
dependencies = [
"linked-hash-map",
]
[[package]]
name = "yamux"
version = "0.10.0"

View file

@ -44,5 +44,7 @@ walkdir = "^2.3.2"
bytesize = "1.1.0"
env_logger = "0.9.0"
libp2p = "0.43.0"
config = {version = "0.12", features = ["toml"]}
lazy_static = "1.4.0"
tokio = {version = "1.15.0", features=["sync"]}

View file

@ -0,0 +1 @@
pub mod state;

View file

@ -0,0 +1,50 @@
use anyhow::Result;
use config::{Config, File, FileFormat};
use lazy_static::lazy_static;
use serde::Deserialize;
use std::sync::RwLock;
#[derive(Debug, Deserialize)]
pub struct ClientState {
pub client_id: String,
pub client_name: String,
pub tcp_port: u32,
#[serde(rename = "arr")]
pub libraries: Vec<Library>,
}
#[derive(Debug, Deserialize)]
pub struct Library {
pub library_id: String,
pub data_folder_path: String,
}
lazy_static! {
static ref CONFIG: RwLock<Config> = RwLock::new(Config::default());
}
pub fn get() -> Result<ClientState> {
let rw_lock = CONFIG.read().unwrap();
let client_state: ClientState = rw_lock.try_deserialize().unwrap();
Ok(client_state)
}
pub fn make(path: &str) -> ClientState {
let config_file_uri = format!("{}/config", path);
let config = Config::builder()
.add_source(File::new(&config_file_uri, FileFormat::Yaml))
.set_default("client_id", "1")
.unwrap_or_default()
.build()
.unwrap_or_default();
let mut lock = CONFIG.write().unwrap();
*lock = config;
get().unwrap()
}

View file

@ -1,11 +1,12 @@
use std::env;
use std::io::Write;
use std::{collections::HashMap, env};
use anyhow::Result;
use once_cell::sync::OnceCell;
use sea_orm::{ActiveModelTrait, QueryOrder};
use sea_orm::EntityTrait;
use sea_orm::Set;
use sea_orm::{ActiveModelTrait, QueryOrder};
use serde::{Deserialize, Serialize};
use crate::{
@ -16,16 +17,47 @@ use crate::{
get_core_config,
};
// client config file struct
#[derive(Serialize, Deserialize, Debug)]
pub struct DotClientData {
pub client_id: u32,
pub client_name: Option<String>,
pub tcp_port: Option<u32>
#[derive(Serialize, Deserialize, Debug, PartialEq, Eq, Hash)]
pub enum DotClientKey {
ClientId { client_id: String },
TCPPort { tcp_port: u64 },
}
// // client config file struct
// #[derive(Serialize, Deserialize, Debug)]
// pub struct DotClientData {
// pub client_id: u32,
// pub client_name: Option<String>,
// pub tcp_port: Option<u32>,
// }
// in memory storage for config file
pub static client_config: OnceCell<DotClientData> = OnceCell::new();
pub static CLIENT_CONFIG: OnceCell<HashMap<DotClientKey, String>> = OnceCell::new();
fn get_client_config() -> Result<&'static HashMap<DotClientKey, String>> {
let client = CLIENT_CONFIG.get().unwrap();
Ok(client)
}
// method to update client config
pub fn update_client_config(key: DotClientKey, json_value: String) -> Result<()> {
let core_config = get_core_config();
// clone existing config from memory
let mut config = CLIENT_CONFIG.get().unwrap().clone();
// insert new value
config.insert(key, json_value);
// set in memory
CLIENT_CONFIG.set(config).unwrap();
// convert to json
let json = serde_json::to_string(&config)?;
// create fresh dot file
let mut dotfile =
std::fs::File::create(format!("{}/.client_data", core_config.data_dir.display()))?;
// write json to file
dotfile.write_all(json.as_bytes())?;
Ok(())
}
pub async fn init_client() -> Result<()> {
let config = get_core_config();
@ -36,21 +68,22 @@ pub async fn init_client() -> Result<()> {
match client_data_file {
Ok(file) => {
let client_data: DotClientData = serde_json::from_reader(file).unwrap();
client_config.set(client_data);
println!("loaded existing client: {:?}", client_config.get().unwrap());
let client_data: HashMap<DotClientKey, String> = serde_json::from_reader(file).unwrap();
CLIENT_CONFIG.set(client_data);
println!("loaded existing client: {:?}", CLIENT_CONFIG.get().unwrap());
}
Err(_) => {
let client_data = create_client().await?;
client_config.set(client_data);
println!("created new client {:?}", client_config.get().unwrap());
println!("created new client {:?}", CLIENT_CONFIG.get().unwrap());
}
};
Ok(())
}
pub async fn create_client() -> Result<DotClientData> {
pub async fn create_client() -> Result<HashMap<DotClientKey, String>> {
let db = db_instance().await.unwrap();
let config = get_core_config();
@ -92,12 +125,6 @@ pub async fn create_client() -> Result<DotClientData> {
// write a file called .spacedrive to path containing the location id in JSON format
let mut dotfile = std::fs::File::create(format!("{}/.client_data", config.data_dir.display()))?;
let data = DotClientData {
client_id: next_client_id,
tcp_port: None,
client_name: None
};
let json = serde_json::to_string(&data)?;
dotfile.write_all(json.as_bytes())?;
@ -105,11 +132,6 @@ pub async fn create_client() -> Result<DotClientData> {
Ok(data)
}
fn get_client_config() -> Result<&'static DotClientData> {
let client = client_config.get().unwrap();
Ok(client)
}
// fn update_client_config(key: String, value: String) -> Result<&'static DotClientData> {
// let mut client = client_config.get().unwrap();
//
@ -117,4 +139,3 @@ fn get_client_config() -> Result<&'static DotClientData> {
//
// Ok(client)
// }

View file

@ -208,6 +208,7 @@ fn is_hidden(entry: &DirEntry) -> bool {
.map(|s| s.starts_with("."))
.unwrap_or(false)
}
fn is_node_modules(entry: &DirEntry) -> bool {
entry
.file_name()

View file

@ -1,5 +1,5 @@
pub mod checksum;
pub mod client;
// pub mod client;
pub mod icon;
pub mod indexer;
pub mod init;

View file

@ -5,11 +5,12 @@ use std::fs;
use tokio::sync::mpsc;
use ts_rs::TS;
pub mod config;
pub mod crypto;
pub mod db;
pub mod file;
pub mod native;
pub mod p2p;
// pub mod p2p;
pub mod util;
use futures::executor::block_on;
@ -21,11 +22,6 @@ pub struct CoreConfig {
pub file_type_thumb_dir: std::path::PathBuf,
}
pub struct Core {
pub config: CoreConfig,
pub event_channel_sender: mpsc::Sender<ClientEvent>,
}
// represents an event this library can emit
#[derive(Serialize, Deserialize, Debug, TS)]
#[serde(tag = "type", content = "data")]
@ -36,6 +32,11 @@ pub enum ClientEvent {
DatabaseDisconnected { reason: Option<String> },
}
pub struct Core {
pub config: CoreConfig,
pub event_channel_sender: mpsc::Sender<ClientEvent>,
}
pub static CORE: OnceCell<Core> = OnceCell::new();
pub fn get_core_config() -> &'static CoreConfig {
@ -79,14 +80,15 @@ pub fn configure(mut data_dir: std::path::PathBuf) -> mpsc::Receiver<ClientEvent
fs::create_dir_all(&get_core_config().data_dir).unwrap();
fs::create_dir_all(&get_core_config().file_type_thumb_dir).unwrap();
config::state::make(data_dir.to_str().unwrap());
// create primary data base if not exists
block_on(db::connection::create_primary_db()).expect("failed to create primary db");
block_on(file::init::init_library()).expect("failed to init library");
block_on(file::client::init_client()).expect("failed to init client");
println!("Spacedrive daemon online");
p2p::listener::listen(None);
// p2p::listener::listen(None);
// env_logger::builder()
// .filter_level(log::LevelFilter::Debug)

View file

@ -1 +1 @@
pub mod listener;
// pub mod listener;