package grpcadapter import ( "context" "gl/application/health" applicationledger "gl/application/ledger" basev1 "gl/gen/base/v1" ledgerv1 "gl/gen/ledger/v1" ) type Handler struct { ledgerv1.UnimplementedGeneralLedgerServiceServer health *health.Service ledger *applicationledger.Service } func NewHandler(healthService *health.Service, ledgerService *applicationledger.Service) *Handler { return &Handler{health: healthService, ledger: ledgerService} } func NewHealthHandler(service *health.Service) *Handler { return NewHandler(service, nil) } func (h *Handler) Health(ctx context.Context, _ *basev1.Empty) (*ledgerv1.HealthResponse, error) { result := h.health.Check(ctx) return &ledgerv1.HealthResponse{ Serving: result.Serving, DatabaseReady: result.DatabaseReady, }, nil }