MCPcopy Create free account
hub / github.com/Threadfin/Threadfin / CreateNewUser

Function CreateNewUser

src/internal/authentication/authentication.go:177–210  ·  view source on GitHub ↗

CreateNewUser : create new user

(username, password string)

Source from the content-addressed store, hash-verified

175
176// CreateNewUser : create new user
177func 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
213func UserAuthentication(username, password string) (token string, err error) {

Callers 1

saveNewUserFunction · 0.92

Calls 5

checkInitFunction · 0.85
SHA256Function · 0.85
createErrorFunction · 0.85
defaultsForNewUserFunction · 0.85
saveDatabaseFunction · 0.85

Tested by

no test coverage detected