Skip to main content

spiral/resources/
project.rs

1//! Authenticated project management.
2
3pub use crate::api::authorization::{
4    Grant, GrantResponse as GrantRoleResponse, GrantRoleRequest,
5    OrganizationRolePrincipal as OrgRolePrincipalConditions,
6    OrganizationUserPrincipal as OrgUserPrincipalConditions, Principal as PrincipalConditions,
7    Role as RoleId, WorkloadPrincipal as WorkloadPrincipalConditions,
8};
9pub use crate::api::project::{
10    CreateProjectRequest, CreateProjectResponse, Presentation, PresentationKey, Project,
11    SavePresentation,
12};
13
14/// A stable role-grant identifier.
15pub type GrantId = String;
16/// A canonical principal address used to filter role grants.
17pub type Principal = String;
18
19/// Access-grant operations bound to the SDK connection.
20pub use super::generated::authorization::AuthenticatedClient as AuthorizationClient;
21/// Authenticated operations generated from the service contract.
22pub use super::generated::project::AuthenticatedClient as ProjectClient;
23
24impl ProjectClient {
25    /// List accessible Projects, resolving current credentials for each page.
26    pub fn list(&self) -> crate::List<'_, Project> {
27        self.list_projects_list(Default::default())
28    }
29}