octocrab/api/repos/
tags.rs1use super::*;
2
3#[derive(serde::Serialize)]
4pub struct ListTagsBuilder<'octo, 'r> {
5 #[serde(skip)]
6 handler: &'r RepoHandler<'octo>,
7 #[serde(skip_serializing_if = "Option::is_none")]
8 per_page: Option<u8>,
9 #[serde(skip_serializing_if = "Option::is_none")]
10 page: Option<u32>,
11}
12
13impl<'octo, 'r> ListTagsBuilder<'octo, 'r> {
14 pub fn new(handler: &'r RepoHandler<'octo>) -> Self {
15 Self {
16 handler,
17 per_page: None,
18 page: None,
19 }
20 }
21
22 pub fn per_page(mut self, per_page: impl Into<u8>) -> Self {
24 self.per_page = Some(per_page.into());
25 self
26 }
27
28 pub fn page(mut self, page: impl Into<u32>) -> Self {
30 self.page = Some(page.into());
31 self
32 }
33
34 pub async fn send(self) -> crate::Result<crate::Page<crate::models::repos::Tag>> {
36 let route = format!("/{}/tags", self.handler.repo);
37 self.handler.crab.get(route, Some(&self)).await
38 }
39}