package cmdmanual

import (
	"context"
	"errors"

	"github.com/tidbcloud/tidb-management-service/dedicated-global-service/domain/adapter/remoteencryptor"
)

type Server struct {
	encryptor remoteencryptor.Client
}

func NewServer(encryptor remoteencryptor.Client) *Server {
	return &Server{
		encryptor: encryptor,
	}
}

func (svc *Server) EncryptBase64(ctx context.Context, plaintext string) (string, error) {
	if plaintext == "" {
		return "", errors.New("plaintext is empty")
	}

	ciphertext, err := svc.encryptor.EncryptBase64(ctx, plaintext)
	if err != nil {
		return "", err
	}
	return ciphertext, nil
}
