fix: 修复关闭SSH终端标签页时会话状态未更新的问题

This commit is contained in:
2026-04-18 02:35:38 +08:00
commit 6e2e2f9387
43467 changed files with 5489040 additions and 0 deletions
+41
View File
@@ -0,0 +1,41 @@
package repository
import (
"context"
"next-terminal/server/model"
"gorm.io/gorm"
)
type sessionAuditRepository struct {
baseRepository
}
var SessionAuditRepository = new(sessionAuditRepository)
func (r *sessionAuditRepository) FindBySessionId(c context.Context, sessionId string) (model.SessionAudit, error) {
var audit model.SessionAudit
err := r.GetDB(c).Where("session_id = ?", sessionId).First(&audit).Error
if err == gorm.ErrRecordNotFound {
return audit, nil
}
return audit, err
}
func (r *sessionAuditRepository) Create(c context.Context, audit *model.SessionAudit) error {
return r.GetDB(c).Create(audit).Error
}
func (r *sessionAuditRepository) Update(c context.Context, audit *model.SessionAudit) error {
return r.GetDB(c).Save(audit).Error
}
func (r *sessionAuditRepository) Upsert(c context.Context, audit *model.SessionAudit) error {
var existing model.SessionAudit
err := r.GetDB(c).Where("session_id = ?", audit.SessionId).First(&existing).Error
if err == gorm.ErrRecordNotFound {
return r.Create(c, audit)
}
audit.ID = existing.ID
return r.Update(c, audit)
}