package service

import (
	"context"

	apiKeyAuth "github.com/pingcap/dbaas/pkg/auth/apikey"
	"github.com/tidbcloud/central-sdk/db/entity"
)

type APIService interface {
	CurrentAPIKeyEntity(ctx context.Context) (*entity.APIKey, error)
}

type DefaultAPIServiceImpl struct{}

func (s *DefaultAPIServiceImpl) CurrentAPIKeyEntity(ctx context.Context) (*entity.APIKey, error) {
	return apiKeyAuth.GetAPIKeyFromContext(ctx)
}

func NewDefaultAPIServiceImpl() *DefaultAPIServiceImpl {
	s := DefaultAPIServiceImpl{}
	return &s
}
