boot

package
v0.70.1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Dec 27, 2023 License: Apache-2.0 Imports: 22 Imported by: 2

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func Init

func Init(appName string, version string, args []string, logger feather_commons_log.Logger, enablers *Enablers, builder *BeanBuilder, fn InitDelegateFunc) error

Types

type ApplicationContext

type ApplicationContext struct {
	AppName                string
	AppVersion             string
	LogLevel               string
	CmdArgs                []string
	Enablers               *Enablers
	HttpConfig             *HttpConfig
	GrpcConfig             *GrpcConfig
	SecurityConfig         *SecurityConfig
	DatabaseConfig         *DatabaseConfig
	Logger                 feather_commons_log.Logger
	Environment            feather_commons_environment.Environment
	DatasourceContext      feather_sql_datasource.DatasourceContext
	Datasource             feather_sql_datasource.Datasource
	TransactionHandler     feather_sql_datasource.TransactionHandler
	PasswordEncoder        feather_security.PasswordEncoder
	PasswordGenerator      feather_security.PasswordGenerator
	PasswordManager        feather_security.PasswordManager
	PrincipalManager       feather_security.PrincipalManager
	TokenManager           feather_security.TokenManager
	AuthenticationService  feather_security.AuthenticationService
	AuthenticationEndpoint feather_security.AuthenticationEndpoint
	AuthorizationService   feather_security.AuthorizationService
	AuthorizationFilter    feather_security.AuthorizationFilter
	PublicRouter           *gin.Engine
	PrivateRouter          *gin.RouterGroup
	GrpcServiceDesc        *grpc.ServiceDesc
	GrpcServiceServer      any
}

func NewApplicationContext

func NewApplicationContext(appName string, version string, args []string, logger feather_commons_log.Logger, enablers *Enablers, builder *BeanBuilder) *ApplicationContext

func (*ApplicationContext) Stop

func (ctx *ApplicationContext) Stop()

type AuthenticationEndpointBuilderFunc

type AuthenticationEndpointBuilderFunc func(appCtx *ApplicationContext) feather_security.AuthenticationEndpoint

type AuthenticationServiceBuilderFunc

type AuthenticationServiceBuilderFunc func(appCtx *ApplicationContext) feather_security.AuthenticationService

type AuthorizationFilterBuilderFunc

type AuthorizationFilterBuilderFunc func(appCtx *ApplicationContext) feather_security.AuthorizationFilter

type AuthorizationServiceBuilderFunc

type AuthorizationServiceBuilderFunc func(appCtx *ApplicationContext) feather_security.AuthorizationService

type BeanBuilder

type BeanBuilder struct {
	Environment            EnvironmentBuilderFunc
	Config                 ConfigLoaderFunc
	DatasourceContext      DatasourceContextBuilderFunc
	Datasource             DatasourceBuilderFunc
	TransactionHandler     TransactionHandlerBuilderFunc
	PasswordEncoder        PasswordEncoderBuilderFunc
	PasswordGenerator      PasswordGeneratorBuilderFunc
	PasswordManager        PasswordManagerBuilderFunc
	PrincipalManager       PrincipalManagerBuilderFunc
	TokenManager           TokenManagerBuilderFunc
	AuthenticationService  AuthenticationServiceBuilderFunc
	AuthorizationService   AuthorizationServiceBuilderFunc
	AuthenticationEndpoint AuthenticationEndpointBuilderFunc
	AuthorizationFilter    AuthorizationFilterBuilderFunc
	HttpServer             HttpServerBuilderFunc
	GrpcServer             GrpcServerBuilderFunc
}

func NewBeanBuilder

func NewBeanBuilder(ctx context.Context) *BeanBuilder

type ConfigLoaderFunc

type ConfigLoaderFunc func(appCtx *ApplicationContext)

type DatabaseConfig added in v0.70.0

type DatabaseConfig struct {
	ParamHolder        feather_sql.ParamHolder
	Driver             feather_sql.DriverName
	DatasourceUrl      *string
	DatasourceUsername *string
	DatasourcePassword *string
	DatasourceServer   *string
	DatasourceService  *string
}

type DatasourceBuilderFunc

type DatasourceBuilderFunc func(appCtx *ApplicationContext) feather_sql_datasource.Datasource

type DatasourceContextBuilderFunc

type DatasourceContextBuilderFunc func(appCtx *ApplicationContext) feather_sql_datasource.DatasourceContext

type Enablers added in v0.70.0

type Enablers struct {
	HttpServerEnabled bool
	GrpcServerEnabled bool
	DatabaseEnabled   bool
}

type GrpcConfig added in v0.70.0

type GrpcConfig struct {
	Host *string
	Port *string
}

type GrpcServerBuilderFunc added in v0.70.0

type GrpcServerBuilderFunc func(appCtx *ApplicationContext) (*grpc.ServiceDesc, any)

type HttpConfig added in v0.70.0

type HttpConfig struct {
	Host            *string
	Port            *string
	SwaggerPort     *string
	CorsAllowOrigin *string
}

type HttpServerBuilderFunc added in v0.70.0

type HttpServerBuilderFunc func(appCtx *ApplicationContext) (*gin.Engine, *gin.RouterGroup)

type InitDelegateFunc added in v0.70.0

type InitDelegateFunc func(ctx ApplicationContext) error

type PasswordEncoderBuilderFunc

type PasswordEncoderBuilderFunc func(appCtx *ApplicationContext) feather_security.PasswordEncoder

type PasswordGeneratorBuilderFunc

type PasswordGeneratorBuilderFunc func(appCtx *ApplicationContext) feather_security.PasswordGenerator

type PasswordManagerBuilderFunc

type PasswordManagerBuilderFunc func(appCtx *ApplicationContext) feather_security.PasswordManager

type PrincipalManagerBuilderFunc

type PrincipalManagerBuilderFunc func(appCtx *ApplicationContext) feather_security.PrincipalManager

type SecurityConfig added in v0.70.0

type SecurityConfig struct {
	TokenSignatureKey       *string
	TokenVerificationKey    *string
	PasswordMinSpecialChars *string
	PasswordMinNumber       *string
	PasswordMinUpperCase    *string
	PasswordLength          *string
}

type TokenManagerBuilderFunc

type TokenManagerBuilderFunc func(appCtx *ApplicationContext) feather_security.TokenManager

type TransactionHandlerBuilderFunc

type TransactionHandlerBuilderFunc func(appCtx *ApplicationContext) feather_sql_datasource.TransactionHandler

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL