scufflecloud_core/services/
users.rs

1use 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}