apifiber/services/userservices.go

39 lines
784 B
Go

package services
import (
"api/globals"
"api/models"
"time"
"github.com/golang-jwt/jwt/v4"
)
var jwtSecret = []byte("your_secret_key") // Replace with your actual secret
func GetUserByEmail(email string) models.SystemUser {
var user models.SystemUser
globals.DB.Where("email = ?", email).Find(&user)
return user
}
func GetCustomerByCNPJ(cnpj string) models.Customer {
var user models.Customer
globals.DB.Where("cnpj = ?", cnpj).Find(&user)
return user
}
func GenerateJWT(channel models.Channel) (string, error) {
claims := jwt.MapClaims{
"channel_id": channel.ID,
"channel_name": channel.Name,
"exp": time.Now().Add(time.Minute * 60).Unix(),
}
token := jwt.NewWithClaims(jwt.SigningMethodHS256, claims)
return token.SignedString(jwtSecret)
}