Documentation ¶
Index ¶
- func NewPostgreDB(cfg *config.Config) (*sqlx.DB, error)
- type MedPostgres
- func (m *MedPostgres) AreTheAnySubscriptions() (bool, error)
- func (m *MedPostgres) ChangeAvailability(medicamentID int, value bool) error
- func (m *MedPostgres) GetAllMedicamentsWithSub() ([]int, error)
- func (m *MedPostgres) GetAvailability(medicamentID int) (bool, error)
- func (m *MedPostgres) GetID(medTitle string) (int, error)
- func (m *MedPostgres) GetSubscribers(medicamentID int) ([]int, error)
- func (m *MedPostgres) GetTitle(medicamentID int) (string, error)
- func (m *MedPostgres) GetTrueName(medName string) (string, error)
- func (m *MedPostgres) InitMedList(medLines []string) error
- func (m *MedPostgres) IsExist(medName string) (bool, error)
- func (m *MedPostgres) IsMedListExist() (bool, error)
- type Medicaments
- type Repository
- type UserPostgres
- func (u *UserPostgres) ChangeSelectedMed(medicamentID, tguserID int) error
- func (u *UserPostgres) ChangeState(tguserID int, state string) error
- func (u *UserPostgres) Check(tguserID int) (bool, error)
- func (u *UserPostgres) Create(tguserID int, chatID int64) error
- func (u *UserPostgres) GetChatID(tguserID int) (int, error)
- func (u *UserPostgres) GetSelectedMed(tguserID int) (int, error)
- func (u *UserPostgres) GetState(tguserID int) (string, error)
- func (u *UserPostgres) GetSubscriptions(tguserID int) ([][]string, error)
- func (u *UserPostgres) IsHasSubsriptions(tguserID int) (bool, error)
- func (u *UserPostgres) IsSubToThisMed(tguserID int, medicamentID int) (bool, error)
- func (u *UserPostgres) Subscribe(tguserID int, medicamentID int) error
- func (u *UserPostgres) Unsubscribe(tguserID int, medicamentID int) error
- type Users
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
Types ¶
type MedPostgres ¶
type MedPostgres struct {
// contains filtered or unexported fields
}
func NewMedPostgres ¶
func NewMedPostgres(db *sqlx.DB) *MedPostgres
func (*MedPostgres) AreTheAnySubscriptions ¶
func (m *MedPostgres) AreTheAnySubscriptions() (bool, error)
AreTheAnySubscriptions - проверяет существование хотя бы одной подписки Служит для того, что бы избежать ошибок в функции CyclicMedSearch
func (*MedPostgres) ChangeAvailability ¶
func (m *MedPostgres) ChangeAvailability(medicamentID int, value bool) error
ChangeAvailability - изменяет наличие лекарства в базе
func (*MedPostgres) GetAllMedicamentsWithSub ¶
func (m *MedPostgres) GetAllMedicamentsWithSub() ([]int, error)
GetAllMedicamentsWithSub - Находит все лекарства, на которые подписаны пользователи и возварщает слайс с их id
func (*MedPostgres) GetAvailability ¶
func (m *MedPostgres) GetAvailability(medicamentID int) (bool, error)
GetAvailability - проверяет наличие лекарства записаное в базе
func (*MedPostgres) GetID ¶
func (m *MedPostgres) GetID(medTitle string) (int, error)
GetMedID - находит id необхомодимого лекартсва
func (*MedPostgres) GetSubscribers ¶
func (m *MedPostgres) GetSubscribers(medicamentID int) ([]int, error)
GetSubscribers - находит пользователей подписанных на определенное лекарство, id которого принимается на вход, и возвращает слайс с id этих пользователей
func (*MedPostgres) GetTitle ¶
func (m *MedPostgres) GetTitle(medicamentID int) (string, error)
GetMedTitle - находит название лекарства по его id
func (*MedPostgres) GetTrueName ¶
func (m *MedPostgres) GetTrueName(medName string) (string, error)
GetTrueName - выводит правильное название лекарства, если пользователь ввел название с опечатками.
Данная функция используется в связке с IsMedExist.
IsMedExist - проверяет существования лекарства, а данная функция выдает правильное название, для дальнешей работы с Гос. Услугами
func (*MedPostgres) InitMedList ¶
func (m *MedPostgres) InitMedList(medLines []string) error
InitMedList - инициализирует список льготных лекарств в базе данных
func (*MedPostgres) IsExist ¶
func (m *MedPostgres) IsExist(medName string) (bool, error)
IsExist - проверяет существует ли такое лекарство в нашей базе
func (*MedPostgres) IsMedListExist ¶
func (m *MedPostgres) IsMedListExist() (bool, error)
IsMedListExist - проверяет заполнена ли таблица medicament. Служит для того что бы не пытаться каждый раз заполнять бд значениями из файла drugs.txt
type Medicaments ¶
type Medicaments interface { IsExist(medName string) (bool, error) GetTrueName(medName string) (string, error) GetID(medTitle string) (int, error) GetTitle(medicamentID int) (string, error) InitMedList(medLines []string) error IsMedListExist() (bool, error) AreTheAnySubscriptions() (bool, error) GetAllMedicamentsWithSub() ([]int, error) GetAvailability(medicamentID int) (bool, error) ChangeAvailability(medicamentID int, value bool) error GetSubscribers(medicamentID int) ([]int, error) }
type Repository ¶
type Repository struct { Users Medicaments }
func NewRepository ¶
func NewRepository(db *sqlx.DB) *Repository
type UserPostgres ¶
type UserPostgres struct {
// contains filtered or unexported fields
}
func NewUserPostgres ¶
func NewUserPostgres(db *sqlx.DB) *UserPostgres
func (*UserPostgres) ChangeSelectedMed ¶
func (u *UserPostgres) ChangeSelectedMed(medicamentID, tguserID int) error
ChangeSelectedMed - меняет выбранное пользователем лекарство
func (*UserPostgres) ChangeState ¶
func (u *UserPostgres) ChangeState(tguserID int, state string) error
ChangeState - изменяет состояние пользователя
func (*UserPostgres) Check ¶
func (u *UserPostgres) Check(tguserID int) (bool, error)
Check - проверяет наличие пользователя в базе
func (*UserPostgres) Create ¶
func (u *UserPostgres) Create(tguserID int, chatID int64) error
Create - создает нового польователя
func (*UserPostgres) GetChatID ¶
func (u *UserPostgres) GetChatID(tguserID int) (int, error)
GetChatID - находит пользователя и возвращает его chatID
func (*UserPostgres) GetSelectedMed ¶
func (u *UserPostgres) GetSelectedMed(tguserID int) (int, error)
GetSelectedMed - получает id лекарства выбранного пользователем в данный момент
func (*UserPostgres) GetState ¶
func (u *UserPostgres) GetState(tguserID int) (string, error)
GetState - проверяет состояние пользователя
func (*UserPostgres) GetSubscriptions ¶
func (u *UserPostgres) GetSubscriptions(tguserID int) ([][]string, error)
GetSubscriptions - находит все подписки пользователя и возвращает [][]string, где [[id title] [id title] [id title]]
func (*UserPostgres) IsHasSubsriptions ¶
func (u *UserPostgres) IsHasSubsriptions(tguserID int) (bool, error)
IsHasSubsriptions - проверяет наличие у пользователя подписок на лекарства и, если у него есть хоть одна подписка, возвращает true.
func (*UserPostgres) IsSubToThisMed ¶
func (u *UserPostgres) IsSubToThisMed(tguserID int, medicamentID int) (bool, error)
IsSubToThisMed - проверяет подписан ли пользователь на данное лекарство
func (*UserPostgres) Subscribe ¶
func (u *UserPostgres) Subscribe(tguserID int, medicamentID int) error
func (*UserPostgres) Unsubscribe ¶
func (u *UserPostgres) Unsubscribe(tguserID int, medicamentID int) error
Unsubscribe - отменяет у пользьователя подписку на лекарство
type Users ¶
type Users interface { Create(tguserID int, chatID int64) error Check(tguserID int) (bool, error) GetState(tguserID int) (string, error) ChangeState(tguserID int, state string) error GetChatID(tguserID int) (int, error) IsHasSubsriptions(tguserID int) (bool, error) GetSelectedMed(tguserID int) (int, error) ChangeSelectedMed(medicamentID, tguserID int) error IsSubToThisMed(tguserID int, medicamentID int) (bool, error) GetSubscriptions(tguserID int) ([][]string, error) Subscribe(tguserID int, medicamentID int) error Unsubscribe(tguserID int, medicamentID int) error }