Create an app
This commit is contained in:
		
							
								
								
									
										52
									
								
								api/v1/application.go
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										52
									
								
								api/v1/application.go
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,52 @@
 | 
			
		||||
package v1
 | 
			
		||||
 | 
			
		||||
import (
 | 
			
		||||
	"context"
 | 
			
		||||
 | 
			
		||||
	"git.badhouseplants.net/softplayer/softplayer-backend/internal/controllers"
 | 
			
		||||
	proto "git.badhouseplants.net/softplayer/softplayer-go-proto/pkg/applications"
 | 
			
		||||
	ctrl "sigs.k8s.io/controller-runtime"
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
func NewApplicationsGrpcImpl(controller ctrl.Manager) *ApplicationServer {
 | 
			
		||||
	return &ApplicationServer{
 | 
			
		||||
		controller: controller,
 | 
			
		||||
	}
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
type ApplicationServer struct {
 | 
			
		||||
	proto.UnimplementedApplicationsServer
 | 
			
		||||
	controller ctrl.Manager
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// Create an environment
 | 
			
		||||
func (app *ApplicationServer) Create(ctx context.Context, in *proto.CreateOptions) (*proto.ApplicationFull, error) {
 | 
			
		||||
 | 
			
		||||
	data := &controllers.ApplicationData{
 | 
			
		||||
		Name:        in.Metadata.Name,
 | 
			
		||||
		Application: in.Spec.Application,
 | 
			
		||||
		Version:     in.Spec.Version,
 | 
			
		||||
		Environemnt: in.Spec.EnvironemntId,
 | 
			
		||||
		Config:      in.Spec.Config,
 | 
			
		||||
		RawConfig:   "",
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	application := &controllers.Application{
 | 
			
		||||
		UserID:     in.GetOwnerId().GetUuid(),
 | 
			
		||||
		Controller: app.controller,
 | 
			
		||||
		Data:       data,
 | 
			
		||||
		Token:      in.GetToken().GetToken(),
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	err := application.Create(ctx)
 | 
			
		||||
	if err != nil {
 | 
			
		||||
		return nil, err
 | 
			
		||||
	}
 | 
			
		||||
	return &proto.ApplicationFull{
 | 
			
		||||
		Metadata: in.GetMetadata(),
 | 
			
		||||
		Id: &proto.ApplicationId{
 | 
			
		||||
			Uuid: application.Data.UUID,
 | 
			
		||||
		},
 | 
			
		||||
		Spec: in.GetSpec(),
 | 
			
		||||
	}, nil
 | 
			
		||||
}
 | 
			
		||||
@@ -115,6 +115,7 @@ func (e *EnvironmentsServer) Update(ctx context.Context, in *proto.UpdateOptions
 | 
			
		||||
	if err != nil {
 | 
			
		||||
		return nil, err
 | 
			
		||||
	}
 | 
			
		||||
	
 | 
			
		||||
	return &proto.EnvironmentFull{
 | 
			
		||||
		Metadata: in.GetMetadata(),
 | 
			
		||||
		Id:       in.GetId(),
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user