A small refactoring

This commit is contained in:
2024-05-06 10:44:08 +02:00
parent 638e35b60d
commit 7d1effa22a
12 changed files with 47 additions and 21 deletions

View File

@ -8,7 +8,9 @@ import (
"git.badhouseplants.net/softplayer/softplayer-backend/internal/helpers/email"
proto_email "git.badhouseplants.net/softplayer/softplayer-go-proto/pkg/email"
"google.golang.org/grpc"
"google.golang.org/grpc/codes"
"google.golang.org/grpc/metadata"
"google.golang.org/grpc/status"
"google.golang.org/protobuf/types/known/emptypb"
ctrl "sigs.k8s.io/controller-runtime"
)
@ -17,7 +19,8 @@ type EmailServer struct {
proto_email.UnimplementedEmailValidationServer
emailConfig email.EmailConf
controller ctrl.Manager
devMode bool
// When dev mode is enabled, email won't be sent, instead the code will be returned in metadata
devMode bool
}
func InitEmailServer(controller ctrl.Manager, emailConfig *email.EmailConf, devMode bool) *EmailServer {
@ -28,7 +31,14 @@ func InitEmailServer(controller ctrl.Manager, emailConfig *email.EmailConf, devM
}
}
// Send the validation code to email
func (c *EmailServer) SendRequest(ctx context.Context, in *proto_email.RequestValidation) (*emptypb.Empty, error) {
// Validation
if len(in.GetUserId()) == 0 {
return nil, status.Error(codes.InvalidArgument, "user id must not be empty")
}
// Body
emailSvc := controllers.EmailSvc{
Data: controllers.EmailData{
UserID: in.GetUserId(),
@ -46,15 +56,20 @@ func (c *EmailServer) SendRequest(ctx context.Context, in *proto_email.RequestVa
if err := grpc.SendHeader(ctx, header); err != nil {
return nil, err
}
trailer := metadata.Pairs("trailer-key", "val")
if err := grpc.SetTrailer(ctx, trailer); err != nil {
return nil, err
}
}
return &emptypb.Empty{}, nil
}
func (c *EmailServer) ValidateEmail(ctx context.Context, in *proto_email.ConfirmValidation) (*emptypb.Empty, error) {
// Validation
if len(in.GetUserId()) == 0 {
return nil, status.Error(codes.InvalidArgument, "user id must not be empty")
}
if in.GetCode() == 0 {
return nil, status.Error(codes.InvalidArgument, "code must not be empty")
}
// Body
emailSvc := controllers.EmailSvc{
Data: controllers.EmailData{
UserID: in.GetUserId(),

View File

@ -4,8 +4,8 @@ import (
"context"
"git.badhouseplants.net/softplayer/softplayer-backend/internal/controllers"
"git.badhouseplants.net/softplayer/softplayer-backend/internal/kubernetes"
"git.badhouseplants.net/softplayer/softplayer-backend/internal/providers"
"git.badhouseplants.net/softplayer/softplayer-backend/internal/providers/infra"
"git.badhouseplants.net/softplayer/softplayer-backend/internal/providers/kubernetes"
proto "git.badhouseplants.net/softplayer/softplayer-go-proto/pkg/environments"
"github.com/golang/protobuf/ptypes/empty"
ctrl "sigs.k8s.io/controller-runtime"
@ -24,7 +24,7 @@ type EnvironmentsServer struct {
// Create an environment
func (e *EnvironmentsServer) Create(ctx context.Context, in *proto.CreateOptions) (*proto.EnvironmentFull, error) {
provider, err := providers.GetProvider(in.GetSpec().GetProvider().String())
provider, err := infra.GetProvider(in.GetSpec().GetProvider().String())
if err != nil {
return nil, err
}
@ -74,7 +74,7 @@ func (e *EnvironmentsServer) Create(ctx context.Context, in *proto.CreateOptions
}
func (e *EnvironmentsServer) Update(ctx context.Context, in *proto.UpdateOptions) (*proto.EnvironmentFull, error) {
provider, err := providers.GetProvider(in.GetSpec().GetProvider().String())
provider, err := infra.GetProvider(in.GetSpec().GetProvider().String())
if err != nil {
return nil, err
}
@ -159,7 +159,7 @@ func (e *EnvironmentsServer) Get(ctx context.Context, in *proto.GetOptions) (*pr
return nil, err
}
provider, err := providers.GetProvider(environment.Data.Provider)
provider, err := infra.GetProvider(environment.Data.Provider)
if err != nil {
return nil, err
}
@ -197,7 +197,7 @@ func (e *EnvironmentsServer) List(in *proto.ListOptions, stream proto.Environmen
}
for _, env := range envs {
provider, err := providers.GetProvider(env.Data.Provider)
provider, err := infra.GetProvider(env.Data.Provider)
if err != nil {
return err
}