cloudflare/endpoints/workerskv/
list_namespaces.rs

1use super::WorkersKvNamespace;
2
3use crate::framework::endpoint::{Endpoint, Method};
4
5/// List Namespaces
6/// Returns the namespaces owned by an account
7/// https://api.cloudflare.com/#workers-kv-namespace-list-namespaces
8pub struct ListNamespaces<'a> {
9    pub account_identifier: &'a str,
10    pub params: ListNamespacesParams,
11}
12
13impl<'a> Endpoint<Vec<WorkersKvNamespace>, ListNamespacesParams> for ListNamespaces<'a> {
14    fn method(&self) -> Method {
15        Method::Get
16    }
17    fn path(&self) -> String {
18        format!("accounts/{}/storage/kv/namespaces", self.account_identifier)
19    }
20    fn query(&self) -> Option<ListNamespacesParams> {
21        Some(self.params.clone())
22    }
23}
24
25#[derive(Serialize, Clone, Debug, Default)]
26pub struct ListNamespacesParams {
27    pub page: Option<u32>,
28    pub per_page: Option<u32>,
29}