/
api_app_config_service.go
61 lines (53 loc) · 2.05 KB
/
api_app_config_service.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
package grpc
import (
"context"
"connectrpc.com/connect"
"google.golang.org/protobuf/types/known/emptypb"
"github.com/traPtitech/neoshowcase/pkg/infrastructure/grpc/pb"
"github.com/traPtitech/neoshowcase/pkg/infrastructure/grpc/pbconvert"
"github.com/traPtitech/neoshowcase/pkg/util/ds"
)
func (s *APIService) GetEnvVars(ctx context.Context, req *connect.Request[pb.ApplicationIdRequest]) (*connect.Response[pb.ApplicationEnvVars], error) {
environments, err := s.svc.GetEnvironmentVariables(ctx, req.Msg.Id)
if err != nil {
return nil, handleUseCaseError(err)
}
res := connect.NewResponse(&pb.ApplicationEnvVars{
Variables: ds.Map(environments, pbconvert.ToPBEnvironment),
})
return res, nil
}
func (s *APIService) SetEnvVar(ctx context.Context, req *connect.Request[pb.SetApplicationEnvVarRequest]) (*connect.Response[emptypb.Empty], error) {
msg := req.Msg
err := s.svc.SetEnvironmentVariable(ctx, msg.ApplicationId, msg.Key, msg.Value)
if err != nil {
return nil, handleUseCaseError(err)
}
res := connect.NewResponse(&emptypb.Empty{})
return res, nil
}
func (s *APIService) DeleteEnvVar(ctx context.Context, req *connect.Request[pb.DeleteApplicationEnvVarRequest]) (*connect.Response[emptypb.Empty], error) {
msg := req.Msg
err := s.svc.DeleteEnvironmentVariable(ctx, msg.ApplicationId, msg.Key)
if err != nil {
return nil, handleUseCaseError(err)
}
res := connect.NewResponse(&emptypb.Empty{})
return res, nil
}
func (s *APIService) StartApplication(ctx context.Context, req *connect.Request[pb.ApplicationIdRequest]) (*connect.Response[emptypb.Empty], error) {
err := s.svc.StartApplication(ctx, req.Msg.Id)
if err != nil {
return nil, handleUseCaseError(err)
}
res := connect.NewResponse(&emptypb.Empty{})
return res, nil
}
func (s *APIService) StopApplication(ctx context.Context, req *connect.Request[pb.ApplicationIdRequest]) (*connect.Response[emptypb.Empty], error) {
err := s.svc.StopApplication(ctx, req.Msg.Id)
if err != nil {
return nil, handleUseCaseError(err)
}
res := connect.NewResponse(&emptypb.Empty{})
return res, nil
}