libRequest

package
v0.6.13 Latest Latest
Warning

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

Go to latest
Published: Sep 2, 2023 License: GPL-3.0 Imports: 11 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func TypeStrings added in v0.5.7

func TypeStrings() []string

TypeStrings returns a slice of all String values of the enum

Types

type EventData

type EventData struct {
	Time     time.Time `json:"dt"`
	ActionId string    `json:"action_id"`
	BranchId string    `json:"branch_id"`
	UserId   string    `json:"user_id"`
	Logs     []LogData `json:"logs"`
}

type HeaderInterface added in v0.2.0

type HeaderInterface interface {
	GetId() string
	GetUser() string
	GetBranch() string
	GetBank() string
	GetPerson() string
	GetProgram() string
	GetModule() string
	GetMethod() string
	SetUser(string)
	SetBranch(string)
	SetBank(string)
	SetPerson(string)
	SetProgram(string)
	SetModule(string)
	SetMethod(string)
}

type LogData

type LogData struct {
	Time    time.Time `json:"dt"`
	Program string    `json:"program"`
	Module  string    `json:"module"`
	Method  string    `json:"method"`
	LogText string    `json:"log_text"`
}

type LoggerInterface added in v0.3.0

type LoggerInterface interface {
	GetLogPath() string
	GetLogSize() int
	GetLogCompress() bool
	GetSkipPaths() []string
	GetHeaderName() string
}

type Request

type Request struct {
	Header     HeaderInterface `json:"header"`
	Id         string          `json:"id"`
	RequestId  string          `json:"request_id"`
	Time       time.Time       `json:"dt"`
	Incoming   any             `json:"incoming"`
	NationalId string          `json:"national_id"`
	UrlPath    string          `json:"url_path"`
	ServiceId  string          `json:"service_id"`
	ActionId   string          `json:"action_id"`
	BankId     string          `json:"bank_id"`
	BranchId   string          `json:"branch_id"`
	PersonId   string          `json:"person_id"`
	UserId     string          `json:"user_id"`
	Req        string          `json:"req"`
	Resp       string          `json:"resp"`
	Outgoing   any             `json:"outgoing"`
	Result     string          `json:"result"`
	Events     []EventData     `json:"events"`
}

func GetRequest

func GetRequest[Q any](ctx webFramework.WebFramework, isJson bool) (int, string, []response.ErrorResponse, Q, Request, error)

func Req added in v0.2.0

func Req[Req any, Header any, PT interface {
	HeaderInterface
	*Header
}](ctx webFramework.WebFramework, mode Type, validateHeader bool) (int, string, []response.ErrorResponse, Req, Request, error)

type RequestHeader

type RequestHeader struct {
	RequestId string `header:"Request-Id" reqHeader:"Request-Id" validate:"required,min=10,max=64"`
	Program   string `header:"Program-Id" reqHeader:"Program-Id"`
	Module    string `header:"Module-Id"  reqHeader:"Module-Id"`
	Method    string `header:"Method-Id"  reqHeader:"Method-Id"`
	User      string `header:"User-Id"    reqHeader:"User-Id"`
	Branch    string `header:"Branch-Id"  reqHeader:"Branch-Id"`
	Bank      string `header:"Bank-Id"    reqHeader:"Bank-Id"`
	Person    string `header:"Person-Id"  reqHeader:"Person-Id"`
}

func (RequestHeader) GetBank added in v0.4.7

func (r RequestHeader) GetBank() string

func (RequestHeader) GetBranch added in v0.4.7

func (r RequestHeader) GetBranch() string

func (RequestHeader) GetId added in v0.2.0

func (r RequestHeader) GetId() string

func (RequestHeader) GetMethod added in v0.2.0

func (r RequestHeader) GetMethod() string

func (RequestHeader) GetModule added in v0.2.0

func (r RequestHeader) GetModule() string

func (RequestHeader) GetPerson added in v0.4.7

func (r RequestHeader) GetPerson() string

func (RequestHeader) GetProgram added in v0.2.0

func (r RequestHeader) GetProgram() string

func (RequestHeader) GetUser added in v0.2.0

func (r RequestHeader) GetUser() string

func (*RequestHeader) SetBank added in v0.4.7

func (r *RequestHeader) SetBank(bank string)

func (*RequestHeader) SetBranch added in v0.4.7

func (r *RequestHeader) SetBranch(branch string)

func (*RequestHeader) SetMethod added in v0.2.0

func (r *RequestHeader) SetMethod(method string)

func (*RequestHeader) SetModule added in v0.2.0

func (r *RequestHeader) SetModule(module string)

func (*RequestHeader) SetPerson added in v0.4.7

func (r *RequestHeader) SetPerson(person string)

func (*RequestHeader) SetProgram added in v0.2.0

func (r *RequestHeader) SetProgram(program string)

func (*RequestHeader) SetUser added in v0.2.0

func (r *RequestHeader) SetUser(user string)

type RequestInterface

type RequestInterface interface {
	Initialize(c webFramework.WebFramework, method, url string, req *Request, args ...any) (int, map[string]string, error)
	InitializeNoLog(c webFramework.WebFramework, method, url string, req *Request, args ...any) (int, map[string]string, error)
	AddRequestLog(method, log string, req *Request)
	LogEnd(method, log string, req *Request)
	AddRequestEvent(c webFramework.WebFramework, branch, method, log string, req *Request)
	LogStart(c webFramework.WebFramework, method, log string) *Request
	InsertRequest(request Request) error
	CheckDuplicateRequest(request Request) error
	UpdateRequest(request Request) error
}

type RequestModel

type RequestModel struct {
	QueryInterface libQuery.QueryRunnerInterface
	InsertInDb     string
	UpdateInDb     string
	QueryInDb      string
}

func (RequestModel) AddLogEvent

func (m RequestModel) AddLogEvent(method, log string, req *Request)

func (RequestModel) AddRequestEvent

func (m RequestModel) AddRequestEvent(w webFramework.WebFramework, branch, method, log string, req *Request)

func (RequestModel) AddRequestLog

func (m RequestModel) AddRequestLog(method, log string, req *Request)

func (RequestModel) CheckDuplicateRequest

func (m RequestModel) CheckDuplicateRequest(request Request) error

func (RequestModel) Initialize

func (m RequestModel) Initialize(w webFramework.WebFramework, method, url string, req *Request, args ...any) (int, map[string]string, error)

func (RequestModel) InitializeNoLog

func (m RequestModel) InitializeNoLog(c webFramework.WebFramework, method, url string, req *Request, args ...any) (int, map[string]string, error)

func (RequestModel) InsertRequest

func (m RequestModel) InsertRequest(request Request) error

func (RequestModel) InsertRequestWithContext added in v0.6.10

func (m RequestModel) InsertRequestWithContext(ctx context.Context, request Request) error

func (RequestModel) LogEnd

func (m RequestModel) LogEnd(method, log string, r *Request)

func (RequestModel) LogStart

func (m RequestModel) LogStart(w webFramework.WebFramework, method, log string) *Request

func (RequestModel) UpdateRequest

func (m RequestModel) UpdateRequest(request Request) error

func (RequestModel) UpdateRequestWithContext added in v0.6.10

func (m RequestModel) UpdateRequestWithContext(ctx context.Context, request Request) error

type Type added in v0.5.7

type Type int
const (
	NoBinding Type = iota
	JSON
	JSONWithURI
	Query
	QueryWithURI
	URI
)

func TypeString added in v0.5.7

func TypeString(s string) (Type, error)

TypeString retrieves an enum value from the enum constants string name. Throws an error if the param is not part of the enum.

func TypeValues added in v0.5.7

func TypeValues() []Type

TypeValues returns all values of the enum

func (Type) IsAType added in v0.5.7

func (i Type) IsAType() bool

IsAType returns "true" if the value is listed in the enum definition. "false" otherwise

func (Type) MarshalJSON added in v0.5.7

func (i Type) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaler interface for Type

func (Type) String added in v0.5.7

func (i Type) String() string

func (*Type) UnmarshalJSON added in v0.5.7

func (i *Type) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaler interface for Type

Jump to

Keyboard shortcuts

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