Skip to content
Clone

feat(project): add lifecycle impls

zhenyi committed
parent eaef96a commit b969f09 Browse files

1 file changed

+50 −0

Added lib/project/features/lifecycle/impls.rs View lib/project/features/lifecycle/impls.rs
@@ -0,0 +1,50 @@
1use uuid::Uuid;
2
3use super::{CreateProjectCmd, ListProjectQuery, ProjectPage, ProjectView, UpdateProjectCmd};
4use super::usecase;
5
6impl crate::service::ProjectService {
7 pub async fn create_project(
8 &self,
9 actor: Uuid,
10 cmd: CreateProjectCmd,
11 ) -> crate::error::ProjectResult<ProjectView> {
12 usecase::create_project(self, actor, cmd).await
13 }
14
15 pub async fn get_project(
16 &self,
17 actor: Uuid,
18 space_id: Uuid,
19 project_id: Uuid,
20 ) -> crate::error::ProjectResult<ProjectView> {
21 usecase::get_project(self, actor, space_id, project_id).await
22 }
23
24 pub async fn list_projects(
25 &self,
26 actor: Uuid,
27 q: ListProjectQuery,
28 ) -> crate::error::ProjectResult<ProjectPage> {
29 usecase::list_projects(self, actor, q).await
30 }
31
32 pub async fn update_project(
33 &self,
34 actor: Uuid,
35 space_id: Uuid,
36 project_id: Uuid,
37 cmd: UpdateProjectCmd,
38 ) -> crate::error::ProjectResult<ProjectView> {
39 usecase::update_project(self, actor, space_id, project_id, cmd).await
40 }
41
42 pub async fn delete_project(
43 &self,
44 actor: Uuid,
45 space_id: Uuid,
46 project_id: Uuid,
47 ) -> crate::error::ProjectResult<()> {
48 usecase::delete_project(self, actor, space_id, project_id).await
49 }
50}