瀏覽代碼

add logout event

abhishek9686 4 月之前
父節點
當前提交
0d450ac5e6
共有 2 個文件被更改,包括 25 次插入15 次删除
  1. 24 15
      controllers/user.go
  2. 1 0
      models/events.go

+ 24 - 15
controllers/user.go

@@ -951,22 +951,31 @@ func logout(w http.ResponseWriter, r *http.Request) {
 	userName := r.URL.Query().Get("user_name")
 	user, err := logic.GetUser(userName)
 	if err != nil {
-		logic.ReturnErrorResponse(w, r, logic.FormatError(err, "badrequest"))
+		logic.ReturnErrorResponse(w, r, logic.FormatError(err, logic.BadReq))
 		return
 	}
-	logic.LogEvent(models.Activity{
-		Action: models.Login,
-		Source: models.Subject{
-			ID:   user.UserName,
-			Name: user.UserName,
-			Type: models.UserSub,
-		},
-		Target: models.Subject{
-			ID:   models.ClientAppSub.String(),
-			Name: models.ClientAppSub.String(),
-			Type: models.ClientAppSub,
-		},
-		Origin: models.ClientApp,
-	})
+	var target models.SubjectType
+	if val := r.Header.Get("From-Ui"); val == "true" {
+		target = models.DashboardSub
+	} else {
+		target = models.ClientAppSub
+	}
+	if target != "" {
+		logic.LogEvent(models.Activity{
+			Action: models.LogOut,
+			Source: models.Subject{
+				ID:   user.UserName,
+				Name: user.UserName,
+				Type: models.UserSub,
+			},
+			Target: models.Subject{
+				ID:   target.String(),
+				Name: target.String(),
+				Type: target,
+			},
+			Origin: models.ClientApp,
+		})
+	}
+
 	logic.ReturnSuccessResponse(w, r, "user logged out")
 }

+ 1 - 0
models/events.go

@@ -7,6 +7,7 @@ const (
 	Update Action = "UPDATE"
 	Delete Action = "DELETE"
 	Login  Action = "LOGIN"
+	LogOut Action = "LOGOUT"
 )
 
 type SubjectType string