changed status code; added bat to compile for linux

pull/2/head
Nilo Roberto C Paim 2022-08-21 07:54:29 -03:00
parent 5da4004aa2
commit 3dd49332d5
5 changed files with 23 additions and 74 deletions

3
compile_linux.bat Normal file
View File

@ -0,0 +1,3 @@
set GOARCH=amd64
set GOOS=linux
go build

View File

@ -19,7 +19,7 @@ func Login(c *fiber.Ctx) error {
var data map[string]string var data map[string]string
if err := c.BodyParser(&data); err != nil { if err := c.BodyParser(&data); err != nil {
return err return fiber.ErrBadRequest
} }
var user models.User var user models.User
@ -27,17 +27,11 @@ func Login(c *fiber.Ctx) error {
database.DB.Where("email = ?", data["email"]).First(&user) database.DB.Where("email = ?", data["email"]).First(&user)
if user.Id == 0 { if user.Id == 0 {
return c.JSON(fiber.Map{ return fiber.ErrNotFound
"status": "error",
"message": "Usuário não cadastrado",
})
} }
if err := bcrypt.CompareHashAndPassword(user.Password, []byte(data["password"])); err != nil { if err := bcrypt.CompareHashAndPassword(user.Password, []byte(data["password"])); err != nil {
return c.JSON(fiber.Map{ return fiber.ErrUnauthorized
"status": "error",
"message": "Senha incorreta",
})
} }
type customClaims struct { type customClaims struct {
@ -57,14 +51,10 @@ func Login(c *fiber.Ctx) error {
token, err := claims.SignedString([]byte(os.Getenv("API_SECRET"))) token, err := claims.SignedString([]byte(os.Getenv("API_SECRET")))
if err != nil { if err != nil {
return c.JSON(fiber.Map{ return fiber.ErrInternalServerError
"status": "error",
"message": "(A1) - Erro na geração do token",
})
} }
return c.JSON(fiber.Map{ return c.JSON(fiber.Map{
"status": "success",
"token": token}) "token": token})
} }
@ -74,25 +64,19 @@ func AddUser(c *fiber.Ctx) error {
var data map[string]string var data map[string]string
if err := c.BodyParser(&data); err != nil { if err := c.BodyParser(&data); err != nil {
return err return fiber.ErrBadRequest
} }
// If I don't receive an auth field in the request, I need to verify if the sender is logged // If I don't receive an auth field in the request, I need to verify if the sender is logged
if data["auth"] == "" { if data["auth"] == "" {
_, err := utils.ProcessToken(c) _, err := utils.ProcessToken(c)
if err != nil { if err != nil {
return c.JSON(fiber.Map{ return fiber.ErrUnauthorized
"status": "error",
"message": "Autorização inválida",
})
} }
} }
if data["name"] == "" || data["email"] == "" || data["password"] == "" || data["channel"] == "" { if data["name"] == "" || data["email"] == "" || data["password"] == "" || data["channel"] == "" {
return c.JSON(fiber.Map{ return fiber.ErrBadRequest
"status": "error",
"message": "Nome, E-Mail, Senha e Nome do Canal devem ser informados",
})
} }
passwd, _ := utils.HashPassword(data["password"]) passwd, _ := utils.HashPassword(data["password"])
@ -112,14 +96,10 @@ func AddUser(c *fiber.Ctx) error {
database.DB.Create(&user) database.DB.Create(&user)
if user.Id == 0 { if user.Id == 0 {
return c.JSON(fiber.Map{ return fiber.ErrNotAcceptable
"status": "error",
"message": "Usuário já cadastrado",
})
} }
return c.JSON(fiber.Map{ return c.JSON(fiber.Map{
"status": "success",
"user": user, "user": user,
}) })
} }
@ -131,23 +111,16 @@ func GetOwnUser(c *fiber.Ctx) error {
userCode, err := utils.ProcessToken(c) userCode, err := utils.ProcessToken(c)
if err != nil { if err != nil {
return c.JSON(fiber.Map{ return fiber.ErrUnauthorized
"status": "error",
"message": "Autorização inválida",
})
} }
database.DB.Where("id = ?", userCode).First(&user) database.DB.Where("id = ?", userCode).First(&user)
if user.Id == 0 { if user.Id == 0 {
return c.JSON(fiber.Map{ return fiber.ErrUnauthorized
"status": "error",
"message": "(A2) - Autorização inválida",
})
} }
return c.JSON(fiber.Map{ return c.JSON(fiber.Map{
"status": "success",
"user": user, "user": user,
}) })
} }
@ -159,23 +132,16 @@ func GetAllUsers(c *fiber.Ctx) error {
_, err := utils.ProcessToken(c) _, err := utils.ProcessToken(c)
if err != nil { if err != nil {
return c.JSON(fiber.Map{ return fiber.ErrUnauthorized
"status": "error",
"message": "Autorização inválida",
})
} }
database.DB.Find(&users) database.DB.Find(&users)
if len(users) == 0 { if len(users) == 0 {
return c.JSON(fiber.Map{ return fiber.ErrNotFound
"status": "error",
"message": "Nenhum usuário encontrado",
})
} }
return c.JSON(fiber.Map{ return c.JSON(fiber.Map{
"status": "success",
"users": users, "users": users,
}) })
} }

View File

@ -17,46 +17,31 @@ func AddEvent(c *fiber.Ctx) error {
_, err := utils.ProcessToken(c) _, err := utils.ProcessToken(c)
if err != nil { if err != nil {
return c.JSON(fiber.Map{ return fiber.ErrUnauthorized
"status": "error",
"message": "Sem autorização",
})
} }
if err := c.BodyParser(&data); err != nil { if err := c.BodyParser(&data); err != nil {
return err return fiber.ErrBadRequest
} }
u, err := strconv.Atoi(data["user"]) u, err := strconv.Atoi(data["user"])
if err != nil { if err != nil {
return c.JSON(fiber.Map{ return fiber.ErrBadRequest
"status": "error",
"message": "Requisição inválida (usuário não informado)",
})
} }
user := dbaccess.GetUserById(u) user := dbaccess.GetUserById(u)
if user.Id == 0 { if user.Id == 0 {
return c.JSON(fiber.Map{ return fiber.ErrBadRequest
"status": "error",
"message": "Requisição inválida (usuário inexistente)",
})
} }
dateformat := "02/01/2006 15:04" dateformat := "02/01/2006 15:04"
if data["startDt"] == "" { if data["startDt"] == "" {
return c.JSON(fiber.Map{ return fiber.ErrBadRequest
"status": "error",
"message": "Requisição inválida (sem data)",
})
} else { } else {
startdt, err = time.Parse(dateformat, data["startDt"]) startdt, err = time.Parse(dateformat, data["startDt"])
if err != nil { if err != nil {
return c.JSON(fiber.Map{ return fiber.ErrBadRequest
"status": "error",
"message": "Requisição inválida (data inválida)",
})
} }
} }
@ -72,14 +57,10 @@ func AddEvent(c *fiber.Ctx) error {
database.DB.Create(&event) database.DB.Create(&event)
if event.Id == 0 { if event.Id == 0 {
return c.JSON(fiber.Map{ return fiber.ErrNotAcceptable
"status": "error",
"message": "(E1) - Não foi possível criar o evento",
})
} }
return c.JSON(fiber.Map{ return c.JSON(fiber.Map{
"status": "success",
"event": event, "event": event,
}) })
} }

View File

@ -4,6 +4,6 @@ import "github.com/gofiber/fiber/v2"
func Version(c *fiber.Ctx) error { func Version(c *fiber.Ctx) error {
return c.JSON(fiber.Map{ return c.JSON(fiber.Map{
"version": "1.0.11", "version": "1.0.12",
}) })
} }

View File

@ -52,7 +52,6 @@ func ProcessToken(c *fiber.Ctx) (interface{}, error) {
claims, ok := tk.Claims.(jwt.MapClaims) claims, ok := tk.Claims.(jwt.MapClaims)
if ok && tk.Valid { if ok && tk.Valid {
fmt.Printf("claims user: %v\n", claims["user"])
return claims["user"], nil return claims["user"], nil
} }