refactor(server::db): introduced newtype wrappers for entity id's in database

This commit is contained in:
Skipper
2026-04-27 13:07:12 +02:00
parent 3f801abdff
commit a773255935
18 changed files with 175 additions and 101 deletions

View File

@@ -90,7 +90,7 @@ async fn handle_wallet_list(
.into_iter()
.map(|(id, address)| WalletEntry {
address: address.to_vec(),
id,
id: id.to_raw(),
})
.collect(),
}),

View File

@@ -1,11 +1,10 @@
use crate::{
db::models::{CoreEvmWalletAccess, NewEvmWalletAccess},
db::models::{CoreEvmWalletAccess, EvmWalletId, NewEvmWalletAccess},
evm::policies::{
SharedGrantSettings, SpecificGrant, TransactionRateLimit, VolumeRateLimit, ether_transfer,
token_transfers,
},
grpc::Convert,
grpc::TryConvert,
grpc::{Convert, TryConvert},
};
use arbiter_proto::{
proto::evm::{
@@ -150,7 +149,7 @@ impl Convert for WalletAccess {
fn convert(self) -> Self::Output {
NewEvmWalletAccess {
wallet_id: self.wallet_id,
wallet_id: EvmWalletId::from_raw(self.wallet_id),
client_id: self.sdk_client_id,
}
}
@@ -165,7 +164,7 @@ impl TryConvert for SdkClientWalletAccess {
return Err(Status::invalid_argument("Missing wallet access entry"));
};
Ok(CoreEvmWalletAccess {
wallet_id: access.wallet_id,
wallet_id: EvmWalletId::from_raw(access.wallet_id),
client_id: access.sdk_client_id,
id: self.id,
})

View File

@@ -103,7 +103,7 @@ impl Convert for EvmWalletAccess {
Self::Output {
id: self.id,
access: Some(WalletAccess {
wallet_id: self.wallet_id,
wallet_id: self.wallet_id.to_raw(),
sdk_client_id: self.client_id,
}),
}

View File

@@ -2,7 +2,7 @@ use crate::{
db::models::NewEvmWalletAccess,
grpc::Convert,
peers::operator::{
OutOfBand, OperatorSession,
OperatorSession, OutOfBand,
session::handlers::{
HandleGrantEvmWalletAccess, HandleListWalletAccess, HandleNewClientApprove,
HandleRevokeEvmWalletAccess, HandleSdkClientList,
@@ -11,8 +11,8 @@ use crate::{
};
use arbiter_crypto::authn;
use arbiter_proto::proto::{
shared::ClientInfo as ProtoClientMetadata,
operator::{
operator_response::Payload as OperatorResponsePayload,
sdk_client::{
self as proto_sdk_client, ConnectionCancel as ProtoSdkClientConnectionCancel,
ConnectionRequest as ProtoSdkClientConnectionRequest,
@@ -24,8 +24,8 @@ use arbiter_proto::proto::{
request::Payload as SdkClientRequestPayload,
response::Payload as SdkClientResponsePayload,
},
operator_response::Payload as OperatorResponsePayload,
},
shared::ClientInfo as ProtoClientMetadata,
};
use kameo::actor::ActorRef;
@@ -115,7 +115,7 @@ async fn handle_list(
clients: clients
.into_iter()
.map(|(client, metadata)| ProtoSdkClientEntry {
id: client.id,
id: client.id.to_raw(),
pubkey: client.public_key.clone(),
info: Some(ProtoClientMetadata {
name: metadata.name,