refactor: shorten model and table prefixes
This commit is contained in:
@@ -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,
|
||||
|
||||
@@ -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)
|
||||
}
|
||||
|
||||
@@ -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),
|
||||
|
||||
@@ -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
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user