1pub struct FirebaseUrl {
2 pub(crate) sign_in_by_email_url: String,
3 pub(crate) sign_up_by_email_url: String,
4 pub(crate) token_url: String,
5 pub(crate) account_lookup_url: String,
6 pub(crate) account_update_url: String,
7 pub(crate) account_send_oob_code_url: String,
8}
9
10impl FirebaseUrl {
11 pub fn new(api_key: String) -> Self {
12 let sign_in_by_email_url = format!(
13 "https://identitytoolkit.googleapis.com/v1/accounts:signInWithPassword?key={}",
14 &api_key,
15 );
16
17 let sign_up_by_email_url = format!(
18 "https://identitytoolkit.googleapis.com/v1/accounts:signUp?key={}",
19 &api_key,
20 );
21
22 let token_url = format!(
23 "https://securetoken.googleapis.com/v1/token?key={}",
24 &api_key,
25 );
26
27 let account_lookup_url = format!(
28 "https://identitytoolkit.googleapis.com/v1/accounts:lookup?key={}",
29 &api_key,
30 );
31
32 let account_update_url = format!(
33 "https://identitytoolkit.googleapis.com/v1/accounts:update?key={}",
34 &api_key,
35 );
36
37 let account_send_oob_code_url = format!(
38 "https://identitytoolkit.googleapis.com/v1/accounts:sendOobCode?key={}",
39 &api_key,
40 );
41
42 Self {
43 sign_in_by_email_url,
44 sign_up_by_email_url,
45 token_url,
46 account_lookup_url,
47 account_update_url,
48 account_send_oob_code_url,
49 }
50 }
51}