Documentation ¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type IDatabase ¶
type IDatabase interface { ConnectDB(dbAccRead *resources.DBAccount, dbAccWrite *resources.DBAccount) Exec(query string, args ...interface{}) (sql.Result, error) ExecContext(ctx context.Context, query string, args ...interface{}) (sql.Result, error) Get(dest interface{}, query string, args ...interface{}) error DriverName() string Close() Begin() (IDBTx, error) In(query string, params ...interface{}) (string, []interface{}, error) Rebind(query string) string Select(dest interface{}, query string, args ...interface{}) error Query(query string, args ...interface{}) (*sql.Rows, error) QueryRow(query string, args ...interface{}) *sql.Row QueryContext(ctx context.Context, query string, args ...interface{}) (*sql.Rows, error) GetContext(ctx context.Context, dest interface{}, query string, args ...interface{}) error // DB transaction. IDatabaseTx Commit() error Rollback() error Queryx(query string, args ...interface{}) (*sqlx.Rows, error) QueryRowSqlx(query string, args ...interface{}) *sqlx.Row }
IDatabase is interface for database
type IDatabaseTx ¶
type IDatabaseTx interface { BeginTx() (*sqlx.Tx, error) TransactionBlock(tx *sqlx.Tx, fc func(tx *sqlx.Tx) error) error }
IDatabaseTx is interface for only transaction database
type IElasticsearch ¶
type IHTTP ¶
type IHTTP interface { CallService(method, url string, requestBody []byte) (string, *resources.ApplicationError) CallServiceByte(method, url string, requestBody []byte) ([]byte, *resources.ApplicationError) }
IHTTP is the general interface for HTTP Call
type IPanicHandler ¶
type IPanicHandler interface { SetPanicResp(c *gin.Context, serviceName, message string) *resources.PanicHandlerResponse SetPayloadSlack(resp *resources.PanicHandlerResponse) slack.Payload GetPanicAndSendToSlack(c *gin.Context, serviceName, message string) error }
IPanicHandler is a interface for panic handler
type IRedis ¶
type IRedis interface { ConnectRedis(ra *resources.RedisAccount) Get(key string) (string, error) Keys(pattern string) ([]string, error) HGetAll(key string) (map[string]string, error) Set(key string, data interface{}) error SetEx(key string, parameter resources.SetExParameter) error HMSet(key string, data interface{}) error HMSetEx(key string, parameter resources.SetExParameter) error GetSet(key string, data interface{}) error HMGet(key string, fields ...string) ([]interface{}, error) Close() Scan(key string) ([]string, error) Del(keys ...string) error HDel(key string, fields ...string) error XDel(stream string, ids ...string) error LLen(key string) (int64, error) LRange(key string, start int64, stop int64) ([]string, error) LPush(key string, value ...interface{}) error SPop(key string) (string, error) SAdd(key string, data ...interface{}) error SIsMember(key string, data interface{}) (bool, error) Pipeline() JSONSet(key string, data interface{}) (interface{}, error) JSONGet(key string) (interface{}, error) JSONMGet(path string, keys ...string) (interface{}, error) JSONDel(key, path string) (interface{}, error) CreateRedisync() *redsync.Redsync CreateRedisMutex(key string, options ...redsync.Option) *redsync.Mutex LockRedisMutex(mutex *redsync.Mutex, tries int) error }
IRedis is the general interface for redis commands usage
type IRouter ¶
type IRouter interface {
Routing(config *resources.AppConfig, dbObj map[string]IDatabase, redisdb map[string]IRedis) *gin.Engine
}
IRouter is interface for routing
type ISlack ¶
type ISlack interface { New(token string, option ...slack.Option) *slack.Client UploadFile(params slack.FileUploadParameters) (file *slack.File, err error) // SendSlack ... SendSlack(channelID string, options ...slack.MsgOption) (string, string, error) }
ISlack used for slack api interaction
type ISlackWebhook ¶
type ISlackWebhook interface { SendWebhook(ctx context.Context, payload slackAPI.WebhookMessage) (err error) Send(webhookURL, proxy string, payload slack.Payload) []error }
ISlackWebhook for sending slack webhook interface
type InterfaceKvotheService ¶
type InterfaceKvotheService interface { GetSongQuoteByID(id int64) (*models.SongQuote, int, error) GetAllSongData() ([]models.SongQuote, int, error) BackfillRedis() error //mock data GetQuoteByIDMockData(rawID string) (string, error) AddNewQuoteMockData(q string) (string, error) GetPersonByIDMockData(rawID string) (string, error) AddNewPersonMockData(p string) (string, error) }
Click to show internal directories.
Click to hide internal directories.