rs_firebase_admin_sdk/api_uri/
mod.rs1pub enum FirebaseAuthRestApi {
5 CreateUser,
6 GetUsers,
7 ListUsers,
8 DeleteUser,
9 DeleteUsers,
10 UpdateUser,
11 ImportUsers,
12 CreateSessionCookie,
13 SendOobCode,
14}
15
16impl From<FirebaseAuthRestApi> for &'static str {
17 fn from(path: FirebaseAuthRestApi) -> Self {
18 match path {
19 FirebaseAuthRestApi::CreateUser => "/accounts",
20 FirebaseAuthRestApi::GetUsers => "/accounts:lookup",
21 FirebaseAuthRestApi::ListUsers => "/accounts:batchGet",
22 FirebaseAuthRestApi::DeleteUser => "/accounts:delete",
23 FirebaseAuthRestApi::DeleteUsers => "/accounts:batchDelete",
24 FirebaseAuthRestApi::UpdateUser => "/accounts:update",
25 FirebaseAuthRestApi::ImportUsers => "/accounts:batchCreate",
26 FirebaseAuthRestApi::CreateSessionCookie => ":createSessionCookie",
27 FirebaseAuthRestApi::SendOobCode => "/accounts:sendOobCode",
28 }
29 }
30}
31
32pub enum FirebaseAuthEmulatorRestApi {
34 ClearUserAccounts,
35 Configuration,
36 OobCodes,
37 SmsVerificationCodes,
38}
39
40impl From<FirebaseAuthEmulatorRestApi> for &'static str {
41 fn from(path: FirebaseAuthEmulatorRestApi) -> Self {
42 match path {
43 FirebaseAuthEmulatorRestApi::ClearUserAccounts => "/accounts",
44 FirebaseAuthEmulatorRestApi::Configuration => "/config",
45 FirebaseAuthEmulatorRestApi::OobCodes => "/oobCodes",
46 FirebaseAuthEmulatorRestApi::SmsVerificationCodes => "/verificationCodes",
47 }
48 }
49}
50
51#[derive(Debug, Clone)]
52pub struct ApiUriBuilder {
53 root_prefix: String,
54}
55
56impl ApiUriBuilder {
57 pub fn new(root_prefix: String) -> Self {
58 Self { root_prefix }
59 }
60
61 pub fn build<PathT: Into<&'static str>>(&self, path: PathT) -> String {
62 self.root_prefix.clone() + path.into()
63 }
64}