Code Monkey home page Code Monkey logo

go-base's Introduction

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

func InterfaceToInt(in interface{}) int

Converte uma interface para um inteiro

func StringToInt(str string) int

Converte uma string para um inteiro

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

func (db *Database) NewDB(cfg *conf.DBConfiguration) error

Cria uma nova conexão com o banco de dados

func (db *Database) GetDatabase() *sql.DB

Retorna a conexão com o banco de dados

func (db *Database) IsConnected() bool

Verifica se a conexão com o banco de dados está ativa

func (db *Database) Close() error

Fecha a conexão com o banco de dados

func (db *Database) GetResult() (sql.Result, error)

Retorna o resultado da última query executada

func (db *Database) GetLastInsertId() uint64

Retorna o ID da última inserção

func (db *Database) GetStmt(sql string) (*sql.Stmt, error)

Retorna um statement para ser usado em queries

func (db *Database) Exec(sql string, data ...interface{}) error

Executa uma query

func (db *Database) GetOne(sql string, data ...interface{}) ([]byte, error)

Executa uma query e retorna apenas um resultado. Independente do tipo de dados, o resultado é retornado em um slice de bytes

func (db *Database) GetRecord(sqlString string, data ...interface{}) (map[string]interface{}, error)

Executa uma query e retorna apenas um resultado. O resultado é retornado em um map de interface

func (db *Database) GetRecords(sqlString string, data ...interface{}) ([]map[string]interface{}, error)

Executa uma query e retorna vários resultados. O resultado é retornado em um slice de map de interface

func (db *Database) Insert(tableName string, data map[string]interface{}) error

Insere um registro no banco de dados

func (db *Database) Update(tableName string, data map[string]interface{}) error

Atualiza um registro no banco de dados

func (db *Database) IsMySQL() bool

Verifica se o banco de dados é MySQL

func (db *Database) IsPostgreSQL() bool

Verifica se o banco de dados é PostgreSQL

func (db *Database) IsSQLite() bool

Verifica se o banco de dados é SQLite

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

func (p *Pool) AddConnection(name string, db *sql.DB) error

Adiciona uma nova conexão ao pool

func (p *Pool) GetConnection(name string) (*sql.DB, error)

Retorna uma conexão do pool

func (p *Pool) CloseConnection(name string) error

Fecha uma conexão do pool

func (p *Pool) IsConnected(name string) bool

Verifica se uma conexão está ativa

Mensagens

O pacote \messaging é responsável por gerenciar as mensagens a serem enviadas ao usuário ou cliente

Legal One

go-base's People

Contributors

pericles-luz avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.