github.com/voedger/voedger@v0.0.0-20240520144910-273e84102129/pkg/apps/sys/blobberapp/provide.go (about)

     1  /*
     2   * Copyright (c) 2022-present unTill Pro, Ltd.
     3   */
     4  
     5  package blobberapp
     6  
     7  import (
     8  	"github.com/voedger/voedger/pkg/appparts"
     9  	"github.com/voedger/voedger/pkg/apps"
    10  	"github.com/voedger/voedger/pkg/extensionpoints"
    11  	"github.com/voedger/voedger/pkg/istructs"
    12  	"github.com/voedger/voedger/pkg/istructsmem"
    13  	"github.com/voedger/voedger/pkg/parser"
    14  	"github.com/voedger/voedger/pkg/sys"
    15  	"github.com/voedger/voedger/pkg/sys/smtp"
    16  )
    17  
    18  func Provide() apps.AppBuilder {
    19  	return func(apis apps.APIs, cfg *istructsmem.AppConfigType, ep extensionpoints.IExtensionPoint) apps.BuiltInAppDef {
    20  		sysPackageFS := sys.Provide(cfg, smtp.Cfg{}, ep, nil, apis.TimeFunc, apis.ITokens, apis.IFederation, apis.IAppStructsProvider, apis.IAppTokensFactory,
    21  			nil, apis.IAppStorageProvider) // need to generate AppWorkspaces only
    22  		blobberAppPackageFS := parser.PackageFS{
    23  			Path: BlobberAppFQN,
    24  			FS:   blobberSchemaFS,
    25  		}
    26  		return apps.BuiltInAppDef{
    27  			AppQName: istructs.AppQName_sys_blobber,
    28  			Packages: []parser.PackageFS{sysPackageFS, blobberAppPackageFS},
    29  			AppDeploymentDescriptor: appparts.AppDeploymentDescriptor{
    30  				NumParts:       DefDeploymentPartsCount,
    31  				EnginePoolSize: DefDeploymentEnginePoolSize,
    32  			},
    33  		}
    34  	}
    35  }