MCPcopy Create free account
hub / github.com/actiontech/dtle / createUser

Function createUser

api/handler/v2/user.go:129–159  ·  view source on GitHub ↗
(logger g.LoggerType, user *common.User)

Source from the content-addressed store, hash-verified

127}
128
129func createUser(logger g.LoggerType, user *common.User) error {
130 storeManager, err := common.NewStoreManager([]string{handler.ConsulAddr}, logger)
131 if err != nil {
132 return fmt.Errorf("get consul client failed: %v", err)
133 }
134
135 _, exist, err := storeManager.GetUser(user.Tenant, user.Username)
136 if err != nil {
137 return err
138 }
139 if exist {
140 return fmt.Errorf("user already exists")
141 }
142 // create default admin role before first tenant user register
143 if user.Role == common.DefaultRole {
144 _, exists, err := storeManager.GetRole(user.Tenant, common.DefaultRole)
145 if err != nil {
146 return fmt.Errorf("create tenant admin role fail %v", err)
147 }
148 if !exists {
149 role := common.NewDefaultRole(user.Tenant)
150 if err := storeManager.SaveRole(role); nil != err {
151 return fmt.Errorf("create metadata of user[userName=%v,Tenant=%v] from consul failed: %v", user.Username, user.Tenant, err)
152 }
153 }
154 }
155 if err := storeManager.SaveUser(user); nil != err {
156 return fmt.Errorf("create metadata of user[userName=%v,Tenant=%v] from consul failed: %v", user.Username, user.Tenant, err)
157 }
158 return nil
159}
160
161// @Id UpdateUserV2
162// @Description update user info.

Callers 2

createPlatformUserFunction · 0.85
CreateUserV2Function · 0.85

Calls 6

GetUserMethod · 0.95
GetRoleMethod · 0.95
SaveRoleMethod · 0.95
SaveUserMethod · 0.95
NewStoreManagerFunction · 0.92
NewDefaultRoleFunction · 0.92

Tested by

no test coverage detected