// Package grpc provides gRPC client implementations for service clients.
package grpc

import (
	"context"
	"fmt"

	"git.dcentral.systems/toolz/goplt/pkg/registry"
	"git.dcentral.systems/toolz/goplt/pkg/services"
)

// AuditClient implements AuditServiceClient using gRPC.
// This is a stub implementation - will be fully implemented when proto files are generated in Phase 4.
type AuditClient struct {
	registry registry.ServiceRegistry
}

// NewAuditClient creates a new gRPC client for the Audit Service.
func NewAuditClient(reg registry.ServiceRegistry) (services.AuditServiceClient, error) {
	return &AuditClient{
		registry: reg,
	}, nil
}

// Record records an audit log entry.
func (c *AuditClient) Record(ctx context.Context, entry *services.AuditLogEntry) error {
	return fmt.Errorf("not implemented: proto files not yet generated")
}

// Query queries audit logs based on filters.
func (c *AuditClient) Query(ctx context.Context, filters *services.AuditLogFilters) ([]services.AuditLogEntry, error) {
	return nil, fmt.Errorf("not implemented: proto files not yet generated")
}
