modified: serv_nginx/api_bb/internal/database/migrate.go

modified:   serv_nginx/api_bb/internal/handlers/handlers.go
	new file:   serv_nginx/api_bb/internal/handlers/personal_best_handler.go
	modified:   serv_nginx/api_bb/internal/models/personal_best.go
	modified:   serv_nginx/api_bb/internal/models/user_stats.go
	modified:   serv_nginx/api_bb/internal/repository/personal_best_repository.go
	modified:   serv_nginx/api_bb/internal/routes/routes.go
	modified:   serv_nginx/api_bb/internal/service/personal_best_service.go
	modified:   serv_nginx/bbvue/src/stores/user.js
personal bests add handler, rout, service, repository, logic and
migrations for
This commit is contained in:
2025-10-20 03:06:06 +05:00
parent 1d0d99e938
commit 402296b726
9 changed files with 708 additions and 14 deletions
@@ -24,15 +24,16 @@ func (d *Database) Migrate() error {
&models.Achievement{},
&models.Event{},
&models.EventRegistration{},
&models.PersonalBest{},
// Добавьте другие модели здесь
}
for _, model := range models {
modelName := getModelName(model)
zapLogger.Debug("migrating model", zap.String("model", modelName))
if err := d.DB.AutoMigrate(model); err != nil {
zapLogger.Error("failed to migrate model",
zapLogger.Error("failed to migrate model",
zap.String("model", modelName),
zap.Error(err),
)
@@ -48,16 +49,16 @@ func (d *Database) Migrate() error {
func (d *Database) MigrateModels(models ...interface{}) error {
zapLogger := logger.Get()
zapLogger.Info("starting migration for specific models",
zapLogger.Info("starting migration for specific models",
zap.Int("model_count", len(models)),
)
for _, model := range models {
modelName := getModelName(model)
zapLogger.Debug("migrating model", zap.String("model", modelName))
if err := d.DB.AutoMigrate(model); err != nil {
zapLogger.Error("failed to migrate model",
zapLogger.Error("failed to migrate model",
zap.String("model", modelName),
zap.Error(err),
)
@@ -90,7 +91,9 @@ func getModelName(model interface{}) string {
return "Событие"
case *models.EventRegistration:
return "Администрирование события"
case *models.PersonalBest:
return "Персональные достижения"
default:
return "Unknown"
}
}
}