| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263 |
- package baize
- import (
- "git.sxidc.com/go-framework/baize/framwork/api"
- "git.sxidc.com/go-framework/baize/framwork/application"
- "git.sxidc.com/go-framework/baize/framwork/infrastructure"
- "git.sxidc.com/go-framework/baize/framwork/infrastructure/database/data_service"
- "git.sxidc.com/go-framework/baize/framwork/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,
- BaseUrl: dataServiceConfig.BaseUrl,
- GrpcAddress: dataServiceConfig.GrpcAddress,
- 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())
- }
|