go-base
Cinto de utilidades para não precisar replicar funções básicas em todas as aplicações
Várias funções básicas para facilitar o desenvolvimento de aplicações em Go
Funções
Utils
Conversores
func MapInterfaceToBytes(data map[string]interface{}) []byte
Converte um map de interface para um slice de bytes
func ByteToMapInterface(bytes []byte) map[string]interface{}
Converte um slice de bytes para um map de interface
func MapStringToMapInterface(data map[string]string) map[string]interface{}
Converte um map de string para um map de interface
Arquivos
func GetBaseDirectory(directory string) string
Retorna o diretório base da aplicação
func FileExists(path string) bool
Verifica se um arquivo ou diretório existe
Geral
func isTesting() bool
Verifica se a aplicação está em modo de teste
func Hash256(s string) string
Gera um hash SHA256
GetOnlyNumbers(str string) string
Retorna apenas os números de uma string
func CompleteWithZeros(str string, length int) string
Completa uma string com zeros a esquerda
JWT
Estrutura usada para gerenciar o token JWT
func (j *JwtServer) Valid(token string) bool
Verifica se o token é válido
func (j *JwtServer) Create(payload map[string]interface{}) (string, error)
Cria um token JWT
func (j *JwtServer) Parse(token string) (map[string]interface{}, error)
Decodifica um token JWT
func ExtractValue(key string, jwt string) (interface{}, error)
Extrai um valor do token JWT
Validadores
func ValidateCPF(cpf string) bool
Valida um CPF
func ValidateUUID(subject string) bool
Valida um UUID
func ValidateTimestamp(timestamp string) bool
Valida um timestamp
func ValidateDDD(ddd string) bool
Valida um DDD
func ValidatePhoneNumber(phoneNumber string) bool
Valida um número de telefone
func HasOnlyNumbers(str string) bool
Verifica se uma string possui apenas números
func ValidateCellphoneNumber(phoneNumber string) error
Valida um número de celular
func ValidateLandlineNumber(phoneNumber string) error
Valida um número de telefone fixo
func ValidateEmail(email string) bool
Valida um email
Configuração
O pacote \conf
é responsável por carregar as configurações da aplicação
Database
O pacote \database
é responsável por gerenciar a conexão com o banco de dados, além de disponibilizar funções para facilitar a manipulação de dados
Mensagens
O pacote \messaging
é responsável por gerenciar as mensagens a serem enviadas ao usuário ou cliente