Files
houston-be/cmd/app/handler/team_handler.go
Shubham Kirve b974cb6bf3 TP-0000 | Initialize houston repo (#1)
* TP-0000 | intialize houston repo

* TP-0000 | intialize houston repo
2023-03-29 00:01:17 +05:30

43 lines
858 B
Go

package handler
import (
"houston/model/request"
"houston/pkg/postgres/query"
"net/http"
"github.com/gin-gonic/gin"
"go.uber.org/zap"
"gorm.io/gorm"
)
type teamHandler struct {
gin *gin.Engine
logger *zap.Logger
db *gorm.DB
}
func NewTeamHandler(gin *gin.Engine, logger *zap.Logger, db *gorm.DB) *teamHandler {
return &teamHandler{
gin: gin,
logger: logger,
db: db,
}
}
func (th *teamHandler) AddTeam(c *gin.Context) {
var addTeamRequest request.AddTeamRequest
if err := c.ShouldBindJSON(&addTeamRequest); err != nil {
c.JSON(http.StatusInternalServerError, err)
return
}
th.logger.Info("add team request received", zap.String("team_name", addTeamRequest.Name))
err := query.AddTeam(th.db, addTeamRequest)
if err != nil {
c.JSON(http.StatusInternalServerError, err)
return
}
c.JSON(http.StatusOK, nil)
}