Update lemmy-api-common to 0.18.0 (using a fork due to issues)

This commit is contained in:
Bnyro 2023-06-24 12:40:41 +02:00
parent dca386e67a
commit 52da877e17
8 changed files with 212 additions and 248 deletions

426
Cargo.lock generated
View File

@ -28,6 +28,7 @@ dependencies = [
"actix-codec", "actix-codec",
"actix-rt", "actix-rt",
"actix-service", "actix-service",
"actix-tls",
"actix-utils", "actix-utils",
"ahash 0.8.3", "ahash 0.8.3",
"base64", "base64",
@ -84,7 +85,6 @@ version = "2.8.0"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "15265b6b8e2347670eb363c47fc8c75208b4a4994b27192f345fcbe707804f3e" checksum = "15265b6b8e2347670eb363c47fc8c75208b4a4994b27192f345fcbe707804f3e"
dependencies = [ dependencies = [
"actix-macros",
"futures-core", "futures-core",
"tokio", "tokio",
] ]
@ -118,6 +118,24 @@ dependencies = [
"pin-project-lite", "pin-project-lite",
] ]
[[package]]
name = "actix-tls"
version = "3.0.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "9fde0cf292f7cdc7f070803cb9a0d45c018441321a78b1042ffbbb81ec333297"
dependencies = [
"actix-codec",
"actix-rt",
"actix-service",
"actix-utils",
"futures-core",
"log",
"pin-project-lite",
"tokio-rustls",
"tokio-util",
"webpki-roots",
]
[[package]] [[package]]
name = "actix-utils" name = "actix-utils"
version = "3.0.1" version = "3.0.1"
@ -136,11 +154,14 @@ checksum = "cd3cb42f9566ab176e1ef0b8b3a896529062b4efc6be0123046095914c4c1c96"
dependencies = [ dependencies = [
"actix-codec", "actix-codec",
"actix-http", "actix-http",
"actix-macros",
"actix-router", "actix-router",
"actix-rt", "actix-rt",
"actix-server", "actix-server",
"actix-service", "actix-service",
"actix-tls",
"actix-utils", "actix-utils",
"actix-web-codegen",
"ahash 0.7.6", "ahash 0.7.6",
"bytes", "bytes",
"bytestring", "bytestring",
@ -167,16 +188,15 @@ dependencies = [
] ]
[[package]] [[package]]
name = "actix-ws" name = "actix-web-codegen"
version = "0.2.5" version = "4.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "535aec173810be3ca6f25dd5b4d431ae7125d62000aa3cbae1ec739921b02cf3" checksum = "2262160a7ae29e3415554a3f1fc04c764b1540c116aa524683208078b7a75bc9"
dependencies = [ dependencies = [
"actix-codec", "actix-router",
"actix-http", "proc-macro2",
"actix-web", "quote",
"futures-core", "syn 1.0.109",
"tokio",
] ]
[[package]] [[package]]
@ -236,15 +256,6 @@ version = "1.0.71"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "9c7d0618f0e0b7e8ff11427422b64564d5fb0be1940354bfe2e0529b18a9d9b8" checksum = "9c7d0618f0e0b7e8ff11427422b64564d5fb0be1940354bfe2e0529b18a9d9b8"
[[package]]
name = "async-mutex"
version = "1.4.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "479db852db25d9dbf6204e6cb6253698f175c15726470f78af0d918e99d6156e"
dependencies = [
"event-listener",
]
[[package]] [[package]]
name = "async-trait" name = "async-trait"
version = "0.1.68" version = "0.1.68"
@ -262,55 +273,6 @@ version = "1.1.0"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa" checksum = "d468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa"
[[package]]
name = "background-jobs"
version = "0.13.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "793a813f9145c5f3a27b8dcd834c0927de68bbd60d53a369e5894f3cc5759020"
dependencies = [
"background-jobs-actix",
"background-jobs-core",
]
[[package]]
name = "background-jobs-actix"
version = "0.13.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "47263ad9c5679419347dae655c2fa2cba078b0eaa51ac758d4f0e9690c06910b"
dependencies = [
"actix-rt",
"anyhow",
"async-mutex",
"async-trait",
"background-jobs-core",
"serde",
"serde_json",
"thiserror",
"tokio",
"tracing",
"tracing-futures",
"uuid",
]
[[package]]
name = "background-jobs-core"
version = "0.13.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "48e78e842fe2ae461319e3d1843c12e301630e65650332b02032ac70b0dfc66f"
dependencies = [
"actix-rt",
"anyhow",
"async-trait",
"event-listener",
"serde",
"serde_json",
"thiserror",
"time",
"tracing",
"tracing-futures",
"uuid",
]
[[package]] [[package]]
name = "base64" name = "base64"
version = "0.21.2" version = "0.21.2"
@ -442,25 +404,6 @@ dependencies = [
"libc", "libc",
] ]
[[package]]
name = "crossbeam-channel"
version = "0.5.8"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "a33c2bf77f2df06183c3aa30d1e96c0695a313d4f9c453cc3762a6db39f99200"
dependencies = [
"cfg-if",
"crossbeam-utils",
]
[[package]]
name = "crossbeam-utils"
version = "0.8.16"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "5a22b2d63d4d1dc0b7f1b6b2747dd0088008a9be28b6ddf0b1e7d335e3037294"
dependencies = [
"cfg-if",
]
[[package]] [[package]]
name = "crypto-common" name = "crypto-common"
version = "0.1.6" version = "0.1.6"
@ -471,6 +414,41 @@ dependencies = [
"typenum", "typenum",
] ]
[[package]]
name = "darling"
version = "0.13.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "a01d95850c592940db9b8194bc39f4bc0e89dee5c4265e4b1807c34a9aba453c"
dependencies = [
"darling_core",
"darling_macro",
]
[[package]]
name = "darling_core"
version = "0.13.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "859d65a907b6852c9361e3185c862aae7fafd2887876799fa55f5f99dc40d610"
dependencies = [
"fnv",
"ident_case",
"proc-macro2",
"quote",
"strsim",
"syn 1.0.109",
]
[[package]]
name = "darling_macro"
version = "0.13.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "9c972679f83bdf9c42bd905396b6c3588a843a17f0f16dfcfa3e2c5d57441835"
dependencies = [
"darling_core",
"quote",
"syn 1.0.109",
]
[[package]] [[package]]
name = "derive_more" name = "derive_more"
version = "0.99.17" version = "0.99.17"
@ -524,12 +502,6 @@ dependencies = [
"libc", "libc",
] ]
[[package]]
name = "event-listener"
version = "2.5.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "0206175f82b8d6bf6652ff7d71a1e27fd2e4efde587fd368662814d6ec1d9ce0"
[[package]] [[package]]
name = "fastrand" name = "fastrand"
version = "1.9.0" version = "1.9.0"
@ -559,7 +531,7 @@ dependencies = [
"futures-sink", "futures-sink",
"nanorand", "nanorand",
"pin-project", "pin-project",
"spin", "spin 0.9.8",
] ]
[[package]] [[package]]
@ -1130,6 +1102,12 @@ dependencies = [
"tokio-native-tls", "tokio-native-tls",
] ]
[[package]]
name = "ident_case"
version = "1.0.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b9e0384b61958566e926dc50660321d12159025e767c18e043daf26b70104c39"
[[package]] [[package]]
name = "idna" name = "idna"
version = "0.4.0" version = "0.4.0"
@ -1205,74 +1183,72 @@ checksum = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646"
[[package]] [[package]]
name = "lemmy_api_common" name = "lemmy_api_common"
version = "0.17.2" version = "0.18.0"
source = "git+https://github.com/LemmyNet/lemmy.git?tag=0.17.2#a24a4b3ddc7ac5af241d435a39abd9aac82591e0" source = "git+https://github.com/Bnyro/lemmy.git?rev=ff69cd151988fa4cff5a6f3789c5675a2e3257f8#ff69cd151988fa4cff5a6f3789c5675a2e3257f8"
dependencies = [ dependencies = [
"actix-ws", "actix-rt",
"actix-web",
"anyhow", "anyhow",
"background-jobs",
"futures", "futures",
"lemmy_db_schema", "lemmy_db_schema",
"lemmy_db_views", "lemmy_db_views",
"lemmy_db_views_actor", "lemmy_db_views_actor",
"lemmy_db_views_moderator", "lemmy_db_views_moderator",
"opentelemetry",
"rand",
"regex", "regex",
"reqwest",
"serde", "serde",
"serde_json", "serde_with",
"strum",
"strum_macros",
"tokio",
"tracing-opentelemetry",
"url", "url",
"uuid",
] ]
[[package]] [[package]]
name = "lemmy_db_schema" name = "lemmy_db_schema"
version = "0.17.2" version = "0.18.0"
source = "git+https://github.com/LemmyNet/lemmy.git?tag=0.17.2#a24a4b3ddc7ac5af241d435a39abd9aac82591e0" source = "git+https://github.com/Bnyro/lemmy.git?rev=ff69cd151988fa4cff5a6f3789c5675a2e3257f8#ff69cd151988fa4cff5a6f3789c5675a2e3257f8"
dependencies = [ dependencies = [
"async-trait", "async-trait",
"chrono", "chrono",
"serde", "serde",
"serde_with",
"strum", "strum",
"strum_macros", "strum_macros",
"tokio", "tokio",
"tracing", "tracing",
"tracing-error",
"typed-builder", "typed-builder",
"url", "url",
] ]
[[package]] [[package]]
name = "lemmy_db_views" name = "lemmy_db_views"
version = "0.17.2" version = "0.18.0"
source = "git+https://github.com/LemmyNet/lemmy.git?tag=0.17.2#a24a4b3ddc7ac5af241d435a39abd9aac82591e0" source = "git+https://github.com/Bnyro/lemmy.git?rev=ff69cd151988fa4cff5a6f3789c5675a2e3257f8#ff69cd151988fa4cff5a6f3789c5675a2e3257f8"
dependencies = [ dependencies = [
"lemmy_db_schema", "lemmy_db_schema",
"serde", "serde",
"serde_with",
"typed-builder", "typed-builder",
"url",
] ]
[[package]] [[package]]
name = "lemmy_db_views_actor" name = "lemmy_db_views_actor"
version = "0.17.2" version = "0.18.0"
source = "git+https://github.com/LemmyNet/lemmy.git?tag=0.17.2#a24a4b3ddc7ac5af241d435a39abd9aac82591e0" source = "git+https://github.com/Bnyro/lemmy.git?rev=ff69cd151988fa4cff5a6f3789c5675a2e3257f8#ff69cd151988fa4cff5a6f3789c5675a2e3257f8"
dependencies = [ dependencies = [
"lemmy_db_schema", "lemmy_db_schema",
"serde", "serde",
"serde_with",
"typed-builder", "typed-builder",
] ]
[[package]] [[package]]
name = "lemmy_db_views_moderator" name = "lemmy_db_views_moderator"
version = "0.17.2" version = "0.18.0"
source = "git+https://github.com/LemmyNet/lemmy.git?tag=0.17.2#a24a4b3ddc7ac5af241d435a39abd9aac82591e0" source = "git+https://github.com/Bnyro/lemmy.git?rev=ff69cd151988fa4cff5a6f3789c5675a2e3257f8#ff69cd151988fa4cff5a6f3789c5675a2e3257f8"
dependencies = [ dependencies = [
"lemmy_db_schema", "lemmy_db_schema",
"serde", "serde",
"serde_with",
] ]
[[package]] [[package]]
@ -1561,27 +1537,6 @@ dependencies = [
"vcpkg", "vcpkg",
] ]
[[package]]
name = "opentelemetry"
version = "0.17.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "6105e89802af13fdf48c49d7646d3b533a70e536d818aae7e78ba0433d01acb8"
dependencies = [
"async-trait",
"crossbeam-channel",
"futures-channel",
"futures-executor",
"futures-util",
"js-sys",
"lazy_static",
"percent-encoding",
"pin-project",
"rand",
"thiserror",
"tokio",
"tokio-stream",
]
[[package]] [[package]]
name = "pango" name = "pango"
version = "0.17.10" version = "0.17.10"
@ -1923,6 +1878,21 @@ dependencies = [
"winreg", "winreg",
] ]
[[package]]
name = "ring"
version = "0.16.20"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "3053cf52e236a3ed746dfc745aa9cacf1b791d846bdaf412f60a8d7d6e17c8fc"
dependencies = [
"cc",
"libc",
"once_cell",
"spin 0.5.2",
"untrusted",
"web-sys",
"winapi",
]
[[package]] [[package]]
name = "rustc_version" name = "rustc_version"
version = "0.4.0" version = "0.4.0"
@ -1946,6 +1916,18 @@ dependencies = [
"windows-sys 0.48.0", "windows-sys 0.48.0",
] ]
[[package]]
name = "rustls"
version = "0.20.8"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "fff78fc74d175294f4e83b28343315ffcfb114b156f0185e9741cb5570f50e2f"
dependencies = [
"log",
"ring",
"sct",
"webpki",
]
[[package]] [[package]]
name = "rustversion" name = "rustversion"
version = "1.0.12" version = "1.0.12"
@ -1973,6 +1955,16 @@ version = "1.1.0"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d29ab0c6d3fc0ee92fe66e2d99f700eab17a8d57d1c1d3b748380fb20baa78cd" checksum = "d29ab0c6d3fc0ee92fe66e2d99f700eab17a8d57d1c1d3b748380fb20baa78cd"
[[package]]
name = "sct"
version = "0.7.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d53dcdb7c9f8158937a7981b48accfd39a43af418591a5d008c7b22b5e1b7ca4"
dependencies = [
"ring",
"untrusted",
]
[[package]] [[package]]
name = "security-framework" name = "security-framework"
version = "2.9.1" version = "2.9.1"
@ -2028,7 +2020,6 @@ version = "1.0.97"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "bdf3bf93142acad5821c99197022e170842cdbc1c30482b98750c688c640842a" checksum = "bdf3bf93142acad5821c99197022e170842cdbc1c30482b98750c688c640842a"
dependencies = [ dependencies = [
"indexmap",
"itoa", "itoa",
"ryu", "ryu",
"serde", "serde",
@ -2055,6 +2046,28 @@ dependencies = [
"serde", "serde",
] ]
[[package]]
name = "serde_with"
version = "1.14.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "678b5a069e50bf00ecd22d0cd8ddf7c236f68581b03db652061ed5eb13a312ff"
dependencies = [
"serde",
"serde_with_macros",
]
[[package]]
name = "serde_with_macros"
version = "1.5.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "e182d6ec6f05393cc0e5ed1bf81ad6db3a8feedf8ee515ecdd369809bcce8082"
dependencies = [
"darling",
"proc-macro2",
"quote",
"syn 1.0.109",
]
[[package]] [[package]]
name = "sha1" name = "sha1"
version = "0.10.5" version = "0.10.5"
@ -2066,15 +2079,6 @@ dependencies = [
"digest", "digest",
] ]
[[package]]
name = "sharded-slab"
version = "0.1.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "900fba806f70c630b0a382d0d825e17a0f19fcd059a2ade1ff237bcddf446b31"
dependencies = [
"lazy_static",
]
[[package]] [[package]]
name = "signal-hook-registry" name = "signal-hook-registry"
version = "1.4.1" version = "1.4.1"
@ -2115,6 +2119,12 @@ dependencies = [
"winapi", "winapi",
] ]
[[package]]
name = "spin"
version = "0.5.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "6e63cff320ae2c57904679ba7cb63280a3dc4613885beafb148ee7bf9aa9042d"
[[package]] [[package]]
name = "spin" name = "spin"
version = "0.9.8" version = "0.9.8"
@ -2150,6 +2160,12 @@ dependencies = [
"quote", "quote",
] ]
[[package]]
name = "strsim"
version = "0.10.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "73473c0e59e6d5812c5dfe2a064a6444949f089e20eec9a2e5506596494e4623"
[[package]] [[package]]
name = "strum" name = "strum"
version = "0.24.1" version = "0.24.1"
@ -2255,16 +2271,6 @@ dependencies = [
"syn 2.0.18", "syn 2.0.18",
] ]
[[package]]
name = "thread_local"
version = "1.1.7"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "3fdd6f064ccff2d6567adcb3873ca630700f00b5ad3f060c25b5dcfd9a4ce152"
dependencies = [
"cfg-if",
"once_cell",
]
[[package]] [[package]]
name = "time" name = "time"
version = "0.3.22" version = "0.3.22"
@ -2322,21 +2328,9 @@ dependencies = [
"pin-project-lite", "pin-project-lite",
"signal-hook-registry", "signal-hook-registry",
"socket2", "socket2",
"tokio-macros",
"windows-sys 0.48.0", "windows-sys 0.48.0",
] ]
[[package]]
name = "tokio-macros"
version = "2.1.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "630bdcf245f78637c13ec01ffae6187cca34625e8c63150d424b59e55af2675e"
dependencies = [
"proc-macro2",
"quote",
"syn 2.0.18",
]
[[package]] [[package]]
name = "tokio-native-tls" name = "tokio-native-tls"
version = "0.3.1" version = "0.3.1"
@ -2348,14 +2342,14 @@ dependencies = [
] ]
[[package]] [[package]]
name = "tokio-stream" name = "tokio-rustls"
version = "0.1.14" version = "0.23.4"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "397c988d37662c7dda6d2208364a706264bf3d6138b11d436cbac0ad38832842" checksum = "c43ee83903113e03984cb9e5cebe6c04a5116269e900e3ddba8f068a62adda59"
dependencies = [ dependencies = [
"futures-core", "rustls",
"pin-project-lite",
"tokio", "tokio",
"webpki",
] ]
[[package]] [[package]]
@ -2443,63 +2437,6 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "0955b8137a1df6f1a2e9a37d8a6656291ff0297c1a97c24e0d8425fe2312f79a" checksum = "0955b8137a1df6f1a2e9a37d8a6656291ff0297c1a97c24e0d8425fe2312f79a"
dependencies = [ dependencies = [
"once_cell", "once_cell",
"valuable",
]
[[package]]
name = "tracing-error"
version = "0.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d686ec1c0f384b1277f097b2f279a2ecc11afe8c133c1aabf036a27cb4cd206e"
dependencies = [
"tracing",
"tracing-subscriber",
]
[[package]]
name = "tracing-futures"
version = "0.2.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "97d095ae15e245a057c8e8451bab9b3ee1e1f68e9ba2b4fbc18d0ac5237835f2"
dependencies = [
"pin-project",
"tracing",
]
[[package]]
name = "tracing-log"
version = "0.1.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "78ddad33d2d10b1ed7eb9d1f518a5674713876e97e5bb9b7345a7984fbb4f922"
dependencies = [
"lazy_static",
"log",
"tracing-core",
]
[[package]]
name = "tracing-opentelemetry"
version = "0.17.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "fbbe89715c1dbbb790059e2565353978564924ee85017b5fff365c872ff6721f"
dependencies = [
"once_cell",
"opentelemetry",
"tracing",
"tracing-core",
"tracing-log",
"tracing-subscriber",
]
[[package]]
name = "tracing-subscriber"
version = "0.3.17"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "30a651bc37f915e81f087d86e62a18eec5f79550c7faff886f7090b4ea757c77"
dependencies = [
"sharded-slab",
"thread_local",
"tracing-core",
] ]
[[package]] [[package]]
@ -2566,6 +2503,12 @@ dependencies = [
"tinyvec", "tinyvec",
] ]
[[package]]
name = "untrusted"
version = "0.7.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "a156c684c91ea7d62626509bce3cb4e1d9ed5c4d978f7b4352658f96a4c26b4a"
[[package]] [[package]]
name = "url" name = "url"
version = "2.4.0" version = "2.4.0"
@ -2594,12 +2537,6 @@ dependencies = [
"serde", "serde",
] ]
[[package]]
name = "valuable"
version = "0.1.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "830b7e5d4d90034032940e4ace0d9a9a057e7a45cd94e6c007832e39edb82f6d"
[[package]] [[package]]
name = "vcpkg" name = "vcpkg"
version = "0.2.15" version = "0.2.15"
@ -2709,6 +2646,25 @@ dependencies = [
"wasm-bindgen", "wasm-bindgen",
] ]
[[package]]
name = "webpki"
version = "0.22.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f095d78192e208183081cc07bc5515ef55216397af48b873e5edcd72637fa1bd"
dependencies = [
"ring",
"untrusted",
]
[[package]]
name = "webpki-roots"
version = "0.22.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b6c71e40d7d2c34a5106301fb632274ca37242cd0c9d3e64dbece371a40a2d87"
dependencies = [
"webpki",
]
[[package]] [[package]]
name = "winapi" name = "winapi"
version = "0.3.9" version = "0.3.9"

View File

@ -9,6 +9,6 @@ relm4-components = { version = "0.6.0", features = ["web"] }
reqwest = { version = "0.11.16", features = ["json", "blocking"] } reqwest = { version = "0.11.16", features = ["json", "blocking"] }
serde = { version = "1.0.160", features = ["derive"] } serde = { version = "1.0.160", features = ["derive"] }
serde_json = "1.0.96" serde_json = "1.0.96"
lemmy_api_common = { git = "https://github.com/LemmyNet/lemmy.git", tag = "0.17.2" } lemmy_api_common = { git = "https://github.com/Bnyro/lemmy.git", rev = "ff69cd151988fa4cff5a6f3789c5675a2e3257f8" }
markdown = "0.3.0" markdown = "0.3.0"
html2pango = "0.5.0" html2pango = "0.5.0"

View File

@ -1,9 +1,10 @@
use lemmy_api_common::{person::Login, sensitive::Sensitive}; use lemmy_api_common::{person::Login, sensitive::Sensitive};
pub fn login(username_or_email: String, password: String) -> std::result::Result<lemmy_api_common::person::LoginResponse, reqwest::Error> { pub fn login(username_or_email: String, password: String, totp_token: Option<String>) -> std::result::Result<lemmy_api_common::person::LoginResponse, reqwest::Error> {
let params = Login { let params = Login {
username_or_email: Sensitive::new(username_or_email), username_or_email: Sensitive::new(username_or_email),
password: Sensitive::new(password) password: Sensitive::new(password),
totp_2fa_token: totp_token,
}; };
super::post("/user/login", &params) super::post("/user/login", &params)

View File

@ -5,8 +5,8 @@ use crate::settings;
pub fn get_post(id: PostId) -> Result<GetPostResponse, reqwest::Error> { pub fn get_post(id: PostId) -> Result<GetPostResponse, reqwest::Error> {
let params = GetPost { let params = GetPost {
id: Some(id), id: Some(id),
auth: settings::get_current_account().jwt, comment_id: None,
..Default::default() auth: settings::get_current_account().jwt
}; };
super::get("/post", &params) super::get("/post", &params)

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -49,7 +49,7 @@ struct App {
pub enum AppMsg { pub enum AppMsg {
ChooseInstance, ChooseInstance,
ShowLogin, ShowLogin,
Login(String, String), Login(String, String, String),
LoggedIn, LoggedIn,
Logout, Logout,
ShowMessage(String), ShowMessage(String),
@ -198,6 +198,10 @@ impl SimpleComponent for App {
set_placeholder_text: Some("Password"), set_placeholder_text: Some("Password"),
set_show_peek_icon: true, set_show_peek_icon: true,
}, },
#[name(totp_token)]
gtk::Entry {
set_placeholder_text: Some("Totp token (Optional)"),
},
gtk::Box { gtk::Box {
set_orientation: gtk::Orientation::Horizontal, set_orientation: gtk::Orientation::Horizontal,
set_halign: gtk::Align::End, set_halign: gtk::Align::End,
@ -209,12 +213,14 @@ impl SimpleComponent for App {
}, },
gtk::Button { gtk::Button {
set_label: "Login", set_label: "Login",
connect_clicked[sender, username, password] => move |_| { connect_clicked[sender, username, password, totp_token] => move |_| {
let username_text = username.text().as_str().to_string(); let username_text = username.text().as_str().to_string();
username.set_text(""); username.set_text("");
let password_text = password.text().as_str().to_string(); let password_text = password.text().as_str().to_string();
password.set_text(""); password.set_text("");
sender.input(AppMsg::Login(username_text, password_text)); let totp_token_text = totp_token.text().as_str().to_string();
totp_token.set_text("");
sender.input(AppMsg::Login(username_text, password_text, totp_token_text));
}, },
}, },
} }
@ -477,11 +483,12 @@ impl SimpleComponent for App {
AppMsg::ShowLogin => { AppMsg::ShowLogin => {
self.state = AppState::Login; self.state = AppState::Login;
} }
AppMsg::Login(username, password) => { AppMsg::Login(username, password, totp_token) => {
if get_current_account().instance_url.is_empty() { return; } if get_current_account().instance_url.is_empty() { return; }
let token = if totp_token.is_empty() { None } else { Some(totp_token) };
self.state = AppState::Loading; self.state = AppState::Loading;
std::thread::spawn(move || { std::thread::spawn(move || {
let message = match api::auth::login(username, password) { let message = match api::auth::login(username, password, token) {
Ok(login) => { Ok(login) => {
if let Some(token) = login.jwt { if let Some(token) = login.jwt {
let mut account = settings::get_current_account(); let mut account = settings::get_current_account();