mirror of
https://github.com/TeaOSLab/EdgeAPI.git
synced 2025-11-02 22:10:26 +08:00
63 lines
1.8 KiB
Go
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
|
|
}
|