users

package
v0.0.0-...-f6ab580 Latest Latest
Warning

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

Go to latest
Published: Jun 22, 2023 License: GPL-3.0 Imports: 7 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type SQLUserRepo

type SQLUserRepo struct {
	// contains filtered or unexported fields
}

func NewRepo

func NewRepo(db *sqlx.DB) SQLUserRepo

func (SQLUserRepo) FindUserByClientID

func (r SQLUserRepo) FindUserByClientID(ctx context.Context, clientID string) (User, error)

func (SQLUserRepo) FindUserByTGUser

func (r SQLUserRepo) FindUserByTGUser(ctx context.Context, tgUser string) (User, error)

func (SQLUserRepo) IsUserExists

func (r SQLUserRepo) IsUserExists(ctx context.Context, tgUser string) (bool, error)

func (SQLUserRepo) UpdateChatIDByTGUser

func (r SQLUserRepo) UpdateChatIDByTGUser(ctx context.Context, tgName string, chatID int64) error

func (SQLUserRepo) UpdateNotificationByTGUser

func (r SQLUserRepo) UpdateNotificationByTGUser(ctx context.Context, tgName string, isEnabled bool) error

type User

type User struct {
	Username      string `db:"username"`
	TGUser        string `db:"tg_user"`
	ChatID        int64  `db:"chat_id"`
	NotifyEnabled bool   `db:"notify_enabled"`
}

User описывает сущность пользователя

type UserRepository

type UserRepository interface {
	// UpdateChatIDByTGUser обновляет идентификатор чата, с которым работает пользователь
	UpdateChatIDByTGUser(ctx context.Context, tgName string, chatID int64) error
	// UpdateNotificationByTGUser изменение флага notification
	UpdateNotificationByTGUser(ctx context.Context, tgName string, isEnabled bool) error
	// FindUserByTGUser поиск пользователя по имени telegram
	FindUserByTGUser(ctx context.Context, tgUser string) (User, error)
	// IsUserExists проверяет наличие пользователя с указанным именем telegram
	IsUserExists(ctx context.Context, tgUser string) (bool, error)
	// FindUserByClientID поиск пользователя по идентификатору клиента
	FindUserByClientID(ctx context.Context, clientID string) (User, error)
}

UserRepository описывает методы работы с сущностью пользователя

type UserService

type UserService interface {
	// SetNotification устанавливает флаг отправки уведомлений пользователю
	SetNotification(ctx context.Context, tgName string, flag bool) error
	// SetUserChatID сохраняет/обновляет идентификатор чата telegram с которого обращался пользователь
	SetUserChatID(ctx context.Context, tgName string, chatID int64) error
	// FindUserByTGName поиск пользователя по имени в telegram
	FindUserByTGName(ctx context.Context, tgName string) (User, error)
	// IsUserExists проверяет, существует ли пользователь с указанным именем telegram
	IsUserExists(ctx context.Context, tgName string) bool
	// FindUserByClientID поиск пользователя по идентификатору клиентского приложения
	FindUserByClientID(ctx context.Context, clientID string) (User, error)
	SetUserLastMessage(tgName string, message tgbotapi.Message)
	GetUserLastMessage(tgName string) (tgbotapi.Message, bool)
}

UserService сервис обрабатывает запросы с пользователями

type UserServiceImpl

type UserServiceImpl struct {
	// contains filtered or unexported fields
}

func NewUserService

func NewUserService(userRepo UserRepository) UserServiceImpl

NewUserService создает сервис пользователей

func (UserServiceImpl) FindUserByClientID

func (u UserServiceImpl) FindUserByClientID(ctx context.Context, clientID string) (User, error)

func (UserServiceImpl) FindUserByTGName

func (u UserServiceImpl) FindUserByTGName(ctx context.Context, tgName string) (User, error)

func (UserServiceImpl) GetUserLastMessage

func (u UserServiceImpl) GetUserLastMessage(tgName string) (tgbotapi.Message, bool)

func (UserServiceImpl) IsUserExists

func (u UserServiceImpl) IsUserExists(ctx context.Context, tgName string) bool

func (UserServiceImpl) SetNotification

func (u UserServiceImpl) SetNotification(ctx context.Context, tgName string, flag bool) error

func (UserServiceImpl) SetUserChatID

func (u UserServiceImpl) SetUserChatID(ctx context.Context, tgName string, chatID int64) error

func (UserServiceImpl) SetUserLastMessage

func (u UserServiceImpl) SetUserLastMessage(tgName string, message tgbotapi.Message)

Jump to

Keyboard shortcuts

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