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