messages translated to pt

pull/2/head
Nilo Roberto C Paim 2021-11-03 07:24:54 -03:00
parent 8a55954d92
commit 6a1f3e00ba
2 changed files with 250 additions and 247 deletions

View File

@ -1,148 +1,151 @@
package controllers package controllers
import ( import (
"api/database" "api/database"
"api/models" "api/models"
"api/utils" "api/utils"
"os" "os"
"strconv" "strconv"
"time" "time"
"github.com/dgrijalva/jwt-go" "github.com/dgrijalva/jwt-go"
"github.com/gofiber/fiber/v2" "github.com/gofiber/fiber/v2"
"golang.org/x/crypto/bcrypt" "golang.org/x/crypto/bcrypt"
) )
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.1", "version": "1.0.2",
}) })
} }
func Login(c *fiber.Ctx) error { 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 err
} }
var user models.User var user models.User
database.DB.Where("email = ?", data["email"]).First(&user) database.DB.Where("email = ?", data["email"]).First(&user)
if user.Id == 0 { if user.Id == 0 {
c.Status(fiber.StatusNotFound) c.Status(fiber.StatusNotFound)
return c.JSON(fiber.Map{ return c.JSON(fiber.Map{
"message": "User not found", "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 {
c.Status(fiber.StatusBadRequest) c.Status(fiber.StatusBadRequest)
return c.JSON(fiber.Map{ return c.JSON(fiber.Map{
"message": "Incorrect password", "message": "Senha incorreta",
}) })
} }
type customClaims struct { type customClaims struct {
Userid string `json:"user"` Userid string `json:"user"`
jwt.StandardClaims jwt.StandardClaims
} }
tok := customClaims{ tok := customClaims{
Userid: strconv.Itoa(int(user.Id)), Userid: strconv.Itoa(int(user.Id)),
StandardClaims: jwt.StandardClaims{ StandardClaims: jwt.StandardClaims{
Issuer: strconv.Itoa(int(user.Id)), Issuer: strconv.Itoa(int(user.Id)),
ExpiresAt: time.Now().Add(time.Hour * 1).Unix(), ExpiresAt: time.Now().Add(time.Hour * 1).Unix(),
}, },
} }
claims := jwt.NewWithClaims(jwt.SigningMethodHS256, tok) claims := jwt.NewWithClaims(jwt.SigningMethodHS256, tok)
token, err := claims.SignedString([]byte(os.Getenv("API_SECRET"))) token, err := claims.SignedString([]byte(os.Getenv("API_SECRET")))
if err != nil { if err != nil {
c.Status(fiber.StatusInternalServerError) c.Status(fiber.StatusInternalServerError)
return c.JSON(fiber.Map{ return c.JSON(fiber.Map{
"message": "Could't login", "message": "(A1) - Erro na geração do token",
}) })
} }
return c.JSON(fiber.Map{ return c.JSON(fiber.Map{
"token": token}) "token": token})
} }
func AddUser(c *fiber.Ctx) error { 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 err
} }
passwd, _ := utils.HashPassword(data["password"]) passwd, _ := utils.HashPassword(data["password"])
user := models.User{ user := models.User{
Name: data["name"], Name: data["name"],
Email: data["email"], Email: data["email"],
Password: passwd, Password: passwd,
UserType: data["usertype"], UserType: data["usertype"],
Blocked: "N", Blocked: "N",
Cancelled: "N", Cancelled: "N",
CreatedBy: data["creator"], CreatedBy: data["creator"],
} }
database.DB.Create(&user) database.DB.Create(&user)
if user.Id == 0 { if user.Id == 0 {
return c.SendStatus(fiber.StatusFound) c.SendStatus(fiber.StatusFound)
} return c.JSON(fiber.Map{
"message": "Usuário já cadastrado",
c.SendStatus(fiber.StatusCreated) })
return c.JSON(user) }
}
c.SendStatus(fiber.StatusCreated)
func GetOwnUser(c *fiber.Ctx) error { return c.JSON(user)
}
var user models.User
func GetOwnUser(c *fiber.Ctx) error {
userCode, err := utils.ProcessToken(c)
if err != nil { var user models.User
c.Status(fiber.StatusBadRequest)
return c.JSON(fiber.Map{ userCode, err := utils.ProcessToken(c)
"message": "Invalid authorization", if err != nil {
}) c.Status(fiber.StatusBadRequest)
} return c.JSON(fiber.Map{
"message": "Autorização inválida",
database.DB.Where("id = ?", userCode).First(&user) })
}
if user.Id == 0 {
c.Status(fiber.StatusInternalServerError) database.DB.Where("id = ?", userCode).First(&user)
return c.JSON(fiber.Map{
"message": "Invalid token when should be ok", if user.Id == 0 {
}) c.Status(fiber.StatusInternalServerError)
} return c.JSON(fiber.Map{
"message": "(A2) - Autorização inválida",
return c.JSON(user) })
} }
func GetAllUsers(c *fiber.Ctx) error { return c.JSON(user)
var users []models.User }
_, err := utils.ProcessToken(c) func GetAllUsers(c *fiber.Ctx) error {
if err != nil { var users []models.User
c.Status(fiber.StatusUnauthorized)
return c.JSON(fiber.Map{ _, err := utils.ProcessToken(c)
"message": "Unauthenticated", if err != nil {
}) c.Status(fiber.StatusUnauthorized)
} return c.JSON(fiber.Map{
"message": "Sem autorização",
database.DB.Find(&users) })
}
if len(users) == 0 {
c.Status(fiber.StatusUnauthorized) database.DB.Find(&users)
return c.JSON(fiber.Map{
"message": "Unauthenticated", if len(users) == 0 {
}) c.Status(fiber.StatusUnauthorized)
} return c.JSON(fiber.Map{
"message": "Sem autorização",
return c.JSON(users) })
} }
return c.JSON(users)
}

View File

@ -1,99 +1,99 @@
package controllers package controllers
import ( import (
"api/database" "api/database"
"api/dbaccess" "api/dbaccess"
"api/models" "api/models"
"api/utils" "api/utils"
"strconv" "strconv"
"time" "time"
"github.com/gofiber/fiber/v2" "github.com/gofiber/fiber/v2"
) )
func AddEvent(c *fiber.Ctx) error { func AddEvent(c *fiber.Ctx) error {
var data map[string]string var data map[string]string
var audience int var audience int
var startdt time.Time var startdt time.Time
_, err := utils.ProcessToken(c) _, err := utils.ProcessToken(c)
if err != nil { if err != nil {
c.Status(fiber.StatusBadRequest) c.Status(fiber.StatusBadRequest)
return c.JSON(fiber.Map{ return c.JSON(fiber.Map{
"message": "Invalid authorization", "message": "Sem autorização",
}) })
} }
if err := c.BodyParser(&data); err != nil { if err := c.BodyParser(&data); err != nil {
return err return err
} }
u, err := strconv.Atoi(data["user"]) u, err := strconv.Atoi(data["user"])
if err != nil { if err != nil {
c.Status(fiber.StatusBadRequest) c.Status(fiber.StatusBadRequest)
return c.JSON(fiber.Map{ return c.JSON(fiber.Map{
"message": "Invalid value for Event Owner", "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 {
c.Status(fiber.StatusBadRequest) c.Status(fiber.StatusBadRequest)
return c.JSON(fiber.Map{ return c.JSON(fiber.Map{
"message": "Event Owner not found", "message": "Requisição inválida (usuário inexistente)",
}) })
} }
if data["audience"] == "" { if data["audience"] == "" {
c.Status(fiber.StatusBadRequest) c.Status(fiber.StatusBadRequest)
return c.JSON(fiber.Map{ return c.JSON(fiber.Map{
"message": "Audience not defined", "message": "Audience not defined",
}) })
} else { } else {
audience, err = strconv.Atoi(data["audience"]) audience, err = strconv.Atoi(data["audience"])
if err != nil { if err != nil {
c.Status(fiber.StatusBadRequest) c.Status(fiber.StatusBadRequest)
return c.JSON(fiber.Map{ return c.JSON(fiber.Map{
"message": "Invalid value for audience", "message": "Invalid value for audience",
}) })
} }
} }
dateformat := "02/01/2006 15:04" dateformat := "02/01/2006 15:04"
if data["startDt"] == "" { if data["startDt"] == "" {
c.Status(fiber.StatusBadRequest) c.Status(fiber.StatusBadRequest)
return c.JSON(fiber.Map{ return c.JSON(fiber.Map{
"message": "Start date not defined", "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 {
c.Status(fiber.StatusBadRequest) c.Status(fiber.StatusBadRequest)
return c.JSON(fiber.Map{ return c.JSON(fiber.Map{
"message": "Invalid value for start date", "message": "Requisição inválida (data inválida)",
}) })
} }
} }
event := models.Event{ event := models.Event{
Name: data["name"], Name: data["name"],
UserId: user.Id, UserId: user.Id,
User: user, User: user,
ExpectedAudience: audience, ExpectedAudience: audience,
ExpectedDate: startdt, ExpectedDate: startdt,
EventType: data["eventtype"], EventType: data["eventtype"],
} }
database.DB.Create(&event) database.DB.Create(&event)
if event.Id == 0 { if event.Id == 0 {
c.Status(fiber.StatusBadRequest) c.Status(fiber.StatusBadRequest)
return c.JSON(fiber.Map{ return c.JSON(fiber.Map{
"message": "Cannot create event", "message": "(E1) - Não foi possível criar o evento",
}) })
} }
c.SendStatus(fiber.StatusCreated) c.SendStatus(fiber.StatusCreated)
return c.JSON(event) return c.JSON(event)
} }