init.go raw

   1  package grpc
   2  
   3  import (
   4  	"context"
   5  
   6  	"next.orly.dev/pkg/database"
   7  )
   8  
   9  func init() {
  10  	database.RegisterGRPCFactory(NewFromConfig)
  11  }
  12  
  13  // NewFromConfig creates a new gRPC database client from the database config.
  14  func NewFromConfig(ctx context.Context, cancel context.CancelFunc, cfg *database.DatabaseConfig) (database.Database, error) {
  15  	clientCfg := &ClientConfig{
  16  		ServerAddress:  cfg.GRPCServerAddress,
  17  		ConnectTimeout: cfg.GRPCConnectTimeout,
  18  	}
  19  	return New(ctx, clientCfg)
  20  }
  21