Files
EdgeAPI/internal/rpc/services/service_acme_provider.go
2024-05-17 18:27:26 +08:00

63 lines
1.8 KiB
Go

// Copyright 2021 GoEdge CDN goedge.cdn@gmail.com. All rights reserved.
package services
import (
"context"
"github.com/TeaOSLab/EdgeAPI/internal/acme"
"github.com/TeaOSLab/EdgeCommon/pkg/rpc/pb"
)
// ACMEProviderService ACME服务商
type ACMEProviderService struct {
BaseService
}
// FindAllACMEProviders 查找所有的服务商
func (this *ACMEProviderService) FindAllACMEProviders(ctx context.Context, req *pb.FindAllACMEProvidersRequest) (*pb.FindAllACMEProvidersResponse, error) {
_, _, err := this.ValidateAdminAndUser(ctx, false)
if err != nil {
return nil, err
}
var pbProviders = []*pb.ACMEProvider{}
for _, provider := range acme.FindAllProviders() {
pbProviders = append(pbProviders, &pb.ACMEProvider{
Name: provider.Name,
Code: provider.Code,
Description: provider.Description,
ApiURL: provider.APIURL,
RequireEAB: provider.RequireEAB,
EabDescription: provider.EABDescription,
})
}
return &pb.FindAllACMEProvidersResponse{AcmeProviders: pbProviders}, nil
}
// FindACMEProviderWithCode 根据代号查找服务商
func (this *ACMEProviderService) FindACMEProviderWithCode(ctx context.Context, req *pb.FindACMEProviderWithCodeRequest) (*pb.FindACMEProviderWithCodeResponse, error) {
_, _, err := this.ValidateAdminAndUser(ctx, false)
if err != nil {
return nil, err
}
var provider = acme.FindProviderWithCode(req.AcmeProviderCode)
if provider == nil {
return &pb.FindACMEProviderWithCodeResponse{
AcmeProvider: nil,
}, nil
}
return &pb.FindACMEProviderWithCodeResponse{
AcmeProvider: &pb.ACMEProvider{
Name: provider.Name,
Code: provider.Code,
Description: provider.Description,
ApiURL: provider.APIURL,
RequireEAB: provider.RequireEAB,
EabDescription: provider.EABDescription,
},
}, nil
}