use crate::DataForSeoApiResponse;
use crate::DataForSeoClient;
use crate::api::keywords_data::{KeywordsDataApi, KeywordsDataApiLocation};
use crate::entity::{KeywordsDataApiGoogleAdsStatus, KeywordsDataApiLanguage};
mod ad_traffic_by_keywords;
mod keywords_for_keywords;
mod keywords_for_site;
mod search_volume;
pub use ad_traffic_by_keywords::*;
pub use keywords_for_keywords::*;
pub use keywords_for_site::*;
pub use search_volume::*;
impl KeywordsDataApi<'_> {
pub fn google_ads(&self) -> KeywordsDataApiGoogle<'_> {
KeywordsDataApiGoogle {
client: self.client,
}
}
}
pub struct KeywordsDataApiGoogle<'a> {
pub(crate) client: &'a DataForSeoClient,
}
impl KeywordsDataApiGoogle<'_> {
pub async fn status(&self) -> DataForSeoApiResponse<KeywordsDataApiGoogleAdsStatus> {
self.client
.http_get("/v3/keywords_data/google_ads/status")
.await
}
pub async fn locations(&self) -> DataForSeoApiResponse<KeywordsDataApiLocation> {
self.client
.http_get("/v3/keywords_data/google_ads/locations")
.await
}
pub async fn languages(&self) -> DataForSeoApiResponse<KeywordsDataApiLanguage> {
self.client
.http_get("/v3/keywords_data/google_ads/languages")
.await
}
}