2
2
package usecase
3
3
4
4
import (
5
- "errors"
6
-
7
5
"github.com/forest33/warthog/business/entity"
8
- "github.com/forest33/warthog/pkg/structs"
9
6
)
10
7
11
8
// CreateFolder creates folder on workspace.
@@ -15,17 +12,6 @@ func (uc *WorkspaceUseCase) CreateFolder(payload map[string]interface{}) *entity
15
12
return entity .ErrorGUIResponse (err )
16
13
}
17
14
18
- check , err := uc .workspaceRepo .Get (& entity.WorkspaceFilter {
19
- Title : req .Title ,
20
- ParentID : req .ParentID ,
21
- })
22
- if err != nil {
23
- uc .log .Error ().Msgf ("failed to get folder: %v" , err )
24
- return entity .ErrorGUIResponse (err )
25
- } else if check != nil {
26
- return uc .folderResponse (nil , req .TypeFilter , entity .ErrFolderAlreadyExists )
27
- }
28
-
29
15
folder , err := uc .workspaceRepo .Create (& entity.Workspace {
30
16
ParentID : req .ParentID ,
31
17
Type : entity .WorkspaceTypeFolder ,
@@ -36,7 +22,7 @@ func (uc *WorkspaceUseCase) CreateFolder(payload map[string]interface{}) *entity
36
22
return entity .ErrorGUIResponse (err )
37
23
}
38
24
39
- return uc .folderResponse (folder , req .TypeFilter , nil )
25
+ return uc .successFolderResponse (folder , req .TypeFilter )
40
26
}
41
27
42
28
// UpdateFolder updates folder on workspace.
@@ -46,26 +32,6 @@ func (uc *WorkspaceUseCase) UpdateFolder(payload map[string]interface{}) *entity
46
32
return entity .ErrorGUIResponse (err )
47
33
}
48
34
49
- existsFolder , err := uc .workspaceRepo .GetByID (req .ID )
50
- if err != nil {
51
- uc .log .Error ().Msgf ("failed to get folder: %v" , err )
52
- return entity .ErrorGUIResponse (err )
53
- } else if existsFolder == nil {
54
- uc .log .Error ().Msgf ("failed to get folder: %v" , err )
55
- return entity .ErrorGUIResponse (errors .New ("failed to get folder" ))
56
- }
57
-
58
- check , err := uc .workspaceRepo .Get (& entity.WorkspaceFilter {
59
- Title : req .Title ,
60
- ParentID : existsFolder .ParentID ,
61
- })
62
- if err != nil {
63
- uc .log .Error ().Msgf ("failed to get folder: %v" , err )
64
- return entity .ErrorGUIResponse (err )
65
- } else if check != nil {
66
- return uc .folderResponse (nil , req .TypeFilter , entity .ErrFolderAlreadyExists )
67
- }
68
-
69
35
folder , err := uc .workspaceRepo .Update (& entity.Workspace {
70
36
ID : req .ID ,
71
37
ParentID : req .ParentID ,
@@ -76,7 +42,7 @@ func (uc *WorkspaceUseCase) UpdateFolder(payload map[string]interface{}) *entity
76
42
return entity .ErrorGUIResponse (err )
77
43
}
78
44
79
- return uc .folderResponse (folder , req .TypeFilter , nil )
45
+ return uc .successFolderResponse (folder , req .TypeFilter )
80
46
}
81
47
82
48
// DeleteFolder deletes folder on workspace.
@@ -96,28 +62,18 @@ func (uc *WorkspaceUseCase) DeleteFolder(payload map[string]interface{}) *entity
96
62
}
97
63
}
98
64
99
- func (uc * WorkspaceUseCase ) folderResponse (folder * entity.Workspace , typeFilter []entity.WorkspaceType , actionErr error ) * entity.GUIResponse {
100
- w , err := uc .workspaceRepo .Get (nil )
65
+ func (uc * WorkspaceUseCase ) successFolderResponse (folder * entity.Workspace , typeFilter []entity.WorkspaceType ) * entity.GUIResponse {
66
+ w , err := uc .workspaceRepo .Get ()
101
67
if err != nil {
102
68
uc .log .Error ().Msgf ("failed to get workspace: %v" , err )
103
69
return entity .ErrorGUIResponse (err )
104
70
}
105
71
106
- if actionErr == nil {
107
- return & entity.GUIResponse {
108
- Status : entity .GUIResponseStatusOK ,
109
- Payload : & entity.FolderResponse {
110
- Folder : folder ,
111
- Tree : entity .MakeWorkspaceTree (w , & entity.WorkspaceTreeFilter {Type : typeFilter }, folder .ID ),
112
- },
113
- }
114
- }
115
-
116
72
return & entity.GUIResponse {
117
- Status : structs . If ( actionErr == nil , entity .GUIResponseStatusOK , entity . GUIResponseStatusError ) ,
73
+ Status : entity .GUIResponseStatusOK ,
118
74
Payload : & entity.FolderResponse {
119
- Tree : entity .MakeWorkspaceTree (w , & entity.WorkspaceTreeFilter {Type : typeFilter }, 0 ),
75
+ Folder : folder ,
76
+ Tree : entity .MakeWorkspaceTree (w , & entity.WorkspaceTreeFilter {Type : typeFilter }, folder .ID ),
120
77
},
121
- Error : entity .ErrorGUIResponse (actionErr ).Error ,
122
78
}
123
79
}
0 commit comments