From cd653fad9f722e3021aa0cd3250ce9be9f30be0c Mon Sep 17 00:00:00 2001 From: Vlad Zagvozdkin Date: Wed, 2 Oct 2024 12:38:31 +0500 Subject: [PATCH] feat: Add `add_organization` to v1 --- src/v1/mod.rs | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) diff --git a/src/v1/mod.rs b/src/v1/mod.rs index daeaaf2..6db136d 100644 --- a/src/v1/mod.rs +++ b/src/v1/mod.rs @@ -31,8 +31,8 @@ use zitadel::{ idp::v1::IdpUserLink, management::v1::{ bulk_set_org_metadata_request::Metadata, - management_service_client::ManagementServiceClient, AddProjectMemberRequest, - AddProjectRequest, AddProjectRoleRequest, AddUserGrantRequest, + management_service_client::ManagementServiceClient, AddOrgRequest, + AddProjectMemberRequest, AddProjectRequest, AddProjectRoleRequest, AddUserGrantRequest, BulkAddProjectRolesRequest, BulkAddProjectRolesResponse, BulkSetOrgMetadataRequest, GetMyOrgRequest, GetOrgMetadataRequest, GetUserByIdRequest, GetUserByLoginNameGlobalRequest, GetUserMetadataRequest, ListHumanLinkedIdPsRequest, @@ -309,6 +309,19 @@ impl Zitadel { .ok_or(error::Error::Unknown("get_my_user returned empty user".into())) } + /// Create an organization. + /// [API Docs](https://zitadel.com/docs/apis/resources/mgmt/management-service-add-org) + #[tracing::instrument(level = "debug", skip_all)] + pub async fn add_organization(&self, name: String) -> Result { + Ok(self + .management_client + .clone() + .add_org(self.request_with_auth(AddOrgRequest { name }).await?) + .await? + .into_inner() + .id) + } + /// List events. ///[API Docs](https://zitadel.com/docs/apis/resources/admin/admin-service-list-events) #[tracing::instrument(level = "debug", skip_all)]