messages translated to pt
parent
8a55954d92
commit
6a1f3e00ba
|
|
@ -1,148 +1,151 @@
|
|||
package controllers
|
||||
|
||||
import (
|
||||
"api/database"
|
||||
"api/models"
|
||||
"api/utils"
|
||||
"os"
|
||||
"strconv"
|
||||
"time"
|
||||
|
||||
"github.com/dgrijalva/jwt-go"
|
||||
"github.com/gofiber/fiber/v2"
|
||||
"golang.org/x/crypto/bcrypt"
|
||||
)
|
||||
|
||||
func Version(c *fiber.Ctx) error {
|
||||
return c.JSON(fiber.Map{
|
||||
"version": "1.0.1",
|
||||
})
|
||||
}
|
||||
|
||||
func Login(c *fiber.Ctx) error {
|
||||
var data map[string]string
|
||||
|
||||
if err := c.BodyParser(&data); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
var user models.User
|
||||
|
||||
database.DB.Where("email = ?", data["email"]).First(&user)
|
||||
|
||||
if user.Id == 0 {
|
||||
c.Status(fiber.StatusNotFound)
|
||||
return c.JSON(fiber.Map{
|
||||
"message": "User not found",
|
||||
})
|
||||
}
|
||||
|
||||
if err := bcrypt.CompareHashAndPassword(user.Password, []byte(data["password"])); err != nil {
|
||||
c.Status(fiber.StatusBadRequest)
|
||||
return c.JSON(fiber.Map{
|
||||
"message": "Incorrect password",
|
||||
})
|
||||
}
|
||||
|
||||
type customClaims struct {
|
||||
Userid string `json:"user"`
|
||||
jwt.StandardClaims
|
||||
}
|
||||
|
||||
tok := customClaims{
|
||||
Userid: strconv.Itoa(int(user.Id)),
|
||||
StandardClaims: jwt.StandardClaims{
|
||||
Issuer: strconv.Itoa(int(user.Id)),
|
||||
ExpiresAt: time.Now().Add(time.Hour * 1).Unix(),
|
||||
},
|
||||
}
|
||||
|
||||
claims := jwt.NewWithClaims(jwt.SigningMethodHS256, tok)
|
||||
|
||||
token, err := claims.SignedString([]byte(os.Getenv("API_SECRET")))
|
||||
if err != nil {
|
||||
c.Status(fiber.StatusInternalServerError)
|
||||
return c.JSON(fiber.Map{
|
||||
"message": "Could't login",
|
||||
})
|
||||
}
|
||||
|
||||
return c.JSON(fiber.Map{
|
||||
"token": token})
|
||||
}
|
||||
|
||||
func AddUser(c *fiber.Ctx) error {
|
||||
var data map[string]string
|
||||
|
||||
if err := c.BodyParser(&data); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
passwd, _ := utils.HashPassword(data["password"])
|
||||
|
||||
user := models.User{
|
||||
Name: data["name"],
|
||||
Email: data["email"],
|
||||
Password: passwd,
|
||||
UserType: data["usertype"],
|
||||
Blocked: "N",
|
||||
Cancelled: "N",
|
||||
CreatedBy: data["creator"],
|
||||
}
|
||||
|
||||
database.DB.Create(&user)
|
||||
|
||||
if user.Id == 0 {
|
||||
return c.SendStatus(fiber.StatusFound)
|
||||
}
|
||||
|
||||
c.SendStatus(fiber.StatusCreated)
|
||||
return c.JSON(user)
|
||||
}
|
||||
|
||||
func GetOwnUser(c *fiber.Ctx) error {
|
||||
|
||||
var user models.User
|
||||
|
||||
userCode, err := utils.ProcessToken(c)
|
||||
if err != nil {
|
||||
c.Status(fiber.StatusBadRequest)
|
||||
return c.JSON(fiber.Map{
|
||||
"message": "Invalid authorization",
|
||||
})
|
||||
}
|
||||
|
||||
database.DB.Where("id = ?", userCode).First(&user)
|
||||
|
||||
if user.Id == 0 {
|
||||
c.Status(fiber.StatusInternalServerError)
|
||||
return c.JSON(fiber.Map{
|
||||
"message": "Invalid token when should be ok",
|
||||
})
|
||||
}
|
||||
|
||||
return c.JSON(user)
|
||||
}
|
||||
|
||||
func GetAllUsers(c *fiber.Ctx) error {
|
||||
var users []models.User
|
||||
|
||||
_, err := utils.ProcessToken(c)
|
||||
if err != nil {
|
||||
c.Status(fiber.StatusUnauthorized)
|
||||
return c.JSON(fiber.Map{
|
||||
"message": "Unauthenticated",
|
||||
})
|
||||
}
|
||||
|
||||
database.DB.Find(&users)
|
||||
|
||||
if len(users) == 0 {
|
||||
c.Status(fiber.StatusUnauthorized)
|
||||
return c.JSON(fiber.Map{
|
||||
"message": "Unauthenticated",
|
||||
})
|
||||
}
|
||||
|
||||
return c.JSON(users)
|
||||
}
|
||||
package controllers
|
||||
|
||||
import (
|
||||
"api/database"
|
||||
"api/models"
|
||||
"api/utils"
|
||||
"os"
|
||||
"strconv"
|
||||
"time"
|
||||
|
||||
"github.com/dgrijalva/jwt-go"
|
||||
"github.com/gofiber/fiber/v2"
|
||||
"golang.org/x/crypto/bcrypt"
|
||||
)
|
||||
|
||||
func Version(c *fiber.Ctx) error {
|
||||
return c.JSON(fiber.Map{
|
||||
"version": "1.0.2",
|
||||
})
|
||||
}
|
||||
|
||||
func Login(c *fiber.Ctx) error {
|
||||
var data map[string]string
|
||||
|
||||
if err := c.BodyParser(&data); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
var user models.User
|
||||
|
||||
database.DB.Where("email = ?", data["email"]).First(&user)
|
||||
|
||||
if user.Id == 0 {
|
||||
c.Status(fiber.StatusNotFound)
|
||||
return c.JSON(fiber.Map{
|
||||
"message": "Usuário não cadastrado",
|
||||
})
|
||||
}
|
||||
|
||||
if err := bcrypt.CompareHashAndPassword(user.Password, []byte(data["password"])); err != nil {
|
||||
c.Status(fiber.StatusBadRequest)
|
||||
return c.JSON(fiber.Map{
|
||||
"message": "Senha incorreta",
|
||||
})
|
||||
}
|
||||
|
||||
type customClaims struct {
|
||||
Userid string `json:"user"`
|
||||
jwt.StandardClaims
|
||||
}
|
||||
|
||||
tok := customClaims{
|
||||
Userid: strconv.Itoa(int(user.Id)),
|
||||
StandardClaims: jwt.StandardClaims{
|
||||
Issuer: strconv.Itoa(int(user.Id)),
|
||||
ExpiresAt: time.Now().Add(time.Hour * 1).Unix(),
|
||||
},
|
||||
}
|
||||
|
||||
claims := jwt.NewWithClaims(jwt.SigningMethodHS256, tok)
|
||||
|
||||
token, err := claims.SignedString([]byte(os.Getenv("API_SECRET")))
|
||||
if err != nil {
|
||||
c.Status(fiber.StatusInternalServerError)
|
||||
return c.JSON(fiber.Map{
|
||||
"message": "(A1) - Erro na geração do token",
|
||||
})
|
||||
}
|
||||
|
||||
return c.JSON(fiber.Map{
|
||||
"token": token})
|
||||
}
|
||||
|
||||
func AddUser(c *fiber.Ctx) error {
|
||||
var data map[string]string
|
||||
|
||||
if err := c.BodyParser(&data); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
passwd, _ := utils.HashPassword(data["password"])
|
||||
|
||||
user := models.User{
|
||||
Name: data["name"],
|
||||
Email: data["email"],
|
||||
Password: passwd,
|
||||
UserType: data["usertype"],
|
||||
Blocked: "N",
|
||||
Cancelled: "N",
|
||||
CreatedBy: data["creator"],
|
||||
}
|
||||
|
||||
database.DB.Create(&user)
|
||||
|
||||
if user.Id == 0 {
|
||||
c.SendStatus(fiber.StatusFound)
|
||||
return c.JSON(fiber.Map{
|
||||
"message": "Usuário já cadastrado",
|
||||
})
|
||||
}
|
||||
|
||||
c.SendStatus(fiber.StatusCreated)
|
||||
return c.JSON(user)
|
||||
}
|
||||
|
||||
func GetOwnUser(c *fiber.Ctx) error {
|
||||
|
||||
var user models.User
|
||||
|
||||
userCode, err := utils.ProcessToken(c)
|
||||
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)
|
||||
return c.JSON(fiber.Map{
|
||||
"message": "(A2) - Autorização inválida",
|
||||
})
|
||||
}
|
||||
|
||||
return c.JSON(user)
|
||||
}
|
||||
|
||||
func GetAllUsers(c *fiber.Ctx) error {
|
||||
var users []models.User
|
||||
|
||||
_, err := utils.ProcessToken(c)
|
||||
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)
|
||||
return c.JSON(fiber.Map{
|
||||
"message": "Sem autorização",
|
||||
})
|
||||
}
|
||||
|
||||
return c.JSON(users)
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,99 +1,99 @@
|
|||
package controllers
|
||||
|
||||
import (
|
||||
"api/database"
|
||||
"api/dbaccess"
|
||||
"api/models"
|
||||
"api/utils"
|
||||
"strconv"
|
||||
"time"
|
||||
|
||||
"github.com/gofiber/fiber/v2"
|
||||
)
|
||||
|
||||
func AddEvent(c *fiber.Ctx) error {
|
||||
var data map[string]string
|
||||
var audience int
|
||||
var startdt time.Time
|
||||
|
||||
_, err := utils.ProcessToken(c)
|
||||
if err != nil {
|
||||
c.Status(fiber.StatusBadRequest)
|
||||
return c.JSON(fiber.Map{
|
||||
"message": "Invalid authorization",
|
||||
})
|
||||
}
|
||||
|
||||
if err := c.BodyParser(&data); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
u, err := strconv.Atoi(data["user"])
|
||||
if err != nil {
|
||||
c.Status(fiber.StatusBadRequest)
|
||||
return c.JSON(fiber.Map{
|
||||
"message": "Invalid value for Event Owner",
|
||||
})
|
||||
}
|
||||
|
||||
user := dbaccess.GetUserById(u)
|
||||
|
||||
if user.Id == 0 {
|
||||
c.Status(fiber.StatusBadRequest)
|
||||
return c.JSON(fiber.Map{
|
||||
"message": "Event Owner not found",
|
||||
})
|
||||
}
|
||||
|
||||
if data["audience"] == "" {
|
||||
c.Status(fiber.StatusBadRequest)
|
||||
return c.JSON(fiber.Map{
|
||||
"message": "Audience not defined",
|
||||
})
|
||||
} else {
|
||||
audience, err = strconv.Atoi(data["audience"])
|
||||
if err != nil {
|
||||
c.Status(fiber.StatusBadRequest)
|
||||
return c.JSON(fiber.Map{
|
||||
"message": "Invalid value for audience",
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
dateformat := "02/01/2006 15:04"
|
||||
if data["startDt"] == "" {
|
||||
c.Status(fiber.StatusBadRequest)
|
||||
return c.JSON(fiber.Map{
|
||||
"message": "Start date not defined",
|
||||
})
|
||||
} else {
|
||||
startdt, err = time.Parse(dateformat, data["startDt"])
|
||||
if err != nil {
|
||||
c.Status(fiber.StatusBadRequest)
|
||||
return c.JSON(fiber.Map{
|
||||
"message": "Invalid value for start date",
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
event := models.Event{
|
||||
Name: data["name"],
|
||||
UserId: user.Id,
|
||||
User: user,
|
||||
ExpectedAudience: audience,
|
||||
ExpectedDate: startdt,
|
||||
EventType: data["eventtype"],
|
||||
}
|
||||
|
||||
database.DB.Create(&event)
|
||||
|
||||
if event.Id == 0 {
|
||||
c.Status(fiber.StatusBadRequest)
|
||||
return c.JSON(fiber.Map{
|
||||
"message": "Cannot create event",
|
||||
})
|
||||
}
|
||||
|
||||
c.SendStatus(fiber.StatusCreated)
|
||||
return c.JSON(event)
|
||||
}
|
||||
package controllers
|
||||
|
||||
import (
|
||||
"api/database"
|
||||
"api/dbaccess"
|
||||
"api/models"
|
||||
"api/utils"
|
||||
"strconv"
|
||||
"time"
|
||||
|
||||
"github.com/gofiber/fiber/v2"
|
||||
)
|
||||
|
||||
func AddEvent(c *fiber.Ctx) error {
|
||||
var data map[string]string
|
||||
var audience int
|
||||
var startdt time.Time
|
||||
|
||||
_, err := utils.ProcessToken(c)
|
||||
if err != nil {
|
||||
c.Status(fiber.StatusBadRequest)
|
||||
return c.JSON(fiber.Map{
|
||||
"message": "Sem autorização",
|
||||
})
|
||||
}
|
||||
|
||||
if err := c.BodyParser(&data); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
u, err := strconv.Atoi(data["user"])
|
||||
if err != nil {
|
||||
c.Status(fiber.StatusBadRequest)
|
||||
return c.JSON(fiber.Map{
|
||||
"message": "Requisição inválida (usuário não informado)",
|
||||
})
|
||||
}
|
||||
|
||||
user := dbaccess.GetUserById(u)
|
||||
|
||||
if user.Id == 0 {
|
||||
c.Status(fiber.StatusBadRequest)
|
||||
return c.JSON(fiber.Map{
|
||||
"message": "Requisição inválida (usuário inexistente)",
|
||||
})
|
||||
}
|
||||
|
||||
if data["audience"] == "" {
|
||||
c.Status(fiber.StatusBadRequest)
|
||||
return c.JSON(fiber.Map{
|
||||
"message": "Audience not defined",
|
||||
})
|
||||
} else {
|
||||
audience, err = strconv.Atoi(data["audience"])
|
||||
if err != nil {
|
||||
c.Status(fiber.StatusBadRequest)
|
||||
return c.JSON(fiber.Map{
|
||||
"message": "Invalid value for audience",
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
dateformat := "02/01/2006 15:04"
|
||||
if data["startDt"] == "" {
|
||||
c.Status(fiber.StatusBadRequest)
|
||||
return c.JSON(fiber.Map{
|
||||
"message": "Requisição inválida (sem data)",
|
||||
})
|
||||
} else {
|
||||
startdt, err = time.Parse(dateformat, data["startDt"])
|
||||
if err != nil {
|
||||
c.Status(fiber.StatusBadRequest)
|
||||
return c.JSON(fiber.Map{
|
||||
"message": "Requisição inválida (data inválida)",
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
event := models.Event{
|
||||
Name: data["name"],
|
||||
UserId: user.Id,
|
||||
User: user,
|
||||
ExpectedAudience: audience,
|
||||
ExpectedDate: startdt,
|
||||
EventType: data["eventtype"],
|
||||
}
|
||||
|
||||
database.DB.Create(&event)
|
||||
|
||||
if event.Id == 0 {
|
||||
c.Status(fiber.StatusBadRequest)
|
||||
return c.JSON(fiber.Map{
|
||||
"message": "(E1) - Não foi possível criar o evento",
|
||||
})
|
||||
}
|
||||
|
||||
c.SendStatus(fiber.StatusCreated)
|
||||
return c.JSON(event)
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue