package baize import ( "git.sxidc.com/go-framework/baize/api" "git.sxidc.com/go-framework/baize/application" "git.sxidc.com/go-framework/baize/infrastructure" "git.sxidc.com/go-framework/baize/infrastructure/database/operations" ) func NewApplication(conf application.Config) *application.App { apiConfig := conf.ApiConfig apiInstance := api.New(api.WithUrlPrefix(apiConfig.UrlPrefix), api.WithPort(apiConfig.Port)) var infrastructureInstance *infrastructure.Infrastructure if conf.InfrastructureConfig.Database.Operations != nil { operationsConfig := conf.InfrastructureConfig.Database.Operations infrastructureInstance = infrastructure.NewInfrastructure(infrastructure.Config{ DatabaseConfig: infrastructure.DatabaseConfig{ Operations: &operations.Config{ UserName: operationsConfig.UserName, Password: operationsConfig.Password, Address: operationsConfig.Address, Port: operationsConfig.Port, Database: operationsConfig.Database, MaxConnections: operationsConfig.MaxConnections, MaxIdleConnections: operationsConfig.MaxIdleConnections, }, }, }) } return application.New(apiInstance, infrastructureInstance) } func DestroyApplication(app *application.App) { if app == nil { return } infrastructure.DestroyInfrastructure(app.Infrastructure()) }