Skip to content

Commit 31ed4b4

Browse files
committed
chore(users): migrate proto backend to native
1 parent a082694 commit 31ed4b4

File tree

27 files changed

+194
-141
lines changed

27 files changed

+194
-141
lines changed

Cargo.lock

Lines changed: 2 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

packages/api/auth/src/route/identity.rs

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -132,12 +132,12 @@ pub async fn complete(
132132

133133
(*ctx).op(::user::ops::identity::create::Input {
134134
user_id: user_ent.user_id,
135-
identity: backend::user_identity::Identity {
136-
kind: Some(backend::user_identity::identity::Kind::Email(
137-
backend::user_identity::identity::Email {
135+
identity: ::user::types::identity::Identity {
136+
kind: ::user::types::identity::Kind::Email(
137+
::user::types::identity::Email {
138138
email: res.email.clone(),
139139
}
140-
))
140+
)
141141
}
142142
})
143143
.await?;

packages/api/cloud/src/auth.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ use api_helper::{
44
auth::{ApiAuth, AuthRateLimitCtx},
55
util::{as_auth_expired, basic_rate_limit},
66
};
7-
use proto::{backend, claims::Claims};
7+
use proto::claims::Claims;
88
use rivet_claims::ClaimsDecode;
99
use rivet_operation::prelude::*;
1010

@@ -56,7 +56,7 @@ impl Auth {
5656
pub async fn user(
5757
&self,
5858
ctx: &OperationContext<()>,
59-
) -> GlobalResult<(backend::user::User, rivet_claims::ent::User)> {
59+
) -> GlobalResult<(user::types::User, rivet_claims::ent::User)> {
6060
let claims = self.claims()?;
6161
let user_ent = claims.as_user()?;
6262

packages/api/group/src/auth.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ use api_helper::{
22
auth::{ApiAuth, AuthRateLimitCtx},
33
util::{as_auth_expired, basic_rate_limit},
44
};
5-
use proto::{backend, claims::Claims};
5+
use proto::claims::Claims;
66
use rivet_claims::ClaimsDecode;
77
use rivet_operation::prelude::*;
88

@@ -52,7 +52,7 @@ impl Auth {
5252
pub async fn user(
5353
&self,
5454
ctx: &OperationContext<()>,
55-
) -> GlobalResult<(backend::user::User, rivet_claims::ent::User)> {
55+
) -> GlobalResult<(user::types::User, rivet_claims::ent::User)> {
5656
let claims = self.claims()?;
5757
let user_ent = claims.as_user()?;
5858

packages/api/group/src/convert/identity.rs

Lines changed: 4 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,23 +1,19 @@
1-
use proto::backend;
21
use rivet_group_server::models;
32
use rivet_operation::prelude::*;
43

54
pub fn handle(
65
config: &rivet_config::Config,
76
current_user_id: Uuid,
8-
user: &backend::user::User,
7+
user: &user::types::User,
98
) -> GlobalResult<models::IdentityHandle> {
10-
let raw_user_id = unwrap!(user.user_id);
11-
let user_id = raw_user_id.as_uuid();
12-
139
Ok(models::IdentityHandle {
14-
identity_id: user_id.to_string(),
10+
identity_id: user.user_id.to_string(),
1511
display_name: user.display_name.clone(),
1612
account_number: user.account_number as i32,
17-
avatar_url: util::route::user_avatar(config, user),
13+
avatar_url: user::route::user_avatar(config, user),
1814
is_registered: true, // TODO:
1915
external: models::IdentityExternalLinks {
20-
profile: util::route::user_profile(config, user_id),
16+
profile: user::route::user_profile(config, user.user_id),
2117
settings: None,
2218
chat: Default::default(),
2319
},

packages/api/group/src/route/groups.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -251,7 +251,7 @@ pub async fn join_requests(
251251
let join_request_ts = team_join_requests
252252
.join_requests
253253
.iter()
254-
.find(|join_request| user.user_id == join_request.user_id)
254+
.find(|join_request| Some(user.user_id.into()) == join_request.user_id)
255255
.map(|jr| jr.ts)
256256
.unwrap_or(util::timestamp::now());
257257
Ok(models::GroupJoinRequest {
@@ -1019,7 +1019,7 @@ pub async fn bans(
10191019
let ban_ts = unwrap!(team_bans
10201020
.banned_users
10211021
.iter()
1022-
.find(|ban| user.user_id == ban.user_id)
1022+
.find(|ban| Some(user.user_id.into()) == ban.user_id)
10231023
).ban_ts;
10241024

10251025
Ok(models::GroupBannedIdentity {

packages/common/convert/src/convert/identity.rs

Lines changed: 13 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -1,24 +1,21 @@
11
use rivet_api::models;
22
use rivet_operation::prelude::*;
3-
use types_proto::rivet::backend::{self};
43

54
use crate::{convert, fetch, ApiTryInto};
65

76
pub fn handle(
87
config: &rivet_config::Config,
98
_current_user_id: Uuid,
10-
user: &backend::user::User,
9+
user: &user::types::User,
1110
) -> GlobalResult<models::IdentityHandle> {
12-
let user_id = unwrap_ref!(user.user_id).as_uuid();
13-
1411
Ok(models::IdentityHandle {
15-
identity_id: user_id,
12+
identity_id: user.user_id,
1613
display_name: user.display_name.clone(),
1714
account_number: user.account_number as i32,
18-
avatar_url: util::route::user_avatar(config, user),
15+
avatar_url: user::route::user_avatar(config, user),
1916
is_registered: true, // TODO:
2017
external: Box::new(models::IdentityExternalLinks {
21-
profile: util::route::user_profile(config, user_id),
18+
profile: user::route::user_profile(config, user.user_id),
2219
settings: None,
2320
}),
2421
})
@@ -27,19 +24,16 @@ pub fn handle(
2724
pub fn summary(
2825
config: &rivet_config::Config,
2926
_current_user_id: Uuid,
30-
user: &backend::user::User,
27+
user: &user::types::User,
3128
) -> GlobalResult<models::IdentitySummary> {
32-
let user_id_proto = unwrap!(user.user_id);
33-
let user_id = user_id_proto.as_uuid();
34-
3529
Ok(models::IdentitySummary {
36-
identity_id: user_id,
30+
identity_id: user.user_id,
3731
display_name: user.display_name.clone(),
3832
account_number: user.account_number as i32,
39-
avatar_url: util::route::user_avatar(config, user),
33+
avatar_url: user::route::user_avatar(config, user),
4034
is_registered: true, // TODO:
4135
external: Box::new(models::IdentityExternalLinks {
42-
profile: util::route::user_profile(config, user_id),
36+
profile: user::route::user_profile(config, user.user_id),
4337
settings: None,
4438
}),
4539
following: false,
@@ -58,12 +52,10 @@ pub struct ProfileCtx<'a> {
5852
pub fn profile(
5953
config: &rivet_config::Config,
6054
current_user_id: Uuid,
61-
user: &backend::user::User,
55+
user: &user::types::User,
6256
pctx: ProfileCtx,
6357
) -> GlobalResult<models::IdentityProfile> {
64-
let user_id_proto = unwrap!(user.user_id);
65-
let user_id = user_id_proto.as_uuid();
66-
58+
let user_id = user.user_id;
6759
let is_self = user_id == current_user_id;
6860

6961
let identities = unwrap!(pctx
@@ -81,7 +73,7 @@ pub fn profile(
8173
.user_teams
8274
.users
8375
.iter()
84-
.find(|u| Some(common::Uuid::from(u.user_id)) == user.user_id));
76+
.find(|u| u.user_id == user.user_id));
8577
let team_ids = user
8678
.teams
8779
.iter()
@@ -108,10 +100,10 @@ pub fn profile(
108100
identity_id: user_id,
109101
display_name: user.display_name.to_owned(),
110102
account_number: user.account_number as i32,
111-
avatar_url: util::route::user_avatar(config, user),
103+
avatar_url: user::route::user_avatar(config, user),
112104
is_registered,
113105
external: Box::new(models::IdentityExternalLinks {
114-
profile: util::route::user_profile(config, user_id),
106+
profile: user::route::user_profile(config, user_id),
115107
settings: None,
116108
}),
117109
dev_state: None,

packages/common/convert/src/impls/identity.rs

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -4,22 +4,22 @@ use rivet_operation::prelude::*;
44

55
use crate::ApiTryFrom;
66

7-
impl ApiTryFrom<backend::user_identity::Identity> for models::IdentityLinkedAccount {
7+
impl ApiTryFrom<user::types::identity::Identity> for models::IdentityLinkedAccount {
88
type Error = GlobalError;
99

1010
fn api_try_from(
11-
value: backend::user_identity::Identity,
11+
value: user::types::identity::Identity,
1212
) -> GlobalResult<models::IdentityLinkedAccount> {
13-
match unwrap_ref!(value.kind) {
14-
backend::user_identity::identity::Kind::Email(email_ident) => {
13+
match value.kind {
14+
user::types::identity::Kind::Email(email_ident) => {
1515
Ok(models::IdentityLinkedAccount {
1616
email: Some(Box::new(models::IdentityEmailLinkedAccount {
1717
email: email_ident.email.to_owned(),
1818
})),
1919
..Default::default()
2020
})
2121
}
22-
backend::user_identity::identity::Kind::DefaultUser(_) => {
22+
user::types::identity::Kind::DefaultUser(_) => {
2323
Ok(models::IdentityLinkedAccount {
2424
default_user: Some(true),
2525
..Default::default()

packages/common/util/core/src/route.rs

Lines changed: 0 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -10,14 +10,6 @@ pub fn user_settings(config: &rivet_config::Config) -> String {
1010
)
1111
}
1212

13-
pub fn user_profile(config: &rivet_config::Config, user_id: Uuid) -> String {
14-
format!(
15-
"{}/identities/{}",
16-
crate::url::to_string_without_slash(&config.server().unwrap().rivet.ui.public_origin()),
17-
user_id
18-
)
19-
}
20-
2113
pub fn team_profile(config: &rivet_config::Config, team_id: Uuid) -> String {
2214
format!(
2315
"{}/groups/{}",
@@ -26,23 +18,6 @@ pub fn team_profile(config: &rivet_config::Config, team_id: Uuid) -> String {
2618
)
2719
}
2820

29-
pub fn user_avatar(config: &rivet_config::Config, user: &backend::user::User) -> String {
30-
if let (Some(upload_id), Some(file_name)) =
31-
(user.profile_upload_id, user.profile_file_name.as_ref())
32-
{
33-
format!(
34-
"{}/media/user-avatar/{}/{}",
35-
crate::url::to_string_without_slash(
36-
&config.server().unwrap().rivet.api_public.public_origin()
37-
),
38-
upload_id,
39-
file_name
40-
)
41-
} else {
42-
format!("https://assets2.rivet.gg/avatars/{}.png", user.avatar_id)
43-
}
44-
}
45-
4621
pub fn custom_avatar(
4722
config: &rivet_config::Config,
4823
upload_id: Uuid,

packages/services/load-test/standalone/api-cloud/src/lib.rs

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -48,10 +48,12 @@ pub async fn run_from_env(
4848
&ctx,
4949
::user::ops::identity::create::Input {
5050
user_id: primary_user_id,
51-
identity: backend::user_identity::Identity {
52-
kind: Some(backend::user_identity::identity::Kind::Email(backend::user_identity::identity::Email {
53-
email: util::faker::email()
54-
}))
51+
identity: ::user::types::identity::Identity {
52+
kind: ::user::types::identity::Kind::Email(
53+
::user::types::identity::Email {
54+
email: util::faker::email()
55+
}
56+
)
5557
}
5658
}
5759
)

0 commit comments

Comments
 (0)