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

@@ -47,7 +47,7 @@ func InitExpert(database *gorm.DB) error {
})
}
func initExpertCategories(tx *gorm.DB, experts []expertCatalogItem) (map[string]models.SenlinAgentAIExpertCategory, error) {
func initExpertCategories(tx *gorm.DB, experts []expertCatalogItem) (map[string]models.SaAIExpertCategory, error) {
categoryNames := make(map[string]string)
categoryOrder := make([]string, 0)
for _, expert := range experts {
@@ -58,9 +58,9 @@ func initExpertCategories(tx *gorm.DB, experts []expertCatalogItem) (map[string]
categoryOrder = append(categoryOrder, expert.Category)
}
records := make([]models.SenlinAgentAIExpertCategory, 0, len(categoryOrder))
records := make([]models.SaAIExpertCategory, 0, len(categoryOrder))
for _, slug := range categoryOrder {
records = append(records, models.SenlinAgentAIExpertCategory{
records = append(records, models.SaAIExpertCategory{
Slug: slug,
Name: categoryNames[slug],
})
@@ -74,11 +74,11 @@ func initExpertCategories(tx *gorm.DB, experts []expertCatalogItem) (map[string]
}
}
var stored []models.SenlinAgentAIExpertCategory
var stored []models.SaAIExpertCategory
if err := tx.Where("slug IN ?", categoryOrder).Find(&stored).Error; err != nil {
return nil, err
}
categories := make(map[string]models.SenlinAgentAIExpertCategory, len(stored))
categories := make(map[string]models.SaAIExpertCategory, len(stored))
for _, category := range stored {
categories[category.Slug] = category
}
@@ -88,14 +88,14 @@ func initExpertCategories(tx *gorm.DB, experts []expertCatalogItem) (map[string]
return categories, nil
}
func initExpertItems(tx *gorm.DB, catalog expertCatalog, categories map[string]models.SenlinAgentAIExpertCategory) error {
records := make([]models.SenlinAgentAIExpertItem, 0, len(catalog.Experts))
func initExpertItems(tx *gorm.DB, catalog expertCatalog, categories map[string]models.SaAIExpertCategory) error {
records := make([]models.SaAIExpertItem, 0, len(catalog.Experts))
for _, expert := range catalog.Experts {
category, exists := categories[expert.Category]
if !exists {
return fmt.Errorf("initialize AI expert item %q: category %q not found", expert.Slug, expert.Category)
}
records = append(records, models.SenlinAgentAIExpertItem{
records = append(records, models.SaAIExpertItem{
Slug: expert.Slug, CategoryID: category.ID, CategoryIdentity: category.Identity,
Category: expert.Category, CategoryName: expert.CategoryName,
Name: expert.Name, Description: expert.Description, Emoji: expert.Emoji,

View File

@@ -16,10 +16,10 @@ func TestNewInitializesUserAndExpertCatalog(t *testing.T) {
require.NoError(t, New(database))
requireExpertCatalogCounts(t, database)
var user models.SenlinAgentUser
var user models.SaUser
require.NoError(t, database.Where("email = ?", rootUsername).First(&user).Error)
require.Equal(t, rootRole, user.Role)
var expert models.SenlinAgentAIExpertItem
var expert models.SaAIExpertItem
require.NoError(t, database.Preload("ExpertCategory").Where("slug = ?", "academic-geographer").First(&expert).Error)
require.Equal(t, "academic", expert.ExpertCategory.Slug)
require.Equal(t, "学术研究", expert.ExpertCategory.Name)
@@ -30,7 +30,7 @@ func TestInitExpertOnlyInsertsMissingRecords(t *testing.T) {
database := newExpertTestDatabase(t)
require.NoError(t, InitExpert(database))
var preserved models.SenlinAgentAIExpertItem
var preserved models.SaAIExpertItem
require.NoError(t, database.Where("slug = ?", "academic-geographer").First(&preserved).Error)
require.NoError(t, database.Model(&preserved).Updates(map[string]any{
"name": "保留名称",
@@ -38,7 +38,7 @@ func TestInitExpertOnlyInsertsMissingRecords(t *testing.T) {
"category_identity": "",
"reference": "",
}).Error)
require.NoError(t, database.Where("slug = ?", "academic-historian").Delete(&models.SenlinAgentAIExpertItem{}).Error)
require.NoError(t, database.Where("slug = ?", "academic-historian").Delete(&models.SaAIExpertItem{}).Error)
require.NoError(t, InitExpert(database))
requireExpertCatalogCounts(t, database)
@@ -48,7 +48,7 @@ func TestInitExpertOnlyInsertsMissingRecords(t *testing.T) {
require.NotZero(t, preserved.CategoryID)
require.NotEmpty(t, preserved.CategoryIdentity)
require.Equal(t, "https://ao.aiolaola.com/experts", preserved.Reference)
var restored models.SenlinAgentAIExpertItem
var restored models.SaAIExpertItem
require.NoError(t, database.Where("slug = ?", "academic-historian").First(&restored).Error)
}
@@ -58,9 +58,9 @@ func newExpertTestDatabase(t *testing.T) *gorm.DB {
database, err := gorm.Open(sqlite.Open(fmt.Sprintf("file:%s?mode=memory&cache=shared", t.Name())), &gorm.Config{})
require.NoError(t, err)
require.NoError(t, database.AutoMigrate(
&models.SenlinAgentUser{},
&models.SenlinAgentAIExpertCategory{},
&models.SenlinAgentAIExpertItem{},
&models.SaUser{},
&models.SaAIExpertCategory{},
&models.SaAIExpertItem{},
))
return database
}
@@ -69,9 +69,9 @@ func requireExpertCatalogCounts(t *testing.T, database *gorm.DB) {
t.Helper()
var categoryCount int64
require.NoError(t, database.Model(&models.SenlinAgentAIExpertCategory{}).Count(&categoryCount).Error)
require.NoError(t, database.Model(&models.SaAIExpertCategory{}).Count(&categoryCount).Error)
require.Equal(t, int64(19), categoryCount)
var expertCount int64
require.NoError(t, database.Model(&models.SenlinAgentAIExpertItem{}).Count(&expertCount).Error)
require.NoError(t, database.Model(&models.SaAIExpertItem{}).Count(&expertCount).Error)
require.Equal(t, int64(267), expertCount)
}

View File

@@ -15,7 +15,7 @@ const (
// InitUser creates the default root account when the user table is empty.
func InitUser(database *gorm.DB) error {
var count int64
if err := database.Model(&models.SenlinAgentUser{}).Count(&count).Error; err != nil {
if err := database.Model(&models.SaUser{}).Count(&count).Error; err != nil {
return err
}
if count > 0 {
@@ -27,7 +27,7 @@ func InitUser(database *gorm.DB) error {
return err
}
return database.Create(&models.SenlinAgentUser{
return database.Create(&models.SaUser{
Email: rootUsername,
DisplayName: rootUsername,
PasswordHash: string(passwordHash),

View File

@@ -15,7 +15,7 @@ func TestInitUserCreatesRootUserWhenTableIsEmpty(t *testing.T) {
require.NoError(t, InitUser(database))
var users []models.SenlinAgentUser
var users []models.SaUser
require.NoError(t, database.Find(&users).Error)
require.Len(t, users, 1)
require.Equal(t, rootUsername, users[0].Email)
@@ -26,7 +26,7 @@ func TestInitUserCreatesRootUserWhenTableIsEmpty(t *testing.T) {
func TestInitUserDoesNothingWhenTableIsNotEmpty(t *testing.T) {
database := newUserTestDatabase(t)
existing := models.SenlinAgentUser{
existing := models.SaUser{
Email: "existing@example.com",
DisplayName: "Existing User",
PasswordHash: "existing-hash",
@@ -36,7 +36,7 @@ func TestInitUserDoesNothingWhenTableIsNotEmpty(t *testing.T) {
require.NoError(t, InitUser(database))
var users []models.SenlinAgentUser
var users []models.SaUser
require.NoError(t, database.Find(&users).Error)
require.Len(t, users, 1)
require.Equal(t, existing.Email, users[0].Email)
@@ -47,6 +47,6 @@ func newUserTestDatabase(t *testing.T) *gorm.DB {
database, err := gorm.Open(sqlite.Open(":memory:"), &gorm.Config{})
require.NoError(t, err)
require.NoError(t, database.AutoMigrate(&models.SenlinAgentUser{}))
require.NoError(t, database.AutoMigrate(&models.SaUser{}))
return database
}