ms

package module
v0.1.21 Latest Latest
Warning

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

Go to latest
Published: Apr 17, 2023 License: MIT Imports: 20 Imported by: 0

README

go-ms

Go Micro Service

How to build release

$> make release

Documentation

Index

Constants

View Source
const (
	SuccessCode      = 0
	ServerErrorCode  = 1001
	UnknownErrorCode = 1002

	DBErrorCode         = 1101
	DBNotFoundErrorCode = 1102

	RequestQueryErrorCode     = 1201
	RequestParamErrorCode     = 1202
	RequestBodyBindErrorCode  = 1203
	RequestQueryBindErrorCode = 1204
)

Variables

View Source
var (
	Success      = NewMessage(SuccessCode, "MSSuccess", "Success")
	ServerError  = NewMessage(ServerErrorCode, "MSError", "Server error")
	UnknownError = NewMessage(UnknownErrorCode, "MSErrorUnknown", "Unknown error")

	DBError         = NewMessage(DBErrorCode, "MSErrorDBError", "Db error")
	DBNotFoundError = NewMessage(DBNotFoundErrorCode, "MSErrorDBNotFound", "Not Found Record")

	RequestQueryError     = NewMessage(RequestQueryErrorCode, "MSErrorQueryRequired", "Request query param {{.param}} missed.")
	RequestParamError     = NewMessage(RequestParamErrorCode, "MSErrorParamRequired", "Request path param {{.param}} missed.")
	RequestBodyBindError  = NewMessage(RequestBodyBindErrorCode, "MSErrorBodyBindError", "Request body bind error.")
	RequestQueryBindError = NewMessage(RequestQueryBindErrorCode, "MSErrorQueryBindError", "Request query param bind error.")
)

Functions

func AddListener added in v0.1.13

func AddListener(l Listener)

AddListener add listener

func CustomerRecoveryFunc added in v0.1.6

func CustomerRecoveryFunc(sourceCtx *gin.Context, err any)

func GetConfigData added in v0.1.2

func GetConfigData(name string, data interface{})

GetConfigData Get config data with section name

func GetDb added in v0.1.2

func GetDb() *gorm.DB

GetDb get db instance

func GetDecryptConfigData added in v0.1.2

func GetDecryptConfigData(name string, data interface{})

GetDecryptConfigData Get config data with section name and decrypt it by jasypt

func HandleDataResponse added in v0.1.2

func HandleDataResponse[T any](handle DataResponseHandler[T]) func(ctx *gin.Context)

func HandleEmptyResponse added in v0.1.8

func HandleEmptyResponse(handle EmptyResponseHandler) func(ctx *gin.Context)

func HandleVoidResponse added in v0.1.2

func HandleVoidResponse(handle VoidResponseHandler) func(ctx *gin.Context)

func MustGetRequestBody added in v0.1.4

func MustGetRequestBody[T any](c *Context, t T) T

func MustGetRequestJsonBody added in v0.1.4

func MustGetRequestJsonBody[T any](c *Context, t T) T

func MustGetRequestQuery added in v0.1.4

func MustGetRequestQuery[T any](c *Context, t T) T

func StartServer added in v0.1.2

func StartServer(h http.Handler)

StartServer Start server with http handler

func WrapDbError

func WrapDbError(err error) error

WrapDbError wrap db error

Types

type Context added in v0.1.4

type Context struct {
	SourceCtx *gin.Context
}

func NewContext added in v0.1.4

func NewContext(ctx *gin.Context) *Context

func (*Context) GetErrorResponse added in v0.1.4

func (ctx *Context) GetErrorResponse(err Error) Response[any]

func (*Context) GetLocalizer added in v0.1.4

func (ctx *Context) GetLocalizer() *i18n.Localizer

GetLocalizer Create a Localizer for acquire localize message

func (*Context) GetParam added in v0.1.4

func (ctx *Context) GetParam(key string, defaultValue string) string

func (*Context) GetParamInt added in v0.1.4

func (ctx *Context) GetParamInt(key string, df int) int

GetParamInt Get int from path

func (*Context) GetParamInt64 added in v0.1.4

func (ctx *Context) GetParamInt64(key string, df int64) int64

func (*Context) GetQuery added in v0.1.4

func (ctx *Context) GetQuery(key string, defaultValue string) string

func (*Context) GetQueryInt added in v0.1.4

func (ctx *Context) GetQueryInt(key string, df int) int

func (*Context) GetQueryInt64 added in v0.1.4

func (ctx *Context) GetQueryInt64(key string, df int64) int64

func (*Context) GetRequestPage added in v0.1.4

func (ctx *Context) GetRequestPage() Pageable

func (*Context) GetRequestUser added in v0.1.4

func (ctx *Context) GetRequestUser() User

func (*Context) GetSourceContext added in v0.1.4

func (ctx *Context) GetSourceContext() *gin.Context

GetSourceContext Get original context

func (*Context) GetSuccessResponse added in v0.1.4

func (ctx *Context) GetSuccessResponse(data any) Response[any]

func (*Context) LocalizeMessage added in v0.1.4

func (ctx *Context) LocalizeMessage(message Message) string

LocalizeMessage Localize message with Localizer

func (*Context) MustGetParam added in v0.1.4

func (ctx *Context) MustGetParam(key string) string

MustGetParam Get string from request path

func (*Context) MustGetQuery added in v0.1.4

func (ctx *Context) MustGetQuery(key string) string

MustGetQuery Must get string from request query

func (*Context) MustGetQueryInt added in v0.1.4

func (ctx *Context) MustGetQueryInt(key string) int

MustGetQueryInt Must get int from request query

func (*Context) MustGetQueryInt64 added in v0.1.4

func (ctx *Context) MustGetQueryInt64(key string) int64

MustGetQueryInt64 Must get int64 from request query

func (*Context) MustGetRequestBody added in v0.1.4

func (ctx *Context) MustGetRequestBody(obj any)

MustGetRequestBody Get request body

func (*Context) MustGetRequestJsonBody added in v0.1.4

func (ctx *Context) MustGetRequestJsonBody(obj any)

MustGetRequestJsonBody Get request body by json

func (*Context) MustGetRequestQuery added in v0.1.4

func (ctx *Context) MustGetRequestQuery(obj any)

MustGetRequestQuery Get request body by json

func (*Context) Response added in v0.1.4

func (ctx *Context) Response(data any, err error)

func (*Context) ResponseJson added in v0.1.4

func (ctx *Context) ResponseJson(code int, obj any)

type DataResponseHandler

type DataResponseHandler[T any] func(ctx *Context) (T, error)

type EmptyResponseHandler added in v0.1.8

type EmptyResponseHandler func(ctx *Context)

type Error

type Error struct {
	Cause   error
	Message Message
}

func NewError

func NewError(msg Message) Error

func NewError2 added in v0.1.4

func NewError2(err error, msg Message) Error

func (Error) Code

func (e Error) Code() int64

func (Error) Error

func (e Error) Error() string

type Listener added in v0.1.13

type Listener interface {
	OnStart(s *http.Server)
	OnShutdown()
}

Listener listener interface

type Message

type Message struct {
	Code         int64
	Key          string
	ParamMap     map[string]string
	DefaultValue string
}

func NewMessage

func NewMessage(c int64, k string, dv string) Message

func (*Message) AppendParam added in v0.1.4

func (m *Message) AppendParam(k string, v string) Message

func (*Message) AppendParam2 added in v0.1.4

func (m *Message) AppendParam2(k1 string, v1 string, k2 string, v2 string) Message

func (*Message) AppendParam3 added in v0.1.4

func (m *Message) AppendParam3(k1 string, v1 string, k2 string, v2 string, k3 string, v3 string) Message

func (*Message) AppendParam4 added in v0.1.4

func (m *Message) AppendParam4(k1 string, v1 string, k2 string, v2 string, k3 string, v3 string, k4 string, v4 string) Message

func (*Message) AppendParam5 added in v0.1.4

func (m *Message) AppendParam5(k1 string, v1 string, k2 string, v2 string, k3 string, v3 string, k4 string, v4 string, k5 string, v5 string) Message

func (*Message) AppendParamMap added in v0.1.4

func (m *Message) AppendParamMap(pm map[string]string) Message

func (*Message) GetDefaultMessage added in v0.1.4

func (m *Message) GetDefaultMessage() string

type Page

type Page[T any] struct {
	Pages int64 `json:"pages"`
	Total int64 `json:"total"`
	Items []T   `json:"items,omitempty"`
}

func NewPage

func NewPage[T any](total int64, size int64, items []T) Page[T]

func PageMapping

func PageMapping[T any, R any](p Page[T], mapping types.Function[T, R]) Page[R]

type PageRequest

type PageRequest struct {
	Pageable
}

type Pageable

type Pageable struct {
	Page int `json:"page"`
	Size int `json:"size"`
}

func (*Pageable) GetOffset

func (p *Pageable) GetOffset() int

type Response

type Response[T any] struct {
	Code int64  `json:"code"`
	Msg  string `json:"message"`
	Data T      `json:"data,omitempty"`
}

type User

type User struct {
	ID       string
	TenantId string
	Account  string
	Name     string
}

type VoidResponseHandler

type VoidResponseHandler func(ctx *Context) error

Directories

Path Synopsis
internal

Jump to

Keyboard shortcuts

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