diff --git a/core/service.go b/core/service.go index d193c01..a138272 100644 --- a/core/service.go +++ b/core/service.go @@ -303,7 +303,7 @@ func (sh *serviceDescription) link(w http.ResponseWriter, r *http.Request) { bfinfo, err := sh.getUserBrowserInfo(r) if err != nil { - logger.Error("getUserBrowserInfo failed :", err) + logger.ErrorWithCallStack(err) w.WriteHeader(http.StatusBadRequest) return } @@ -312,7 +312,7 @@ func (sh *serviceDescription) link(w http.ResponseWriter, r *http.Request) { if !guestlink { _, err = sh.readProfile(oldType, oldId, bfinfo) if err != nil { - logger.Error("readProfile(old) failed :", err) + logger.ErrorWithCallStack(err) w.WriteHeader(http.StatusBadRequest) return } @@ -322,7 +322,7 @@ func (sh *serviceDescription) link(w http.ResponseWriter, r *http.Request) { oldType, oldId, err = sh.getProviderInfo(oldType, oldId) if err != nil { - logger.Error("getProviderInfo failed :", err) + logger.ErrorWithCallStack(err) w.WriteHeader(http.StatusBadRequest) return } @@ -348,7 +348,7 @@ func (sh *serviceDescription) link(w http.ResponseWriter, r *http.Request) { //email, err := sh.readProfile(newType, newId, bfinfo) _, err = sh.readProfile(newType, newId, bfinfo) if err != nil { - logger.Error("readProfile(new) failed :", err) + logger.ErrorWithCallStack(err) w.WriteHeader(http.StatusBadRequest) return } @@ -361,14 +361,14 @@ func (sh *serviceDescription) link(w http.ResponseWriter, r *http.Request) { newType, newId, err = sh.getProviderInfo(newType, newId) if err != nil { - logger.Error("getProviderInfo failed :", err) + logger.ErrorWithCallStack(err) w.WriteHeader(http.StatusBadRequest) return } found, err := sh.mongoClient.FindOne(CollectionLink, bson.M{"platform": newType, "uid": newId}, options.FindOne()) if err != nil { - logger.Error("link failed. FindOne err:", err) + logger.ErrorWithCallStack(err) w.WriteHeader(http.StatusInternalServerError) return } @@ -389,7 +389,7 @@ func (sh *serviceDescription) link(w http.ResponseWriter, r *http.Request) { }, }, options.FindOneAndUpdate().SetReturnDocument(options.After).SetUpsert(true).SetProjection(bson.M{"_id": 1})) if err != nil { - logger.Error("link failed. FindOneAndUpdate link err:", err) + logger.ErrorWithCallStack(err) w.WriteHeader(http.StatusInternalServerError) return } @@ -403,7 +403,7 @@ func (sh *serviceDescription) link(w http.ResponseWriter, r *http.Request) { }, }, options.Update().SetUpsert(true)) if err != nil { - logger.Error("link failed. Update ServiceName err :", err) + logger.ErrorWithCallStack(err) w.WriteHeader(http.StatusBadRequest) return } @@ -487,7 +487,7 @@ func (sh *serviceDescription) unlink(w http.ResponseWriter, r *http.Request) { "_id": 1, })) if err != nil { - logger.Error("unlink failed, fail to count accounts :", err) + logger.ErrorWithCallStack(err) w.WriteHeader(http.StatusBadRequest) } @@ -507,7 +507,7 @@ func (sh *serviceDescription) unlink(w http.ResponseWriter, r *http.Request) { "_id": bson.M{"$in": ids}, }, options.FindOneAndDelete().SetProjection(bson.M{"_id": 1})) if err != nil { - logger.Error("link failed. FindOneAndUpdate link err:", err) + logger.ErrorWithCallStack(err) w.WriteHeader(http.StatusInternalServerError) return } @@ -516,7 +516,7 @@ func (sh *serviceDescription) unlink(w http.ResponseWriter, r *http.Request) { "_id": link["_id"].(primitive.ObjectID), }, options.FindOneAndDelete().SetProjection(bson.M{"_id": 1})) if err != nil { - logger.Error("unlink failed. Delete ServiceName err :", err) + logger.ErrorWithCallStack(err) w.WriteHeader(http.StatusBadRequest) return } @@ -566,7 +566,7 @@ func (sh *serviceDescription) linkinfo(w http.ResponseWriter, r *http.Request) { sType, sId, err = sh.getProviderInfo(sType, sId) if err != nil { - logger.Error("getProviderInfo failed :", err) + logger.ErrorWithCallStack(err) w.WriteHeader(http.StatusBadRequest) return } @@ -583,7 +583,7 @@ func (sh *serviceDescription) linkinfo(w http.ResponseWriter, r *http.Request) { "_id": 1, })) if err != nil { - logger.Error("linkinfo failed. CountDocuments err :", err) + logger.ErrorWithCallStack(err) w.WriteHeader(http.StatusInternalServerError) return } @@ -599,7 +599,7 @@ func (sh *serviceDescription) linkinfo(w http.ResponseWriter, r *http.Request) { platformName: 1, })) if err != nil { - logger.Error("linkinfo failed. FindAll returns err :", err) + logger.ErrorWithCallStack(err) w.WriteHeader(http.StatusInternalServerError) return } @@ -611,7 +611,7 @@ func (sh *serviceDescription) linkinfo(w http.ResponseWriter, r *http.Request) { linkbytes, err := json.Marshal(linkstrs) if err != nil { - logger.Error("linkinfo failed. json marshal fail :", err) + logger.ErrorWithCallStack(err) w.WriteHeader(http.StatusInternalServerError) return } @@ -640,14 +640,14 @@ func (sh *serviceDescription) emailinfo(w http.ResponseWriter, r *http.Request) bfinfo, err := sh.getUserBrowserInfo(r) if err != nil { - logger.Error("getUserBrowserInfo failed :", err) + logger.ErrorWithCallStack(err) w.WriteHeader(http.StatusBadRequest) return } email, err := sh.readProfile(reqauthtype, uid, bfinfo) if err != nil { - logger.Error("readProfile(new) failed :", err) + logger.ErrorWithCallStack(err) w.WriteHeader(http.StatusBadRequest) return } @@ -727,21 +727,21 @@ func (sh *serviceDescription) authorize(w http.ResponseWriter, r *http.Request) //email, err := sh.readProfile(authtype, uid, accesstoken) bfinfo, err := sh.getUserBrowserInfo(r) if err != nil { - logger.Error("getUserBrowserInfo failed :", err) + logger.ErrorWithCallStack(err) w.WriteHeader(http.StatusBadRequest) return } email, err = sh.readProfile(reqauthtype, uid, bfinfo) if err != nil { - logger.Error("readProfile failed :", err) + logger.ErrorWithCallStack(err) w.WriteHeader(http.StatusBadRequest) return } newType, newId, err := sh.getProviderInfo(reqauthtype, uid) if err != nil { - logger.Error("getProviderInfo failed :", err) + logger.ErrorWithCallStack(err) w.WriteHeader(http.StatusBadRequest) return } @@ -774,7 +774,7 @@ func (sh *serviceDescription) authorize(w http.ResponseWriter, r *http.Request) }, }, options.FindOneAndUpdate().SetReturnDocument(options.After).SetUpsert(true).SetProjection(bson.M{"_id": 1, "_ts": 1})) if err != nil { - logger.Error("authorize failed :", err) + logger.ErrorWithCallStack(err) w.WriteHeader(http.StatusInternalServerError) return } @@ -790,7 +790,7 @@ func (sh *serviceDescription) authorize(w http.ResponseWriter, r *http.Request) }, }, options.FindOneAndUpdate().SetReturnDocument(options.After).SetUpsert(true).SetProjection(bson.M{"accid": 1, "create": 1})) if err != nil { - logger.Error("authorize failed. Update sh.ServiceName err:", err) + logger.ErrorWithCallStack(err) w.WriteHeader(http.StatusInternalServerError) return } @@ -819,7 +819,7 @@ func (sh *serviceDescription) authorize(w http.ResponseWriter, r *http.Request) Alias: alias, }) if err != nil { - logger.Error("authorize failed. sessionProvider.New err:", err) + logger.ErrorWithCallStack(err) w.WriteHeader(http.StatusInternalServerError) return } @@ -888,7 +888,7 @@ func (sh *serviceDescription) delacc(w http.ResponseWriter, r *http.Request) { if !*devflag || len(sType) != 0 { sType, sId, err = sh.getProviderInfo(sType, sId) if err != nil { - logger.Error("delacc failed. getProviderInfo err :", err) + logger.ErrorWithCallStack(err) w.WriteHeader(http.StatusBadRequest) return } @@ -902,7 +902,7 @@ func (sh *serviceDescription) delacc(w http.ResponseWriter, r *http.Request) { linkidMap, err := sh.mongoClient.FindAll(CollectionAccount, bson.M{"accid": authInfo.Account}, options.Find().SetProjection(bson.M{"_id": 1})) if err != nil { - logger.Error("delacc failed. FindAll account err :", err) + logger.ErrorWithCallStack(err) w.WriteHeader(http.StatusInternalServerError) return } @@ -933,7 +933,7 @@ func (sh *serviceDescription) delacc(w http.ResponseWriter, r *http.Request) { delfilter["platform"] = sType targetLinkId, err := sh.mongoClient.FindAll(CollectionLink, delfilter, options.Find().SetProjection(bson.M{"_id": 1})) if len(targetLinkId) != 1 { - logger.Error("delacc failed. FindAll link err :", err) + logger.ErrorWithCallStack(err) w.WriteHeader(http.StatusInternalServerError) return } @@ -942,15 +942,25 @@ func (sh *serviceDescription) delacc(w http.ResponseWriter, r *http.Request) { delop = primitive.M{"$unset": primitive.M{"_ts": true}} } updated, _, err := sh.mongoClient.Update(CollectionAccount, delfilter, delop, options.Update().SetUpsert(false)) - if !updated || err != nil { - logger.Error("delacc failed. Update CollectionAccount timestamp err :", err) + if err != nil { + logger.ErrorWithCallStack(err) + w.WriteHeader(http.StatusInternalServerError) + return + } + if !updated { + logger.Error("delacc failed. Update CollectionAccount timestamp. undated is false") w.WriteHeader(http.StatusInternalServerError) return } updated, _, err = sh.mongoClient.Update(CollectionLink, delfilter, delop, options.Update().SetUpsert(false)) - if !updated || err != nil { - logger.Error("delacc failed. Update CollectionLink timestamp err :", err) + if err != nil { + logger.ErrorWithCallStack(err) + w.WriteHeader(http.StatusInternalServerError) + return + } + if !updated { + logger.Error("delacc failed. Update CollectionLink timestamp. updated is false") w.WriteHeader(http.StatusInternalServerError) return }