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
use crate::client::Graph; use crate::core::ResourceIdentity; use crate::tasks::{TaskRequest, TasksRequest}; use graph_http::types::Collection; use graph_http::types::Content; use graph_http::GraphResponse; use graph_http::IntoResponse; use handlebars::*; use reqwest::Method; register_client!(BucketRequest,); register_client!(BucketsRequest, ()); impl<'a, Client> BucketRequest<'a, Client> where Client: graph_http::RequestClient, { pub fn id<ID: AsRef<str>>(&self, id: ID) -> BucketsRequest<'a, Client> { self.client.set_ident(ResourceIdentity::Buckets); BucketsRequest::new(id.as_ref(), self.client) } get!({ doc: "# Get buckets from planner", name: list_buckets, response: Collection<serde_json::Value>, path: "/buckets", params: 0, has_body: false }); post!({ doc: "# Create new navigation property to buckets for planner", name: create_buckets, response: serde_json::Value, path: "/buckets", params: 0, has_body: true }); } impl<'a, Client> BucketsRequest<'a, Client> where Client: graph_http::RequestClient, { pub fn tasks(&self) -> TaskRequest<'a, Client> { self.client .request .extend_path(&[self.client.ident().as_ref()]); TaskRequest::new(self.client) } pub fn task<ID: AsRef<str>>(&self, id: ID) -> TasksRequest<'a, Client> { self.client .request .extend_path(&[self.client.ident().as_ref()]); self.client.set_ident(ResourceIdentity::Tasks); TasksRequest::new(id.as_ref(), self.client) } get!({ doc: "# Get buckets from planner", name: get_buckets, response: serde_json::Value, path: "/buckets/{{RID}}", params: 0, has_body: false }); patch!({ doc: "# Update the navigation property buckets in planner", name: update_buckets, response: GraphResponse<Content>, path: "/buckets/{{RID}}", params: 0, has_body: true }); get!({ doc: "# Get tasks from planner", name: list_tasks, response: Collection<serde_json::Value>, path: "/buckets/{{RID}}/tasks", params: 0, has_body: false }); post!({ doc: "# Create new navigation property to tasks for planner", name: create_tasks, response: serde_json::Value, path: "/buckets/{{RID}}/tasks", params: 0, has_body: true }); }