refactor: shorten model and table prefixes

This commit is contained in:
2026-07-23 14:30:17 +08:00
parent 6e7be2f3a4
commit 0ca2898ac0
71 changed files with 707 additions and 638 deletions

View File

@@ -41,9 +41,9 @@ func TestPostgresDemoSeedSerializesConcurrentRunsForSameOwner(t *testing.T) {
email := "postgres-seed-" + suffix + "@example.com"
passwordHash, err := bcrypt.GenerateFromPassword([]byte("original-password"), bcrypt.MinCost)
require.NoError(t, err)
user := models.SenlinAgentUser{Email: email, DisplayName: "保留用户名称", PasswordHash: string(passwordHash), Role: "user"}
user := models.SaUser{Email: email, DisplayName: "保留用户名称", PasswordHash: string(passwordHash), Role: "user"}
require.NoError(t, database.Create(&user).Error)
projects := []models.SenlinAgentProject{
projects := []models.SaProject{
{OwnerID: user.ID, Name: "项目 A1", Identifier: "A1"},
{OwnerID: user.ID, Name: "项目 A2", Identifier: "A2"},
{OwnerID: user.ID, Name: "数据中台", Identifier: "DATA"},
@@ -52,9 +52,9 @@ func TestPostgresDemoSeedSerializesConcurrentRunsForSameOwner(t *testing.T) {
for index := range projects {
require.NoError(t, database.Create(&projects[index]).Error)
}
uiTag := models.SenlinAgentTag{ProjectID: projects[0].ID, Name: "UI"}
uiTag := models.SaTag{ProjectID: projects[0].ID, Name: "UI"}
require.NoError(t, database.Create(&uiTag).Error)
require.NoError(t, database.Create(&models.SenlinAgentTask{
require.NoError(t, database.Create(&models.SaTask{
ProjectID: projects[0].ID, CreatedBy: user.ID, TagID: &uiTag.ID,
Title: "智能报表导出功能", Status: "open",
}).Error)
@@ -76,7 +76,7 @@ func TestPostgresDemoSeedSerializesConcurrentRunsForSameOwner(t *testing.T) {
if !ok {
return
}
if tx.Statement.Schema.Table == (models.SenlinAgentUser{}).TableName() {
if tx.Statement.Schema.Table == (models.SaUser{}).TableName() {
if _, locking := tx.Statement.Clauses["FOR"]; locking && marker == secondDemoSeedRun {
signalDemoSeedStage(secondOwnerQueryAttempted)
}
@@ -135,22 +135,22 @@ func TestPostgresDemoSeedSerializesConcurrentRunsForSameOwner(t *testing.T) {
require.NoError(t, waitForDemoSeedResult(t, ctx, firstResult, "first Demo result"))
require.NoError(t, waitForDemoSeedResult(t, ctx, secondResult, "second Demo result"))
var storedUser models.SenlinAgentUser
var storedUser models.SaUser
require.NoError(t, database.Where("email = ?", email).First(&storedUser).Error)
require.Equal(t, "保留用户名称", storedUser.DisplayName)
require.NoError(t, bcrypt.CompareHashAndPassword([]byte(storedUser.PasswordHash), []byte("original-password")))
require.Error(t, bcrypt.CompareHashAndPassword([]byte(storedUser.PasswordHash), []byte("new-password")))
projectIDs := []uint{projects[0].ID, projects[1].ID, projects[2].ID, projects[3].ID}
assertPostgresDemoCount(t, database, &models.SenlinAgentProject{}, "owner_id = ?", []any{user.ID}, 4)
assertPostgresDemoCount(t, database, &models.SenlinAgentTag{}, "project_id = ?", []any{projects[0].ID}, 4)
assertPostgresDemoCount(t, database, &models.SenlinAgentTask{}, "project_id IN ?", []any{projectIDs}, 6)
assertPostgresDemoCount(t, database, &models.SenlinAgentInboxItem{}, "project_id IN ?", []any{projectIDs}, 7)
assertPostgresDemoCount(t, database, &models.SenlinAgentAISession{}, "project_id = ?", []any{projects[0].ID}, 4)
assertPostgresDemoCount(t, database, &models.SenlinAgentNote{}, "project_id = ?", []any{projects[0].ID}, 2)
assertPostgresDemoCount(t, database, &models.SenlinAgentSource{}, "project_id = ?", []any{projects[0].ID}, 2)
assertPostgresDemoCount(t, database, &models.SenlinAgentCronPlan{}, "project_id = ?", []any{projects[0].ID}, 3)
assertPostgresDemoCount(t, database, &models.SenlinAgentProjectChannel{}, "project_id = ?", []any{projects[0].ID}, 2)
assertPostgresDemoCount(t, database, &models.SaProject{}, "owner_id = ?", []any{user.ID}, 4)
assertPostgresDemoCount(t, database, &models.SaTag{}, "project_id = ?", []any{projects[0].ID}, 4)
assertPostgresDemoCount(t, database, &models.SaTask{}, "project_id IN ?", []any{projectIDs}, 6)
assertPostgresDemoCount(t, database, &models.SaInboxItem{}, "project_id IN ?", []any{projectIDs}, 7)
assertPostgresDemoCount(t, database, &models.SaAISession{}, "project_id = ?", []any{projects[0].ID}, 4)
assertPostgresDemoCount(t, database, &models.SaNote{}, "project_id = ?", []any{projects[0].ID}, 2)
assertPostgresDemoCount(t, database, &models.SaSource{}, "project_id = ?", []any{projects[0].ID}, 2)
assertPostgresDemoCount(t, database, &models.SaCronPlan{}, "project_id = ?", []any{projects[0].ID}, 3)
assertPostgresDemoCount(t, database, &models.SaProjectChannel{}, "project_id = ?", []any{projects[0].ID}, 2)
}
func signalDemoSeedStage(stage chan<- struct{}) {
@@ -188,7 +188,7 @@ func assertPostgresDemoCount(t *testing.T, database *gorm.DB, model any, where s
}
func cleanupPostgresDemoSeed(database *gorm.DB, userID uint) {
var projects []models.SenlinAgentProject
var projects []models.SaProject
if database.Where("owner_id = ?", userID).Find(&projects).Error != nil {
return
}
@@ -197,34 +197,34 @@ func cleanupPostgresDemoSeed(database *gorm.DB, userID uint) {
projectIDs = append(projectIDs, project.ID)
}
if len(projectIDs) != 0 {
var tasks []models.SenlinAgentTask
var tasks []models.SaTask
database.Where("project_id IN ?", projectIDs).Find(&tasks)
taskIDs := make([]uint, 0, len(tasks))
for _, task := range tasks {
taskIDs = append(taskIDs, task.ID)
}
if len(taskIDs) != 0 {
database.Where("task_id IN ?", taskIDs).Delete(&models.SenlinAgentTaskShare{})
database.Where("task_id IN ?", taskIDs).Delete(&models.SaTaskShare{})
}
var inboxItems []models.SenlinAgentInboxItem
var inboxItems []models.SaInboxItem
database.Where("project_id IN ?", projectIDs).Find(&inboxItems)
inboxIDs := make([]uint, 0, len(inboxItems))
for _, item := range inboxItems {
inboxIDs = append(inboxIDs, item.ID)
}
if len(inboxIDs) != 0 {
database.Where("inbox_item_id IN ?", inboxIDs).Delete(&models.SenlinAgentInboxSuggestion{})
database.Where("inbox_item_id IN ?", inboxIDs).Delete(&models.SaInboxSuggestion{})
}
database.Where("project_id IN ?", projectIDs).Delete(&models.SenlinAgentProjectEvent{})
database.Where("project_id IN ?", projectIDs).Delete(&models.SenlinAgentTask{})
database.Where("project_id IN ?", projectIDs).Delete(&models.SenlinAgentNote{})
database.Where("project_id IN ?", projectIDs).Delete(&models.SenlinAgentSource{})
database.Where("project_id IN ?", projectIDs).Delete(&models.SenlinAgentAISession{})
database.Where("project_id IN ?", projectIDs).Delete(&models.SenlinAgentTag{})
database.Where("project_id IN ?", projectIDs).Delete(&models.SenlinAgentProjectChannel{})
database.Where("project_id IN ?", projectIDs).Delete(&models.SenlinAgentCronPlan{})
database.Where("project_id IN ?", projectIDs).Delete(&models.SenlinAgentInboxItem{})
database.Where("id IN ?", projectIDs).Delete(&models.SenlinAgentProject{})
database.Where("project_id IN ?", projectIDs).Delete(&models.SaProjectEvent{})
database.Where("project_id IN ?", projectIDs).Delete(&models.SaTask{})
database.Where("project_id IN ?", projectIDs).Delete(&models.SaNote{})
database.Where("project_id IN ?", projectIDs).Delete(&models.SaSource{})
database.Where("project_id IN ?", projectIDs).Delete(&models.SaAISession{})
database.Where("project_id IN ?", projectIDs).Delete(&models.SaTag{})
database.Where("project_id IN ?", projectIDs).Delete(&models.SaProjectChannel{})
database.Where("project_id IN ?", projectIDs).Delete(&models.SaCronPlan{})
database.Where("project_id IN ?", projectIDs).Delete(&models.SaInboxItem{})
database.Where("id IN ?", projectIDs).Delete(&models.SaProject{})
}
database.Delete(&models.SenlinAgentUser{}, userID)
database.Delete(&models.SaUser{}, userID)
}