mirror of
https://github.com/outbackdingo/databunker.git
synced 2026-01-27 10:18:45 +00:00
check that user has at least one index key
This commit is contained in:
@@ -186,7 +186,7 @@ func (e mainEnv) setupRouter() *httprouter.Router {
|
||||
|
||||
router.GET("/v1/sys/backup", e.backupDB)
|
||||
|
||||
router.POST("/v1/user", e.userNew)
|
||||
router.POST("/v1/user", e.userCreate)
|
||||
router.GET("/v1/user/:mode/:identity", e.userGet)
|
||||
router.DELETE("/v1/user/:mode/:identity", e.userDelete)
|
||||
router.PUT("/v1/user/:mode/:identity", e.userChange)
|
||||
|
||||
@@ -10,7 +10,7 @@ import (
|
||||
"go.mongodb.org/mongo-driver/bson"
|
||||
)
|
||||
|
||||
func (e mainEnv) userNew(w http.ResponseWriter, r *http.Request, ps httprouter.Params) {
|
||||
func (e mainEnv) userCreate(w http.ResponseWriter, r *http.Request, ps httprouter.Params) {
|
||||
event := audit("create user record", "", "", "")
|
||||
defer func() { event.submit(e.db) }()
|
||||
|
||||
@@ -81,6 +81,14 @@ func (e mainEnv) userNew(w http.ResponseWriter, r *http.Request, ps httprouter.P
|
||||
return
|
||||
}
|
||||
}
|
||||
if len(parsedData.loginIdx) == 0 &&
|
||||
len(parsedData.emailIdx) == 0 &&
|
||||
len(parsedData.phoneIdx) == 0 &&
|
||||
len(parsedData.customIdx) == 0 {
|
||||
returnError(w, r, "failed to create user, all user lookup fields are missing", 405, err, event)
|
||||
return
|
||||
}
|
||||
|
||||
userTOKEN, err := e.db.createUserRecord(parsedData, event)
|
||||
if err != nil {
|
||||
returnError(w, r, "internal error", 405, err, event)
|
||||
|
||||
Reference in New Issue
Block a user