package dataflowcli

import (
	"context"

	"github.com/tidbcloud/dataflow-service/idl/pbgen/proto/dataflow"
)

// Deprecated: For newly-written tests, use mock in tests instead. Do not add mock data here.
type fakeImpl struct{}

func (c fakeImpl) CreateFinalBackupIgnoreExist(ctx context.Context, clusterID uint64) (uint64, error) {
	return 0, nil
}

func (c fakeImpl) GetBackup(ctx context.Context, req *dataflow.GetBackupReq) (*dataflow.GetBackupResp, error) {
	return &dataflow.GetBackupResp{}, nil
}

func (c fakeImpl) Restore(ctx context.Context, req *dataflow.BackupInternalRestoreReq) (*dataflow.RestoreResp, error) {
	return &dataflow.RestoreResp{}, nil
}

func (c fakeImpl) GetRestore(ctx context.Context, req *dataflow.GetRestoreReq) (*dataflow.GetRestoreResp, error) {
	return &dataflow.GetRestoreResp{}, nil
}

func (c fakeImpl) CreateConnector(ctx context.Context, req *dataflow.ConnectorCreateReq) (*dataflow.ConnectorID, error) {
	return &dataflow.ConnectorID{}, nil
}

func (c fakeImpl) GetConnector(ctx context.Context, req *dataflow.ConnectorID) (*dataflow.Connector, error) {
	return &dataflow.Connector{}, nil
}

func (c fakeImpl) ListConnectors(ctx context.Context, req *dataflow.ConnectorListReq) (*dataflow.Connectors, error) {
	return &dataflow.Connectors{}, nil
}

func (c fakeImpl) DeleteConnector(ctx context.Context, req *dataflow.ConnectorID) error {
	return nil
}

func (c fakeImpl) ListChangefeedInstanceTypes(
	ctx context.Context,
	req *dataflow.ChangefeedInstanceTypeListReq,
) (*dataflow.ChangefeedInstanceTypes, error) {
	return &dataflow.ChangefeedInstanceTypes{}, nil
}

func (c fakeImpl) CreateSinkEndpoint(ctx context.Context, req *dataflow.CreateSinkEndpointRequest) (*dataflow.SinkEndpoint, error) {
	return &dataflow.SinkEndpoint{}, nil
}

func (c fakeImpl) GetSinkEndpoint(ctx context.Context, req *dataflow.GetSinkEndpointRequest) (*dataflow.SinkEndpoint, error) {
	return &dataflow.SinkEndpoint{}, nil
}

func (c fakeImpl) DeleteSinkEndpoint(ctx context.Context, req *dataflow.DeleteSinkEndpointRequest) error {
	return nil
}

func (c fakeImpl) ListSinkAvailabilityZones(
	ctx context.Context,
	req *dataflow.ListSinkAvailabilityZonesRequest,
) (*dataflow.ListSinkAvailabilityZonesResponse, error) {
	return &dataflow.ListSinkAvailabilityZonesResponse{}, nil
}
