CreateNewUser : create new user
(username, password string)
| 175 | |
| 176 | // CreateNewUser : create new user |
| 177 | func CreateNewUser(username, password string) (userID string, err error) { |
| 178 | |
| 179 | err = checkInit() |
| 180 | if err != nil { |
| 181 | return |
| 182 | } |
| 183 | |
| 184 | var checkIfTheUserAlreadyExists = func(username string, userData map[string]interface{}) (err error) { |
| 185 | var salt = userData["_salt"].(string) |
| 186 | var loginUsername = userData["_username"].(string) |
| 187 | |
| 188 | if SHA256(username, salt) == loginUsername { |
| 189 | err = createError(020) |
| 190 | } |
| 191 | |
| 192 | return |
| 193 | } |
| 194 | |
| 195 | var users = data["users"].(map[string]interface{}) |
| 196 | for _, userData := range users { |
| 197 | err = checkIfTheUserAlreadyExists(username, userData.(map[string]interface{})) |
| 198 | if err != nil { |
| 199 | return |
| 200 | } |
| 201 | } |
| 202 | |
| 203 | var defaults = defaultsForNewUser(username, password) |
| 204 | userID = defaults["_id"].(string) |
| 205 | users[userID] = defaults |
| 206 | |
| 207 | saveDatabase(data) |
| 208 | |
| 209 | return |
| 210 | } |
| 211 | |
| 212 | // UserAuthentication : user authentication |
| 213 | func UserAuthentication(username, password string) (token string, err error) { |
no test coverage detected