scufflecloud_core/services/
organizations.rs1use 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}