common

package
v2.16.2 Latest Latest
Warning

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

Go to latest
Published: Mar 5, 2024 License: CC0-1.0 Imports: 6 Imported by: 0

Documentation

Index

Constants

View Source
const (
	TraceIdKeyContextStr   = "traceId"
	ErrInvalidTokenMessage = "invalid token"
	ErrInvalidTokenCode    = "INVALID_TOKEN"

	HeaderSecret = "secret"

	EnvServiceSecret = "SERVICE_SECRET"
	EnvJWTSigningKey = "JWT_SIGNING_KEY"
)

Variables

View Source
var (
	ErrStructNotCompatible = errors.New("struct is not compatible")
	ErrIdParamIsRequired   = errors.New("parameter ID is required")
	ErrIdMustNumeric       = errors.New("ID must be defined as number")
	ErrPatch               = errors.New("error patch")
)

Functions

This section is empty.

Types

type HandlerCRUD

type HandlerCRUD interface {
	ReadHandler
	WriteHandler
}

type ReadHandler

type ReadHandler interface {
	GetList(w http.ResponseWriter, r *http.Request) *response.JSON
	GetDetailById(w http.ResponseWriter, r *http.Request) *response.JSON
}

type ReadRepo

type ReadRepo interface {
	GetList(ctx context.Context, opts *database.QueryOpts) error
	GetDetail(ctx context.Context, opts *database.QueryOpts) error
	GetDetailById(ctx context.Context, resultStruct interface{}, id interface{}, optionalTableName ...string) error
	Count(ctx context.Context, reqData *database.TableRequest, tableName ...string) (totalData, totalFiltered int, err error)
}

type RepoCRUD

type RepoCRUD interface {
	ReadRepo
	WriteRepo
}

type UsecaseCRUD

type UsecaseCRUD interface {
	GetList(ctx context.Context, requestData interface{}) (*database.SelectResponse, error)
	GetDetailById(ctx context.Context, id interface{}) (*database.SelectResponse, error)
	Insert(ctx context.Context, data interface{}) (*database.CUDResponse, error)
	Update(ctx context.Context, data interface{}) (*database.CUDResponse, error)
	Delete(ctx context.Context, id interface{}) (*database.CUDResponse, error)
}

type WriteHandler

type WriteHandler interface {
	Insert(w http.ResponseWriter, r *http.Request) *response.JSON
	Update(w http.ResponseWriter, r *http.Request) *response.JSON
	Delete(w http.ResponseWriter, r *http.Request) *response.JSON
}

type WriteRepo

type WriteRepo interface {
	Insert(ctx context.Context, data interface{}, trx ...*sql.Tx) (*database.CUDResponse, error)
	BulkInsert(ctx context.Context, data interface{}, trx ...*sql.Tx) (*database.CUDResponse, error)
	BulkUpdate(ctx context.Context, data interface{}, condition map[string][]interface{}, trx ...*sql.Tx) (*database.CUDResponse, error)
	Update(ctx context.Context, data interface{}, condition map[string]interface{}, trx ...*sql.Tx) (*database.CUDResponse, error)
	Upsert(ctx context.Context, data interface{}, condition map[string]interface{}, opts ...interface{}) (*database.CUDResponse, error)
	UpdateById(ctx context.Context, data interface{}, id interface{}, trx ...*sql.Tx) (*database.CUDResponse, error)
	Delete(ctx context.Context, condition map[string]interface{}, trx ...*sql.Tx) (*database.CUDResponse, error)
	DeleteById(ctx context.Context, id interface{}, trx ...*sql.Tx) (*database.CUDResponse, error)
}

Jump to

Keyboard shortcuts

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