1
1
package seahub
2
2
3
3
import (
4
- "encoding/json"
5
4
"errors"
6
5
"files/pkg/common"
7
6
"files/pkg/drivers/sync/seahub/seaserv"
8
7
"k8s.io/klog/v2"
9
- "net/http"
10
- "strings"
11
8
)
12
9
13
- func createDefaultLibrary (newUsername string ) (string , error ) {
10
+ func CreateDefaultLibrary (newUsername string ) (string , error ) {
14
11
username := newUsername
15
12
if username == "" {
16
13
return "" , errors .New ("username is empty" )
@@ -55,45 +52,7 @@ func createDefaultLibrary(newUsername string) (string, error) {
55
52
return defaultRepo , nil
56
53
}
57
54
58
- func CallbackCreateHandler (w http.ResponseWriter , r * http.Request ) (int , error ) {
59
- var data map [string ]interface {}
60
- if err := json .NewDecoder (r .Body ).Decode (& data ); err != nil {
61
- klog .Infof ("Error parsing request body: %v" , err )
62
- return http .StatusBadRequest , err
63
- }
64
- klog .Infof ("Received data: %v" , data )
65
-
66
- bflName , ok := data ["name" ].(string )
67
- if ! ok {
68
- klog .Infoln ("Name field is missing or not a string" )
69
- return http .StatusBadRequest , nil
70
- }
71
-
72
- bflName = strings .TrimSpace (bflName )
73
- if bflName != "" {
74
- newUsername := bflName + "@auth.local"
75
- klog .Infof ("Try to create user for %s" , newUsername )
76
-
77
- isNew , err := createUser (newUsername )
78
- if err != nil {
79
- klog .Infof ("Error creating user: %v" , err )
80
- return http .StatusInternalServerError , err
81
- }
82
-
83
- if isNew {
84
- repoId , err := createDefaultLibrary (newUsername )
85
- if err != nil {
86
- klog .Infof ("Create default library for %s failed: %v" , newUsername , err )
87
- } else {
88
- klog .Infof ("Create default library %s for %s successfully!" , repoId , newUsername )
89
- }
90
- }
91
- }
92
-
93
- return 0 , nil
94
- }
95
-
96
- func createUser (username string ) (bool , error ) {
55
+ func CreateUser (username string ) (bool , error ) {
97
56
allUsers , err := seaserv .ListAllUsers ()
98
57
if err != nil {
99
58
klog .Errorf ("Error listing users: %v" , err )
@@ -119,27 +78,7 @@ func createUser(username string) (bool, error) {
119
78
return true , nil
120
79
}
121
80
122
- func CallbackDeleteHandler (w http.ResponseWriter , r * http.Request ) (int , error ) {
123
- var requestData map [string ]string
124
- if err := json .NewDecoder (r .Body ).Decode (& requestData ); err != nil {
125
- return http .StatusBadRequest , err
126
- }
127
- defer r .Body .Close ()
128
-
129
- bflName , exists := requestData ["name" ]
130
- if ! exists {
131
- return http .StatusBadRequest , errors .New ("Missing name field" )
132
- }
133
- username := bflName + "@auth.local"
134
-
135
- err := removeUser (username )
136
- if err != nil {
137
- return http .StatusInternalServerError , err
138
- }
139
- return 0 , nil
140
- }
141
-
142
- func removeUser (username string ) error {
81
+ func RemoveUser (username string ) error {
143
82
allUsers , err := seaserv .ListAllUsers ()
144
83
if err != nil {
145
84
klog .Errorf ("Error listing users: %v" , err )
0 commit comments