refactor: manager server new instance (#464)
Signed-off-by: Gaius <gaius.qi@gmail.com>
This commit is contained in:
parent
b24f9dc0bd
commit
013ccfd412
|
|
@ -57,17 +57,10 @@ func New(cfg *config.Config) (*Server, error) {
|
||||||
searcher := searcher.New()
|
searcher := searcher.New()
|
||||||
|
|
||||||
// Initialize REST service
|
// Initialize REST service
|
||||||
restService := service.NewREST(
|
restService := service.NewREST(db, cache)
|
||||||
service.WithDatabase(db),
|
|
||||||
service.WithCache(cache),
|
|
||||||
)
|
|
||||||
|
|
||||||
// Initialize GRPC service
|
// Initialize GRPC service
|
||||||
grpcService := service.NewGRPC(
|
grpcService := service.NewGRPC(db, cache, searcher)
|
||||||
service.GRPCWithDatabase(db),
|
|
||||||
service.GRPCWithCache(cache),
|
|
||||||
service.GRPCWithSearcher(searcher),
|
|
||||||
)
|
|
||||||
|
|
||||||
// Initialize router
|
// Initialize router
|
||||||
router, err := initRouter(cfg.Verbose, restService)
|
router, err := initRouter(cfg.Verbose, restService)
|
||||||
|
|
|
||||||
|
|
@ -64,31 +64,11 @@ type rest struct {
|
||||||
cache *cache.Cache
|
cache *cache.Cache
|
||||||
}
|
}
|
||||||
|
|
||||||
// Option is a functional option for rest
|
|
||||||
type Option func(s *rest)
|
|
||||||
|
|
||||||
// WithDatabase set the database client
|
|
||||||
func WithDatabase(database *database.Database) Option {
|
|
||||||
return func(s *rest) {
|
|
||||||
s.db = database.DB
|
|
||||||
s.rdb = database.RDB
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// WithCache set the cache client
|
|
||||||
func WithCache(cache *cache.Cache) Option {
|
|
||||||
return func(s *rest) {
|
|
||||||
s.cache = cache
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// NewREST returns a new REST instence
|
// NewREST returns a new REST instence
|
||||||
func NewREST(options ...Option) REST {
|
func NewREST(database *database.Database, cache *cache.Cache) REST {
|
||||||
s := &rest{}
|
return &rest{
|
||||||
|
db: database.DB,
|
||||||
for _, opt := range options {
|
rdb: database.RDB,
|
||||||
opt(s)
|
cache: cache,
|
||||||
}
|
}
|
||||||
|
|
||||||
return s
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -27,40 +27,14 @@ type GRPC struct {
|
||||||
searcher searcher.Searcher
|
searcher searcher.Searcher
|
||||||
}
|
}
|
||||||
|
|
||||||
// Option is a functional option for rest
|
|
||||||
type GRPCOption func(s *GRPC)
|
|
||||||
|
|
||||||
// GRPCWithDatabase set the database client
|
|
||||||
func GRPCWithDatabase(database *database.Database) GRPCOption {
|
|
||||||
return func(s *GRPC) {
|
|
||||||
s.db = database.DB
|
|
||||||
s.rdb = database.RDB
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// GRPCWithCache set the cache client
|
|
||||||
func GRPCWithCache(cache *cache.Cache) GRPCOption {
|
|
||||||
return func(s *GRPC) {
|
|
||||||
s.cache = cache
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// GRPCWithSearcher set search client
|
|
||||||
func GRPCWithSearcher(searcher searcher.Searcher) GRPCOption {
|
|
||||||
return func(s *GRPC) {
|
|
||||||
s.searcher = searcher
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// NewREST returns a new REST instence
|
// NewREST returns a new REST instence
|
||||||
func NewGRPC(options ...GRPCOption) *GRPC {
|
func NewGRPC(database *database.Database, cache *cache.Cache, searcher searcher.Searcher) *GRPC {
|
||||||
s := &GRPC{}
|
return &GRPC{
|
||||||
|
db: database.DB,
|
||||||
for _, opt := range options {
|
rdb: database.RDB,
|
||||||
opt(s)
|
cache: cache,
|
||||||
|
searcher: searcher,
|
||||||
}
|
}
|
||||||
|
|
||||||
return s
|
|
||||||
}
|
}
|
||||||
|
|
||||||
func (s *GRPC) GetCDN(ctx context.Context, req *manager.GetCDNRequest) (*manager.CDN, error) {
|
func (s *GRPC) GetCDN(ctx context.Context, req *manager.GetCDNRequest) (*manager.CDN, error) {
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue