From bc203a011373ef8d8b7ccaacf26b2d21ad9acde3 Mon Sep 17 00:00:00 2001 From: djkato Date: Thu, 26 Dec 2024 23:09:54 +0100 Subject: [PATCH] Don't remember + styles --- .env | 3 +- Cargo.lock | 749 +++-- Cargo.toml | 8 +- design/logo.svg | 3047 +++++++++++++++++++++ design/logo.svg.2024_11_05_20_07_51.0.svg | 504 ++++ design/palette.ase | Bin 0 -> 390 bytes design/palette.svg | 7 + docker-compose.yml | 19 +- src/app.rs | 19 +- src/components/universal/app_editor.rs | 46 +- src/error_template.rs | 6 +- src/lib.rs | 4 + src/main.rs | 11 +- src/migrations/mod.rs | 17 + src/server/db.rs | 9 +- surrealdb/schema.surql | 56 +- surrealdb/tests.surql | 74 +- 17 files changed, 4037 insertions(+), 542 deletions(-) create mode 100644 design/logo.svg create mode 100644 design/logo.svg.2024_11_05_20_07_51.0.svg create mode 100644 design/palette.ase create mode 100644 design/palette.svg create mode 100644 src/migrations/mod.rs diff --git a/.env b/.env index f95834a..46967b4 100644 --- a/.env +++ b/.env @@ -1,2 +1,3 @@ +DB_URL=http://localhost:4000 DB_USER=saleor-marketplace -DB_PASSWORD="{%cA_#dr}{3'ZDGC,Jy<+S-_M+FE?]][Cu#N`D_V" +DB_PASSWORD="{%cA_#dr}{3ZDGC,Jy<+S-_M+FE?]][Cu#ND_V" diff --git a/Cargo.lock b/Cargo.lock index 035baa0..d55f445 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -111,9 +111,9 @@ checksum = "ea50b14b7a4b9343f8c627a7a53c52076482bd4bdad0a24fd3ec533ed616cc2c" [[package]] name = "anyhow" -version = "1.0.91" +version = "1.0.92" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c042108f3ed77fd83760a5fd79b53be043192bb3b9dba91d8c574c0ada7850c8" +checksum = "74f37166d7d48a0284b99dd824694c26119c700b53bf0d1540cdb147dbdaaf13" [[package]] name = "approx" @@ -135,9 +135,9 @@ dependencies = [ [[package]] name = "arbitrary" -version = "1.3.2" +version = "1.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7d5a26814d8dcb93b0e5a0ff3c6d80a8843bafb21b39e8e18a6f05471870e110" +checksum = "775a8770d29db3dadcb858482cc240af7b2ffde4ac4de67d1d4955728103f0e2" [[package]] name = "argon2" @@ -212,7 +212,7 @@ dependencies = [ "fnv", "futures-timer", "futures-util", - "http 1.1.0", + "http", "indexmap 2.6.0", "mime", "multer", @@ -240,7 +240,7 @@ dependencies = [ "proc-macro2", "quote", "strum 0.26.3", - "syn 2.0.85", + "syn 2.0.87", "thiserror", ] @@ -276,7 +276,7 @@ checksum = "3b43422f69d8ff38f95f1b2bb76517c91589a924d1559a0e935d7c8ce0274c11" dependencies = [ "proc-macro2", "quote", - "syn 2.0.85", + "syn 2.0.87", ] [[package]] @@ -298,7 +298,7 @@ checksum = "c7c24de15d275a1ecfd47a380fb4d5ec9bfe0933f309ed5e705b775596a3574d" dependencies = [ "proc-macro2", "quote", - "syn 2.0.85", + "syn 2.0.87", ] [[package]] @@ -315,7 +315,7 @@ checksum = "721cae7de5c34fbb2acd27e21e6d2cf7b886dce0c27388d46c4e6c47ea4318dd" dependencies = [ "proc-macro2", "quote", - "syn 2.0.85", + "syn 2.0.87", ] [[package]] @@ -340,7 +340,7 @@ dependencies = [ "manyhow", "proc-macro2", "quote", - "syn 2.0.85", + "syn 2.0.87", ] [[package]] @@ -356,7 +356,7 @@ dependencies = [ "proc-macro2", "quote", "quote-use", - "syn 2.0.85", + "syn 2.0.87", ] [[package]] @@ -375,7 +375,7 @@ dependencies = [ "axum-core", "bytes", "futures-util", - "http 1.1.0", + "http", "http-body", "http-body-util", "hyper", @@ -409,7 +409,7 @@ dependencies = [ "async-trait", "bytes", "futures-util", - "http 1.1.0", + "http", "http-body", "http-body-util", "mime", @@ -476,26 +476,6 @@ dependencies = [ "serde", ] -[[package]] -name = "bindgen" -version = "0.69.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "271383c67ccabffb7381723dea0672a673f292304fcb45c01cc648c7a8d58088" -dependencies = [ - "bitflags", - "cexpr", - "clang-sys", - "itertools 0.12.1", - "lazy_static", - "lazycell", - "proc-macro2", - "quote", - "regex", - "rustc-hash 1.1.0", - "shlex", - "syn 2.0.85", -] - [[package]] name = "bit-set" version = "0.5.3" @@ -590,7 +570,7 @@ dependencies = [ "proc-macro-crate", "proc-macro2", "quote", - "syn 2.0.85", + "syn 2.0.87", "syn_derive", ] @@ -643,17 +623,6 @@ dependencies = [ "serde", ] -[[package]] -name = "bzip2-sys" -version = "0.1.11+1.0.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "736a955f3fa7875102d57c82b8cac37ec45224a07fd32d58f9f7a186b6cd4cdc" -dependencies = [ - "cc", - "libc", - "pkg-config", -] - [[package]] name = "cached" version = "0.45.1" @@ -703,12 +672,10 @@ dependencies = [ [[package]] name = "cc" -version = "1.1.31" +version = "1.1.34" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c2e7962b54006dcfcc61cb72735f4d89bb97061dd6a7ed882ec6b8ee53714c6f" +checksum = "67b9470d453346108f93a59222a9a1a5724db32d0a4727b7ab7ace4b4d822dc9" dependencies = [ - "jobserver", - "libc", "shlex", ] @@ -769,15 +736,6 @@ dependencies = [ "unicode-security", ] -[[package]] -name = "cexpr" -version = "0.6.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6fac387a98bb7c37292057cffc56d62ecb629900026402633ae9160df93a8766" -dependencies = [ - "nom", -] - [[package]] name = "cfg-if" version = "1.0.0" @@ -842,17 +800,6 @@ dependencies = [ "inout", ] -[[package]] -name = "clang-sys" -version = "1.8.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0b023947811758c97c59bf9d1c188fd619ad4718dcaa767947df1cadb14f39f4" -dependencies = [ - "glob", - "libc", - "libloading", -] - [[package]] name = "collection_literals" version = "1.0.1" @@ -941,25 +888,6 @@ dependencies = [ "libc", ] -[[package]] -name = "crossbeam-deque" -version = "0.8.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "613f8cc01fe9cf1a3eb3d7f488fd2fa8388403e97039e2f73692932e291a770d" -dependencies = [ - "crossbeam-epoch", - "crossbeam-utils", -] - -[[package]] -name = "crossbeam-epoch" -version = "0.9.18" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5b82ac4a3c2ca9c3460964f020e1402edd5753411d7737aa39c3714ad1b5420e" -dependencies = [ - "crossbeam-utils", -] - [[package]] name = "crossbeam-utils" version = "0.8.20" @@ -1027,7 +955,7 @@ dependencies = [ "proc-macro2", "quote", "strsim 0.11.1", - "syn 2.0.85", + "syn 2.0.87", ] [[package]] @@ -1049,7 +977,7 @@ checksum = "d336a2a514f6ccccaa3e09b02d41d35330c07ddf03a62165fcec10bb561c7806" dependencies = [ "darling_core 0.20.10", "quote", - "syn 2.0.85", + "syn 2.0.87", ] [[package]] @@ -1089,7 +1017,7 @@ checksum = "62d671cc41a825ebabc75757b62d3d168c577f9149b2d49ece1dad1f72119d25" dependencies = [ "proc-macro2", "quote", - "syn 2.0.85", + "syn 2.0.87", ] [[package]] @@ -1130,6 +1058,17 @@ dependencies = [ "winapi", ] +[[package]] +name = "displaydoc" +version = "0.2.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "97369cbbc041bc366949bc74d34658d6cda5621039731c6310521892a3a20ae0" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.87", +] + [[package]] name = "dmp" version = "0.2.0" @@ -1212,35 +1151,12 @@ version = "1.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5443807d6dff69373d433ab9ef5378ad8df50ca6298caf15de6e52e24aaf54d5" -[[package]] -name = "errno" -version = "0.3.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "534c5cf6194dfab3db3242765c03bbe257cf92f22b38f6bc0c58d59108a820ba" -dependencies = [ - "libc", - "windows-sys 0.52.0", -] - [[package]] name = "event-listener" version = "2.5.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0206175f82b8d6bf6652ff7d71a1e27fd2e4efde587fd368662814d6ec1d9ce0" -[[package]] -name = "ext-sort" -version = "0.1.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fcf73e44617eab501beba39234441a194cf138629d3b6447f81f573e1c3d0a13" -dependencies = [ - "log", - "rayon", - "rmp-serde", - "serde", - "tempfile", -] - [[package]] name = "fastrand" version = "2.1.1" @@ -1365,7 +1281,7 @@ checksum = "162ee34ebcb7c64a8abebc059ce0fee27c2262618d7b60ed8faf72fef13c3650" dependencies = [ "proc-macro2", "quote", - "syn 2.0.85", + "syn 2.0.87", ] [[package]] @@ -1491,33 +1407,6 @@ version = "0.31.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "07e28edb80900c19c28f1072f2e8aeca7fa06b23cd4169cefe1af5aa3260783f" -[[package]] -name = "glob" -version = "0.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d2fabcfbdc87f4758337ca535fb41a6d701b65693ce38287d856d1674551ec9b" - -[[package]] -name = "gloo-net" -version = "0.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "43aaa242d1239a8822c15c645f02166398da4f8b5c4bae795c1f5b44e9eee173" -dependencies = [ - "futures-channel", - "futures-core", - "futures-sink", - "gloo-utils", - "http 0.2.12", - "js-sys", - "pin-project", - "serde", - "serde_json", - "thiserror", - "wasm-bindgen", - "wasm-bindgen-futures", - "web-sys", -] - [[package]] name = "gloo-net" version = "0.6.0" @@ -1528,7 +1417,7 @@ dependencies = [ "futures-core", "futures-sink", "gloo-utils", - "http 1.1.0", + "http", "js-sys", "pin-project", "serde", @@ -1598,9 +1487,9 @@ dependencies = [ [[package]] name = "hashbrown" -version = "0.15.0" +version = "0.15.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1e087f84d4f86bf4b218b927129862374b72199ae7d8657835f1e89000eea4fb" +checksum = "3a9bfc1af68b1726ea47d3d5109de126281def866b33970e10fbab11b5dafab3" [[package]] name = "heapless" @@ -1665,18 +1554,7 @@ dependencies = [ "markup5ever", "proc-macro2", "quote", - "syn 2.0.85", -] - -[[package]] -name = "http" -version = "0.2.12" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "601cbb57e577e2f5ef5be8e7b83f0f63994f25aa94d673e54a92d5c516d101f1" -dependencies = [ - "bytes", - "fnv", - "itoa", + "syn 2.0.87", ] [[package]] @@ -1697,7 +1575,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1efedce1fb8e6913f23e0c92de8e62cd5b772a67e7b3946df930a62566c93184" dependencies = [ "bytes", - "http 1.1.0", + "http", ] [[package]] @@ -1708,7 +1586,7 @@ checksum = "793429d76616a256bcb62c2a2ec2bed781c8307e797e2598c50010f2bee2544f" dependencies = [ "bytes", "futures-util", - "http 1.1.0", + "http", "http-body", "pin-project-lite", ] @@ -1746,7 +1624,7 @@ dependencies = [ "bytes", "futures-channel", "futures-util", - "http 1.1.0", + "http", "http-body", "httparse", "httpdate", @@ -1764,7 +1642,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "08afdbb5c31130e3034af566421053ab03787c640246a446327f550d11bcb333" dependencies = [ "futures-util", - "http 1.1.0", + "http", "hyper", "hyper-util", "rustls", @@ -1784,7 +1662,7 @@ dependencies = [ "bytes", "futures-channel", "futures-util", - "http 1.1.0", + "http", "http-body", "hyper", "pin-project-lite", @@ -1817,6 +1695,124 @@ dependencies = [ "cc", ] +[[package]] +name = "icu_collections" +version = "1.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "db2fa452206ebee18c4b5c2274dbf1de17008e874b4dc4f0aea9d01ca79e4526" +dependencies = [ + "displaydoc", + "yoke", + "zerofrom", + "zerovec", +] + +[[package]] +name = "icu_locid" +version = "1.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "13acbb8371917fc971be86fc8057c41a64b521c184808a698c02acc242dbf637" +dependencies = [ + "displaydoc", + "litemap", + "tinystr", + "writeable", + "zerovec", +] + +[[package]] +name = "icu_locid_transform" +version = "1.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "01d11ac35de8e40fdeda00d9e1e9d92525f3f9d887cdd7aa81d727596788b54e" +dependencies = [ + "displaydoc", + "icu_locid", + "icu_locid_transform_data", + "icu_provider", + "tinystr", + "zerovec", +] + +[[package]] +name = "icu_locid_transform_data" +version = "1.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fdc8ff3388f852bede6b579ad4e978ab004f139284d7b28715f773507b946f6e" + +[[package]] +name = "icu_normalizer" +version = "1.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "19ce3e0da2ec68599d193c93d088142efd7f9c5d6fc9b803774855747dc6a84f" +dependencies = [ + "displaydoc", + "icu_collections", + "icu_normalizer_data", + "icu_properties", + "icu_provider", + "smallvec", + "utf16_iter", + "utf8_iter", + "write16", + "zerovec", +] + +[[package]] +name = "icu_normalizer_data" +version = "1.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f8cafbf7aa791e9b22bec55a167906f9e1215fd475cd22adfcf660e03e989516" + +[[package]] +name = "icu_properties" +version = "1.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "93d6020766cfc6302c15dbbc9c8778c37e62c14427cb7f6e601d849e092aeef5" +dependencies = [ + "displaydoc", + "icu_collections", + "icu_locid_transform", + "icu_properties_data", + "icu_provider", + "tinystr", + "zerovec", +] + +[[package]] +name = "icu_properties_data" +version = "1.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "67a8effbc3dd3e4ba1afa8ad918d5684b8868b3b26500753effea8d2eed19569" + +[[package]] +name = "icu_provider" +version = "1.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6ed421c8a8ef78d3e2dbc98a973be2f3770cb42b606e3ab18d6237c4dfde68d9" +dependencies = [ + "displaydoc", + "icu_locid", + "icu_provider_macros", + "stable_deref_trait", + "tinystr", + "writeable", + "yoke", + "zerofrom", + "zerovec", +] + +[[package]] +name = "icu_provider_macros" +version = "1.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1ec89e9337638ecdc08744df490b221a7399bf8d164eb52a665454e60e075ad6" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.87", +] + [[package]] name = "ident_case" version = "1.0.1" @@ -1825,12 +1821,23 @@ checksum = "b9e0384b61958566e926dc50660321d12159025e767c18e043daf26b70104c39" [[package]] name = "idna" -version = "0.5.0" +version = "1.0.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "634d9b1461af396cad843f47fdba5597a4f9e6ddd4bfb6ff5d85028c25cb12f6" +checksum = "686f825264d630750a544639377bae737628043f20d38bbc029e8f29ea968a7e" dependencies = [ - "unicode-bidi", - "unicode-normalization", + "idna_adapter", + "smallvec", + "utf8_iter", +] + +[[package]] +name = "idna_adapter" +version = "1.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "daca1df1c957320b2cf139ac61e7bd64fed304c5040df000a745aa1de3b4ef71" +dependencies = [ + "icu_normalizer", + "icu_properties", ] [[package]] @@ -1851,7 +1858,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "707907fe3c25f5424cce2cb7e1cbcafee6bdbe735ca90ef77c29e84591e5b9da" dependencies = [ "equivalent", - "hashbrown 0.15.0", + "hashbrown 0.15.1", "serde", ] @@ -1953,20 +1960,11 @@ version = "1.0.11" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "49f1f14873335454500d59611f1cf4a4b0f786f9ac11f4312a78e4cf2566695b" -[[package]] -name = "jobserver" -version = "0.1.32" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "48d1dbcbbeb6a7fec7e059840aa538bd62aaccf972c7346c4d9d2059312853d0" -dependencies = [ - "libc", -] - [[package]] name = "js-sys" -version = "0.3.69" +version = "0.3.70" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "29c15563dc2726973df627357ce0c9ddddbea194836909d655df6a75d2cf296d" +checksum = "1868808506b929d7b0cfa8f75951347aa71bb21144b7791bae35d9bccfcfe37a" dependencies = [ "wasm-bindgen", ] @@ -2023,17 +2021,11 @@ version = "1.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "bbd2bcb4c963f2ddae06a2efc7e9f3591312473c50c6685e1f298068316e66fe" -[[package]] -name = "lazycell" -version = "1.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "830d08ce1d1d941e6b30645f1a0eb5643013d835ce3779a5fc208261dbe10f55" - [[package]] name = "leptos" -version = "0.6.13" +version = "0.6.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "57727cd8f6d1e78aa9721270002037d7f63b5a7a2b60a7830239f6938cbca9b7" +checksum = "0cbb3237c274dadf00dcc27db96c52601b40375117178fb24a991cda073624f0" dependencies = [ "cfg-if", "leptos_config", @@ -2051,9 +2043,9 @@ dependencies = [ [[package]] name = "leptos_axum" -version = "0.6.13" +version = "0.6.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3923af454949eb7a5ea9a89d5fdc4d21e4850eb8d47d942d35355e5079444867" +checksum = "910681b920c48a43508b2bd0261bdb67c4ef9456a0b3613f956a0d30e832e9de" dependencies = [ "axum", "cfg-if", @@ -2130,15 +2122,15 @@ dependencies = [ "quote", "rstml", "serde", - "syn 2.0.85", + "syn 2.0.87", "walkdir", ] [[package]] name = "leptos_integration_utils" -version = "0.6.13" +version = "0.6.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "313ea1dc9243d8803376c77fc191bf1c3b9c8e081e8c50428706bab009cb1e42" +checksum = "5a96976631c2225ec116a7bf9c0ed5bf6999a19fed33f5e3cbcf37af44c384dc" dependencies = [ "futures", "leptos", @@ -2166,16 +2158,16 @@ dependencies = [ "quote", "rstml", "server_fn_macro", - "syn 2.0.85", + "syn 2.0.87", "tracing", "uuid", ] [[package]] name = "leptos_meta" -version = "0.6.13" +version = "0.6.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "206825db2cb802a9b06c1f33c08569086706a7fa4d8acb86e5ed6892a8dd2cec" +checksum = "25acc2f63cf91932013e400a95bf6e35e5d3dbb44a7b7e25a8e3057d12005b3b" dependencies = [ "cfg-if", "indexmap 2.6.0", @@ -2215,13 +2207,13 @@ dependencies = [ [[package]] name = "leptos_router" -version = "0.6.13" +version = "0.6.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d397f1c3217368aaf6009ea0bf6bdfa47325ab9c8fb8c124eda5ebc527d11445" +checksum = "8d71dea7d42c0d29c40842750232d3425ed1cf10e313a1f898076d20871dad32" dependencies = [ "cached", "cfg-if", - "gloo-net 0.5.0", + "gloo-net", "itertools 0.12.1", "js-sys", "lazy_static", @@ -2276,16 +2268,6 @@ version = "0.2.161" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8e9489c2807c139ffd9c1794f4af0ebe86a828db53ecdc7fea2111d0fed085d1" -[[package]] -name = "libloading" -version = "0.8.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4979f22fdb869068da03c9f7528f8297c6fd2606bc3a4affe42e6a823fdb8da4" -dependencies = [ - "cfg-if", - "windows-targets", -] - [[package]] name = "libm" version = "0.2.11" @@ -2302,33 +2284,6 @@ dependencies = [ "libc", ] -[[package]] -name = "librocksdb-sys" -version = "0.16.0+8.10.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ce3d60bc059831dc1c83903fb45c103f75db65c5a7bf22272764d9cc683e348c" -dependencies = [ - "bindgen", - "bzip2-sys", - "cc", - "glob", - "libc", - "libz-sys", - "lz4-sys", - "zstd-sys", -] - -[[package]] -name = "libz-sys" -version = "1.1.20" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d2d16453e800a8cf6dd2fc3eb4bc99b786a9b90c663b8559a5b1a041bf89e472" -dependencies = [ - "cc", - "pkg-config", - "vcpkg", -] - [[package]] name = "linear-map" version = "1.2.0" @@ -2352,10 +2307,10 @@ dependencies = [ ] [[package]] -name = "linux-raw-sys" -version = "0.4.14" +name = "litemap" +version = "0.7.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "78b3ae25bc7c8c38cec158d1f2757ee79e9b3740fbc7ccf0e59e4b08d793fa89" +checksum = "643cb0b8d4fcc284004d5fd0d67ccf61dfffadb7f75e1e71bc420f4688a3a704" [[package]] name = "lock_api" @@ -2382,16 +2337,6 @@ dependencies = [ "hashbrown 0.14.5", ] -[[package]] -name = "lz4-sys" -version = "1.11.1+lz4-1.10.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6bd8c0d6c6ed0cd30b3652886bb8711dc4bb01d637a68105a3d5158039b418e6" -dependencies = [ - "cc", - "libc", -] - [[package]] name = "mac" version = "0.1.1" @@ -2407,7 +2352,7 @@ dependencies = [ "manyhow-macros", "proc-macro2", "quote", - "syn 2.0.85", + "syn 2.0.87", ] [[package]] @@ -2493,7 +2438,7 @@ checksum = "49e7bc1560b95a3c4a25d03de42fe76ca718ab92d1a22a55b9b4cf67b3ae635c" dependencies = [ "proc-macro2", "quote", - "syn 2.0.85", + "syn 2.0.87", ] [[package]] @@ -2548,7 +2493,7 @@ dependencies = [ "bytes", "encoding_rs", "futures-util", - "http 1.1.0", + "http", "httparse", "memchr", "mime", @@ -2901,7 +2846,7 @@ dependencies = [ "phf_shared 0.11.2", "proc-macro2", "quote", - "syn 2.0.85", + "syn 2.0.87", "unicase", ] @@ -2947,7 +2892,7 @@ checksum = "3c0f5fad0874fc7abcd4d750e76917eaebbecaa2c20bde22e1dbeeba8beb758c" dependencies = [ "proc-macro2", "quote", - "syn 2.0.85", + "syn 2.0.87", ] [[package]] @@ -2962,12 +2907,6 @@ version = "0.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184" -[[package]] -name = "pkg-config" -version = "0.3.31" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "953ec861398dccce10c670dfeaf3ec4911ca479e9c02154b3a215178c5f566f2" - [[package]] name = "powerfmt" version = "0.2.0" @@ -2996,7 +2935,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "64d1ec885c64d0457d564db4ec299b2dae3f9c02808b8ad9c3a089c591b18033" dependencies = [ "proc-macro2", - "syn 2.0.85", + "syn 2.0.87", ] [[package]] @@ -3091,7 +3030,7 @@ checksum = "af066a9c399a26e020ada66a034357a868728e72cd426f3adcd35f80d88d88c8" dependencies = [ "proc-macro2", "quote", - "syn 2.0.85", + "syn 2.0.87", "version_check", "yansi", ] @@ -3239,7 +3178,7 @@ dependencies = [ "proc-macro-utils 0.10.0", "proc-macro2", "quote", - "syn 2.0.85", + "syn 2.0.87", ] [[package]] @@ -3295,26 +3234,6 @@ version = "0.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "60a357793950651c4ed0f3f52338f53b2f809f32d83a07f72909fa13e4c6c1e3" -[[package]] -name = "rayon" -version = "1.10.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b418a60154510ca1a002a752ca9714984e21e4241e804d32555251faf8b78ffa" -dependencies = [ - "either", - "rayon-core", -] - -[[package]] -name = "rayon-core" -version = "1.12.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1465873a3dfdaa8ae7cb14b4383657caab0b3e8a0aa9ae8e04b044854c8dfce2" -dependencies = [ - "crossbeam-deque", - "crossbeam-utils", -] - [[package]] name = "reblessive" version = "0.4.1" @@ -3358,7 +3277,7 @@ checksum = "bcc303e793d3734489387d205e9b186fac9c6cfacedd98cbb2e8a5943595f3e6" dependencies = [ "proc-macro2", "quote", - "syn 2.0.85", + "syn 2.0.87", ] [[package]] @@ -3409,7 +3328,7 @@ dependencies = [ "bytes", "futures-core", "futures-util", - "http 1.1.0", + "http", "http-body", "http-body-util", "hyper", @@ -3467,7 +3386,7 @@ checksum = "5f0ec466e5d8dca9965eb6871879677bef5590cf7525ad96cae14376efb75073" dependencies = [ "proc-macro2", "quote", - "syn 2.0.85", + "syn 2.0.87", ] [[package]] @@ -3525,17 +3444,6 @@ dependencies = [ "paste", ] -[[package]] -name = "rmp-serde" -version = "1.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "52e599a477cf9840e92f2cde9a7189e67b42c57532749bf90aea6ec10facd4db" -dependencies = [ - "byteorder", - "rmp", - "serde", -] - [[package]] name = "rmpv" version = "1.3.0" @@ -3563,21 +3471,11 @@ version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "cbf4a6aa5f6d6888f39e980649f3ad6b666acdce1d78e95b8a2cb076e687ae30" -[[package]] -name = "rocksdb" -version = "0.22.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6bd13e55d6d7b8cd0ea569161127567cd587676c99f4472f779a0279aa60a7a7" -dependencies = [ - "libc", - "librocksdb-sys", -] - [[package]] name = "rstar" -version = "0.12.0" +version = "0.12.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "133315eb94c7b1e8d0cb097e5a710d850263372fd028fff18969de708afc7008" +checksum = "3a8fa3439525c145e7ab153d140d228f69789802f47bf43c5e2c5abaae5312fe" dependencies = [ "heapless", "num-traits", @@ -3593,7 +3491,7 @@ dependencies = [ "proc-macro2", "proc-macro2-diagnostics", "quote", - "syn 2.0.85", + "syn 2.0.87", "syn_derive", "thiserror", ] @@ -3660,19 +3558,6 @@ dependencies = [ "semver", ] -[[package]] -name = "rustix" -version = "0.38.38" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "aa260229e6538e52293eeb577aabd09945a09d6d9cc0fc550ed7529056c2e32a" -dependencies = [ - "bitflags", - "errno", - "libc", - "linux-raw-sys", - "windows-sys 0.52.0", -] - [[package]] name = "rustls" version = "0.23.16" @@ -3754,7 +3639,7 @@ dependencies = [ "axum", "chrono", "console_error_panic_hook", - "http 1.1.0", + "http", "leptos", "leptos_axum", "leptos_meta", @@ -3876,7 +3761,7 @@ checksum = "de523f781f095e28fa605cdce0f8307e451cc0fd14e2eb4cd2e98a355b147766" dependencies = [ "proc-macro2", "quote", - "syn 2.0.85", + "syn 2.0.87", ] [[package]] @@ -3981,7 +3866,7 @@ dependencies = [ "darling 0.20.10", "proc-macro2", "quote", - "syn 2.0.85", + "syn 2.0.87", ] [[package]] @@ -3996,8 +3881,8 @@ dependencies = [ "const_format", "dashmap", "futures", - "gloo-net 0.6.0", - "http 1.1.0", + "gloo-net", + "http", "http-body-util", "hyper", "inventory", @@ -4029,7 +3914,7 @@ dependencies = [ "convert_case", "proc-macro2", "quote", - "syn 2.0.85", + "syn 2.0.87", "xxhash-rust", ] @@ -4040,7 +3925,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7f2aa8119b558a17992e0ac1fd07f080099564f24532858811ce04f742542440" dependencies = [ "server_fn_macro", - "syn 2.0.85", + "syn 2.0.87", ] [[package]] @@ -4288,7 +4173,7 @@ dependencies = [ "proc-macro2", "quote", "rustversion", - "syn 2.0.85", + "syn 2.0.87", ] [[package]] @@ -4301,7 +4186,7 @@ dependencies = [ "proc-macro2", "quote", "rustversion", - "syn 2.0.85", + "syn 2.0.87", ] [[package]] @@ -4377,7 +4262,6 @@ dependencies = [ "dashmap", "deunicode", "dmp", - "ext-sort", "fst", "futures", "fuzzy-matcher", @@ -4408,7 +4292,6 @@ dependencies = [ "ring", "rmpv", "roaring", - "rocksdb", "rust-stemmers", "rust_decimal", "scrypt", @@ -4422,7 +4305,6 @@ dependencies = [ "storekey", "subtle", "surrealdb-derive", - "tempfile", "thiserror", "tokio", "tracing", @@ -4459,9 +4341,9 @@ dependencies = [ [[package]] name = "syn" -version = "2.0.85" +version = "2.0.87" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5023162dfcd14ef8f32034d8bcd4cc5ddc61ef7a247c024a33e24e1f24d21b56" +checksum = "25aa4ce346d03a6dcd68dd8b4010bcb74e54e62c90c573f394c46eae99aba32d" dependencies = [ "proc-macro2", "quote", @@ -4477,7 +4359,7 @@ dependencies = [ "proc-macro-error", "proc-macro2", "quote", - "syn 2.0.85", + "syn 2.0.87", ] [[package]] @@ -4495,25 +4377,23 @@ dependencies = [ "futures-core", ] +[[package]] +name = "synstructure" +version = "0.13.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c8af7666ab7b6390ab78131fb5b0fce11d6b7a6951602017c35fa82800708971" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.87", +] + [[package]] name = "tap" version = "1.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "55937e1799185b12863d447f42597ed69d9928686b8d88a1df17376a097d8369" -[[package]] -name = "tempfile" -version = "3.13.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f0f2c9fc62d0beef6951ccffd757e241266a2c833136efbe35af6cd2567dca5b" -dependencies = [ - "cfg-if", - "fastrand", - "once_cell", - "rustix", - "windows-sys 0.59.0", -] - [[package]] name = "tendril" version = "0.4.3" @@ -4538,22 +4418,22 @@ dependencies = [ [[package]] name = "thiserror" -version = "1.0.65" +version = "1.0.68" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5d11abd9594d9b38965ef50805c5e469ca9cc6f197f883f717e0269a3057b3d5" +checksum = "02dd99dc800bbb97186339685293e1cc5d9df1f8fae2d0aecd9ff1c77efea892" dependencies = [ "thiserror-impl", ] [[package]] name = "thiserror-impl" -version = "1.0.65" +version = "1.0.68" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ae71770322cbd277e69d762a16c444af02aa0575ac0d174f0b9562d3b37f8602" +checksum = "a7c61ec9a6f64d2793d8a45faba21efbe3ced62a886d44c36a009b2b519b4c7e" dependencies = [ "proc-macro2", "quote", - "syn 2.0.85", + "syn 2.0.87", ] [[package]] @@ -4606,6 +4486,16 @@ dependencies = [ "crunchy", ] +[[package]] +name = "tinystr" +version = "0.7.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9117f5d4db391c1cf6927e7bea3db74b9a1c1add8f7eda9ffd5364f40f57b82f" +dependencies = [ + "displaydoc", + "zerovec", +] + [[package]] name = "tinyvec" version = "1.8.0" @@ -4645,7 +4535,7 @@ checksum = "693d596312e88961bc67d7f1f97af8a70227d9f90c31bba5806eec004978d752" dependencies = [ "proc-macro2", "quote", - "syn 2.0.85", + "syn 2.0.87", ] [[package]] @@ -4761,7 +4651,7 @@ dependencies = [ "bitflags", "bytes", "futures-util", - "http 1.1.0", + "http", "http-body", "http-body-util", "http-range-header", @@ -4809,7 +4699,7 @@ checksum = "34704c8d6ebcbc939824180af020566b01a7c01f80641264eba0999f6c2b6be7" dependencies = [ "proc-macro2", "quote", - "syn 2.0.85", + "syn 2.0.87", ] [[package]] @@ -4847,7 +4737,7 @@ dependencies = [ "byteorder", "bytes", "data-encoding", - "http 1.1.0", + "http", "httparse", "log", "rand", @@ -4876,7 +4766,7 @@ checksum = "1f718dfaf347dcb5b983bfc87608144b0bad87970aebcbea5ce44d2a30c08e63" dependencies = [ "proc-macro2", "quote", - "syn 2.0.85", + "syn 2.0.87", ] [[package]] @@ -4909,12 +4799,6 @@ version = "2.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7e51b68083f157f853b6379db119d1c1be0e6e4dec98101079dec41f6f5cf6df" -[[package]] -name = "unicode-bidi" -version = "0.3.17" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5ab17db44d7388991a428b2ee655ce0c212e862eff1768a455c58f9aad6e7893" - [[package]] name = "unicode-ident" version = "1.0.13" @@ -4972,9 +4856,9 @@ checksum = "8ecb6da28b8a351d773b68d5825ac39017e680750f980f3a1a85cd8dd28a47c1" [[package]] name = "url" -version = "2.5.2" +version = "2.5.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "22784dbdf76fdde8af1aeda5622b546b422b6fc585325248a2bf9f5e41e94d6c" +checksum = "8d157f1b96d14500ffdc1f10ba712e780825526c03d9a49b4d0324b0d9113ada" dependencies = [ "form_urlencoded", "idna", @@ -4993,12 +4877,24 @@ version = "0.7.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "09cc8ee72d2a9becf2f2febe0205bbed8fc6615b7cb429ad062dc7b7ddd036a9" +[[package]] +name = "utf16_iter" +version = "1.0.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c8232dd3cdaed5356e0f716d285e4b40b932ac434100fe9b7e0e8e935b9e6246" + [[package]] name = "utf8-width" version = "0.1.7" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "86bd8d4e895da8537e5315b8254664e6b769c4ff3db18321b297a1e7004392e3" +[[package]] +name = "utf8_iter" +version = "1.0.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b6c140620e7ffbb22c2dee59cafe6084a59b5ffc27a8859a5f0d494b5d52b6be" + [[package]] name = "uuid" version = "1.11.0" @@ -5010,12 +4906,6 @@ dependencies = [ "wasm-bindgen", ] -[[package]] -name = "vcpkg" -version = "0.2.15" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "accd4ea62f7bb7a82fe23066fb0957d48ef677f6eeb8215f372f52e48bb32426" - [[package]] name = "version_check" version = "0.9.5" @@ -5049,9 +4939,9 @@ checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423" [[package]] name = "wasm-bindgen" -version = "0.2.95" +version = "0.2.93" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "128d1e363af62632b8eb57219c8fd7877144af57558fb2ef0368d0087bddeb2e" +checksum = "a82edfc16a6c469f5f44dc7b571814045d60404b55a0ee849f9bcfa2e63dd9b5" dependencies = [ "cfg-if", "once_cell", @@ -5060,24 +4950,24 @@ dependencies = [ [[package]] name = "wasm-bindgen-backend" -version = "0.2.95" +version = "0.2.93" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cb6dd4d3ca0ddffd1dd1c9c04f94b868c37ff5fac97c30b97cff2d74fce3a358" +checksum = "9de396da306523044d3302746f1208fa71d7532227f15e347e2d93e4145dd77b" dependencies = [ "bumpalo", "log", "once_cell", "proc-macro2", "quote", - "syn 2.0.85", + "syn 2.0.87", "wasm-bindgen-shared", ] [[package]] name = "wasm-bindgen-futures" -version = "0.4.42" +version = "0.4.43" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "76bc14366121efc8dbb487ab05bcc9d346b3b5ec0eaa76e46594cabbe51762c0" +checksum = "61e9300f63a621e96ed275155c108eb6f843b6a26d053f122ab69724559dc8ed" dependencies = [ "cfg-if", "js-sys", @@ -5087,9 +4977,9 @@ dependencies = [ [[package]] name = "wasm-bindgen-macro" -version = "0.2.95" +version = "0.2.93" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e79384be7f8f5a9dd5d7167216f022090cf1f9ec128e6e6a482a2cb5c5422c56" +checksum = "585c4c91a46b072c92e908d99cb1dcdf95c5218eeb6f3bf1efa991ee7a68cccf" dependencies = [ "quote", "wasm-bindgen-macro-support", @@ -5097,22 +4987,22 @@ dependencies = [ [[package]] name = "wasm-bindgen-macro-support" -version = "0.2.95" +version = "0.2.93" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "26c6ab57572f7a24a4985830b120de1594465e5d500f24afe89e16b4e833ef68" +checksum = "afc340c74d9005395cf9dd098506f7f44e38f2b4a21c6aaacf9a105ea5e1e836" dependencies = [ "proc-macro2", "quote", - "syn 2.0.85", + "syn 2.0.87", "wasm-bindgen-backend", "wasm-bindgen-shared", ] [[package]] name = "wasm-bindgen-shared" -version = "0.2.95" +version = "0.2.93" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "65fc09f10666a9f147042251e0dda9c18f166ff7de300607007e96bdebc1068d" +checksum = "c62a0a307cb4a311d3a07867860911ca130c3494e8c2719593806c08bc5d0484" [[package]] name = "wasm-streams" @@ -5142,9 +5032,9 @@ dependencies = [ [[package]] name = "web-sys" -version = "0.3.69" +version = "0.3.70" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "77afa9a11836342370f4817622a2f0f418b134426d91a82dfb48f532d2ec13ef" +checksum = "26fdeaafd9bd129f65e7c031593c24d62186301e0c72c8978fa1678be7d532c0" dependencies = [ "js-sys", "wasm-bindgen", @@ -5330,6 +5220,18 @@ dependencies = [ "memchr", ] +[[package]] +name = "write16" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d1890f4022759daae28ed4fe62859b1236caebfc61ede2f63ed4e695f3f6d936" + +[[package]] +name = "writeable" +version = "0.5.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1e9df38ee2d2c3c5948ea468a8406ff0db0b29ae1ffde1bcf20ef305bcc95c51" + [[package]] name = "ws_stream_wasm" version = "0.7.4" @@ -5370,6 +5272,30 @@ version = "1.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "cfe53a6657fd280eaa890a3bc59152892ffa3e30101319d168b781ed6529b049" +[[package]] +name = "yoke" +version = "0.7.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6c5b1314b079b0930c31e3af543d8ee1757b1951ae1e1565ec704403a7240ca5" +dependencies = [ + "serde", + "stable_deref_trait", + "yoke-derive", + "zerofrom", +] + +[[package]] +name = "yoke-derive" +version = "0.7.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "28cc31741b18cb6f1d5ff12f5b7523e3d6eb0852bbbad19d73905511d9849b95" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.87", + "synstructure", +] + [[package]] name = "zerocopy" version = "0.7.35" @@ -5388,7 +5314,28 @@ checksum = "fa4f8080344d4671fb4e831a13ad1e68092748387dfc4f55e356242fae12ce3e" dependencies = [ "proc-macro2", "quote", - "syn 2.0.85", + "syn 2.0.87", +] + +[[package]] +name = "zerofrom" +version = "0.1.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "91ec111ce797d0e0784a1116d0ddcdbea84322cd79e5d5ad173daeba4f93ab55" +dependencies = [ + "zerofrom-derive", +] + +[[package]] +name = "zerofrom-derive" +version = "0.1.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0ea7b4a3637ea8669cedf0f1fd5c286a17f3de97b8dd5a70a6c167a1730e63a5" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.87", + "synstructure", ] [[package]] @@ -5398,11 +5345,23 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ced3678a2879b30306d323f4542626697a464a97c0a07c9aebf7ebca65cd4dde" [[package]] -name = "zstd-sys" -version = "2.0.13+zstd.1.5.6" +name = "zerovec" +version = "0.10.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "38ff0f21cfee8f97d94cef41359e0c89aa6113028ab0291aa8ca0038995a95aa" +checksum = "aa2b893d79df23bfb12d5461018d408ea19dfafe76c2c7ef6d4eba614f8ff079" dependencies = [ - "cc", - "pkg-config", + "yoke", + "zerofrom", + "zerovec-derive", +] + +[[package]] +name = "zerovec-derive" +version = "0.10.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6eafa6dfb17584ea3e2bd6e76e0cc15ad7af12b09abdd1ca55961bed9b1063c6" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.87", ] diff --git a/Cargo.toml b/Cargo.toml index f3aadd2..d77c2a5 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -19,17 +19,17 @@ tokio = { version = "1", features = [ ], optional = true } tower = { version = "0.5.1", optional = true } tower-http = { version = "0.6.1", features = ["fs"], optional = true } -wasm-bindgen = "0.2.95" +wasm-bindgen = "=0.2.93" thiserror = "1" tracing = { version = "0.1", optional = true } http = "1" pulldown-cmark = "0.12.2" -surrealdb = { version = "2.0.4", features = ["kv-rocksdb"], optional = true } -serde = { version = "1.0.202", features = ["derive"] } +surrealdb = { version = "2.0.4", optional = true } +serde = { version = "1.0.214", features = ["derive"] } semver = { version = "1.0.23", features = ["serde"] } saleor-app-sdk = { version = "0.2.3", default-features = false } chrono = { version = "0.4.38", features = ["serde"] } -strum = { version = "0.26.2", features = ["derive"] } +strum = { version = "0.26.3", features = ["derive"] } [features] hydrate = ["leptos/hydrate", "leptos_meta/hydrate", "leptos_router/hydrate"] diff --git a/design/logo.svg b/design/logo.svg new file mode 100644 index 0000000..572d0cc --- /dev/null +++ b/design/logo.svg @@ -0,0 +1,3047 @@ + + + +Harbourdequick courseproduction Deploymentappdevelopment diff --git a/design/logo.svg.2024_11_05_20_07_51.0.svg b/design/logo.svg.2024_11_05_20_07_51.0.svg new file mode 100644 index 0000000..54ad4ff --- /dev/null +++ b/design/logo.svg.2024_11_05_20_07_51.0.svg @@ -0,0 +1,504 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/design/palette.ase b/design/palette.ase new file mode 100644 index 0000000000000000000000000000000000000000..ee9bb084accc6d256e47e056f1e9333dff7aa1a5 GIT binary patch literal 390 zcmZ<^c6DQ5WB>t9Fs;JC!Jy1w$Y21(CO~Y?z!2o_q+r|7&}h40!9v>|J9Yxqf^4q%l~6Nw7-$x_|%eD}Vm7&wu{`MWq2yl?l*Xb07&ZQ((eGJD|CCFJ8PvQE9|r z1XPs_RG$J-X~)sgY4_vDPkY(9^H5Y80#zge%}ivlfSL(3%U)r@LVJxBE74SfOf+Ul z0-6o69q1E#=fg+rjW%sYQJDtxPcl%QIn3|&4GawS-lxyly?gf_MP&+5l?7Ne)OP#m n+js2w`zP3YoH&W15)?{iK)0F$T>uXyyIZ$z+dX^soPhxV#P?TN literal 0 HcmV?d00001 diff --git a/design/palette.svg b/design/palette.svg new file mode 100644 index 0000000..801bf85 --- /dev/null +++ b/design/palette.svg @@ -0,0 +1,7 @@ + + + + ,,,,,,,, + Exported from Coolors.co + https://coolors.co/101417-fef9ef-094074-227c9d-1da0a8-17c3b2-ffcb77-db8fc8-fe6d73 + \ No newline at end of file diff --git a/docker-compose.yml b/docker-compose.yml index 8c03963..da40824 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -2,17 +2,14 @@ services: surrealdb: env_file: - .env - entrypoint: - - /surreal - - start - - --auth - - --user - - $DB_USER - - --pass - - $DB_PASSWORD - - file:/db/saleor-marketplace.db + command: + - start + - --log=trace + - --user=$DB_USER + - --pass=$DB_PASSWORD + # - ./surrealdb/docker-cache/:/db/saleor-marketplace.db image: surrealdb/surrealdb:latest volumes: - - ./db:/db + - ./surrealdb/docker-cache/:/db ports: - - 8000:8000 + - 4000:8000 diff --git a/src/app.rs b/src/app.rs index 1fd67b2..ee6a724 100644 --- a/src/app.rs +++ b/src/app.rs @@ -18,26 +18,25 @@ pub fn App() -> impl IntoView { provide_meta_context(); view! { - + // sets the document title - + <Title text="Saleors Harbour" /> - <Header/> + <Header /> // content for this welcome page <Router fallback=|| { let mut outside_errors = Errors::default(); outside_errors.insert_with_default_key(AppError::NotFound); - view! { <ErrorTemplate outside_errors/> }.into_view() + view! { <ErrorTemplate outside_errors /> }.into_view() }> <main class="p-4 md:p-8 md:px-16"> <Routes> - <Route path="" view=Home/> - <Route path="/apps" view=Apps/> - <Route path="/apps/" view=Apps/> - <Route path="/apps/create" view=Apps/> - <Route path="/apps/update/:slug" view=Apps/> - <Route path="/guides" view=Guides/> + <Route path="" view=Home /> + <Route path="/apps" view=Apps /> + <Route path="/apps/create" view=Apps /> + <Route path="/apps/update/:slug" view=Apps /> + <Route path="/guides" view=Guides /> </Routes> </main> </Router> diff --git a/src/components/universal/app_editor.rs b/src/components/universal/app_editor.rs index b4bf0a7..361ef90 100644 --- a/src/components/universal/app_editor.rs +++ b/src/components/universal/app_editor.rs @@ -5,59 +5,39 @@ use crate::server::types::{AppCategory, DeploymentType}; #[component] pub fn app_editor() -> impl IntoView { - let name = create_node_ref(); - let slug = create_node_ref(); - let authors = create_node_ref(); - let built_for_url = create_node_ref(); - let description = create_node_ref(); - let version = create_node_ref(); - let images = create_node_ref(); - let logo = create_node_ref(); - let manifest = create_node_ref(); - let supported_deployments = create_node_ref(); - let category = create_node_ref(); - let docker_compose = create_node_ref(); - + // let name = create_ // let slug = create_ // let authors = create_ // let built_for_url = create_ // let description = create_ // let version = create_ // let images = create_ // let logo = create_ // let manifest = create_ // let supported_deployments = create_ // let category = create_ // let docker_compose = create_ view! { <form> <label> - <input node_ref=name type="text" placeholder="Name"/> + <input type="text" placeholder="Name" /> </label> <label> - <input node_ref=slug type="text" placeholder="Slug"/> + <input type="text" placeholder="Slug" /> </label> <label> - <input node_ref=authors type="text" placeholder="<Author, authors@email.tld>"/> + <input type="text" placeholder="<Author, authors@email.tld>" /> </label> <label> - <input - node_ref=built_for_url - id="built_for_url" - placeholder="https://superfaktura.sk/" - /> + <input id="built_for_url" placeholder="https://superfaktura.sk/" /> </label> <label> - <textarea - node_ref=description - id="description" - placeholder="Description" - ></textarea> + <textarea id="description" placeholder="Description"></textarea> </label> <label> - <input node_ref=version id="version" type="text" placeholder="Version"/> + <input id="version" type="text" placeholder="Version" /> </label> <label> - <input node_ref=images id="images" type="file" placeholder="Example images"/> + <input id="images" type="file" placeholder="Example images" /> </label> <label> - <input node_ref=logo id="logo" type="file" placeholder="Logo"/> + <input id="logo" type="file" placeholder="Logo" /> </label> <label> - <textarea node_ref=manifest id="manifest" placeholder="JSON"></textarea> + <textarea id="manifest" placeholder="JSON"></textarea> </label> <label> - <select multiple node_ref=supported_deployments id="supported_deployments"> + <select multiple id="supported_deployments"> {move || { DeploymentType::iter() .map(|d| { @@ -70,7 +50,7 @@ pub fn app_editor() -> impl IntoView { </select> </label> <label> - <select node_ref=category id="category"> + <select id="category"> {move || { AppCategory::iter() .map(|d| { @@ -83,7 +63,7 @@ pub fn app_editor() -> impl IntoView { </select> </label> <label> - <textarea node_ref=docker_compose id="docker_compose"></textarea> + <textarea id="docker_compose"></textarea> </label> </form> diff --git a/src/error_template.rs b/src/error_template.rs index 1e0508d..511bd6e 100644 --- a/src/error_template.rs +++ b/src/error_template.rs @@ -52,16 +52,16 @@ pub fn ErrorTemplate( } view! { - <h1>{if errors.len() > 1 {"Errors"} else {"Error"}}</h1> + <h1>{if errors.len() > 1 { "Errors" } else { "Error" }}</h1> <For // a function that returns the items we're iterating over; a signal is fine - each= move || {errors.clone().into_iter().enumerate()} + each=move || { errors.clone().into_iter().enumerate() } // a unique key for each item as a reference key=|(index, _error)| *index // renders each item to a view children=move |error| { let error_string = error.1.to_string(); - let error_code= error.1.status_code(); + let error_code = error.1.status_code(); view! { <h2>{error_code.to_string()}</h2> <p>"Error: " {error_string}</p> diff --git a/src/lib.rs b/src/lib.rs index 32befb0..7ce2695 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -7,6 +7,10 @@ pub mod components; pub mod routes; pub mod server; +const DB_URL: &str = "http://localhost:4000"; +const DB_USER: &str = "saleor-marketplace"; +const DB_PASSWORD: &str = r##"{%cA_#dr}{3ZDGC,Jy<+S-_M+FE?]][Cu#ND_V"##; + #[cfg(feature = "hydrate")] #[wasm_bindgen::prelude::wasm_bindgen] pub fn hydrate() { diff --git a/src/main.rs b/src/main.rs index 7d84e3b..fcc2216 100644 --- a/src/main.rs +++ b/src/main.rs @@ -1,11 +1,20 @@ pub mod server; pub mod components; pub mod routes; +pub mod migrations; + +const DB_URL: &str = "http://localhost:4000"; +const DB_USER: &str = "saleor-marketplace"; +const DB_PASSWORD: &str = r##"{%cA_#dr}{3ZDGC,Jy<+S-_M+FE?]][Cu#ND_V"##; #[cfg(feature = "ssr")] #[tokio::main] async fn main() { - + let args: Vec<String> = std::env::args().collect(); + if args.contains(&"--migrations".to_owned()){ + migrations::apply_migrations().await.unwrap(); + std::process::exit(0) +} use axum::Router; use leptos::*; use leptos_axum::{generate_route_list, LeptosRoutes}; diff --git a/src/migrations/mod.rs b/src/migrations/mod.rs new file mode 100644 index 0000000..a30afd0 --- /dev/null +++ b/src/migrations/mod.rs @@ -0,0 +1,17 @@ +use thiserror::Error; +use crate::server; + +#[derive(Error, Debug)] +pub enum MigrationError { + #[error("Failed to connect to DB, `{0}`")] + Surreal(#[from] surrealdb::Error), +} + +const SCHEMA :&str= include_str!("../../surrealdb/schema.surql"); + +pub async fn apply_migrations() -> Result<(), MigrationError> { + let client = server::db::connect().await?; + client.query(SCHEMA).await?; + Ok(()) +} + diff --git a/src/server/db.rs b/src/server/db.rs index cf4d975..a0bc574 100644 --- a/src/server/db.rs +++ b/src/server/db.rs @@ -1,19 +1,20 @@ use serde::Deserialize; -use surrealdb::engine::local::Db; -use surrealdb::engine::local::RocksDb; +use surrealdb::engine::remote::ws::{Client, Ws}; use surrealdb::sql::Thing; use surrealdb::Surreal; +use crate::DB_URL; + #[derive(Debug, Deserialize)] struct Record { #[allow(dead_code)] id: Thing, } -pub async fn connect() -> surrealdb::Result<Surreal<Db>> { +pub async fn connect() -> surrealdb::Result<Surreal<Client>> { // Create database connection - let db = Surreal::new::<RocksDb>("./db").await?; + let db = Surreal::new::<Ws>(DB_URL).await?; // Select a specific namespace / database db.use_ns("marketplace").use_db("apps").await?; diff --git a/surrealdb/schema.surql b/surrealdb/schema.surql index f533a53..46b397e 100644 --- a/surrealdb/schema.surql +++ b/surrealdb/schema.surql @@ -1,9 +1,10 @@ #TODO: -# - precomputed view for landing page https://surrealdb.com/docs/surrealql/statements/define/table#pre-computed-table-views -# - Oauth for github -# - passwords and sign in -# - system user for frontend with EDITOR role scoped to only this db https://surrealdb.com/docs/surrealql/statements/define/user#roles -# - search function https://surrealdb.com/learn/fundamentals/performance/index-data-model#full-text-search-indexes +# [-] precomputed view for landing page https://surrealdb.com/docs/surrealql/statements/define/table#pre-computed-table-views +# [-] Oauth for github +# [-] passwords and sign in +# [-] system user for frontend with EDITOR role scoped to only this db https://surrealdb.com/docs/surrealql/statements/define/user#roles +# [-] search function https://surrealdb.com/learn/fundamentals/performance/index-data-model#full-text-search-indexes +# [-] root user REMOVE NAMESPACE saleor_marketplace; REMOVE DATABASE main; @@ -237,48 +238,3 @@ DEFINE ACCESS author ON DATABASE TYPE RECORD } DURATION FOR SESSION 12h, FOR TOKEN 5s ; - -DELETE author:djkato; -DELETE app:[ - author:djkato, - 'stripe-payment-gateway' -]; -CREATE author:djkato SET name = 'Djkáťo', socials = [ - 'https://twitter.com/djkato_vfx' -], email = 'djkatovfx@gmail.com'; -CREATE app:[ - author:djkato, - 'stripe-payment-gateway' -] SET versions = [ - '1.0.0' -], slug = [ - author:djkato, - 'stripe-payment-gateway' -], current_version = '1.0.0', images = [ - 'https://imgur.com/g/img.jfif' -], is_verified = false, supported_deployments = [ - 'Docker' -], minimal_docker_compose = '', categories = [ - 'Payments' -], supported_apls = [ - 'Redis' -], manifest = { - about: 'cool stripe integration', - app_permissions: [ - 'MANAGE_USERS' - ], - app_url: 'https://app-payment-gateway.test.com', - author: 'Djkáťo <djkatovfx@gmail.com>', - extensions: [], - id: 'stripe-payment-gateway', - name: 'Stripe Payment Gateway', - token_target_url: 'https://app-payment-gateway.test.com/api/register', - version: '1.0.0', - webhooks: [] -}; -SELECT manifest FROM app:[ - author:djkato, - NONE -]..[ - author:djkato -]; diff --git a/surrealdb/tests.surql b/surrealdb/tests.surql index 96eb455..c99ec30 100644 --- a/surrealdb/tests.surql +++ b/surrealdb/tests.surql @@ -1,30 +1,44 @@ -DELETE user:djkato; -DELETE saleor_app:[user:djkato, "stripe-payment-gateway"]; - -CREATE author:djkato SET - name = "Djkáťo", - socials = ["https://twitter.com/djkato_vfx"], - email = "djkatovfx@gmail.com"; - -CREATE saleor_app:[author:djkato, "stripe-payment-gateway"] SET - versions = ["1.0.0"], - current_version = "1.0.0", - images = ["https://imgur.com/g/img.jfif"], - is_verified = false, - supported_deployments = ["Docker"], - minimal_docker_compose = "", - categories = ["Payments"], - created= d"2024-09-14T20:58:53.766Z", - last_updated = d"2024-09-14T20:58:53.766Z", - manifest = { - about: "cool stripe integration", - app_permissions: ["MANAGE_USERS"], - app_url: "https://app-payment-gateway.test.com", - author: "Djkáťo <djkatovfx@gmail.com>", - token_target_url: "https://app-payment-gateway.test.com/api/register", - id: "stripe-payment-gateway", - name: "Stripe Payment Gateway", - version: "1.0", - }; - -SELECT manifest FROM saleor_app:[user:djkato, NONE]..[user:djkato]; +DELETE author:djkato; +DELETE app:[ + author:djkato, + 'stripe-payment-gateway' +]; +CREATE author:djkato SET name = 'Djkáťo', socials = [ + 'https://twitter.com/djkato_vfx' +], email = 'djkatovfx@gmail.com'; +CREATE app:[ + author:djkato, + 'stripe-payment-gateway' +] SET versions = [ + '1.0.0' +], slug = [ + author:djkato, + 'stripe-payment-gateway' +], current_version = '1.0.0', images = [ + 'https://imgur.com/g/img.jfif' +], is_verified = false, supported_deployments = [ + 'Docker' +], minimal_docker_compose = '', categories = [ + 'Payments' +], supported_apls = [ + 'Redis' +], manifest = { + about: 'cool stripe integration', + app_permissions: [ + 'MANAGE_USERS' + ], + app_url: 'https://app-payment-gateway.test.com', + author: 'Djkáťo <djkatovfx@gmail.com>', + extensions: [], + id: 'stripe-payment-gateway', + name: 'Stripe Payment Gateway', + token_target_url: 'https://app-payment-gateway.test.com/api/register', + version: '1.0.0', + webhooks: [] +}; +SELECT manifest FROM app:[ + author:djkato, + NONE +]..[ + author:djkato +];