scufflecloud_core/services/
organizations.rs

1use crate::CoreConfig;
2use crate::operations::Operation;
3use crate::services::CoreSvc;
4
5#[async_trait::async_trait]
6impl<G: CoreConfig> pb::scufflecloud::core::v1::organizations_service_server::OrganizationsService for CoreSvc<G> {
7    async fn create_organization(
8        &self,
9        req: tonic::Request<pb::scufflecloud::core::v1::CreateOrganizationRequest>,
10    ) -> Result<tonic::Response<pb::scufflecloud::core::v1::Organization>, tonic::Status> {
11        Operation::<G>::run(req).await.map(tonic::Response::new)
12    }
13
14    async fn get_organization(
15        &self,
16        req: tonic::Request<pb::scufflecloud::core::v1::GetOrganizationRequest>,
17    ) -> Result<tonic::Response<pb::scufflecloud::core::v1::Organization>, tonic::Status> {
18        Operation::<G>::run(req).await.map(tonic::Response::new)
19    }
20
21    async fn update_organization(
22        &self,
23        req: tonic::Request<pb::scufflecloud::core::v1::UpdateOrganizationRequest>,
24    ) -> Result<tonic::Response<pb::scufflecloud::core::v1::Organization>, tonic::Status> {
25        Operation::<G>::run(req).await.map(tonic::Response::new)
26    }
27
28    async fn list_organization_members(
29        &self,
30        req: tonic::Request<pb::scufflecloud::core::v1::ListOrganizationMembersRequest>,
31    ) -> Result<tonic::Response<pb::scufflecloud::core::v1::OrganizationMembersList>, tonic::Status> {
32        Operation::<G>::run(req).await.map(tonic::Response::new)
33    }
34
35    async fn list_organizations_by_user(
36        &self,
37        req: tonic::Request<pb::scufflecloud::core::v1::ListOrganizationsByUserRequest>,
38    ) -> Result<tonic::Response<pb::scufflecloud::core::v1::OrganizationsList>, tonic::Status> {
39        Operation::<G>::run(req).await.map(tonic::Response::new)
40    }
41
42    async fn create_project(
43        &self,
44        req: tonic::Request<pb::scufflecloud::core::v1::CreateProjectRequest>,
45    ) -> Result<tonic::Response<pb::scufflecloud::core::v1::Project>, tonic::Status> {
46        Operation::<G>::run(req).await.map(tonic::Response::new)
47    }
48
49    async fn list_projects(
50        &self,
51        req: tonic::Request<pb::scufflecloud::core::v1::ListProjectsRequest>,
52    ) -> Result<tonic::Response<pb::scufflecloud::core::v1::ProjectsList>, tonic::Status> {
53        Operation::<G>::run(req).await.map(tonic::Response::new)
54    }
55}