From 0989b58e54664e3d6893bc12dd76839dc71969e9 Mon Sep 17 00:00:00 2001 From: Ryo Arima Date: Wed, 18 Sep 2024 02:41:19 +0900 Subject: [PATCH] =?UTF-8?q?=E2=9B=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- cmd/agent/main.go | 1 + etc/main.yaml.template | 1 + pkg/agent/base.go | 1 + pkg/agent/controller/.gitkeep | 0 pkg/agent/repository/.gitkeep | 0 pkg/agent/repository/linux/.gitkeep | 0 pkg/agent/repository/linux/rocky/.gitkeep | 0 pkg/agent/repository/linux/ubuntu/.gitkeep | 0 pkg/agent/usecase/.gitkeep | 0 pkg/client/controller/agent.go | 1 + pkg/client/repository/agent.go | 1 + pkg/client/usecase/agent.go | 1 + pkg/config/yaml.go | 6 ++ pkg/entity/model/agent.go | 1 + pkg/entity/request/agent.go | 1 + pkg/entity/response/agent.go | 1 + pkg/server/controller/agent_internal.go | 73 ++++++++++++++++++++++ pkg/server/controller/agent_private.go | 1 + pkg/server/controller/group_internal.go | 72 --------------------- pkg/server/repository/agent.go | 1 + 20 files changed, 90 insertions(+), 72 deletions(-) create mode 100644 cmd/agent/main.go create mode 100644 pkg/agent/base.go create mode 100644 pkg/agent/controller/.gitkeep create mode 100644 pkg/agent/repository/.gitkeep create mode 100644 pkg/agent/repository/linux/.gitkeep create mode 100644 pkg/agent/repository/linux/rocky/.gitkeep create mode 100644 pkg/agent/repository/linux/ubuntu/.gitkeep create mode 100644 pkg/agent/usecase/.gitkeep create mode 100644 pkg/client/controller/agent.go create mode 100644 pkg/client/repository/agent.go create mode 100644 pkg/client/usecase/agent.go create mode 100644 pkg/entity/model/agent.go create mode 100644 pkg/entity/request/agent.go create mode 100644 pkg/entity/response/agent.go create mode 100644 pkg/server/controller/agent_internal.go create mode 100644 pkg/server/controller/agent_private.go create mode 100644 pkg/server/repository/agent.go diff --git a/cmd/agent/main.go b/cmd/agent/main.go new file mode 100644 index 0000000..06ab7d0 --- /dev/null +++ b/cmd/agent/main.go @@ -0,0 +1 @@ +package main diff --git a/etc/main.yaml.template b/etc/main.yaml.template index c18830f..efe6e49 100644 --- a/etc/main.yaml.template +++ b/etc/main.yaml.template @@ -24,6 +24,7 @@ Application: UserEmail: "user1@mail.com" UserPassword: "secret" HomeDir: "etc/.mark1" + TemplatesDir: "pkg/client/repository/templates/" MySQL: host: 127.0.0.1 diff --git a/pkg/agent/base.go b/pkg/agent/base.go new file mode 100644 index 0000000..4883155 --- /dev/null +++ b/pkg/agent/base.go @@ -0,0 +1 @@ +package agent diff --git a/pkg/agent/controller/.gitkeep b/pkg/agent/controller/.gitkeep new file mode 100644 index 0000000..e69de29 diff --git a/pkg/agent/repository/.gitkeep b/pkg/agent/repository/.gitkeep new file mode 100644 index 0000000..e69de29 diff --git a/pkg/agent/repository/linux/.gitkeep b/pkg/agent/repository/linux/.gitkeep new file mode 100644 index 0000000..e69de29 diff --git a/pkg/agent/repository/linux/rocky/.gitkeep b/pkg/agent/repository/linux/rocky/.gitkeep new file mode 100644 index 0000000..e69de29 diff --git a/pkg/agent/repository/linux/ubuntu/.gitkeep b/pkg/agent/repository/linux/ubuntu/.gitkeep new file mode 100644 index 0000000..e69de29 diff --git a/pkg/agent/usecase/.gitkeep b/pkg/agent/usecase/.gitkeep new file mode 100644 index 0000000..e69de29 diff --git a/pkg/client/controller/agent.go b/pkg/client/controller/agent.go new file mode 100644 index 0000000..b0b429f --- /dev/null +++ b/pkg/client/controller/agent.go @@ -0,0 +1 @@ +package controller diff --git a/pkg/client/repository/agent.go b/pkg/client/repository/agent.go new file mode 100644 index 0000000..50a4378 --- /dev/null +++ b/pkg/client/repository/agent.go @@ -0,0 +1 @@ +package repository diff --git a/pkg/client/usecase/agent.go b/pkg/client/usecase/agent.go new file mode 100644 index 0000000..aed2454 --- /dev/null +++ b/pkg/client/usecase/agent.go @@ -0,0 +1 @@ +package usecase diff --git a/pkg/config/yaml.go b/pkg/config/yaml.go index b139ddd..2cca0f9 100644 --- a/pkg/config/yaml.go +++ b/pkg/config/yaml.go @@ -46,6 +46,12 @@ type Client struct { TemplatesDir string `yaml:"TemplatesDir"` } +type Agent struct { + ServerEndpoint string `yaml:"ServerEndpoint"` + UserEmail string `yaml:"UserEmail"` + UserPassword string `yaml:"UserPassword"` +} + type Application struct { Server Server `yaml:"Server"` Client Client `yaml:"Client"` diff --git a/pkg/entity/model/agent.go b/pkg/entity/model/agent.go new file mode 100644 index 0000000..8b53790 --- /dev/null +++ b/pkg/entity/model/agent.go @@ -0,0 +1 @@ +package model diff --git a/pkg/entity/request/agent.go b/pkg/entity/request/agent.go new file mode 100644 index 0000000..725b8fc --- /dev/null +++ b/pkg/entity/request/agent.go @@ -0,0 +1 @@ +package request diff --git a/pkg/entity/response/agent.go b/pkg/entity/response/agent.go new file mode 100644 index 0000000..a467149 --- /dev/null +++ b/pkg/entity/response/agent.go @@ -0,0 +1 @@ +package response diff --git a/pkg/server/controller/agent_internal.go b/pkg/server/controller/agent_internal.go new file mode 100644 index 0000000..0016c1c --- /dev/null +++ b/pkg/server/controller/agent_internal.go @@ -0,0 +1,73 @@ +package controller + +import ( + "net/http" + + "github.com/gin-gonic/gin" + "github.com/ryo-arima/mark1/pkg/entity/model" + "github.com/ryo-arima/mark1/pkg/entity/request" + "github.com/ryo-arima/mark1/pkg/entity/response" + "github.com/ryo-arima/mark1/pkg/server/repository" +) + +type GroupControllerForInternal interface { + GetGroups(c *gin.Context) + CreateGroup(c *gin.Context) + UpdateGroup(c *gin.Context) + DeleteGroup(c *gin.Context) +} + +type groupControllerForInternal struct { + GroupRepository repository.GroupRepository +} + +func (groupController groupControllerForInternal) GetGroups(c *gin.Context) { + var groupRequest request.GroupRequest + if err := c.Bind(&groupRequest); err != nil { + c.JSON(http.StatusBadRequest, &response.GroupResponse{Code: "SERVER_CONTROLLER_GET__FOR__001", Message: err.Error(), Groups: []response.Group{}}) + return + } + res := groupController.GroupRepository.GetGroups() + c.JSON(http.StatusOK, res) + return +} + +func (groupController groupControllerForInternal) CreateGroup(c *gin.Context) { + var groupRequest request.GroupRequest + if err := c.Bind(&groupRequest); err != nil { + c.JSON(http.StatusBadRequest, &response.GroupResponse{Code: "SERVER_CONTROLLER_CREATE__FOR__001", Message: err.Error(), Groups: []response.Group{}}) + return + } + var groupModel model.Groups + res := groupController.GroupRepository.CreateGroup(groupModel) + c.JSON(http.StatusOK, res) + return +} + +func (groupController groupControllerForInternal) UpdateGroup(c *gin.Context) { + var groupRequest request.GroupRequest + if err := c.Bind(&groupRequest); err != nil { + c.JSON(http.StatusBadRequest, &response.GroupResponse{Code: "SERVER_CONTROLLER_UPDATE__FOR__001", Message: err.Error(), Groups: []response.Group{}}) + return + } + var groupModel model.Groups + res := groupController.GroupRepository.UpdateGroup(groupModel) + c.JSON(http.StatusOK, res) + return +} + +func (groupController groupControllerForInternal) DeleteGroup(c *gin.Context) { + var groupRequest request.GroupRequest + if err := c.Bind(&groupRequest); err != nil { + c.JSON(http.StatusBadRequest, &response.GroupResponse{Code: "SERVER_CONTROLLER_DELETE__FOR__001", Message: err.Error(), Groups: []response.Group{}}) + return + } + var uuid string + res := groupController.GroupRepository.DeleteGroup(uuid) + c.JSON(http.StatusOK, res) + return +} + +func NewGroupControllerForInternal(groupRepository repository.GroupRepository) GroupControllerForInternal { + return &groupControllerForInternal{GroupRepository: groupRepository} +} diff --git a/pkg/server/controller/agent_private.go b/pkg/server/controller/agent_private.go new file mode 100644 index 0000000..b0b429f --- /dev/null +++ b/pkg/server/controller/agent_private.go @@ -0,0 +1 @@ +package controller diff --git a/pkg/server/controller/group_internal.go b/pkg/server/controller/group_internal.go index 0016c1c..b0b429f 100644 --- a/pkg/server/controller/group_internal.go +++ b/pkg/server/controller/group_internal.go @@ -1,73 +1 @@ package controller - -import ( - "net/http" - - "github.com/gin-gonic/gin" - "github.com/ryo-arima/mark1/pkg/entity/model" - "github.com/ryo-arima/mark1/pkg/entity/request" - "github.com/ryo-arima/mark1/pkg/entity/response" - "github.com/ryo-arima/mark1/pkg/server/repository" -) - -type GroupControllerForInternal interface { - GetGroups(c *gin.Context) - CreateGroup(c *gin.Context) - UpdateGroup(c *gin.Context) - DeleteGroup(c *gin.Context) -} - -type groupControllerForInternal struct { - GroupRepository repository.GroupRepository -} - -func (groupController groupControllerForInternal) GetGroups(c *gin.Context) { - var groupRequest request.GroupRequest - if err := c.Bind(&groupRequest); err != nil { - c.JSON(http.StatusBadRequest, &response.GroupResponse{Code: "SERVER_CONTROLLER_GET__FOR__001", Message: err.Error(), Groups: []response.Group{}}) - return - } - res := groupController.GroupRepository.GetGroups() - c.JSON(http.StatusOK, res) - return -} - -func (groupController groupControllerForInternal) CreateGroup(c *gin.Context) { - var groupRequest request.GroupRequest - if err := c.Bind(&groupRequest); err != nil { - c.JSON(http.StatusBadRequest, &response.GroupResponse{Code: "SERVER_CONTROLLER_CREATE__FOR__001", Message: err.Error(), Groups: []response.Group{}}) - return - } - var groupModel model.Groups - res := groupController.GroupRepository.CreateGroup(groupModel) - c.JSON(http.StatusOK, res) - return -} - -func (groupController groupControllerForInternal) UpdateGroup(c *gin.Context) { - var groupRequest request.GroupRequest - if err := c.Bind(&groupRequest); err != nil { - c.JSON(http.StatusBadRequest, &response.GroupResponse{Code: "SERVER_CONTROLLER_UPDATE__FOR__001", Message: err.Error(), Groups: []response.Group{}}) - return - } - var groupModel model.Groups - res := groupController.GroupRepository.UpdateGroup(groupModel) - c.JSON(http.StatusOK, res) - return -} - -func (groupController groupControllerForInternal) DeleteGroup(c *gin.Context) { - var groupRequest request.GroupRequest - if err := c.Bind(&groupRequest); err != nil { - c.JSON(http.StatusBadRequest, &response.GroupResponse{Code: "SERVER_CONTROLLER_DELETE__FOR__001", Message: err.Error(), Groups: []response.Group{}}) - return - } - var uuid string - res := groupController.GroupRepository.DeleteGroup(uuid) - c.JSON(http.StatusOK, res) - return -} - -func NewGroupControllerForInternal(groupRepository repository.GroupRepository) GroupControllerForInternal { - return &groupControllerForInternal{GroupRepository: groupRepository} -} diff --git a/pkg/server/repository/agent.go b/pkg/server/repository/agent.go new file mode 100644 index 0000000..50a4378 --- /dev/null +++ b/pkg/server/repository/agent.go @@ -0,0 +1 @@ +package repository