Documentation ¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
View Source
var (
ErrorNotFound = errors.New(errors.LevelError, int(web.StatusNotFound), "not found")
)
Functions ¶
This section is empty.
Types ¶
type AppConfig ¶
type AppConfig struct {
Messenger *MessengerConfig `json:"messenger"`
}
AppConfig ...
type Controller ¶
type Controller struct {
// contains filtered or unexported fields
}
func NewController ¶
func NewController(config *MessengerConfig, interactor *Interactor) *Controller
func (*Controller) GetMessagesHandler ¶
func (c *Controller) GetMessagesHandler(ctx *web.Context) error
func (*Controller) RegisterRoutes ¶
func (c *Controller) RegisterRoutes(web manager.IWeb) error
func (*Controller) SendMessageHandler ¶
func (c *Controller) SendMessageHandler(ctx *web.Context) error
type ErrorResponse ¶
type GetMessagesRequest ¶
type GetMessagesRequest struct {
User string `json:"user" validate:"notzero"`
}
type GetMessagesResponse ¶
type GetMessagesResponse []*Message
type Interactor ¶
type Interactor struct {
// contains filtered or unexported fields
}
func NewInteractor ¶
func NewInteractor(config *MessengerConfig, storageDB IStorage, socket *socket.Client) *Interactor
func (*Interactor) GetMessages ¶
func (i *Interactor) GetMessages(user string) ([]*Message, error)
func (*Interactor) SaveMessage ¶
func (i *Interactor) SaveMessage(message *Message) error
type Messenger ¶
type Messenger struct {
// contains filtered or unexported fields
}
func NewMessenger ¶
func NewMessenger(options ...SessionOption) (*Messenger, error)
NewMessenger ...
func (*Messenger) Reconfigure ¶
func (session *Messenger) Reconfigure(options ...SessionOption)
Reconfigure ...
type MessengerConfig ¶
type MessengerConfig struct { Host string `json:"host"` Socket *socket.SocketConfig `json:"socket"` Dbr *dbr.DbrConfig `json:"dbr"` TokenKey string `json:"token_key"` ExpirationMinutes int64 `json:"expiration_minutes"` Migration *migration.MigrationConfig `json:"migration"` Log struct { Level string `json:"level"` } `json:"log"` }
MessengerConfig ...
type SendMessageRequest ¶
type SendMessageResponse ¶
type SendMessageResponse struct {
Success bool `json:"success"`
}
type SessionOption ¶
type SessionOption func(client *Messenger)
SessionOption ...
func WithConfiguration ¶
func WithConfiguration(config *MessengerConfig) SessionOption
WithConfiguration ...
type StoragePostgres ¶
type StoragePostgres struct {
// contains filtered or unexported fields
}
func NewStoragePostgres ¶
func NewStoragePostgres(config *MessengerConfig) (*StoragePostgres, error)
func (*StoragePostgres) GetMessages ¶
func (storage *StoragePostgres) GetMessages(user string) ([]*Message, error)
func (*StoragePostgres) SaveMessage ¶
func (storage *StoragePostgres) SaveMessage(message *Message) error
Source Files ¶
Click to show internal directories.
Click to hide internal directories.