use crate::Result;
use crate::UptrakitClient;
use crate::types_impl::roles::{CreateRoleRequest, RoleResponse, UpdateRoleRequest};
use uuid::Uuid;
impl UptrakitClient {
pub async fn list_roles(&self) -> Result<Vec<RoleResponse>> {
self.get(crate::paths::roles::BASE).await
}
pub async fn get_role(&self, id: &Uuid) -> Result<RoleResponse> {
self.get(&crate::paths::roles::by_id(id)).await
}
pub async fn create_role(&self, req: &CreateRoleRequest) -> Result<RoleResponse> {
self.post_json(crate::paths::roles::BASE, req).await
}
pub async fn update_role(&self, id: &Uuid, req: &UpdateRoleRequest) -> Result<RoleResponse> {
self.put_json(&crate::paths::roles::by_id(id), req).await
}
pub async fn delete_role(&self, id: &Uuid) -> Result<()> {
self.delete(&crate::paths::roles::by_id(id)).await
}
}