scufflecloud_core/services/
users.rs1use crate::CoreConfig;
2use crate::operations::Operation;
3use crate::services::CoreSvc;
4
5#[async_trait::async_trait]
6impl<G: CoreConfig> pb::scufflecloud::core::v1::users_service_server::UsersService for CoreSvc<G> {
7 async fn get_user(
8 &self,
9 req: tonic::Request<pb::scufflecloud::core::v1::GetUserRequest>,
10 ) -> Result<tonic::Response<pb::scufflecloud::core::v1::User>, tonic::Status> {
11 Operation::<G>::run(req).await.map(tonic::Response::new)
12 }
13
14 async fn update_user(
15 &self,
16 req: tonic::Request<pb::scufflecloud::core::v1::UpdateUserRequest>,
17 ) -> Result<tonic::Response<pb::scufflecloud::core::v1::User>, tonic::Status> {
18 Operation::<G>::run(req).await.map(tonic::Response::new)
19 }
20
21 async fn list_user_emails(
22 &self,
23 req: tonic::Request<pb::scufflecloud::core::v1::ListUserEmailsRequest>,
24 ) -> Result<tonic::Response<pb::scufflecloud::core::v1::UserEmailsList>, tonic::Status> {
25 Operation::<G>::run(req).await.map(tonic::Response::new)
26 }
27
28 async fn create_user_email(
29 &self,
30 req: tonic::Request<pb::scufflecloud::core::v1::CreateUserEmailRequest>,
31 ) -> Result<tonic::Response<()>, tonic::Status> {
32 Operation::<G>::run(req).await.map(tonic::Response::new)
33 }
34
35 async fn complete_create_user_email(
36 &self,
37 req: tonic::Request<pb::scufflecloud::core::v1::CompleteCreateUserEmailRequest>,
38 ) -> Result<tonic::Response<pb::scufflecloud::core::v1::UserEmail>, tonic::Status> {
39 Operation::<G>::run(req).await.map(tonic::Response::new)
40 }
41
42 async fn delete_user_email(
43 &self,
44 req: tonic::Request<pb::scufflecloud::core::v1::DeleteUserEmailRequest>,
45 ) -> Result<tonic::Response<pb::scufflecloud::core::v1::UserEmail>, tonic::Status> {
46 Operation::<G>::run(req).await.map(tonic::Response::new)
47 }
48
49 async fn create_webauthn_credential(
50 &self,
51 req: tonic::Request<pb::scufflecloud::core::v1::CreateWebauthnCredentialRequest>,
52 ) -> Result<tonic::Response<pb::scufflecloud::core::v1::CreateWebauthnCredentialResponse>, tonic::Status> {
53 Operation::<G>::run(req).await.map(tonic::Response::new)
54 }
55
56 async fn complete_create_webauthn_credential(
57 &self,
58 req: tonic::Request<pb::scufflecloud::core::v1::CompleteCreateWebauthnCredentialRequest>,
59 ) -> Result<tonic::Response<pb::scufflecloud::core::v1::WebauthnCredential>, tonic::Status> {
60 Operation::<G>::run(req).await.map(tonic::Response::new)
61 }
62
63 async fn list_webauthn_credentials(
64 &self,
65 req: tonic::Request<pb::scufflecloud::core::v1::ListWebauthnCredentialsRequest>,
66 ) -> Result<tonic::Response<pb::scufflecloud::core::v1::WebauthnCredentialsList>, tonic::Status> {
67 Operation::<G>::run(req).await.map(tonic::Response::new)
68 }
69
70 async fn delete_webauthn_credential(
71 &self,
72 req: tonic::Request<pb::scufflecloud::core::v1::DeleteWebauthnCredentialRequest>,
73 ) -> Result<tonic::Response<pb::scufflecloud::core::v1::WebauthnCredential>, tonic::Status> {
74 Operation::<G>::run(req).await.map(tonic::Response::new)
75 }
76
77 async fn create_webauthn_challenge(
78 &self,
79 req: tonic::Request<pb::scufflecloud::core::v1::CreateWebauthnChallengeRequest>,
80 ) -> Result<tonic::Response<pb::scufflecloud::core::v1::WebauthnChallenge>, tonic::Status> {
81 Operation::<G>::run(req).await.map(tonic::Response::new)
82 }
83
84 async fn create_totp_credential(
85 &self,
86 req: tonic::Request<pb::scufflecloud::core::v1::CreateTotpCredentialRequest>,
87 ) -> Result<tonic::Response<pb::scufflecloud::core::v1::CreateTotpCredentialResponse>, tonic::Status> {
88 Operation::<G>::run(req).await.map(tonic::Response::new)
89 }
90
91 async fn complete_create_totp_credential(
92 &self,
93 req: tonic::Request<pb::scufflecloud::core::v1::CompleteCreateTotpCredentialRequest>,
94 ) -> Result<tonic::Response<pb::scufflecloud::core::v1::TotpCredential>, tonic::Status> {
95 Operation::<G>::run(req).await.map(tonic::Response::new)
96 }
97
98 async fn list_totp_credentials(
99 &self,
100 req: tonic::Request<pb::scufflecloud::core::v1::ListTotpCredentialsRequest>,
101 ) -> Result<tonic::Response<pb::scufflecloud::core::v1::TotpCredentialsList>, tonic::Status> {
102 Operation::<G>::run(req).await.map(tonic::Response::new)
103 }
104
105 async fn delete_totp_credential(
106 &self,
107 req: tonic::Request<pb::scufflecloud::core::v1::DeleteTotpCredentialRequest>,
108 ) -> Result<tonic::Response<pb::scufflecloud::core::v1::TotpCredential>, tonic::Status> {
109 Operation::<G>::run(req).await.map(tonic::Response::new)
110 }
111
112 async fn regenerate_recovery_codes(
113 &self,
114 req: tonic::Request<pb::scufflecloud::core::v1::RegenerateRecoveryCodesRequest>,
115 ) -> Result<tonic::Response<pb::scufflecloud::core::v1::RecoveryCodes>, tonic::Status> {
116 Operation::<G>::run(req).await.map(tonic::Response::new)
117 }
118
119 async fn delete_user(
120 &self,
121 req: tonic::Request<pb::scufflecloud::core::v1::DeleteUserRequest>,
122 ) -> Result<tonic::Response<pb::scufflecloud::core::v1::User>, tonic::Status> {
123 Operation::<G>::run(req).await.map(tonic::Response::new)
124 }
125}