repository

package
v0.0.0-...-dbbcad5 Latest Latest
Warning

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

Go to latest
Published: Jun 10, 2021 License: GPL-3.0 Imports: 4 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func NewPostgreDB

func NewPostgreDB(cfg *config.Config) (*sqlx.DB, error)

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
}

Jump to

Keyboard shortcuts

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