jinxapi_github/v1_1_4/request/
orgs_get_audit_log.rs

1//! Get the audit log for an organization
2//! 
3//! Gets the audit log for an organization. For more information, see "[Reviewing the audit log for your organization](https://docs.github.com/github/setting-up-and-managing-organizations-and-teams/reviewing-the-audit-log-for-your-organization)."
4//! 
5//! This endpoint is available for organizations on GitHub Enterprise Cloud. To use this endpoint, you must be an organization owner, and you must use an access token with the `admin:org` scope. GitHub Apps must have the `organization_administration` read permission to use this endpoint.
6//! 
7//! By default, the response includes up to 30 events from the past three months. Use the `phrase` parameter to filter results and retrieve older events. For example, use the `phrase` parameter with the `created` qualifier to filter events based on when the events occurred. For more information, see "[Reviewing the audit log for your organization](https://docs.github.com/organizations/keeping-your-organization-secure/managing-security-settings-for-your-organization/reviewing-the-audit-log-for-your-organization#searching-the-audit-log)."
8//! 
9//! Use pagination to retrieve fewer or more than 30 events. For more information, see "[Resources in the REST API](https://docs.github.com/rest/overview/resources-in-the-rest-api#pagination)."
10//! 
11//! [API method documentation](https://docs.github.com/rest/reference/orgs#get-audit-log)
12
13
14#[allow(clippy::too_many_arguments)]
15fn url_string(
16    base_url: &str,
17    p_org: &str,
18    q_phrase: ::std::option::Option<&str>,
19    q_include: ::std::option::Option<&str>,
20    q_after: ::std::option::Option<&str>,
21    q_before: ::std::option::Option<&str>,
22    q_order: ::std::option::Option<&str>,
23    q_per_page: ::std::option::Option<i64>,
24) -> Result<String, crate::v1_1_4::ApiError> {
25    let trimmed = if base_url.is_empty() {
26        "https://api.github.com"
27    } else {
28        base_url.trim_end_matches('/')
29    };
30    let mut url = String::with_capacity(trimmed.len() + 33);
31    url.push_str(trimmed);
32    url.push_str("/orgs/");
33    ::querylizer::Simple::extend(&mut url, &p_org, false, &::querylizer::encode_path)?;
34    url.push_str("/audit-log");
35    let mut prefix = '?';
36    if let Some(value) = &q_phrase {
37        url.push(::std::mem::replace(&mut prefix, '&'));
38        ::querylizer::Form::extend(&mut url, "phrase", value, false, &::querylizer::encode_query)?;
39    }
40    if let Some(value) = &q_include {
41        url.push(::std::mem::replace(&mut prefix, '&'));
42        ::querylizer::Form::extend(&mut url, "include", value, false, &::querylizer::encode_query)?;
43    }
44    if let Some(value) = &q_after {
45        url.push(::std::mem::replace(&mut prefix, '&'));
46        ::querylizer::Form::extend(&mut url, "after", value, false, &::querylizer::encode_query)?;
47    }
48    if let Some(value) = &q_before {
49        url.push(::std::mem::replace(&mut prefix, '&'));
50        ::querylizer::Form::extend(&mut url, "before", value, false, &::querylizer::encode_query)?;
51    }
52    if let Some(value) = &q_order {
53        url.push(::std::mem::replace(&mut prefix, '&'));
54        ::querylizer::Form::extend(&mut url, "order", value, false, &::querylizer::encode_query)?;
55    }
56    if let Some(value) = &q_per_page {
57        url.push(::std::mem::replace(&mut prefix, '&'));
58        ::querylizer::Form::extend(&mut url, "per_page", value, false, &::querylizer::encode_query)?;
59    }
60    Ok(url)
61}
62
63#[cfg(feature = "hyper")]
64#[allow(clippy::too_many_arguments)]
65pub fn http_builder(
66    base_url: &str,
67    p_org: &str,
68    q_phrase: ::std::option::Option<&str>,
69    q_include: ::std::option::Option<&str>,
70    q_after: ::std::option::Option<&str>,
71    q_before: ::std::option::Option<&str>,
72    q_order: ::std::option::Option<&str>,
73    q_per_page: ::std::option::Option<i64>,
74    h_user_agent: &str,
75    h_accept: ::std::option::Option<&str>,
76) -> Result<::http::request::Builder, crate::v1_1_4::ApiError> {
77    let url = url_string(
78        base_url,
79        p_org,
80        q_phrase,
81        q_include,
82        q_after,
83        q_before,
84        q_order,
85        q_per_page,
86    )?;
87    let mut builder = ::http::request::Request::get(url);
88    builder = builder.header(
89        "User-Agent",
90        &::querylizer::Simple::to_string(&h_user_agent, false, &::querylizer::passthrough)?
91    );
92    if let Some(value) = &h_accept {
93        builder = builder.header(
94            "Accept",
95            &::querylizer::Simple::to_string(value, false, &::querylizer::passthrough)?
96        );
97    }
98    Ok(builder)
99}
100
101#[cfg(feature = "hyper")]
102#[inline]
103pub fn hyper_request(
104    builder: ::http::request::Builder,
105) -> Result<::http::request::Request<::hyper::Body>, crate::v1_1_4::ApiError> {
106    Ok(builder.body(::hyper::Body::empty())?)
107}
108
109#[cfg(feature = "reqwest")]
110#[allow(clippy::too_many_arguments)]
111pub fn reqwest_builder(
112    base_url: &str,
113    p_org: &str,
114    q_phrase: ::std::option::Option<&str>,
115    q_include: ::std::option::Option<&str>,
116    q_after: ::std::option::Option<&str>,
117    q_before: ::std::option::Option<&str>,
118    q_order: ::std::option::Option<&str>,
119    q_per_page: ::std::option::Option<i64>,
120    h_user_agent: &str,
121    h_accept: ::std::option::Option<&str>,
122) -> Result<::reqwest::Request, crate::v1_1_4::ApiError> {
123    let url = url_string(
124        base_url,
125        p_org,
126        q_phrase,
127        q_include,
128        q_after,
129        q_before,
130        q_order,
131        q_per_page,
132    )?;
133    let reqwest_url = ::reqwest::Url::parse(&url)?;
134    let mut request = ::reqwest::Request::new(::reqwest::Method::GET, reqwest_url);
135    let headers = request.headers_mut();
136    headers.append(
137        "User-Agent",
138        ::querylizer::Simple::to_string(&h_user_agent, false, &::querylizer::passthrough)?.try_into()?
139    );
140    if let Some(value) = &h_accept {
141        headers.append(
142            "Accept",
143            ::querylizer::Simple::to_string(value, false, &::querylizer::passthrough)?.try_into()?
144        );
145    }
146    Ok(request)
147}
148
149#[cfg(feature = "reqwest")]
150#[inline(always)]
151pub fn reqwest_request(
152    builder: ::reqwest::Request,
153) -> Result<::reqwest::Request, crate::v1_1_4::ApiError>
154{
155    Ok(builder)
156}
157
158#[cfg(feature = "reqwest-blocking")]
159#[allow(clippy::too_many_arguments)]
160pub fn reqwest_blocking_builder(
161    base_url: &str,
162    p_org: &str,
163    q_phrase: ::std::option::Option<&str>,
164    q_include: ::std::option::Option<&str>,
165    q_after: ::std::option::Option<&str>,
166    q_before: ::std::option::Option<&str>,
167    q_order: ::std::option::Option<&str>,
168    q_per_page: ::std::option::Option<i64>,
169    h_user_agent: &str,
170    h_accept: ::std::option::Option<&str>,
171) -> Result<::reqwest::blocking::Request, crate::v1_1_4::ApiError> {
172    let url = url_string(
173        base_url,
174        p_org,
175        q_phrase,
176        q_include,
177        q_after,
178        q_before,
179        q_order,
180        q_per_page,
181    )?;
182    let reqwest_url = ::reqwest::Url::parse(&url)?;
183    let mut request = ::reqwest::blocking::Request::new(::reqwest::Method::GET, reqwest_url);
184    let headers = request.headers_mut();
185    headers.append(
186        "User-Agent",
187        ::querylizer::Simple::to_string(&h_user_agent, false, &::querylizer::passthrough)?.try_into()?
188    );
189    if let Some(value) = &h_accept {
190        headers.append(
191            "Accept",
192            ::querylizer::Simple::to_string(value, false, &::querylizer::passthrough)?.try_into()?
193        );
194    }
195    Ok(request)
196}
197
198#[cfg(feature = "reqwest-blocking")]
199#[inline(always)]
200pub fn reqwest_blocking_request(
201    builder: ::reqwest::blocking::Request,
202) -> Result<::reqwest::blocking::Request, crate::v1_1_4::ApiError>
203{
204    Ok(builder)
205}