package backup

import (
	"context"

	globalngv1 "github.com/tidbcloud/tidb-management-service/api/spec/global/nextgen/v1"
	globalserverlessv1 "github.com/tidbcloud/tidb-management-service/api/spec/global/serverless/v1"
)

func (s serverImpl) OverrideFlexibleBackupRetention(
	ctx context.Context,
	request *globalngv1.OverrideFlexibleBackupRetentionRequest,
) (*globalngv1.BackupSetting, error) {
	return s.nextgenCli.OverrideFlexibleBackupRetention(ctx, request)
}

func (s serverImpl) CreatePGBackup(
	ctx context.Context,
	request *globalserverlessv1.CreatePGBackupRequest,
) (*globalserverlessv1.CreatePGBackupResponse, error) {
	return s.serverlessCli.CreatePGBackup(ctx, request)
}

func (s serverImpl) ListPGBackups(
	ctx context.Context,
	request *globalserverlessv1.ListPGBackupsRequest,
) (*globalserverlessv1.ListPGBackupsResponse, error) {
	return s.serverlessCli.ListPGBackups(ctx, request)
}

func (s serverImpl) GetPGBackup(
	ctx context.Context,
	request *globalserverlessv1.GetPGBackupRequest,
) (*globalserverlessv1.GetPGBackupResponse, error) {
	return s.serverlessCli.GetPGBackup(ctx, request)
}

func (s serverImpl) GetPGBackupPolicy(
	ctx context.Context,
	request *globalserverlessv1.GetPGBackupPolicyRequest,
) (*globalserverlessv1.GetPGBackupPolicyResponse, error) {
	return s.serverlessCli.GetPGBackupPolicy(ctx, request)
}

func (s serverImpl) UpdatePGBackupPolicy(
	ctx context.Context,
	request *globalserverlessv1.UpdatePGBackupPolicyRequest,
) (*globalserverlessv1.UpdatePGBackupPolicyResponse, error) {
	return s.serverlessCli.UpdatePGBackupPolicy(ctx, request)
}
