From b2e4006af0569f0167d8cef47fa4c8dbdfec8163 Mon Sep 17 00:00:00 2001 From: MasterPtato <23087326+MasterPtato@users.noreply.github.com> Date: Thu, 18 Apr 2024 18:54:38 +0000 Subject: [PATCH] chore: publish user-create-complete (#539) feat(Infra): Loops welcome email --- svc/api/auth/src/route/identity.rs | 6 +++--- svc/pkg/user-identity/ops/create/src/lib.rs | 6 ++++++ .../types/msg/create-complete.proto | 16 ++++++++++++++++ 3 files changed, 25 insertions(+), 3 deletions(-) create mode 100644 svc/pkg/user-identity/types/msg/create-complete.proto diff --git a/svc/api/auth/src/route/identity.rs b/svc/api/auth/src/route/identity.rs index 1f77777801..75632b9b79 100644 --- a/svc/api/auth/src/route/identity.rs +++ b/svc/api/auth/src/route/identity.rs @@ -96,14 +96,14 @@ pub async fn complete( } let email_res = op!([ctx] user_resolve_email { - emails: vec![res.email.clone()] + emails: vec![res.email.clone()], }) .await?; - tracing::info!(email = %res.email, "resolved email"); - // Switch to new user if let Some(new_user) = email_res.users.first() { + tracing::info!(email = %new_user.email, "resolved email"); + let new_user_id = unwrap_ref!(new_user.user_id).as_uuid(); tracing::info!(old_user_id = %user_ent.user_id, %new_user_id, "identity found, switching user"); diff --git a/svc/pkg/user-identity/ops/create/src/lib.rs b/svc/pkg/user-identity/ops/create/src/lib.rs index b6f9a851c4..36679891ba 100644 --- a/svc/pkg/user-identity/ops/create/src/lib.rs +++ b/svc/pkg/user-identity/ops/create/src/lib.rs @@ -78,6 +78,12 @@ async fn handle( .purge("user_identity.identity", [user_id]) .await?; + msg!([ctx] user_identity::msg::create_complete(user_id) { + user_id: ctx.user_id, + identity: ctx.identity.clone(), + }) + .await?; + msg!([ctx] user::msg::update(user_id) { user_id: ctx.user_id, }) diff --git a/svc/pkg/user-identity/types/msg/create-complete.proto b/svc/pkg/user-identity/types/msg/create-complete.proto new file mode 100644 index 0000000000..0612e5f3aa --- /dev/null +++ b/svc/pkg/user-identity/types/msg/create-complete.proto @@ -0,0 +1,16 @@ +syntax = "proto3"; + +package rivet.backend.pkg.user_identity.msg.create_complete; + +import "proto/common.proto"; +import "proto/backend/user_identity.proto"; + +/// name = "msg-user-identity-create-complete" +/// deduplicate = true +/// parameters = [ +/// { name = "run_id" }, +/// ] +message Message { + rivet.common.Uuid user_id = 1; + rivet.backend.user_identity.Identity identity = 2; +}