| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364 |
- package baize
- import (
- "git.sxidc.com/go-framework/baize/framework/core/api"
- "git.sxidc.com/go-framework/baize/framework/core/application"
- "git.sxidc.com/go-framework/baize/framework/core/infrastructure"
- "git.sxidc.com/go-framework/baize/framework/core/infrastructure/database/data_service"
- "git.sxidc.com/go-framework/baize/framework/core/infrastructure/database/operations"
- )
- func NewApplication(conf application.Config) *application.App {
- // 创建API
- apiConfig := conf.ApiConfig
- apiInstance := api.New(api.WithUrlPrefix(apiConfig.UrlPrefix), api.WithPort(apiConfig.Port))
- // 创建基础设施
- var infrastructureInstance *infrastructure.Infrastructure
- infrastructureConfig := infrastructure.Config{
- DatabaseConfig: infrastructure.DatabaseConfig{},
- }
- if conf.InfrastructureConfig.Database.Operations != nil {
- operationsConfig := conf.InfrastructureConfig.Database.Operations
- if operationsConfig != nil {
- infrastructureConfig.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,
- }
- }
- }
- if conf.InfrastructureConfig.Database.DataService != nil {
- dataServiceConfig := conf.InfrastructureConfig.Database.DataService
- if dataServiceConfig != nil {
- infrastructureConfig.DatabaseConfig.DataService = &data_service.Config{
- Token: dataServiceConfig.Token,
- Address: dataServiceConfig.Address,
- HttpPort: dataServiceConfig.HttpPort,
- GrpcPort: dataServiceConfig.GrpcPort,
- Namespace: dataServiceConfig.Namespace,
- DataSource: dataServiceConfig.DataSource,
- TimeoutSec: dataServiceConfig.TimeoutSec,
- }
- }
- }
- infrastructureInstance = infrastructure.NewInfrastructure(infrastructureConfig)
- return application.New(apiInstance, infrastructureInstance)
- }
- func DestroyApplication(app *application.App) {
- if app == nil {
- return
- }
- infrastructure.DestroyInfrastructure(app.Infrastructure())
- }
|