mirror of
				https://github.com/optim-enterprises-bv/databunker.git
				synced 2025-11-03 19:37:48 +00:00 
			
		
		
		
	refactor code
This commit is contained in:
		@@ -132,8 +132,8 @@ func (e mainEnv) setupRouter() *httprouter.Router {
 | 
				
			|||||||
	router.GET("/v1/login/:mode/:address", e.userLogin)
 | 
						router.GET("/v1/login/:mode/:address", e.userLogin)
 | 
				
			||||||
	router.GET("/v1/enter/:mode/:address/:tmp", e.userLoginEnter)
 | 
						router.GET("/v1/enter/:mode/:address/:tmp", e.userLoginEnter)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	router.POST("/v1/xtoken/:token", e.userNewToken)
 | 
						router.POST("/v1/xtoken/:token", e.userNewXtoken)
 | 
				
			||||||
	router.GET("/v1/xtoken/:xtoken", e.userCheckToken)
 | 
						router.GET("/v1/xtoken/:xtoken", e.userCheckXtoken)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	router.GET("/v1/consent/:mode/:address", e.consentAllUserRecords)
 | 
						router.GET("/v1/consent/:mode/:address", e.consentAllUserRecords)
 | 
				
			||||||
	router.GET("/v1/consent/:mode/:address/:brief", e.consentUserRecord)
 | 
						router.GET("/v1/consent/:mode/:address/:brief", e.consentUserRecord)
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -63,7 +63,7 @@ func TestCreateAPIUser(t *testing.T) {
 | 
				
			|||||||
	request.Header.Set("X-Bunker-Token", rootToken)
 | 
						request.Header.Set("X-Bunker-Token", rootToken)
 | 
				
			||||||
	//var resp http.ResponseWriter
 | 
						//var resp http.ResponseWriter
 | 
				
			||||||
	rr = httptest.NewRecorder()
 | 
						rr = httptest.NewRecorder()
 | 
				
			||||||
	e.userNewToken(rr, request, ps2)
 | 
						e.userNewXtoken(rr, request, ps2)
 | 
				
			||||||
	//fmt.Printf("after create token------------------\n%s\n\n\n", rr.Body)
 | 
						//fmt.Printf("after create token------------------\n%s\n\n\n", rr.Body)
 | 
				
			||||||
	err = json.Unmarshal(rr.Body.Bytes(), &raw)
 | 
						err = json.Unmarshal(rr.Body.Bytes(), &raw)
 | 
				
			||||||
	if err != nil {
 | 
						if err != nil {
 | 
				
			||||||
@@ -91,7 +91,7 @@ func TestCreateAPIUser(t *testing.T) {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
	p3 := httprouter.Param{"xtoken", tokenUUID}
 | 
						p3 := httprouter.Param{"xtoken", tokenUUID}
 | 
				
			||||||
	ps3 := []httprouter.Param{p3}
 | 
						ps3 := []httprouter.Param{p3}
 | 
				
			||||||
	e.userCheckToken(rr, request, ps3)
 | 
						e.userCheckXtoken(rr, request, ps3)
 | 
				
			||||||
	fmt.Printf("get by token------------------\n%s\n\n\n", rr.Body)
 | 
						fmt.Printf("get by token------------------\n%s\n\n\n", rr.Body)
 | 
				
			||||||
	err = json.Unmarshal(rr.Body.Bytes(), &raw)
 | 
						err = json.Unmarshal(rr.Body.Bytes(), &raw)
 | 
				
			||||||
	if err != nil {
 | 
						if err != nil {
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -104,9 +104,9 @@ func (e mainEnv) consentCancel(w http.ResponseWriter, r *http.Request, ps httpro
 | 
				
			|||||||
		}
 | 
							}
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
	// make sure that user is logged in here, unless he wants to cancel emails
 | 
						// make sure that user is logged in here, unless he wants to cancel emails
 | 
				
			||||||
	if e.enforceAuth(w, r, event) == false {
 | 
						//if e.enforceAuth(w, r, event) == false {
 | 
				
			||||||
		return
 | 
						//	return
 | 
				
			||||||
	}
 | 
						//}
 | 
				
			||||||
	switch mode {
 | 
						switch mode {
 | 
				
			||||||
	case "email":
 | 
						case "email":
 | 
				
			||||||
		address = normalizeEmail(address)
 | 
							address = normalizeEmail(address)
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -257,12 +257,11 @@ func (e mainEnv) userLoginEnter(w http.ResponseWriter, r *http.Request, ps httpr
 | 
				
			|||||||
	}
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	userBson, err := e.db.lookupUserRecordByIndex(mode, address, e.conf)
 | 
						userBson, err := e.db.lookupUserRecordByIndex(mode, address, e.conf)
 | 
				
			||||||
	if err != nil {
 | 
						if userBson == nil || err != nil {
 | 
				
			||||||
		returnError(w, r, "internal error", 405, err, event)
 | 
							returnError(w, r, "internal error", 405, err, event)
 | 
				
			||||||
		return
 | 
							return
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	if userBson != nil {
 | 
					 | 
				
			||||||
	userTOKEN := userBson["token"].(string)
 | 
						userTOKEN := userBson["token"].(string)
 | 
				
			||||||
	event.Record = userTOKEN
 | 
						event.Record = userTOKEN
 | 
				
			||||||
	fmt.Printf("Found user record: %s\n", userTOKEN)
 | 
						fmt.Printf("Found user record: %s\n", userTOKEN)
 | 
				
			||||||
@@ -281,8 +280,5 @@ func (e mainEnv) userLoginEnter(w http.ResponseWriter, r *http.Request, ps httpr
 | 
				
			|||||||
		fmt.Fprintf(w, `{"status":"ok","xtoken":"%s","token":"%s"}`, xtoken, userTOKEN)
 | 
							fmt.Fprintf(w, `{"status":"ok","xtoken":"%s","token":"%s"}`, xtoken, userTOKEN)
 | 
				
			||||||
		return
 | 
							return
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
	}
 | 
						returnError(w, r, "internal error", 405, nil, event)
 | 
				
			||||||
	w.Header().Set("Content-Type", "application/json; charset=utf-8")
 | 
					 | 
				
			||||||
	w.WriteHeader(200)
 | 
					 | 
				
			||||||
	fmt.Fprintf(w, `{"status":"ok","token":""}`)
 | 
					 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -222,7 +222,7 @@ func (e mainEnv) enforceAuth(w http.ResponseWriter, r *http.Request, event *audi
 | 
				
			|||||||
			}
 | 
								}
 | 
				
			||||||
		}
 | 
							}
 | 
				
			||||||
		/*
 | 
							/*
 | 
				
			||||||
			if e.db.checkToken(token[0]) == true {
 | 
								if e.db.checkXtoken(token[0]) == true {
 | 
				
			||||||
				if event != nil {
 | 
									if event != nil {
 | 
				
			||||||
					event.Identity = "admin"
 | 
										event.Identity = "admin"
 | 
				
			||||||
				}
 | 
									}
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -11,9 +11,9 @@ import (
 | 
				
			|||||||
	"github.com/tidwall/gjson"
 | 
						"github.com/tidwall/gjson"
 | 
				
			||||||
)
 | 
					)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
func (e mainEnv) userNewToken(w http.ResponseWriter, r *http.Request, ps httprouter.Params) {
 | 
					func (e mainEnv) userNewXtoken(w http.ResponseWriter, r *http.Request, ps httprouter.Params) {
 | 
				
			||||||
	userTOKEN := ps.ByName("token")
 | 
						userTOKEN := ps.ByName("token")
 | 
				
			||||||
	event := audit("create user temp access by token", userTOKEN, "token", userTOKEN)
 | 
						event := audit("create xtoken for user token", userTOKEN, "token", userTOKEN)
 | 
				
			||||||
	defer func() { event.submit(e.db) }()
 | 
						defer func() { event.submit(e.db) }()
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	if enforceUUID(w, userTOKEN, event) == false {
 | 
						if enforceUUID(w, userTOKEN, event) == false {
 | 
				
			||||||
@@ -71,9 +71,9 @@ func (e mainEnv) userNewToken(w http.ResponseWriter, r *http.Request, ps httprou
 | 
				
			|||||||
	fmt.Fprintf(w, `{"status":"ok","xtoken":%q}`, xtokenUUID)
 | 
						fmt.Fprintf(w, `{"status":"ok","xtoken":%q}`, xtokenUUID)
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
func (e mainEnv) userCheckToken(w http.ResponseWriter, r *http.Request, ps httprouter.Params) {
 | 
					func (e mainEnv) userCheckXtoken(w http.ResponseWriter, r *http.Request, ps httprouter.Params) {
 | 
				
			||||||
	xtoken := ps.ByName("xtoken")
 | 
						xtoken := ps.ByName("xtoken")
 | 
				
			||||||
	event := audit("get record by user temp access token", xtoken, "xtoken", xtoken)
 | 
						event := audit("get record by xtoken", xtoken, "xtoken", xtoken)
 | 
				
			||||||
	defer func() { event.submit(e.db) }()
 | 
						defer func() { event.submit(e.db) }()
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	if enforceUUID(w, xtoken, event) == false {
 | 
						if enforceUUID(w, xtoken, event) == false {
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -116,7 +116,7 @@ func (dbobj dbcon) generateUserLoginXToken(userTOKEN string) (string, error) {
 | 
				
			|||||||
	return tokenUUID, nil
 | 
						return tokenUUID, nil
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
func (dbobj dbcon) checkToken(tokenUUID string) bool {
 | 
					func (dbobj dbcon) checkXtoken(tokenUUID string) bool {
 | 
				
			||||||
	//fmt.Printf("Token0 %s\n", tokenUUID)
 | 
						//fmt.Printf("Token0 %s\n", tokenUUID)
 | 
				
			||||||
	if isValidUUID(tokenUUID) == false {
 | 
						if isValidUUID(tokenUUID) == false {
 | 
				
			||||||
		return false
 | 
							return false
 | 
				
			||||||
@@ -153,7 +153,7 @@ func (dbobj dbcon) checkUserAuthXToken(xtokenUUID string) (tokenAuthResult, erro
 | 
				
			|||||||
	// tokenType = temp
 | 
						// tokenType = temp
 | 
				
			||||||
	now := int32(time.Now().Unix())
 | 
						now := int32(time.Now().Unix())
 | 
				
			||||||
	if now > record["endtime"].(int32) {
 | 
						if now > record["endtime"].(int32) {
 | 
				
			||||||
		return result, errors.New("token expired")
 | 
							return result, errors.New("xtoken expired")
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
	result.token = record["token"].(string)
 | 
						result.token = record["token"].(string)
 | 
				
			||||||
	if value, ok := record["fields"]; ok {
 | 
						if value, ok := record["fields"]; ok {
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user