smbcloud-cli 0.3.41__tar.gz → 0.4.1__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {smbcloud_cli-0.3.41 → smbcloud_cli-0.4.1}/Cargo.lock +14 -14
- {smbcloud_cli-0.3.41 → smbcloud_cli-0.4.1}/Cargo.toml +9 -9
- {smbcloud_cli-0.3.41 → smbcloud_cli-0.4.1}/PKG-INFO +9 -9
- {smbcloud_cli-0.3.41 → smbcloud_cli-0.4.1}/README.md +8 -8
- {smbcloud_cli-0.3.41 → smbcloud_cli-0.4.1}/crates/cli/Cargo.toml +1 -1
- {smbcloud_cli-0.3.41 → smbcloud_cli-0.4.1}/crates/cli/README.md +5 -3
- {smbcloud_cli-0.3.41 → smbcloud_cli-0.4.1}/crates/cli/src/account/login/process.rs +10 -2
- {smbcloud_cli-0.3.41 → smbcloud_cli-0.4.1}/crates/cli/src/deploy/process_deploy_nextjs_ssr.rs +97 -43
- {smbcloud_cli-0.3.41 → smbcloud_cli-0.4.1}/crates/smbcloud-auth/Cargo.toml +1 -1
- {smbcloud_cli-0.3.41 → smbcloud_cli-0.4.1}/crates/smbcloud-auth/README.md +2 -2
- {smbcloud_cli-0.3.41 → smbcloud_cli-0.4.1}/crates/smbcloud-auth/src/login.rs +13 -4
- {smbcloud_cli-0.3.41 → smbcloud_cli-0.4.1}/crates/smbcloud-auth/src/resend_reset_password_instruction.rs +18 -6
- {smbcloud_cli-0.3.41 → smbcloud_cli-0.4.1}/crates/smbcloud-mail/Cargo.toml +1 -1
- {smbcloud_cli-0.3.41 → smbcloud_cli-0.4.1}/crates/smbcloud-mail/README.md +1 -1
- {smbcloud_cli-0.3.41 → smbcloud_cli-0.4.1}/crates/smbcloud-model/Cargo.toml +1 -1
- {smbcloud_cli-0.3.41 → smbcloud_cli-0.4.1}/crates/smbcloud-model/README.md +1 -1
- {smbcloud_cli-0.3.41 → smbcloud_cli-0.4.1}/crates/smbcloud-model/src/account.rs +10 -0
- {smbcloud_cli-0.3.41 → smbcloud_cli-0.4.1}/crates/smbcloud-network/Cargo.toml +1 -1
- {smbcloud_cli-0.3.41 → smbcloud_cli-0.4.1}/crates/smbcloud-network/README.md +1 -1
- {smbcloud_cli-0.3.41 → smbcloud_cli-0.4.1}/crates/smbcloud-networking/Cargo.toml +1 -1
- {smbcloud_cli-0.3.41 → smbcloud_cli-0.4.1}/crates/smbcloud-networking/README.md +1 -1
- {smbcloud_cli-0.3.41 → smbcloud_cli-0.4.1}/crates/smbcloud-networking-project/Cargo.toml +1 -1
- {smbcloud_cli-0.3.41 → smbcloud_cli-0.4.1}/crates/smbcloud-networking-project/README.md +1 -1
- {smbcloud_cli-0.3.41 → smbcloud_cli-0.4.1}/crates/smbcloud-utils/Cargo.toml +1 -1
- {smbcloud_cli-0.3.41 → smbcloud_cli-0.4.1}/crates/smbcloud-utils/README.md +1 -1
- {smbcloud_cli-0.3.41 → smbcloud_cli-0.4.1}/crates/cli/src/account/cli.rs +0 -0
- {smbcloud_cli-0.3.41 → smbcloud_cli-0.4.1}/crates/cli/src/account/forgot/mod.rs +0 -0
- {smbcloud_cli-0.3.41 → smbcloud_cli-0.4.1}/crates/cli/src/account/lib.rs +0 -0
- {smbcloud_cli-0.3.41 → smbcloud_cli-0.4.1}/crates/cli/src/account/login/mod.rs +0 -0
- {smbcloud_cli-0.3.41 → smbcloud_cli-0.4.1}/crates/cli/src/account/logout/mod.rs +0 -0
- {smbcloud_cli-0.3.41 → smbcloud_cli-0.4.1}/crates/cli/src/account/me/mod.rs +0 -0
- {smbcloud_cli-0.3.41 → smbcloud_cli-0.4.1}/crates/cli/src/account/mod.rs +0 -0
- {smbcloud_cli-0.3.41 → smbcloud_cli-0.4.1}/crates/cli/src/account/signup/mod.rs +0 -0
- {smbcloud_cli-0.3.41 → smbcloud_cli-0.4.1}/crates/cli/src/account/signup/process.rs +0 -0
- {smbcloud_cli-0.3.41 → smbcloud_cli-0.4.1}/crates/cli/src/cli/mod.rs +0 -0
- {smbcloud_cli-0.3.41 → smbcloud_cli-0.4.1}/crates/cli/src/deploy/config.rs +0 -0
- {smbcloud_cli-0.3.41 → smbcloud_cli-0.4.1}/crates/cli/src/deploy/detect_runner.rs +0 -0
- {smbcloud_cli-0.3.41 → smbcloud_cli-0.4.1}/crates/cli/src/deploy/git.rs +0 -0
- {smbcloud_cli-0.3.41 → smbcloud_cli-0.4.1}/crates/cli/src/deploy/known_hosts.rs +0 -0
- {smbcloud_cli-0.3.41 → smbcloud_cli-0.4.1}/crates/cli/src/deploy/mod.rs +0 -0
- {smbcloud_cli-0.3.41 → smbcloud_cli-0.4.1}/crates/cli/src/deploy/process_deploy.rs +0 -0
- {smbcloud_cli-0.3.41 → smbcloud_cli-0.4.1}/crates/cli/src/deploy/process_deploy_rails.rs +0 -0
- {smbcloud_cli-0.3.41 → smbcloud_cli-0.4.1}/crates/cli/src/deploy/process_deploy_rust.rs +0 -0
- {smbcloud_cli-0.3.41 → smbcloud_cli-0.4.1}/crates/cli/src/deploy/process_deploy_vite_spa.rs +0 -0
- {smbcloud_cli-0.3.41 → smbcloud_cli-0.4.1}/crates/cli/src/deploy/remote_messages.rs +0 -0
- {smbcloud_cli-0.3.41 → smbcloud_cli-0.4.1}/crates/cli/src/deploy/rsync_deploy.rs +0 -0
- {smbcloud_cli-0.3.41 → smbcloud_cli-0.4.1}/crates/cli/src/deploy/setup.rs +0 -0
- {smbcloud_cli-0.3.41 → smbcloud_cli-0.4.1}/crates/cli/src/deploy/setup_create_new_project.rs +0 -0
- {smbcloud_cli-0.3.41 → smbcloud_cli-0.4.1}/crates/cli/src/deploy/setup_project.rs +0 -0
- {smbcloud_cli-0.3.41 → smbcloud_cli-0.4.1}/crates/cli/src/deploy/setup_select_project.rs +0 -0
- {smbcloud_cli-0.3.41 → smbcloud_cli-0.4.1}/crates/cli/src/lib.rs +0 -0
- {smbcloud_cli-0.3.41 → smbcloud_cli-0.4.1}/crates/cli/src/mail/cli.rs +0 -0
- {smbcloud_cli-0.3.41 → smbcloud_cli-0.4.1}/crates/cli/src/mail/current_project.rs +0 -0
- {smbcloud_cli-0.3.41 → smbcloud_cli-0.4.1}/crates/cli/src/mail/process.rs +0 -0
- {smbcloud_cli-0.3.41 → smbcloud_cli-0.4.1}/crates/cli/src/mail/render.rs +0 -0
- {smbcloud_cli-0.3.41 → smbcloud_cli-0.4.1}/crates/cli/src/mail.rs +0 -0
- {smbcloud_cli-0.3.41 → smbcloud_cli-0.4.1}/crates/cli/src/main.rs +0 -0
- {smbcloud_cli-0.3.41 → smbcloud_cli-0.4.1}/crates/cli/src/project/cli.rs +0 -0
- {smbcloud_cli-0.3.41 → smbcloud_cli-0.4.1}/crates/cli/src/project/crud_create.rs +0 -0
- {smbcloud_cli-0.3.41 → smbcloud_cli-0.4.1}/crates/cli/src/project/crud_delete.rs +0 -0
- {smbcloud_cli-0.3.41 → smbcloud_cli-0.4.1}/crates/cli/src/project/crud_read.rs +0 -0
- {smbcloud_cli-0.3.41 → smbcloud_cli-0.4.1}/crates/cli/src/project/crud_update.rs +0 -0
- {smbcloud_cli-0.3.41 → smbcloud_cli-0.4.1}/crates/cli/src/project/deployment.rs +0 -0
- {smbcloud_cli-0.3.41 → smbcloud_cli-0.4.1}/crates/cli/src/project/mod.rs +0 -0
- {smbcloud_cli-0.3.41 → smbcloud_cli-0.4.1}/crates/cli/src/project/process.rs +0 -0
- {smbcloud_cli-0.3.41 → smbcloud_cli-0.4.1}/crates/cli/src/token/clear_smb_token.rs +0 -0
- {smbcloud_cli-0.3.41 → smbcloud_cli-0.4.1}/crates/cli/src/token/get_smb_token.rs +0 -0
- {smbcloud_cli-0.3.41 → smbcloud_cli-0.4.1}/crates/cli/src/token/is_logged_in.rs +0 -0
- {smbcloud_cli-0.3.41 → smbcloud_cli-0.4.1}/crates/cli/src/token/mod.rs +0 -0
- {smbcloud_cli-0.3.41 → smbcloud_cli-0.4.1}/crates/cli/src/token/smb_token_file_path.rs +0 -0
- {smbcloud_cli-0.3.41 → smbcloud_cli-0.4.1}/crates/cli/src/ui/confirm_dialog.rs +0 -0
- {smbcloud_cli-0.3.41 → smbcloud_cli-0.4.1}/crates/cli/src/ui/deployment_detail_view.rs +0 -0
- {smbcloud_cli-0.3.41 → smbcloud_cli-0.4.1}/crates/cli/src/ui/deployment_table.rs +0 -0
- {smbcloud_cli-0.3.41 → smbcloud_cli-0.4.1}/crates/cli/src/ui/me_view.rs +0 -0
- {smbcloud_cli-0.3.41 → smbcloud_cli-0.4.1}/crates/cli/src/ui/mod.rs +0 -0
- {smbcloud_cli-0.3.41 → smbcloud_cli-0.4.1}/crates/cli/src/ui/project_detail_view.rs +0 -0
- {smbcloud_cli-0.3.41 → smbcloud_cli-0.4.1}/crates/cli/src/ui/project_table.rs +0 -0
- {smbcloud_cli-0.3.41 → smbcloud_cli-0.4.1}/crates/cli/src/ui/theme.rs +0 -0
- {smbcloud_cli-0.3.41 → smbcloud_cli-0.4.1}/crates/smbcloud-auth/.gitignore +0 -0
- {smbcloud_cli-0.3.41 → smbcloud_cli-0.4.1}/crates/smbcloud-auth/src/apple.rs +0 -0
- {smbcloud_cli-0.3.41 → smbcloud_cli-0.4.1}/crates/smbcloud-auth/src/check_email.rs +0 -0
- {smbcloud_cli-0.3.41 → smbcloud_cli-0.4.1}/crates/smbcloud-auth/src/client_credentials.rs +0 -0
- {smbcloud_cli-0.3.41 → smbcloud_cli-0.4.1}/crates/smbcloud-auth/src/lib.rs +0 -0
- {smbcloud_cli-0.3.41 → smbcloud_cli-0.4.1}/crates/smbcloud-auth/src/logout.rs +0 -0
- {smbcloud_cli-0.3.41 → smbcloud_cli-0.4.1}/crates/smbcloud-auth/src/me.rs +0 -0
- {smbcloud_cli-0.3.41 → smbcloud_cli-0.4.1}/crates/smbcloud-auth/src/oauth/get_account_status.rs +0 -0
- {smbcloud_cli-0.3.41 → smbcloud_cli-0.4.1}/crates/smbcloud-auth/src/oauth/get_consent_url.rs +0 -0
- {smbcloud_cli-0.3.41 → smbcloud_cli-0.4.1}/crates/smbcloud-auth/src/oauth/get_profile.rs +0 -0
- {smbcloud_cli-0.3.41 → smbcloud_cli-0.4.1}/crates/smbcloud-auth/src/oauth/get_token.rs +0 -0
- {smbcloud_cli-0.3.41 → smbcloud_cli-0.4.1}/crates/smbcloud-auth/src/oauth/mod.rs +0 -0
- {smbcloud_cli-0.3.41 → smbcloud_cli-0.4.1}/crates/smbcloud-auth/src/oauth/provider.rs +0 -0
- {smbcloud_cli-0.3.41 → smbcloud_cli-0.4.1}/crates/smbcloud-auth/src/oidc.rs +0 -0
- {smbcloud_cli-0.3.41 → smbcloud_cli-0.4.1}/crates/smbcloud-auth/src/remove.rs +0 -0
- {smbcloud_cli-0.3.41 → smbcloud_cli-0.4.1}/crates/smbcloud-auth/src/resend_email_verification.rs +0 -0
- {smbcloud_cli-0.3.41 → smbcloud_cli-0.4.1}/crates/smbcloud-auth/src/reset_password.rs +0 -0
- {smbcloud_cli-0.3.41 → smbcloud_cli-0.4.1}/crates/smbcloud-auth/src/signup.rs +0 -0
- {smbcloud_cli-0.3.41 → smbcloud_cli-0.4.1}/crates/smbcloud-mail/src/mail_app.rs +0 -0
- {smbcloud_cli-0.3.41 → smbcloud_cli-0.4.1}/crates/smbcloud-mail/src/mail_inbox.rs +0 -0
- {smbcloud_cli-0.3.41 → smbcloud_cli-0.4.1}/crates/smbcloud-mail/src/mail_message.rs +0 -0
- {smbcloud_cli-0.3.41 → smbcloud_cli-0.4.1}/crates/smbcloud-mail/src/request.rs +0 -0
- {smbcloud_cli-0.3.41 → smbcloud_cli-0.4.1}/crates/smbcloud-mail/src/smbcloud_mail.rs +0 -0
- {smbcloud_cli-0.3.41 → smbcloud_cli-0.4.1}/crates/smbcloud-mail/src/url_builder.rs +0 -0
- {smbcloud_cli-0.3.41 → smbcloud_cli-0.4.1}/crates/smbcloud-model/src/app_auth.rs +0 -0
- {smbcloud_cli-0.3.41 → smbcloud_cli-0.4.1}/crates/smbcloud-model/src/error_codes.rs +0 -0
- {smbcloud_cli-0.3.41 → smbcloud_cli-0.4.1}/crates/smbcloud-model/src/forgot.rs +0 -0
- {smbcloud_cli-0.3.41 → smbcloud_cli-0.4.1}/crates/smbcloud-model/src/frontend_app.rs +0 -0
- {smbcloud_cli-0.3.41 → smbcloud_cli-0.4.1}/crates/smbcloud-model/src/lib.rs +0 -0
- {smbcloud_cli-0.3.41 → smbcloud_cli-0.4.1}/crates/smbcloud-model/src/login.rs +0 -0
- {smbcloud_cli-0.3.41 → smbcloud_cli-0.4.1}/crates/smbcloud-model/src/mail.rs +0 -0
- {smbcloud_cli-0.3.41 → smbcloud_cli-0.4.1}/crates/smbcloud-model/src/oauth.rs +0 -0
- {smbcloud_cli-0.3.41 → smbcloud_cli-0.4.1}/crates/smbcloud-model/src/project.rs +0 -0
- {smbcloud_cli-0.3.41 → smbcloud_cli-0.4.1}/crates/smbcloud-model/src/repository.rs +0 -0
- {smbcloud_cli-0.3.41 → smbcloud_cli-0.4.1}/crates/smbcloud-model/src/reset_password_response.rs +0 -0
- {smbcloud_cli-0.3.41 → smbcloud_cli-0.4.1}/crates/smbcloud-model/src/runner.rs +0 -0
- {smbcloud_cli-0.3.41 → smbcloud_cli-0.4.1}/crates/smbcloud-model/src/signup.rs +0 -0
- {smbcloud_cli-0.3.41 → smbcloud_cli-0.4.1}/crates/smbcloud-network/src/environment.rs +0 -0
- {smbcloud_cli-0.3.41 → smbcloud_cli-0.4.1}/crates/smbcloud-network/src/lib.rs +0 -0
- {smbcloud_cli-0.3.41 → smbcloud_cli-0.4.1}/crates/smbcloud-network/src/network.rs +0 -0
- {smbcloud_cli-0.3.41 → smbcloud_cli-0.4.1}/crates/smbcloud-networking/src/constants.rs +0 -0
- {smbcloud_cli-0.3.41 → smbcloud_cli-0.4.1}/crates/smbcloud-networking/src/lib.rs +0 -0
- {smbcloud_cli-0.3.41 → smbcloud_cli-0.4.1}/crates/smbcloud-networking/src/smb_client.rs +0 -0
- {smbcloud_cli-0.3.41 → smbcloud_cli-0.4.1}/crates/smbcloud-networking-project/src/crud_frontend_app_read.rs +0 -0
- {smbcloud_cli-0.3.41 → smbcloud_cli-0.4.1}/crates/smbcloud-networking-project/src/crud_project_create.rs +0 -0
- {smbcloud_cli-0.3.41 → smbcloud_cli-0.4.1}/crates/smbcloud-networking-project/src/crud_project_delete.rs +0 -0
- {smbcloud_cli-0.3.41 → smbcloud_cli-0.4.1}/crates/smbcloud-networking-project/src/crud_project_deployment_create.rs +0 -0
- {smbcloud_cli-0.3.41 → smbcloud_cli-0.4.1}/crates/smbcloud-networking-project/src/crud_project_deployment_read.rs +0 -0
- {smbcloud_cli-0.3.41 → smbcloud_cli-0.4.1}/crates/smbcloud-networking-project/src/crud_project_deployment_update.rs +0 -0
- {smbcloud_cli-0.3.41 → smbcloud_cli-0.4.1}/crates/smbcloud-networking-project/src/crud_project_read.rs +0 -0
- {smbcloud_cli-0.3.41 → smbcloud_cli-0.4.1}/crates/smbcloud-networking-project/src/crud_project_update.rs +0 -0
- {smbcloud_cli-0.3.41 → smbcloud_cli-0.4.1}/crates/smbcloud-networking-project/src/lib.rs +0 -0
- {smbcloud_cli-0.3.41 → smbcloud_cli-0.4.1}/crates/smbcloud-networking-project/src/url_builder.rs +0 -0
- {smbcloud_cli-0.3.41 → smbcloud_cli-0.4.1}/crates/smbcloud-utils/src/config.rs +0 -0
- {smbcloud_cli-0.3.41 → smbcloud_cli-0.4.1}/crates/smbcloud-utils/src/lib.rs +0 -0
- {smbcloud_cli-0.3.41 → smbcloud_cli-0.4.1}/crates/smbcloud-utils/src/write_config.rs +0 -0
- {smbcloud_cli-0.3.41 → smbcloud_cli-0.4.1}/pyproject.toml +0 -0
|
@@ -2459,7 +2459,7 @@ checksum = "67b1b7a3b5fe4f1376887184045fcf45c69e92af734b7aaddc05fb777b6fbd03"
|
|
|
2459
2459
|
|
|
2460
2460
|
[[package]]
|
|
2461
2461
|
name = "smbcloud-auth"
|
|
2462
|
-
version = "0.
|
|
2462
|
+
version = "0.4.1"
|
|
2463
2463
|
dependencies = [
|
|
2464
2464
|
"log",
|
|
2465
2465
|
"reqwest",
|
|
@@ -2474,7 +2474,7 @@ dependencies = [
|
|
|
2474
2474
|
|
|
2475
2475
|
[[package]]
|
|
2476
2476
|
name = "smbcloud-auth-sdk"
|
|
2477
|
-
version = "0.
|
|
2477
|
+
version = "0.4.1"
|
|
2478
2478
|
dependencies = [
|
|
2479
2479
|
"base64",
|
|
2480
2480
|
"reqwest",
|
|
@@ -2489,7 +2489,7 @@ dependencies = [
|
|
|
2489
2489
|
|
|
2490
2490
|
[[package]]
|
|
2491
2491
|
name = "smbcloud-auth-sdk-py"
|
|
2492
|
-
version = "0.
|
|
2492
|
+
version = "0.4.1"
|
|
2493
2493
|
dependencies = [
|
|
2494
2494
|
"pyo3",
|
|
2495
2495
|
"pythonize",
|
|
@@ -2503,7 +2503,7 @@ dependencies = [
|
|
|
2503
2503
|
|
|
2504
2504
|
[[package]]
|
|
2505
2505
|
name = "smbcloud-auth-sdk-wasm"
|
|
2506
|
-
version = "0.
|
|
2506
|
+
version = "0.4.1"
|
|
2507
2507
|
dependencies = [
|
|
2508
2508
|
"serde-wasm-bindgen",
|
|
2509
2509
|
"smbcloud-auth-sdk",
|
|
@@ -2516,7 +2516,7 @@ dependencies = [
|
|
|
2516
2516
|
|
|
2517
2517
|
[[package]]
|
|
2518
2518
|
name = "smbcloud-cli"
|
|
2519
|
-
version = "0.
|
|
2519
|
+
version = "0.4.1"
|
|
2520
2520
|
dependencies = [
|
|
2521
2521
|
"anyhow",
|
|
2522
2522
|
"chrono",
|
|
@@ -2559,7 +2559,7 @@ dependencies = [
|
|
|
2559
2559
|
|
|
2560
2560
|
[[package]]
|
|
2561
2561
|
name = "smbcloud-gresiq"
|
|
2562
|
-
version = "0.
|
|
2562
|
+
version = "0.4.1"
|
|
2563
2563
|
dependencies = [
|
|
2564
2564
|
"native-tls",
|
|
2565
2565
|
"postgres-native-tls",
|
|
@@ -2573,7 +2573,7 @@ dependencies = [
|
|
|
2573
2573
|
|
|
2574
2574
|
[[package]]
|
|
2575
2575
|
name = "smbcloud-gresiq-sdk"
|
|
2576
|
-
version = "0.
|
|
2576
|
+
version = "0.4.1"
|
|
2577
2577
|
dependencies = [
|
|
2578
2578
|
"anyhow",
|
|
2579
2579
|
"log",
|
|
@@ -2587,7 +2587,7 @@ dependencies = [
|
|
|
2587
2587
|
|
|
2588
2588
|
[[package]]
|
|
2589
2589
|
name = "smbcloud-mail"
|
|
2590
|
-
version = "0.
|
|
2590
|
+
version = "0.4.1"
|
|
2591
2591
|
dependencies = [
|
|
2592
2592
|
"reqwest",
|
|
2593
2593
|
"serde",
|
|
@@ -2599,7 +2599,7 @@ dependencies = [
|
|
|
2599
2599
|
|
|
2600
2600
|
[[package]]
|
|
2601
2601
|
name = "smbcloud-model"
|
|
2602
|
-
version = "0.
|
|
2602
|
+
version = "0.4.1"
|
|
2603
2603
|
dependencies = [
|
|
2604
2604
|
"chrono",
|
|
2605
2605
|
"log",
|
|
@@ -2615,7 +2615,7 @@ dependencies = [
|
|
|
2615
2615
|
|
|
2616
2616
|
[[package]]
|
|
2617
2617
|
name = "smbcloud-network"
|
|
2618
|
-
version = "0.
|
|
2618
|
+
version = "0.4.1"
|
|
2619
2619
|
dependencies = [
|
|
2620
2620
|
"clap 4.6.1",
|
|
2621
2621
|
"log",
|
|
@@ -2628,7 +2628,7 @@ dependencies = [
|
|
|
2628
2628
|
|
|
2629
2629
|
[[package]]
|
|
2630
2630
|
name = "smbcloud-networking"
|
|
2631
|
-
version = "0.
|
|
2631
|
+
version = "0.4.1"
|
|
2632
2632
|
dependencies = [
|
|
2633
2633
|
"smbcloud-network",
|
|
2634
2634
|
"url-builder",
|
|
@@ -2636,7 +2636,7 @@ dependencies = [
|
|
|
2636
2636
|
|
|
2637
2637
|
[[package]]
|
|
2638
2638
|
name = "smbcloud-networking-project"
|
|
2639
|
-
version = "0.
|
|
2639
|
+
version = "0.4.1"
|
|
2640
2640
|
dependencies = [
|
|
2641
2641
|
"anyhow",
|
|
2642
2642
|
"async-trait",
|
|
@@ -2654,11 +2654,11 @@ dependencies = [
|
|
|
2654
2654
|
|
|
2655
2655
|
[[package]]
|
|
2656
2656
|
name = "smbcloud-s6n"
|
|
2657
|
-
version = "0.
|
|
2657
|
+
version = "0.4.1"
|
|
2658
2658
|
|
|
2659
2659
|
[[package]]
|
|
2660
2660
|
name = "smbcloud-utils"
|
|
2661
|
-
version = "0.
|
|
2661
|
+
version = "0.4.1"
|
|
2662
2662
|
dependencies = [
|
|
2663
2663
|
"anyhow",
|
|
2664
2664
|
"dirs",
|
|
@@ -26,15 +26,15 @@ reqwest = { version = "0.12.18", default-features = false }
|
|
|
26
26
|
serde = "1"
|
|
27
27
|
serde_json = "1.0.82"
|
|
28
28
|
serde_repr = "0.1"
|
|
29
|
-
smbcloud-auth = { version = "0.
|
|
30
|
-
smbcloud-auth-sdk = { version = "0.
|
|
31
|
-
smbcloud-gresiq-sdk = { version = "0.
|
|
32
|
-
smbcloud-mail = { version = "0.
|
|
33
|
-
smbcloud-model = { version = "0.
|
|
34
|
-
smbcloud-network = { version = "0.
|
|
35
|
-
smbcloud-networking = { version = "0.
|
|
36
|
-
smbcloud-networking-project = { version = "0.
|
|
37
|
-
smbcloud-utils = { version = "0.
|
|
29
|
+
smbcloud-auth = { version = "0.4.0", path = "crates/smbcloud-auth" }
|
|
30
|
+
smbcloud-auth-sdk = { version = "0.4.0", path = "crates/smbcloud-auth-sdk" }
|
|
31
|
+
smbcloud-gresiq-sdk = { version = "0.4.0", path = "crates/smbcloud-gresiq-sdk" }
|
|
32
|
+
smbcloud-mail = { version = "0.4.0", path = "crates/smbcloud-mail" }
|
|
33
|
+
smbcloud-model = { version = "0.4.0", path = "crates/smbcloud-model" }
|
|
34
|
+
smbcloud-network = { version = "0.4.0", path = "crates/smbcloud-network" }
|
|
35
|
+
smbcloud-networking = { version = "0.4.0", path = "crates/smbcloud-networking" }
|
|
36
|
+
smbcloud-networking-project = { version = "0.4.0", path = "crates/smbcloud-networking-project" }
|
|
37
|
+
smbcloud-utils = { version = "0.4.0", path = "crates/smbcloud-utils" }
|
|
38
38
|
spinners = "4.1.0"
|
|
39
39
|
strum = "0.27"
|
|
40
40
|
strum_macros = "0.27"
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: smbcloud-cli
|
|
3
|
-
Version: 0.
|
|
3
|
+
Version: 0.4.1
|
|
4
4
|
Classifier: Development Status :: 4 - Beta
|
|
5
5
|
Classifier: Environment :: Console
|
|
6
6
|
Classifier: Intended Audience :: Developers
|
|
@@ -31,7 +31,7 @@ Project-URL: Repository, https://github.com/smbcloudXYZ/smbcloud-cli
|
|
|
31
31
|
<br>smbCloud CLI
|
|
32
32
|
</h1>
|
|
33
33
|
<p align="center">
|
|
34
|
-
Deploy
|
|
34
|
+
Deploy with smbCloud from your terminal.
|
|
35
35
|
<br />
|
|
36
36
|
<br />
|
|
37
37
|
<a href="https://smbcloud.xyz/">Website</a>
|
|
@@ -54,9 +54,9 @@ Project-URL: Repository, https://github.com/smbcloudXYZ/smbcloud-cli
|
|
|
54
54
|
|
|
55
55
|
## About
|
|
56
56
|
|
|
57
|
-
**`smb`** is the command-line interface for [smbCloud](https://smbcloud.xyz/)
|
|
57
|
+
**`smb`** is the command-line interface for [smbCloud](https://smbcloud.xyz/).
|
|
58
58
|
|
|
59
|
-
|
|
59
|
+
Install it with `pip`, then run the native `smb` binary for your platform.
|
|
60
60
|
|
|
61
61
|
## Install
|
|
62
62
|
|
|
@@ -64,7 +64,7 @@ Ship your Rust, Node.js, Ruby, or Swift app with a single, magical command.
|
|
|
64
64
|
pip install smbcloud-cli
|
|
65
65
|
```
|
|
66
66
|
|
|
67
|
-
This package installs the native `smb` executable for your platform
|
|
67
|
+
This package installs the native `smb` executable for your platform. You do not need Node.js or Docker.
|
|
68
68
|
|
|
69
69
|
## Quick Start
|
|
70
70
|
|
|
@@ -74,7 +74,7 @@ smb init
|
|
|
74
74
|
smb deploy
|
|
75
75
|
```
|
|
76
76
|
|
|
77
|
-
That
|
|
77
|
+
That gets you from login to first deploy.
|
|
78
78
|
|
|
79
79
|
## Other Installation Methods
|
|
80
80
|
|
|
@@ -127,11 +127,11 @@ This package ships pre-built native binaries for:
|
|
|
127
127
|
|
|
128
128
|
## Source & Issues
|
|
129
129
|
|
|
130
|
-
This
|
|
130
|
+
This package ships the native `smb` binary through PyPI.
|
|
131
|
+
Source code and issue tracker:
|
|
131
132
|
[github.com/smbcloudXYZ/smbcloud-cli](https://github.com/smbcloudXYZ/smbcloud-cli).
|
|
132
|
-
Please report bugs and feature requests there.
|
|
133
133
|
|
|
134
|
-
|
|
134
|
+
See the [smbCloud documentation](https://smbcloud.xyz/posts) for setup and deployment guides.
|
|
135
135
|
|
|
136
136
|
## License
|
|
137
137
|
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
<br>smbCloud CLI
|
|
6
6
|
</h1>
|
|
7
7
|
<p align="center">
|
|
8
|
-
Deploy
|
|
8
|
+
Deploy with smbCloud from your terminal.
|
|
9
9
|
<br />
|
|
10
10
|
<br />
|
|
11
11
|
<a href="https://smbcloud.xyz/">Website</a>
|
|
@@ -28,9 +28,9 @@
|
|
|
28
28
|
|
|
29
29
|
## About
|
|
30
30
|
|
|
31
|
-
**`smb`** is the command-line interface for [smbCloud](https://smbcloud.xyz/)
|
|
31
|
+
**`smb`** is the command-line interface for [smbCloud](https://smbcloud.xyz/).
|
|
32
32
|
|
|
33
|
-
|
|
33
|
+
Install it with `pip`, then run the native `smb` binary for your platform.
|
|
34
34
|
|
|
35
35
|
## Install
|
|
36
36
|
|
|
@@ -38,7 +38,7 @@ Ship your Rust, Node.js, Ruby, or Swift app with a single, magical command.
|
|
|
38
38
|
pip install smbcloud-cli
|
|
39
39
|
```
|
|
40
40
|
|
|
41
|
-
This package installs the native `smb` executable for your platform
|
|
41
|
+
This package installs the native `smb` executable for your platform. You do not need Node.js or Docker.
|
|
42
42
|
|
|
43
43
|
## Quick Start
|
|
44
44
|
|
|
@@ -48,7 +48,7 @@ smb init
|
|
|
48
48
|
smb deploy
|
|
49
49
|
```
|
|
50
50
|
|
|
51
|
-
That
|
|
51
|
+
That gets you from login to first deploy.
|
|
52
52
|
|
|
53
53
|
## Other Installation Methods
|
|
54
54
|
|
|
@@ -101,11 +101,11 @@ This package ships pre-built native binaries for:
|
|
|
101
101
|
|
|
102
102
|
## Source & Issues
|
|
103
103
|
|
|
104
|
-
This
|
|
104
|
+
This package ships the native `smb` binary through PyPI.
|
|
105
|
+
Source code and issue tracker:
|
|
105
106
|
[github.com/smbcloudXYZ/smbcloud-cli](https://github.com/smbcloudXYZ/smbcloud-cli).
|
|
106
|
-
Please report bugs and feature requests there.
|
|
107
107
|
|
|
108
|
-
|
|
108
|
+
See the [smbCloud documentation](https://smbcloud.xyz/posts) for setup and deployment guides.
|
|
109
109
|
|
|
110
110
|
## License
|
|
111
111
|
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
<br>smbCloud CLI
|
|
6
6
|
</h1>
|
|
7
7
|
<p align="center">
|
|
8
|
-
Deploy
|
|
8
|
+
Deploy with smbCloud from your terminal.
|
|
9
9
|
<br />
|
|
10
10
|
<br />
|
|
11
11
|
<a href="https://smbcloud.xyz/">Website</a>
|
|
@@ -76,7 +76,9 @@ pip uninstall smbcloud-cli
|
|
|
76
76
|
smb --help
|
|
77
77
|
```
|
|
78
78
|
|
|
79
|
-
##
|
|
79
|
+
## Contributing
|
|
80
|
+
|
|
81
|
+
To work on the CLI locally:
|
|
80
82
|
|
|
81
83
|
- Set up your Rust tooling.
|
|
82
84
|
- Clone the repo.
|
|
@@ -89,7 +91,7 @@ This repo draws inspiration from [Sugar](https://github.com/metaplex-foundation/
|
|
|
89
91
|
|
|
90
92
|
It also borrows ideas from [the 12 factor CLI app](https://medium.com/@jdxcode/12-factor-cli-apps-dd3c227a0e46).
|
|
91
93
|
|
|
92
|
-
|
|
94
|
+
More CLI and deployment guides live in the [smbCloud docs](https://smbcloud.xyz/posts).
|
|
93
95
|
|
|
94
96
|
## License
|
|
95
97
|
|
|
@@ -23,8 +23,9 @@ use {
|
|
|
23
23
|
smbcloud_model::{
|
|
24
24
|
account::{
|
|
25
25
|
ErrorCode::{
|
|
26
|
-
self as AccountErrorCode,
|
|
27
|
-
|
|
26
|
+
self as AccountErrorCode, EmailAlreadyExist, EmailConfirmationFailed,
|
|
27
|
+
EmailNotFound, EmailUnverified, GithubNotLinked, HostedMailAccountUnverified,
|
|
28
|
+
InvalidPassword, PasswordNotSet,
|
|
28
29
|
},
|
|
29
30
|
GithubInfo, SmbAuthorization, User,
|
|
30
31
|
},
|
|
@@ -100,6 +101,13 @@ async fn process_authorization(env: Environment, auth: SmbAuthorization) -> Resu
|
|
|
100
101
|
return Err(error);
|
|
101
102
|
}
|
|
102
103
|
GithubNotLinked => return connect_github_account(env, auth).await,
|
|
104
|
+
EmailConfirmationFailed
|
|
105
|
+
| EmailAlreadyExist
|
|
106
|
+
| InvalidPassword
|
|
107
|
+
| HostedMailAccountUnverified => {
|
|
108
|
+
let error = anyhow!(error_code.to_string());
|
|
109
|
+
return Err(error);
|
|
110
|
+
}
|
|
103
111
|
}
|
|
104
112
|
}
|
|
105
113
|
|
{smbcloud_cli-0.3.41 → smbcloud_cli-0.4.1}/crates/cli/src/deploy/process_deploy_nextjs_ssr.rs
RENAMED
|
@@ -36,7 +36,7 @@ use {
|
|
|
36
36
|
/// 4. rsync .next/standalone/ → server:path/ (server + bundled deps)
|
|
37
37
|
/// 5. rsync .next/static/ → server:path/.next/static/ (static chunks)
|
|
38
38
|
/// 6. rsync public/ → server:path/public/ (public assets)
|
|
39
|
-
/// 7. SSH: pm2
|
|
39
|
+
/// 7. SSH: pm2 delete + start fresh (prefer server `ecosystem.config.js` if present)
|
|
40
40
|
/// 8. PATCH deployment record as Done
|
|
41
41
|
pub async fn process_deploy_nextjs_ssr(env: Environment, config: Config) -> Result<CommandResult> {
|
|
42
42
|
let source = config.project.source.as_deref().unwrap_or(".");
|
|
@@ -214,16 +214,37 @@ pub async fn process_deploy_nextjs_ssr(env: Environment, config: Config) -> Resu
|
|
|
214
214
|
}
|
|
215
215
|
);
|
|
216
216
|
|
|
217
|
+
struct Transfer {
|
|
218
|
+
local_rel: &'static str,
|
|
219
|
+
remote_rel: &'static str,
|
|
220
|
+
protect_runtime_files: bool,
|
|
221
|
+
}
|
|
222
|
+
|
|
217
223
|
// (local_source, remote_destination)
|
|
218
224
|
// .next/standalone contents go to the root of remote_path.
|
|
219
225
|
// .next/static and public go into their correct subdirectories within it.
|
|
220
|
-
let transfers: &[
|
|
226
|
+
let transfers: &[Transfer] = &[
|
|
221
227
|
// standalone contents → remote root (server.js lives here)
|
|
222
|
-
|
|
228
|
+
Transfer {
|
|
229
|
+
local_rel: ".next/standalone/",
|
|
230
|
+
remote_rel: "",
|
|
231
|
+
// The server copy of ecosystem.config.js is operator-managed runtime
|
|
232
|
+
// config and must survive deploys. Without this protection, rsync
|
|
233
|
+
// `--delete` removes it because it does not exist in .next/standalone/.
|
|
234
|
+
protect_runtime_files: true,
|
|
235
|
+
},
|
|
223
236
|
// static chunks → .next/static/ inside the standalone tree
|
|
224
|
-
|
|
237
|
+
Transfer {
|
|
238
|
+
local_rel: ".next/static/",
|
|
239
|
+
remote_rel: ".next/static/",
|
|
240
|
+
protect_runtime_files: false,
|
|
241
|
+
},
|
|
225
242
|
// public assets → public/ inside the standalone tree
|
|
226
|
-
|
|
243
|
+
Transfer {
|
|
244
|
+
local_rel: "public/",
|
|
245
|
+
remote_rel: "public/",
|
|
246
|
+
protect_runtime_files: false,
|
|
247
|
+
},
|
|
227
248
|
];
|
|
228
249
|
|
|
229
250
|
let mut upload_spinner = Spinner::new(
|
|
@@ -231,24 +252,35 @@ pub async fn process_deploy_nextjs_ssr(env: Environment, config: Config) -> Resu
|
|
|
231
252
|
succeed_message(&format!("Uploading to {}…", remote_path)),
|
|
232
253
|
);
|
|
233
254
|
|
|
234
|
-
for
|
|
235
|
-
let local_path = format!("{}/{}", source, local_rel);
|
|
236
|
-
let destination = format!("{}{}", remote_base, remote_rel);
|
|
255
|
+
for transfer in transfers {
|
|
256
|
+
let local_path = format!("{}/{}", source, transfer.local_rel);
|
|
257
|
+
let destination = format!("{}{}", remote_base, transfer.remote_rel);
|
|
237
258
|
|
|
238
259
|
// Skip optional directories that the project does not have.
|
|
239
260
|
if !std::path::Path::new(&local_path).exists() {
|
|
240
261
|
continue;
|
|
241
262
|
}
|
|
242
263
|
|
|
264
|
+
let mut rsync_args = vec!["-az".to_string(), "--delete".to_string()];
|
|
265
|
+
|
|
266
|
+
if transfer.protect_runtime_files {
|
|
267
|
+
rsync_args.extend([
|
|
268
|
+
"--exclude".to_string(),
|
|
269
|
+
"ecosystem.config.js".to_string(),
|
|
270
|
+
"--exclude".to_string(),
|
|
271
|
+
"logs/".to_string(),
|
|
272
|
+
]);
|
|
273
|
+
}
|
|
274
|
+
|
|
275
|
+
rsync_args.extend([
|
|
276
|
+
"-e".to_string(),
|
|
277
|
+
ssh_command.clone(),
|
|
278
|
+
local_path.clone(),
|
|
279
|
+
destination,
|
|
280
|
+
]);
|
|
281
|
+
|
|
243
282
|
let output = Command::new("rsync")
|
|
244
|
-
.args(
|
|
245
|
-
"-az",
|
|
246
|
-
"--delete",
|
|
247
|
-
"-e",
|
|
248
|
-
&ssh_command,
|
|
249
|
-
&local_path,
|
|
250
|
-
&destination,
|
|
251
|
-
])
|
|
283
|
+
.args(&rsync_args)
|
|
252
284
|
.output()
|
|
253
285
|
.map_err(|e| anyhow!(fail_message(&format!("Failed to launch rsync: {}", e))))?;
|
|
254
286
|
|
|
@@ -265,7 +297,7 @@ pub async fn process_deploy_nextjs_ssr(env: Environment, config: Config) -> Resu
|
|
|
265
297
|
.await;
|
|
266
298
|
return Err(anyhow!(fail_message(&format!(
|
|
267
299
|
"rsync of '{}' failed (status {}): {}",
|
|
268
|
-
local_rel,
|
|
300
|
+
transfer.local_rel,
|
|
269
301
|
output.status.code().unwrap_or(-1),
|
|
270
302
|
stderr.trim()
|
|
271
303
|
))));
|
|
@@ -279,15 +311,17 @@ pub async fn process_deploy_nextjs_ssr(env: Environment, config: Config) -> Resu
|
|
|
279
311
|
|
|
280
312
|
// ── Step 8: SSH remote restart ───────────────────────────────────────────
|
|
281
313
|
//
|
|
282
|
-
// Runs
|
|
283
|
-
//
|
|
314
|
+
// Runs the deployed app via pm2 inside the standalone directory.
|
|
315
|
+
//
|
|
316
|
+
// We always delete the existing pm2 process (if any) and start fresh. A
|
|
317
|
+
// bare `pm2 restart` would re-execute the old command (e.g. `next start
|
|
318
|
+
// --port XXXX` from a previous git-push deploy), which fails when the
|
|
319
|
+
// working directory now contains standalone output instead of the full
|
|
320
|
+
// Next.js build tree.
|
|
284
321
|
//
|
|
285
|
-
//
|
|
286
|
-
//
|
|
287
|
-
//
|
|
288
|
-
// fails when the working directory now contains standalone output instead of
|
|
289
|
-
// the full Next.js build tree. Deleting first guarantees the entry point
|
|
290
|
-
// and environment are always correct.
|
|
322
|
+
// If the server has an operator-managed `ecosystem.config.js`, prefer it as
|
|
323
|
+
// the source of truth for runtime env and pm2 settings. Otherwise fall back
|
|
324
|
+
// to `node server.js` with the minimal inline env needed to bind the app.
|
|
291
325
|
//
|
|
292
326
|
// The port defaults to 3000 and can be overridden with `port = XXXX` in
|
|
293
327
|
// .smb/config.toml — it must match the nginx upstream configuration.
|
|
@@ -296,24 +330,44 @@ pub async fn process_deploy_nextjs_ssr(env: Environment, config: Config) -> Resu
|
|
|
296
330
|
|
|
297
331
|
let deploy_script = format!(
|
|
298
332
|
r#"set -e
|
|
299
|
-
APP_PATH="{remote_path}"
|
|
300
|
-
PM2_APP="{pm2_app}"
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
|
|
311
|
-
|
|
312
|
-
|
|
313
|
-
|
|
314
|
-
|
|
315
|
-
|
|
316
|
-
|
|
333
|
+
APP_PATH="{remote_path}"
|
|
334
|
+
PM2_APP="{pm2_app}"
|
|
335
|
+
|
|
336
|
+
case "$APP_PATH" in
|
|
337
|
+
/*) ;;
|
|
338
|
+
*) APP_PATH="$HOME/$APP_PATH" ;;
|
|
339
|
+
esac
|
|
340
|
+
|
|
341
|
+
if [ ! -d "$APP_PATH" ]; then
|
|
342
|
+
echo "Error: $APP_PATH is not a directory."
|
|
343
|
+
exit 1
|
|
344
|
+
fi
|
|
345
|
+
|
|
346
|
+
cd "$APP_PATH"
|
|
347
|
+
mkdir -p logs
|
|
348
|
+
|
|
349
|
+
# Backward compatibility: older operator-managed ecosystem.config.js files
|
|
350
|
+
# still point PM2 at `.next/standalone/server.js`. The current deploy flow
|
|
351
|
+
# rsyncs the *contents* of `.next/standalone/` into the app root, so the
|
|
352
|
+
# real entrypoint is `server.js`. Create a compatibility symlink so both
|
|
353
|
+
# layouts work and old PM2 configs do not crash after deploy.
|
|
354
|
+
mkdir -p .next/standalone
|
|
355
|
+
ln -sfn ../../server.js .next/standalone/server.js
|
|
356
|
+
|
|
357
|
+
echo "Starting $PM2_APP with pm2..."
|
|
358
|
+
if pm2 describe "$PM2_APP" > /dev/null 2>&1; then
|
|
359
|
+
pm2 delete "$PM2_APP"
|
|
360
|
+
fi
|
|
361
|
+
|
|
362
|
+
if [ -f ecosystem.config.js ]; then
|
|
363
|
+
pm2 start ecosystem.config.js --only "$PM2_APP" --env production
|
|
364
|
+
else
|
|
365
|
+
NODE_ENV=production PORT={port} HOSTNAME=127.0.0.1 pm2 start node --name "$PM2_APP" -- server.js
|
|
366
|
+
fi
|
|
367
|
+
|
|
368
|
+
pm2 save
|
|
369
|
+
echo "Done."
|
|
370
|
+
"#,
|
|
317
371
|
remote_path = remote_path,
|
|
318
372
|
pm2_app = pm2_app,
|
|
319
373
|
port = port,
|
|
@@ -4,9 +4,9 @@ Rust authentication foundation for smbCloud.
|
|
|
4
4
|
|
|
5
5
|
## About
|
|
6
6
|
|
|
7
|
-
`smbcloud-auth` provides the shared authentication flows used across the smbCloud CLI and
|
|
7
|
+
`smbcloud-auth` provides the shared authentication flows used across the smbCloud CLI and SDKs.
|
|
8
8
|
|
|
9
|
-
|
|
9
|
+
For product context, visit [smbCloud](https://smbcloud.xyz/) or read the [developer docs](https://smbcloud.xyz/posts).
|
|
10
10
|
|
|
11
11
|
## License
|
|
12
12
|
|
|
@@ -7,9 +7,9 @@ use {
|
|
|
7
7
|
smbcloud_network::{environment::Environment, network::request_login},
|
|
8
8
|
smbcloud_networking::{
|
|
9
9
|
constants::{PATH_USERS_SIGN_IN, SMB_USER_AGENT},
|
|
10
|
-
smb_base_url_builder,
|
|
11
10
|
smb_client::SmbClient,
|
|
12
11
|
},
|
|
12
|
+
url_builder::URLBuilder,
|
|
13
13
|
};
|
|
14
14
|
|
|
15
15
|
pub async fn login(
|
|
@@ -31,8 +31,17 @@ pub async fn login(
|
|
|
31
31
|
request_login(builder).await
|
|
32
32
|
}
|
|
33
33
|
|
|
34
|
-
pub
|
|
35
|
-
let mut url_builder =
|
|
36
|
-
url_builder
|
|
34
|
+
pub fn build_login_url(env: Environment, client_id: &str, client_secret: &str) -> String {
|
|
35
|
+
let mut url_builder = URLBuilder::new();
|
|
36
|
+
url_builder
|
|
37
|
+
.set_protocol(&env.api_protocol())
|
|
38
|
+
.set_host(&env.api_host())
|
|
39
|
+
.add_param("client_id", client_id)
|
|
40
|
+
.add_param("client_secret", client_secret)
|
|
41
|
+
.add_route(PATH_USERS_SIGN_IN);
|
|
37
42
|
url_builder.build()
|
|
38
43
|
}
|
|
44
|
+
|
|
45
|
+
pub(crate) fn build_smb_login_url(env: Environment, client: (&SmbClient, &str)) -> String {
|
|
46
|
+
build_login_url(env, client.0.id(), client.1)
|
|
47
|
+
}
|
|
@@ -2,9 +2,8 @@ use {
|
|
|
2
2
|
reqwest::Client,
|
|
3
3
|
smbcloud_model::{account::SmbAuthorization, error_codes::ErrorResponse},
|
|
4
4
|
smbcloud_network::{environment::Environment, network::request},
|
|
5
|
-
smbcloud_networking::{
|
|
6
|
-
|
|
7
|
-
},
|
|
5
|
+
smbcloud_networking::{constants::PATH_RESET_PASSWORD_INSTRUCTIONS, smb_client::SmbClient},
|
|
6
|
+
url_builder::URLBuilder,
|
|
8
7
|
};
|
|
9
8
|
|
|
10
9
|
pub async fn resend_reset_password_instruction(
|
|
@@ -24,11 +23,24 @@ pub async fn resend_reset_password_instruction(
|
|
|
24
23
|
request(builder).await
|
|
25
24
|
}
|
|
26
25
|
|
|
26
|
+
pub fn build_resend_reset_password_instructions_url(
|
|
27
|
+
env: Environment,
|
|
28
|
+
client_id: &str,
|
|
29
|
+
client_secret: &str,
|
|
30
|
+
) -> String {
|
|
31
|
+
let mut url_builder = URLBuilder::new();
|
|
32
|
+
url_builder
|
|
33
|
+
.set_protocol(&env.api_protocol())
|
|
34
|
+
.set_host(&env.api_host())
|
|
35
|
+
.add_param("client_id", client_id)
|
|
36
|
+
.add_param("client_secret", client_secret)
|
|
37
|
+
.add_route(PATH_RESET_PASSWORD_INSTRUCTIONS);
|
|
38
|
+
url_builder.build()
|
|
39
|
+
}
|
|
40
|
+
|
|
27
41
|
fn build_smb_resend_reset_password_instructions_url(
|
|
28
42
|
env: Environment,
|
|
29
43
|
client: (&SmbClient, &str),
|
|
30
44
|
) -> String {
|
|
31
|
-
|
|
32
|
-
url_builder.add_route(PATH_RESET_PASSWORD_INSTRUCTIONS);
|
|
33
|
-
url_builder.build()
|
|
45
|
+
build_resend_reset_password_instructions_url(env, client.0.id(), client.1)
|
|
34
46
|
}
|
|
@@ -6,7 +6,7 @@ Mail routing support crate for smbCloud Mail.
|
|
|
6
6
|
|
|
7
7
|
`smbcloud-mail` provides the shared mail API client layer used by the smbCloud CLI for mail apps, inbox routes, test delivery, and inbound message inspection.
|
|
8
8
|
|
|
9
|
-
|
|
9
|
+
For the wider product story, visit [smbCloud](https://smbcloud.xyz/).
|
|
10
10
|
|
|
11
11
|
## License
|
|
12
12
|
|