Documentation
¶
Index ¶
- type AuthenticationController
- type ChannelController
- type HealthCheckController
- type HealthCheckResponse
- type LoginRequest
- type LoginResponse
- type LogoutRequest
- type MeChannelResponse
- type MeController
- type MeResponse
- type RefreshTokenRequest
- type UserChannelResponse
- type UserController
- type UserResponse
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type AuthenticationController ¶
type AuthenticationController struct {
// contains filtered or unexported fields
}
func NewAuthenticationController ¶
func NewAuthenticationController(s models.Querier, rdb *redis.Client) *AuthenticationController
func (*AuthenticationController) Login ¶
func (ctr *AuthenticationController) Login(c echo.Context) error
Login godoc @Summary Authenticate user to retrieve JWT token @Tags accounts @Accept json @Produce json @Param data body LoginRequest true "Login request" @Success 200 {object} LoginResponse @Failure 401 "Invalid username or password" @Router /login [post]
func (*AuthenticationController) Logout ¶
func (ctr *AuthenticationController) Logout(c echo.Context) error
func (*AuthenticationController) RefreshToken ¶
func (ctr *AuthenticationController) RefreshToken(c echo.Context) error
func (*AuthenticationController) ValidateOTP ¶
func (ctr *AuthenticationController) ValidateOTP(c echo.Context) error
type ChannelController ¶
type ChannelController struct {
// contains filtered or unexported fields
}
func NewChannelController ¶
func NewChannelController(s models.Querier) *ChannelController
func (*ChannelController) GetChannel ¶
func (ctr *ChannelController) GetChannel()
type HealthCheckController ¶
type HealthCheckController struct {
// contains filtered or unexported fields
}
func NewHealthCheckController ¶
func NewHealthCheckController(dbPool *pgxpool.Pool, rdb *redis.Client) *HealthCheckController
func (*HealthCheckController) HealthCheck ¶
func (ctr *HealthCheckController) HealthCheck(c echo.Context) error
type HealthCheckResponse ¶
type LoginRequest ¶
type LoginResponse ¶
type LogoutRequest ¶
type LogoutRequest struct {
LogoutAll bool `json:"logout_all"`
}
type MeChannelResponse ¶
type MeController ¶
type MeController struct {
// contains filtered or unexported fields
}
func NewMeController ¶
func NewMeController(s models.Querier) *MeController
func (*MeController) GetMe ¶
func (ctr *MeController) GetMe(c echo.Context) error
GetMe godoc @Summary Get detailed information about the current user @Tags accounts @Accept json @Produce json @Success 200 {object} MeResponse @Failure 401 "Authorization information is missing or invalid." @Router /me [get]
type MeResponse ¶
type MeResponse struct {
ID int32 `json:"id" extensions:"x-order=0"`
Username string `json:"username" extensions:"x-order=1"`
Email *string `json:"email,omitempty" extensions:"x-order=2"`
MaxLogins *int32 `json:"max_logins" extensions:"x-order=3"`
LanguageCode *string `json:"language_code,omitempty" extensions:"x-order=4"`
LanguageName *string `json:"language_name,omitempty" extensions:"x-order=5"`
LastSeen *int32 `json:"last_seen,omitempty" extensions:"x-order=6"`
Channels []MeChannelResponse `json:"channels,omitempty" extensions:"x-order=7"`
}
type RefreshTokenRequest ¶
type RefreshTokenRequest struct {
RefreshToken string `json:"refresh_token"`
}
type UserChannelResponse ¶
type UserController ¶
type UserController struct {
// contains filtered or unexported fields
}
func NewUserController ¶
func NewUserController(s models.Querier) *UserController
func (*UserController) GetUser ¶
func (ctr *UserController) GetUser(c echo.Context) error
type UserResponse ¶
type UserResponse struct {
ID int32 `json:"id" extensions:"x-order=0"`
Username string `json:"username" extensions:"x-order=1"`
Email *string `json:"email,omitempty" extensions:"x-order=2"`
MaxLogins *int32 `json:"max_logins" extensions:"x-order=3"`
LanguageCode *string `json:"language_code,omitempty" extensions:"x-order=4"`
LanguageName *string `json:"language_name,omitempty" extensions:"x-order=5"`
LastSeen *int32 `json:"last_seen,omitempty" extensions:"x-order=6"`
Channels []UserChannelResponse `json:"channels,omitempty" extensions:"x-order=7"`
}
Click to show internal directories.
Click to hide internal directories.