GO: align time units with Python and centralize timestamp injection in BaseModel (#14875)

### What problem does this PR solve?

align time units with Python and centralize timestamp injection in
BaseModel

### Type of change

- [x] Refactoring
This commit is contained in:
buua436
2026-05-14 13:46:46 +08:00
committed by GitHub
parent 82e06db8c3
commit f0122179dd
20 changed files with 135 additions and 243 deletions

View File

@@ -213,9 +213,6 @@ func (s *Service) CreateUser(username, password, role string) (map[string]interf
loginChannel := "password"
isSuperuser := role == "admin"
now := time.Now().Unix()
nowDate := time.Now().Truncate(time.Second)
user := &entity.User{
ID: userID,
AccessToken: &accessToken,
@@ -228,12 +225,6 @@ func (s *Service) CreateUser(username, password, role string) (map[string]interf
IsAnonymous: "0",
LoginChannel: &loginChannel,
IsSuperuser: &isSuperuser,
BaseModel: entity.BaseModel{
CreateTime: &now,
CreateDate: &nowDate,
UpdateTime: &now,
UpdateDate: &nowDate,
},
}
// Start transaction for creating user and related data
@@ -288,12 +279,6 @@ func (s *Service) CreateUser(username, password, role string) (map[string]interf
ParserIDs: parserIDs,
Credit: 512,
Status: &tenantStatus,
BaseModel: entity.BaseModel{
CreateTime: &now,
CreateDate: &nowDate,
UpdateTime: &now,
UpdateDate: &nowDate,
},
}
if err := tx.Create(tenant).Error; err != nil {
rollbackTx()
@@ -309,12 +294,6 @@ func (s *Service) CreateUser(username, password, role string) (map[string]interf
Role: "owner",
InvitedBy: userID,
Status: &userTenantStatus,
BaseModel: entity.BaseModel{
CreateTime: &now,
CreateDate: &nowDate,
UpdateTime: &now,
UpdateDate: &nowDate,
},
}
if err := tx.Create(userTenant).Error; err != nil {
rollbackTx()
@@ -345,12 +324,6 @@ func (s *Service) CreateUser(username, password, role string) (map[string]interf
Type: "folder",
Size: 0,
Location: &fileLocation,
BaseModel: entity.BaseModel{
CreateTime: &now,
CreateDate: &nowDate,
UpdateTime: &now,
UpdateDate: &nowDate,
},
}
if err := tx.Create(file).Error; err != nil {
rollbackTx()
@@ -470,9 +443,6 @@ func (s *Service) getInitTenantLLM(userID string) ([]*entity.TenantLLM, error) {
llmName := llm.LLMName
modelType := llm.ModelType
now := time.Now().Unix()
nowDate := time.Now().Truncate(time.Second)
tenantLLM := &entity.TenantLLM{
TenantID: userID,
LLMFactory: factoryConfig.Factory,
@@ -482,12 +452,6 @@ func (s *Service) getInitTenantLLM(userID string) ([]*entity.TenantLLM, error) {
APIBase: &apiBase,
MaxTokens: maxTokens,
Status: "1",
BaseModel: entity.BaseModel{
CreateTime: &now,
CreateDate: &nowDate,
UpdateTime: &now,
UpdateDate: &nowDate,
},
}
tenantLLMs = append(tenantLLMs, tenantLLM)
}
@@ -768,8 +732,6 @@ func (s *Service) ChangePassword(username, newPassword string) error {
}
user.Password = &hashedPassword
now := time.Now().Unix()
user.UpdateTime = &now
if err := s.userDAO.Update(user); err != nil {
return fmt.Errorf("failed to update user: %w", err)
@@ -807,8 +769,6 @@ func (s *Service) UpdateUserActivateStatus(username string, isActive bool) error
}
user.IsActive = targetStatus
now := time.Now().Unix()
user.UpdateTime = &now
if err := s.userDAO.Update(user); err != nil {
return fmt.Errorf("failed to update user: %w", err)
@@ -841,8 +801,6 @@ func (s *Service) GrantAdmin(username string) error {
isSuperuser := true
user.IsSuperuser = &isSuperuser
now := time.Now().Unix()
user.UpdateTime = &now
if err := s.userDAO.Update(user); err != nil {
return fmt.Errorf("failed to update user: %w", err)
@@ -875,8 +833,6 @@ func (s *Service) RevokeAdmin(username string) error {
isSuperuser := false
user.IsSuperuser = &isSuperuser
now := time.Now().Unix()
user.UpdateTime = &now
if err := s.userDAO.Update(user); err != nil {
return fmt.Errorf("failed to update user: %w", err)
@@ -959,16 +915,12 @@ func (s *Service) GenerateUserAPIToken(username string) (map[string]interface{},
// 3. Generate API token
key := utility.GenerateAPIToken()
beta := utility.GenerateBetaAPIToken(key)
now := time.Now()
nowUnix := now.Unix()
apiToken := &entity.APIToken{
TenantID: tenantID,
Token: key,
Beta: &beta,
}
apiToken.CreateTime = &nowUnix
apiToken.CreateDate = &now
// 4. Save API token
if err := s.apiTokenDAO.Create(apiToken); err != nil {
@@ -1730,8 +1682,6 @@ func (s *Service) InitDefaultAdmin() error {
}
if len(users) == 0 {
now := time.Now().Unix()
nowDate := time.Now().Truncate(time.Second)
userID := utility.GenerateToken()
accessToken := utility.GenerateToken()
status := "1"
@@ -1758,12 +1708,6 @@ func (s *Service) InitDefaultAdmin() error {
IsAnonymous: "0",
LoginChannel: &loginChannel,
IsSuperuser: &isSuperuser,
BaseModel: entity.BaseModel{
CreateTime: &now,
CreateDate: &nowDate,
UpdateTime: &now,
UpdateDate: &nowDate,
},
}
if err := dao.DB.Create(user).Error; err != nil {
@@ -1806,8 +1750,6 @@ func (s *Service) InitDefaultAdmin() error {
// addTenantForAdmin add tenant for admin user
func (s *Service) addTenantForAdmin(userID, nickname string) error {
now := time.Now().Unix()
nowDate := time.Now().Truncate(time.Second)
status := "1"
role := "owner"
tenantName := nickname + "'s Kingdom"
@@ -1815,12 +1757,6 @@ func (s *Service) addTenantForAdmin(userID, nickname string) error {
tenant := &entity.Tenant{
ID: userID,
Name: &tenantName,
BaseModel: entity.BaseModel{
CreateTime: &now,
CreateDate: &nowDate,
UpdateTime: &now,
UpdateDate: &nowDate,
},
}
if err := dao.DB.Create(tenant).Error; err != nil {
@@ -1833,12 +1769,6 @@ func (s *Service) addTenantForAdmin(userID, nickname string) error {
InvitedBy: userID,
Role: role,
Status: &status,
BaseModel: entity.BaseModel{
CreateTime: &now,
CreateDate: &nowDate,
UpdateTime: &now,
UpdateDate: &nowDate,
},
}
return dao.DB.Create(userTenant).Error