feat: Add player_configs feature and migrate user preferences

- Implemented player_configs table to store multiple player configurations per user.
- Migrated existing player settings from user_preferences to player_configs.
- Removed player-related columns from user_preferences.
- Added referral state fields to user for tracking referral rewards.
- Created migration scripts for database changes and data migration.
- Added test cases for app services and usage helpers.
- Introduced video job service interfaces and implementations.
This commit is contained in:
2026-03-24 16:08:36 +00:00
parent 91e5e3542b
commit e7fdd0e1ab
103 changed files with 9540 additions and 8446 deletions

View File

@@ -8,9 +8,9 @@ import (
"os/signal"
"syscall"
bootstrap "stream.api/internal/app"
"stream.api/internal/config"
"stream.api/internal/database/query"
videoruntime "stream.api/internal/video/runtime"
"stream.api/pkg/cache"
"stream.api/pkg/database"
"stream.api/pkg/logger"
@@ -47,7 +47,7 @@ func main() {
tokenProvider := token.NewJWTProvider(cfg.JWT.Secret)
appLogger := logger.NewLogger(cfg.Server.Mode)
module, err := videoruntime.NewModule(context.Background(), cfg, db, rdb, tokenProvider, appLogger)
module, err := bootstrap.NewGRPCModule(context.Background(), cfg, db, rdb, tokenProvider, appLogger)
if err != nil {
log.Fatalf("Failed to setup gRPC runtime module: %v", err)
}