learnsteam-quiz-api/internal/controllers/user.go
2023-10-19 22:47:12 +09:00

47 lines
909 B
Go

package controllers
import (
"fmt"
"net/http"
"studioj/boilerplate_go/internal/services"
"github.com/gin-gonic/gin"
)
type UserController interface {
Find(*gin.Context)
}
type userController struct {
service services.UserService
tokenService services.TokenService
}
func NewUserController(service services.UserService, tokenService services.TokenService) UserController {
return &userController{
service: service,
tokenService: tokenService,
}
}
func (controller *userController) Find(c *gin.Context) {
id := c.Param("id")
user_id := c.GetString("sub")
fmt.Println("id", id)
fmt.Println("user_id", user_id)
if user_id != id {
c.JSON(http.StatusBadRequest, gin.H{"error": "Wrong user"})
return
}
result, err := controller.service.FindByID(id)
if err != nil {
c.JSON(http.StatusBadRequest, gin.H{"error": err.Error()})
return
}
c.JSON(http.StatusOK, result)
}