qoingohelper

package module
v1.2.2 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Oct 18, 2023 License: MIT Imports: 11 Imported by: 0

README

Qoin Go Helper

logo

Introduction

This repo for Helper Golang services.

⚙️ Installation

via go modules
go get github.com/Qoin-Digital-Indonesia/qoingohelper

🎯 Features

⚡️ Usage

📖 Logger

import (
     ...
     github.com/Qoin-Digital-Indonesia/qoingohelper
     ...
)

func main(){
     ...
      qoingohelper.LoggerInfo("This is info")
	 qoingohelper.LoggerSuccess("This is success")
	 qoingohelper.LoggerError(errors.New("this is info")) or qoingohelper.LoggerError(err)
	 qoingohelper.LoggerWarning("This is warning")     ​...

}

📖 Logger Sentry

import (
     ...
     github.com/Qoin-Digital-Indonesia/qoingohelper
     ...
)

func main(){
     ...
      qoingohelper.InitSentry("this is url sentry", "environment (develop, staging , production)", "tags release (1.0.0 , 1.0.12)", debug (true,false))
     ...

     ...
     // Send Error
     if err != nil {
		qoingohelper.SendSentryError(err, "saas-be-research-manager", "User", "divide")
          // 1. Error
          // 2. Service
          // 3. Module
          // 4. Function
	}
     ...

     // Send Message
     ...
     qoingohelper.SendSentryMessage("this is sample message", "saas-be-research-manager", "User", "divide")
          // 1. Message
          // 2. Service
          // 3. Module
          // 4. Function
     ...

     // Send Event
     ...
     qoingohelper.SendSentryEvent(*sentry.Event)
          // 1. Sentry Event
          // 2. Service
          // 3. Module
          // 4. Function
     ...
}

  • Result
- logger error
+ logger warning
! logger success
# logger info

📖 Data

Documentation

Index

Constants

This section is empty.

Variables

View Source
var SentryClient *sentry.Client
View Source
var Validates *validator.Validate

Functions

func Bind

func Bind(form interface{}, structs interface{}) interface{}

func ClientIP

func ClientIP(c echo.Context) string

func DateNil

func DateNil(dt interface{}) interface{}

func DateParse

func DateParse(d interface{}, format string) *time.Time

func ErrorContext

func ErrorContext(message interface{}, c echo.Context) (err error)

func InArray

func InArray(val interface{}, arrays interface{}) bool

func InitSentry added in v1.2.0

func InitSentry(Dsn, Environment, Release string, Debug bool) *sentry.Client

func JsonDecode

func JsonDecode(data interface{}) (maps map[string]interface{}, err error)

func JsonEncode

func JsonEncode(data interface{}) string

func JsonEncodeBeautify added in v1.0.2

func JsonEncodeBeautify(data interface{}) string

func LoggerDebug

func LoggerDebug(msg interface{})

this is for logger debug level

func LoggerError

func LoggerError(err error)

this is for logger error level

func LoggerInfo

func LoggerInfo(message interface{})

this is for logger info level

func LoggerSuccess

func LoggerSuccess(message interface{})

this is for logger success level

func LoggerWarning

func LoggerWarning(message interface{})

this is for logger warning level

func NotFoundContext

func NotFoundContext(message interface{}, data interface{}, c echo.Context) (err error)

func RPCJSONResponse

func RPCJSONResponse(status string, message interface{}, data interface{}) string

func RandStringBytes

func RandStringBytes(n int) string

func ResponseContext

func ResponseContext(code int, message interface{}, data interface{}, c echo.Context) error

func SendSentryError added in v1.2.0

func SendSentryError(err error, service, module, function string)

func SendSentryEvent added in v1.2.0

func SendSentryEvent(event *sentry.Event, service, module, function string)

func SendSentryMessage added in v1.2.0

func SendSentryMessage(message string, service, module, function string)

func Success

func Success(message string, data interface{}, c echo.Context) map[string]interface{}

func SuccessContext

func SuccessContext(message interface{}, data interface{}, c echo.Context) (err error)

V1 Version 1 snake_case

func TimeoutContext

func TimeoutContext(message interface{}, c echo.Context) (err error)

func UUID

func UUID() string

func V2ErrorContext added in v1.1.0

func V2ErrorContext(message interface{}, c echo.Context) (err error)

func V2NotFoundContext added in v1.1.0

func V2NotFoundContext(message interface{}, data interface{}, c echo.Context) (err error)

func V2RPCJSONResponse added in v1.1.0

func V2RPCJSONResponse(status string, message interface{}, data interface{}) string

func V2ResponseContext added in v1.1.0

func V2ResponseContext(code int, message interface{}, data interface{}, c echo.Context) error

func V2Success added in v1.1.0

func V2Success(message string, data interface{}, c echo.Context) map[string]interface{}

func V2SuccessContext added in v1.1.0

func V2SuccessContext(message interface{}, data interface{}, c echo.Context) (err error)

V2 Version 2 CamlCase

func V2TimeoutContext added in v1.1.0

func V2TimeoutContext(message interface{}, c echo.Context) (err error)

func V2ValidationContext added in v1.1.0

func V2ValidationContext(message interface{}, data interface{}, c echo.Context) (err error)

func V2ValidationResp added in v1.1.0

func V2ValidationResp(message interface{}, data interface{}) map[string]interface{}

func Validate

func Validate(c echo.Context, i interface{}) (interface{}, error)

func ValidateRPC

func ValidateRPC(i interface{}) (interface{}, error)

func ValidationContext

func ValidationContext(message interface{}, data interface{}, c echo.Context) (err error)

func ValidationResp

func ValidationResp(message interface{}, data interface{}) map[string]interface{}

Types

type JSONResponse

type JSONResponse struct {
	Code    int         `json:"status_code"`
	Status  string      `json:"status"`
	Message interface{} `json:"message"`
	Data    interface{} `json:"data"`
}

func (*JSONResponse) Error

func (response *JSONResponse) Error(message interface{}, data interface{})

func (*JSONResponse) Success

func (response *JSONResponse) Success(message interface{}, data interface{})

func (*JSONResponse) Validation

func (response *JSONResponse) Validation(message interface{}, data interface{})

type Response

type Response struct {
	Code    int         `json:"status_code"`
	Status  string      `json:"status"`
	Message interface{} `json:"message"`
	Data    interface{} `json:"data"`
}

func (*Response) Error

func (response *Response) Error(code int, message string, data interface{})

func (*Response) Success

func (response *Response) Success(code int, message string, data interface{})

type SentryData added in v1.2.0

type SentryData struct {
	Dsn             string
	Environment     string
	Release         string
	Debug           bool
	TraceSampleRate float64
	Event           *sentry.Event
}
var Sentries *SentryData

func NewSentryData added in v1.2.0

func NewSentryData() *SentryData

type V2JSONResponse added in v1.1.0

type V2JSONResponse struct {
	Code    int         `json:"StatusCode"`
	Status  string      `json:"Status"`
	Message interface{} `json:"Message"`
	Data    interface{} `json:"Data"`
}

func (*V2JSONResponse) V2Error added in v1.1.0

func (response *V2JSONResponse) V2Error(message interface{}, data interface{})

func (*V2JSONResponse) V2Success added in v1.1.0

func (response *V2JSONResponse) V2Success(message interface{}, data interface{})

func (*V2JSONResponse) V2Validation added in v1.1.0

func (response *V2JSONResponse) V2Validation(message interface{}, data interface{})

type V2Response added in v1.1.0

type V2Response struct {
	Code    int         `json:"StatusCode"`
	Status  string      `json:"Status"`
	Message interface{} `json:"Message"`
	Data    interface{} `json:"Data"`
}

func (*V2Response) V2Error added in v1.1.0

func (response *V2Response) V2Error(code int, message string, data interface{})

func (*V2Response) V2Success added in v1.1.0

func (response *V2Response) V2Success(code int, message string, data interface{})

Directories

Path Synopsis

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL