From 5fc9dd94fe90d5879b1234c12f2bab5802c73ce0 Mon Sep 17 00:00:00 2001 From: sophia Date: Mon, 8 Nov 2021 11:24:03 -0600 Subject: [PATCH] Implement box crub endpoints --- internal/server/singleprocess/service_box.go | 52 ++++++++++++++++++++ internal/server/singleprocess/state/box.go | 2 +- 2 files changed, 53 insertions(+), 1 deletion(-) create mode 100644 internal/server/singleprocess/service_box.go diff --git a/internal/server/singleprocess/service_box.go b/internal/server/singleprocess/service_box.go new file mode 100644 index 000000000..2ecbb43c6 --- /dev/null +++ b/internal/server/singleprocess/service_box.go @@ -0,0 +1,52 @@ +package singleprocess + +import ( + "context" + + "github.com/golang/protobuf/ptypes/empty" + "github.com/hashicorp/vagrant/internal/server/proto/vagrant_server" +) + +func (s *service) ListBox( + ctx context.Context, + req *empty.Empty, +) (*vagrant_server.ListBoxesResponse, error) { + result, err := s.state.BoxList() + if err != nil { + return nil, err + } + + return &vagrant_server.ListBoxesResponse{Boxes: result}, nil +} + +func (s *service) DeleteBox( + ctx context.Context, + req *vagrant_server.DeleteBoxRequest, +) (empt *empty.Empty, err error) { + err = s.state.BoxDelete(req.Box) + return +} + +func (s *service) GetBox( + ctx context.Context, + req *vagrant_server.GetBoxRequest, +) (*vagrant_server.GetBoxResponse, error) { + result, err := s.state.BoxGet(req.Box) + if err != nil { + return nil, err + } + + return &vagrant_server.GetBoxResponse{Box: result}, nil +} + +func (s *service) UpsertBox( + ctx context.Context, + req *vagrant_server.UpsertBoxRequest, +) (*vagrant_server.UpsertBoxResponse, error) { + result := req.Box + if err := s.state.BoxPut(result); err != nil { + return nil, err + } + + return &vagrant_server.UpsertBoxResponse{Box: result}, nil +} diff --git a/internal/server/singleprocess/state/box.go b/internal/server/singleprocess/state/box.go index 9f0cee9d5..6d8f5a58f 100644 --- a/internal/server/singleprocess/state/box.go +++ b/internal/server/singleprocess/state/box.go @@ -51,7 +51,7 @@ func (s *State) BoxGet(ref *vagrant_plugin_sdk.Ref_Box) (*vagrant_server.Box, er return result, err } -func (s *State) BoxtPut(box *vagrant_server.Box) error { +func (s *State) BoxPut(box *vagrant_server.Box) error { memTxn := s.inmem.Txn(true) defer memTxn.Abort()