feat: live module and jenkins pipeline to harbor deploy
This commit is contained in:
+2
-1
@@ -9,6 +9,7 @@ import (
|
||||
"strings"
|
||||
|
||||
"kra/internal/config"
|
||||
liveintegration "kra/internal/integration/live"
|
||||
"kra/internal/logging"
|
||||
"kra/internal/server/router"
|
||||
"kra/internal/service/dto"
|
||||
@@ -62,7 +63,7 @@ func buildRuntime(registry *platformtask.Registry, systemRoutes *router.Routes,
|
||||
return systemRoutes
|
||||
}
|
||||
|
||||
func newApp(logger *slog.Logger, hs *kratoshttp.Server, scheduler *worker.TaskScheduler, audit *systemservice.AuditRecorder, loggerControl *logging.ReloadableLogger, _ mq.Client) *kratos.App {
|
||||
func newApp(logger *slog.Logger, hs *kratoshttp.Server, scheduler *worker.TaskScheduler, audit *systemservice.AuditRecorder, loggerControl *logging.ReloadableLogger, _ mq.Client, _ *liveintegration.Manager) *kratos.App {
|
||||
if audit != nil && loggerControl != nil {
|
||||
loggerControl.SetErrorSink(logging.ErrorSinkFunc(func(ctx context.Context, entry logging.ErrorEntry) error {
|
||||
return audit.CreateErrorRequest(ctx, &dto.ErrorRecordRequest{Form: entry.Form, Info: entry.Info, Level: entry.Level, RequestID: entry.RequestID, TraceID: entry.TraceID})
|
||||
|
||||
Generated
+90
-7
@@ -8,20 +8,37 @@ package main
|
||||
|
||||
import (
|
||||
"github.com/go-kratos/kratos/v3"
|
||||
analytics2 "kra/internal/biz/analytics"
|
||||
asset2 "kra/internal/biz/asset"
|
||||
gift2 "kra/internal/biz/gift"
|
||||
integration3 "kra/internal/biz/integration"
|
||||
live2 "kra/internal/biz/live"
|
||||
livechat2 "kra/internal/biz/livechat"
|
||||
liveclient2 "kra/internal/biz/liveclient"
|
||||
payment3 "kra/internal/biz/payment"
|
||||
platformsetting2 "kra/internal/biz/platformsetting"
|
||||
recharge2 "kra/internal/biz/recharge"
|
||||
system2 "kra/internal/biz/system"
|
||||
task2 "kra/internal/biz/task"
|
||||
"kra/internal/config"
|
||||
"kra/internal/data"
|
||||
"kra/internal/data/analytics"
|
||||
"kra/internal/data/asset"
|
||||
"kra/internal/data/gift"
|
||||
"kra/internal/data/integration"
|
||||
"kra/internal/data/live"
|
||||
"kra/internal/data/livechat"
|
||||
"kra/internal/data/liveclient"
|
||||
payment2 "kra/internal/data/payment"
|
||||
"kra/internal/data/platformsetting"
|
||||
"kra/internal/data/recharge"
|
||||
"kra/internal/data/system"
|
||||
"kra/internal/data/task"
|
||||
"kra/internal/initialize"
|
||||
integration2 "kra/internal/integration"
|
||||
"kra/internal/integration/cache"
|
||||
"kra/internal/integration/email"
|
||||
live4 "kra/internal/integration/live"
|
||||
"kra/internal/integration/mq"
|
||||
"kra/internal/integration/payment"
|
||||
"kra/internal/integration/storage"
|
||||
@@ -32,8 +49,16 @@ import (
|
||||
"kra/internal/server"
|
||||
"kra/internal/server/handler"
|
||||
"kra/internal/server/router"
|
||||
analytics3 "kra/internal/service/analytics"
|
||||
asset3 "kra/internal/service/asset"
|
||||
gift3 "kra/internal/service/gift"
|
||||
integration4 "kra/internal/service/integration"
|
||||
live3 "kra/internal/service/live"
|
||||
livechat3 "kra/internal/service/livechat"
|
||||
liveclient3 "kra/internal/service/liveclient"
|
||||
payment4 "kra/internal/service/payment"
|
||||
platformsetting3 "kra/internal/service/platformsetting"
|
||||
recharge3 "kra/internal/service/recharge"
|
||||
system3 "kra/internal/service/system"
|
||||
task3 "kra/internal/service/task"
|
||||
"kra/internal/worker"
|
||||
@@ -170,6 +195,59 @@ func wireApp(configServer *config.Server, store *config.Store, logger *slog.Logg
|
||||
integrationConfigUsecase := integration3.NewIntegrationConfigUsecase(integrationConfigRepo, connectivityTester)
|
||||
integrationConfigService := integration4.NewIntegrationConfigService(integrationConfigUsecase)
|
||||
integrationConfig := handler.NewIntegrationConfig(integrationConfigService)
|
||||
streamRepo := live.NewStreamRepo()
|
||||
streamUsecase := live2.NewStreamUsecase(streamRepo)
|
||||
streamService := live3.NewStreamService(streamUsecase)
|
||||
catalogRepo := live.NewCatalogRepo(dataData)
|
||||
categoryUsecase := live2.NewCategoryUsecase(catalogRepo)
|
||||
roomUsecase := live2.NewRoomUsecase(catalogRepo, streamUsecase)
|
||||
catalogService := live3.NewCatalogService(categoryUsecase, roomUsecase)
|
||||
handlerLive := handler.NewLive(streamService, catalogService)
|
||||
repo := livechat.NewRepo(dataData)
|
||||
usecase := livechat2.NewUsecase(repo)
|
||||
service := livechat3.NewService(usecase)
|
||||
liveChat := handler.NewLiveChat(service)
|
||||
liveclientRepo := liveclient.NewRepo(dataData)
|
||||
liveclientUsecase := liveclient2.NewUsecase(liveclientRepo, securityUsecase, authenticationUsecase, userUsecase)
|
||||
liveclientService := liveclient3.NewService(liveclientUsecase)
|
||||
liveClient := handler.NewLiveClient(liveclientService)
|
||||
giftRepo := gift.NewRepo(dataData)
|
||||
websocketServer, cleanup2, err := websocket.New(runtimeconfigStore)
|
||||
if err != nil {
|
||||
cleanup()
|
||||
return nil, nil, err
|
||||
}
|
||||
manager, cleanup3, err := live4.New(websocketServer, streamUsecase, roomUsecase, usecase, logger)
|
||||
if err != nil {
|
||||
cleanup2()
|
||||
cleanup()
|
||||
return nil, nil, err
|
||||
}
|
||||
giftUsecase := gift2.NewUsecase(giftRepo, manager)
|
||||
giftService := gift3.NewService(giftUsecase)
|
||||
handlerGift := handler.NewGift(giftService)
|
||||
rechargeRepo := recharge.NewRepo(dataData)
|
||||
rechargeUsecase, err := recharge2.NewUsecase(rechargeRepo, paymentUsecase)
|
||||
if err != nil {
|
||||
cleanup3()
|
||||
cleanup2()
|
||||
cleanup()
|
||||
return nil, nil, err
|
||||
}
|
||||
rechargeService := recharge3.NewService(rechargeUsecase)
|
||||
handlerRecharge := handler.NewRecharge(rechargeService)
|
||||
assetRepo := asset.NewRepo(dataData)
|
||||
assetUsecase := asset2.NewUsecase(assetRepo)
|
||||
assetService := asset3.NewService(assetUsecase)
|
||||
handlerAsset := handler.NewAsset(assetService)
|
||||
platformsettingRepo := platformsetting.NewRepo(dataData)
|
||||
platformsettingUsecase := platformsetting2.NewUsecase(platformsettingRepo)
|
||||
platformsettingService := platformsetting3.NewService(platformsettingUsecase)
|
||||
platformSetting := handler.NewPlatformSetting(platformsettingService)
|
||||
analyticsRepo := analytics.NewRepo(dataData)
|
||||
analyticsUsecase := analytics2.NewUsecase(analyticsRepo, streamUsecase)
|
||||
analyticsService := analytics3.NewService(analyticsUsecase)
|
||||
handlerAnalytics := handler.NewAnalytics(analyticsService)
|
||||
set := &handler.Set{
|
||||
Authority: authority,
|
||||
Menu: menu,
|
||||
@@ -193,27 +271,32 @@ func wireApp(configServer *config.Server, store *config.Store, logger *slog.Logg
|
||||
Navigation: navigation,
|
||||
Session: session,
|
||||
IntegrationConfig: integrationConfig,
|
||||
Live: handlerLive,
|
||||
LiveChat: liveChat,
|
||||
LiveClient: liveClient,
|
||||
Gift: handlerGift,
|
||||
Recharge: handlerRecharge,
|
||||
Asset: handlerAsset,
|
||||
PlatformSetting: platformSetting,
|
||||
Analytics: handlerAnalytics,
|
||||
}
|
||||
routes := router.NewRoutes(set)
|
||||
maintenanceRepo := system.NewMaintenanceRepo(dataData)
|
||||
maintenanceUsecase := system2.NewMaintenanceUsecase(maintenanceRepo)
|
||||
taskMethods := worker.NewTaskMethods(taskUsecase, maintenanceUsecase, mediaUsecase, store)
|
||||
routeRegistrar := buildRuntime(registry, routes, taskMethods)
|
||||
websocketServer, cleanup2, err := websocket.New(runtimeconfigStore)
|
||||
if err != nil {
|
||||
cleanup()
|
||||
return nil, nil, err
|
||||
}
|
||||
engine := server.NewGinEngineWithRuntime(store, accessControlService, authService, securityService, auditRecorder, logger, string2, routeRegistrar, websocketServer)
|
||||
httpServer := server.NewGinServer(configServer, engine)
|
||||
mqReloadable, cleanup3, err := mq.New(runtimeconfigStore, logger)
|
||||
mqReloadable, cleanup4, err := mq.New(runtimeconfigStore, logger)
|
||||
if err != nil {
|
||||
cleanup3()
|
||||
cleanup2()
|
||||
cleanup()
|
||||
return nil, nil, err
|
||||
}
|
||||
app := newApp(logger, httpServer, taskScheduler, auditRecorder, reloadableLogger, mqReloadable)
|
||||
app := newApp(logger, httpServer, taskScheduler, auditRecorder, reloadableLogger, mqReloadable, manager)
|
||||
return app, func() {
|
||||
cleanup4()
|
||||
cleanup3()
|
||||
cleanup2()
|
||||
cleanup()
|
||||
|
||||
Reference in New Issue
Block a user