code optimization

This commit is contained in:
yuli
2024-08-14 00:34:33 +03:00
parent 4bf45e62a4
commit 5f972c4c9f
5 changed files with 19 additions and 95 deletions

View File

@@ -28,16 +28,15 @@ func (e mainEnv) expUsers() error {
}
func (e mainEnv) expGetStatus(w http.ResponseWriter, r *http.Request, ps httprouter.Params) {
var err error
identity := ps.ByName("identity")
mode := ps.ByName("mode")
event := audit("get expiration status by "+mode, identity, mode, identity)
defer func() { event.submit(e.db, e.conf) }()
var err error
if validateMode(mode) == false {
returnError(w, r, "bad mode", 405, nil, event)
return
}
userTOKEN := identity
var userBson bson.M
if mode == "token" {
if enforceUUID(w, identity, event) == false {
@@ -46,15 +45,13 @@ func (e mainEnv) expGetStatus(w http.ResponseWriter, r *http.Request, ps httprou
userBson, err = e.db.lookupUserRecord(identity)
} else {
userBson, err = e.db.lookupUserRecordByIndex(mode, identity, e.conf)
if userBson != nil {
userTOKEN = userBson["token"].(string)
event.Record = userTOKEN
}
}
if userBson == nil || err != nil {
returnError(w, r, "internal error", 405, nil, event)
return
}
userTOKEN := userBson["token"].(string)
event.Record = userTOKEN
expirationDate := getIntValue(userBson["endtime"])
expirationStatus := getStringValue(userBson["expstatus"])
expirationToken := getStringValue(userBson["exptoken"])
@@ -164,29 +161,12 @@ func (e mainEnv) expStart(w http.ResponseWriter, r *http.Request, ps httprouter.
mode := ps.ByName("mode")
event := audit("initiate user record expiration by "+mode, identity, mode, identity)
defer func() { event.submit(e.db, e.conf) }()
if validateMode(mode) == false {
returnError(w, r, "bad mode", 405, nil, event)
return
}
if e.enforceAdmin(w, r) == "" {
return
}
userTOKEN := identity
var userBson bson.M
if mode == "token" {
if enforceUUID(w, identity, event) == false {
return
}
userBson, err = e.db.lookupUserRecord(identity)
} else {
userBson, err = e.db.lookupUserRecordByIndex(mode, identity, e.conf)
if userBson != nil {
userTOKEN = userBson["token"].(string)
event.Record = userTOKEN
}
}
if userBson == nil || err != nil {
returnError(w, r, "internal error", 405, nil, event)
userTOKEN := e.loadUserToken(w, r, mode, identity, event)
if userTOKEN == "" {
return
}
records, err := getJSONPostMap(r)

View File

@@ -7,7 +7,6 @@ import (
"strings"
"github.com/julienschmidt/httprouter"
"go.mongodb.org/mongo-driver/bson"
)
// This function retrieves all requests that require admin approval. This function supports result pager.
@@ -46,31 +45,13 @@ func (e mainEnv) getCustomUserRequests(w http.ResponseWriter, r *http.Request, p
event := audit("get user privacy requests", identity, mode, identity)
defer func() { event.submit(e.db, e.conf) }()
if validateMode(mode) == false {
returnError(w, r, "bad mode", 405, nil, event)
return
}
userTOKEN := identity
var userBson bson.M
if mode == "token" {
if enforceUUID(w, identity, event) == false {
return
}
userBson, _ = e.db.lookupUserRecord(identity)
} else {
userBson, _ = e.db.lookupUserRecordByIndex(mode, identity, e.conf)
if userBson != nil {
userTOKEN = userBson["token"].(string)
event.Record = userTOKEN
}
}
if userBson == nil {
returnError(w, r, "internal error", 405, nil, event)
return
}
if e.enforceAuth(w, r, event) == "" {
return
}
userTOKEN := e.loadUserToken(w, r, mode, identity, event)
if userTOKEN == "" {
return
}
var offset int32
var limit int32 = 10
args := r.URL.Query()

View File

@@ -92,26 +92,8 @@ func (e mainEnv) newUserSession(w http.ResponseWriter, r *http.Request, ps httpr
event := audit("create user session", identity, mode, identity)
defer func() { event.submit(e.db, e.conf) }()
if validateMode(mode) == false {
returnError(w, r, "bad mode", 405, nil, event)
return
}
userTOKEN := identity
var userBson bson.M
if mode == "token" {
if enforceUUID(w, identity, event) == false {
return
}
userBson, _ = e.db.lookupUserRecord(identity)
} else {
userBson, _ = e.db.lookupUserRecordByIndex(mode, identity, e.conf)
if userBson != nil {
userTOKEN = userBson["token"].(string)
event.Record = userTOKEN
}
}
if userBson == nil {
returnError(w, r, "internal error", 405, nil, event)
userTOKEN := e.loadUserToken(w, r, mode, identity, event)
if userTOKEN == "" {
return
}
if e.enforceAuth(w, r, event) == "" {
@@ -154,27 +136,8 @@ func (e mainEnv) getUserSessions(w http.ResponseWriter, r *http.Request, ps http
event := audit("get all user sessions", identity, mode, identity)
defer func() { event.submit(e.db, e.conf) }()
if validateMode(mode) == false {
returnError(w, r, "bad mode", 405, nil, event)
return
}
userTOKEN := identity
var userBson bson.M
if mode == "token" {
if enforceUUID(w, identity, event) == false {
return
}
userBson, _ = e.db.lookupUserRecord(identity)
} else {
// TODO: decode url in code!
userBson, _ = e.db.lookupUserRecordByIndex(mode, identity, e.conf)
if userBson != nil {
userTOKEN = userBson["token"].(string)
event.Record = userTOKEN
}
}
if userBson == nil {
returnError(w, r, "internal error", 405, nil, event)
userTOKEN := e.loadUserToken(w, r, mode, identity, event)
if userTOKEN == "" {
return
}
if e.enforceAuth(w, r, event) == "" {

View File

@@ -14,7 +14,7 @@ import (
func (e mainEnv) newSharedRecord(w http.ResponseWriter, r *http.Request, ps httprouter.Params) {
userTOKEN := ps.ByName("token")
event := audit("create shared record by user token", userTOKEN, "token", userTOKEN)
event := audit("create shareable record by user token", userTOKEN, "token", userTOKEN)
defer func() { event.submit(e.db, e.conf) }()
if enforceUUID(w, userTOKEN, event) == false {
@@ -85,7 +85,7 @@ func (e mainEnv) newSharedRecord(w http.ResponseWriter, r *http.Request, ps http
func (e mainEnv) getRecord(w http.ResponseWriter, r *http.Request, ps httprouter.Params) {
record := ps.ByName("record")
event := audit("get record data by record token", record, "record", record)
event := audit("get shareable record by token", record, "record", record)
defer func() { event.submit(e.db, e.conf) }()
if enforceUUID(w, record, event) == false {

View File

@@ -67,9 +67,9 @@ func (dbobj dbcon) saveSharedRecord(userTOKEN string, fields string, expiration
func (dbobj dbcon) getSharedRecord(recordUUID string) (checkRecordResult, error) {
var result checkRecordResult
if isValidUUID(recordUUID) == false {
return result, errors.New("failed to authenticate")
}
//if isValidUUID(recordUUID) == false {
// return result, errors.New("failed to authenticate")
//}
record, err := dbobj.store.GetRecord(storage.TblName.Sharedrecords, "record", recordUUID)
if record == nil || err != nil {
return result, errors.New("failed to authenticate")