Skip to content

Commit

Permalink
create Request::QueryClusterById
Browse files Browse the repository at this point in the history
  • Loading branch information
Keksoj committed Mar 23, 2023
1 parent b796b7b commit 7fac13a
Show file tree
Hide file tree
Showing 4 changed files with 17 additions and 10 deletions.
8 changes: 5 additions & 3 deletions bin/src/command/requests.rs
Original file line number Diff line number Diff line change
Expand Up @@ -1052,11 +1052,13 @@ impl CommandServer {
main_response_content =
Some(ResponseContent::ClustersHashes(self.state.hash_state()));
}
Request::QueryClusterById(cluster_id) => {
main_response_content = Some(ResponseContent::Clusters(vec![self
.state
.cluster_state(cluster_id)]))
}
Request::QueryClusters(query_type) => {
main_response_content = Some(ResponseContent::Clusters(match query_type {
QueryClusterType::ClusterId(cluster_id) => {
vec![self.state.cluster_state(cluster_id)]
}
QueryClusterType::Domain(domain) => {
let cluster_ids = get_cluster_ids_by_domain(
&self.state,
Expand Down
6 changes: 3 additions & 3 deletions bin/src/ctl/command.rs
Original file line number Diff line number Diff line change
Expand Up @@ -332,8 +332,8 @@ impl CommandManager {
bail!("Error: Either request an cluster ID or a domain name");
}

let command = if let Some(ref cluster_id) = cluster_id {
Request::QueryClusters(QueryClusterType::ClusterId(cluster_id.to_string()))
let request = if let Some(ref cluster_id) = cluster_id {
Request::QueryClusterById(cluster_id.to_string())
} else if let Some(ref domain) = domain {
let splitted: Vec<String> =
domain.splitn(2, '/').map(|elem| elem.to_string()).collect();
Expand All @@ -355,7 +355,7 @@ impl CommandManager {
Request::QueryClustersHashes
};

self.send_request(command)?;
self.send_request(request)?;

loop {
let response = self.read_channel_message_with_timeout()?;
Expand Down
4 changes: 3 additions & 1 deletion command/src/request.rs
Original file line number Diff line number Diff line change
Expand Up @@ -83,6 +83,7 @@ pub enum Request {
QueryCertificateByFingerprint(Fingerprint),
QueryCertificatesByDomain(String),

QueryClusterById(ClusterId),
QueryClusters(QueryClusterType),
QueryClustersHashes,
QueryMetrics(QueryMetricsOptions),
Expand Down Expand Up @@ -130,6 +131,7 @@ impl Request {
| Request::SoftStop
| Request::HardStop
| Request::Status
| Request::QueryClusterById(_)
| Request::QueryClusters(_)
| Request::QueryClustersHashes
| Request::QueryMetrics(_)
Expand Down Expand Up @@ -376,7 +378,7 @@ pub enum MetricsConfiguration {
#[derive(Debug, Clone, PartialEq, Eq, Hash, Serialize, Deserialize)]
#[serde(tag = "type", content = "data", rename_all = "SCREAMING_SNAKE_CASE")]
pub enum QueryClusterType {
ClusterId(String),
// ClusterId(String),
Domain(QueryClusterDomain),
}

Expand Down
9 changes: 6 additions & 3 deletions lib/src/server.rs
Original file line number Diff line number Diff line change
Expand Up @@ -885,11 +885,14 @@ impl Server {
));
return;
}
Request::QueryClusterById(cluster_id) => {
push_queue(WorkerResponse::ok_with_content(
message.id.clone(),
ResponseContent::Clusters(vec![self.config_state.cluster_state(cluster_id)]),
));
}
Request::QueryClusters(query_type) => {
let content = match query_type {
QueryClusterType::ClusterId(cluster_id) => {
ResponseContent::Clusters(vec![self.config_state.cluster_state(cluster_id)])
}
QueryClusterType::Domain(domain) => {
let cluster_ids = get_cluster_ids_by_domain(
&self.config_state,
Expand Down

0 comments on commit 7fac13a

Please sign in to comment.