1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96
use anyhow::Result;
use crate::Client;
pub struct CodesOfConduct {
pub client: Client,
}
impl CodesOfConduct {
#[doc(hidden)]
pub fn new(client: Client) -> Self {
CodesOfConduct { client }
}
/**
* Get all codes of conduct.
*
* This function performs a `GET` to the `/codes_of_conduct` endpoint.
*
*
*
* FROM: <https://docs.github.com/rest/reference/codes-of-conduct#get-all-codes-of-conduct>
*/
pub async fn get_all_codes_of_conduct(&self) -> Result<Vec<crate::types::CodeOfConduct>> {
let url = "/codes_of_conduct".to_string();
self.client.get(&url, None).await
}
/**
* Get all codes of conduct.
*
* This function performs a `GET` to the `/codes_of_conduct` endpoint.
*
* As opposed to `get_all_codes_of_conduct`, this function returns all the pages of the request at once.
*
*
*
* FROM: <https://docs.github.com/rest/reference/codes-of-conduct#get-all-codes-of-conduct>
*/
pub async fn get_all_all_codes_of_conduct(&self) -> Result<Vec<crate::types::CodeOfConduct>> {
let url = "/codes_of_conduct".to_string();
self.client.get_all_pages(&url, None).await
}
/**
* Get a code of conduct.
*
* This function performs a `GET` to the `/codes_of_conduct/{key}` endpoint.
*
*
*
* FROM: <https://docs.github.com/rest/reference/codes-of-conduct#get-a-code-of-conduct>
*
* **Parameters:**
*
* * `key: &str`
*/
pub async fn get_conduct_code(&self, key: &str) -> Result<crate::types::CodeOfConduct> {
let url = format!(
"/codes_of_conduct/{}",
crate::progenitor_support::encode_path(&key.to_string()),
);
self.client.get(&url, None).await
}
/**
* Get the code of conduct for a repository.
*
* This function performs a `GET` to the `/repos/{owner}/{repo}/community/code_of_conduct` endpoint.
*
* Returns the contents of the repository's code of conduct file, if one is detected.
*
* A code of conduct is detected if there is a file named `CODE_OF_CONDUCT` in the root directory of the repository. GitHub detects which code of conduct it is using fuzzy matching.
*
* FROM: <https://docs.github.com/rest/reference/codes-of-conduct#get-the-code-of-conduct-for-a-repository>
*
* **Parameters:**
*
* * `owner: &str`
* * `repo: &str`
*/
pub async fn get_for_repo(
&self,
owner: &str,
repo: &str,
) -> Result<crate::types::CodeOfConduct> {
let url = format!(
"/repos/{}/{}/community/code_of_conduct",
crate::progenitor_support::encode_path(&owner.to_string()),
crate::progenitor_support::encode_path(&repo.to_string()),
);
self.client.get(&url, None).await
}
}