(logger g.LoggerType, user *common.User)
| 127 | } |
| 128 | |
| 129 | func 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. |
no test coverage detected