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