1 use {
2 smbcloud_network::environment::Environment,
3 smbcloud_networking::{smb_base_url_builder, smb_client::SmbClient},
4 };
5
6 pub(crate) fn build_deploy_repos_url(env: Environment, client: (&SmbClient, &str)) -> String {
7 let mut url_builder = smb_base_url_builder(env, client);
8 url_builder.add_route("v1/deploy_repos");
9 url_builder.build()
10 }
11
12 pub(crate) fn build_github_installations_url(
13 env: Environment,
14 client: (&SmbClient, &str),
15 ) -> String {
16 let mut url_builder = smb_base_url_builder(env, client);
17 url_builder.add_route("v1/github/installations");
18 url_builder.build()
19 }
20
21 pub(crate) fn build_github_installation_repositories_url(
22 env: Environment,
23 client: (&SmbClient, &str),
24 installation_id: i64,
25 ) -> String {
26 let mut url_builder = smb_base_url_builder(env, client);
27 url_builder.add_route("v1/github/installations");
28 url_builder.add_route(&installation_id.to_string());
29 url_builder.add_route("repositories");
30 url_builder.build()
31 }
32
33 pub(crate) fn build_deploy_repo_github_connection_url(
34 env: Environment,
35 client: (&SmbClient, &str),
36 deploy_repo_id: i64,
37 ) -> String {
38 let mut url_builder = smb_base_url_builder(env, client);
39 url_builder.add_route("v1/deploy_repos");
40 url_builder.add_route(&deploy_repo_id.to_string());
41 url_builder.add_route("github_connection");
42 url_builder.build()
43 }
44
45 pub(crate) fn build_frontend_apps_url(env: Environment, client: (&SmbClient, &str)) -> String {
46 let mut url_builder = smb_base_url_builder(env, client);
47 url_builder.add_route("v1/frontend_apps");
48 url_builder.build()
49 }
50
51 pub(crate) fn build_frontend_app_update_deploy_config_url(
52 env: Environment,
53 client: (&SmbClient, &str),
54 frontend_app_id: &str,
55 ) -> String {
56 let mut url_builder = smb_base_url_builder(env, client);
57 url_builder.add_route("v1/frontend_apps");
58 url_builder.add_route(frontend_app_id);
59 url_builder.build()
60 }
61
62 pub(crate) fn build_frontend_app_deploy_config_url(
63 env: Environment,
64 client: (&SmbClient, &str),
65 frontend_app_id: &str,
66 ) -> String {
67 let mut url_builder = smb_base_url_builder(env, client);
68 url_builder.add_route("v1/frontend_apps");
69 url_builder.add_route(frontend_app_id);
70 url_builder.add_route("deploy_config");
71 url_builder.build()
72 }
73
74 // Private functions
75
76 pub(crate) fn build_project_url(env: Environment, client: (&SmbClient, &str)) -> String {
77 let mut url_builder = smb_base_url_builder(env, client);
78 url_builder.add_route("v1/projects");
79 url_builder.build()
80 }
81
82 pub(crate) fn build_project_url_with_id(
83 env: Environment,
84 client: (&SmbClient, &str),
85 id: String,
86 ) -> String {
87 let mut url_builder = smb_base_url_builder(env, client);
88 url_builder.add_route("v1/projects");
89 url_builder.add_route(id.as_str());
90 url_builder.build()
91 }
92
93 pub(crate) fn build_project_deployment_index(
94 env: Environment,
95 client: (&SmbClient, &str),
96 project_id: String,
97 ) -> String {
98 let mut url_builder = smb_base_url_builder(env, client);
99 url_builder.add_route("v1/projects");
100 url_builder.add_route(project_id.as_str());
101 url_builder.add_route("deployment");
102 url_builder.build()
103 }
104
105 pub(crate) fn build_project_deployment(
106 env: Environment,
107 client: (&SmbClient, &str),
108 project_id: String,
109 id: String,
110 ) -> String {
111 let mut url_builder = smb_base_url_builder(env, client);
112 url_builder.add_route("v1/projects");
113 url_builder.add_route(project_id.as_str());
114 url_builder.add_route("deployment");
115 url_builder.add_route(id.as_str());
116 url_builder.build()
117 }