twitter_v2/api/
compliance.rs1use super::TwitterApi;
2use crate::api_result::ApiResult;
3use crate::authorization::Authorization;
4use crate::data::{ComplianceJob, ComplianceJobKind};
5use crate::id::IntoNumericId;
6use crate::query::{ComplianceJobKindQuery, GetComplianceJobsRequestBuilder, UrlQueryExt};
7use crate::requests::ComplianceJobBuilder;
8use reqwest::Method;
9
10impl<A> TwitterApi<A>
11where
12 A: Authorization,
13{
14 pub fn get_compliance_jobs(
15 &self,
16 kind: impl IntoIterator<Item = ComplianceJobKindQuery>,
17 ) -> GetComplianceJobsRequestBuilder<A, Vec<ComplianceJob>, ()> {
18 let mut url = self.url("compliance/jobs").unwrap();
19 url.append_query_seq("type", kind);
20 GetComplianceJobsRequestBuilder::new(self, url)
21 }
22 pub async fn get_compliance_job(
23 &self,
24 id: impl IntoNumericId,
25 ) -> ApiResult<A, ComplianceJob, ()> {
26 self.send(self.request(Method::GET, self.url(format!("compliance/job/{id}"))?))
27 .await
28 }
29 pub fn post_compliance_job(&self, kind: ComplianceJobKind) -> ComplianceJobBuilder<A> {
30 ComplianceJobBuilder::new(self, self.url("compliance/jobs").unwrap(), kind)
31 }
32}