baize.go 1.2 KB

123456789101112131415161718192021222324252627282930313233
  1. package baize
  2. import (
  3. "git.sxidc.com/go-framework/baize/api"
  4. "git.sxidc.com/go-framework/baize/application"
  5. "git.sxidc.com/go-framework/baize/infrastructure"
  6. "git.sxidc.com/go-framework/baize/infrastructure/database/operations"
  7. )
  8. func NewApplication(conf application.Config) *application.App {
  9. apiConfig := conf.ApiConfig
  10. apiInstance := api.New(api.WithUrlPrefix(apiConfig.UrlPrefix), api.WithPort(apiConfig.Port))
  11. var infrastructureInstance *infrastructure.Infrastructure
  12. if conf.InfrastructureConfig.Database.Operations != nil {
  13. operationsConfig := conf.InfrastructureConfig.Database.Operations
  14. infrastructureInstance = infrastructure.NewInfrastructure(infrastructure.Config{
  15. DatabaseConfig: infrastructure.DatabaseConfig{
  16. Operations: &operations.Config{
  17. UserName: operationsConfig.UserName,
  18. Password: operationsConfig.Password,
  19. Address: operationsConfig.Address,
  20. Port: operationsConfig.Port,
  21. Database: operationsConfig.Database,
  22. MaxConnections: operationsConfig.MaxConnections,
  23. MaxIdleConnections: operationsConfig.MaxIdleConnections,
  24. },
  25. },
  26. })
  27. }
  28. return application.New(apiInstance, infrastructureInstance)
  29. }