store

package
v0.0.0-...-a167b32 Latest Latest
Warning

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

Go to latest
Published: Jun 12, 2023 License: MIT Imports: 14 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	// ErrNotFound is error that record not found
	ErrNotFound = errors.New("record not found")
)

Functions

func Exec

func Exec(ctx context.Context, db Executor, query string, args ...interface{}) (pgconn.CommandTag, error)

Exec executes query

func Execx

func Execx(ctx context.Context, db Executor, sqlizer sq.Sqlizer) (pgconn.CommandTag, error)

Execx executes query with squirrel.Sqlizer

func Get

func Get(ctx context.Context, db Querier, dst interface{}, query string, args ...interface{}) error

Get executes get query

func Getx

func Getx(ctx context.Context, db Querier, dst interface{}, sqlizer sq.Sqlizer) error

Getx executes get query with squirrel.Sqlizer

func Select

func Select(ctx context.Context, db pgxscan.Querier, dst interface{}, query string, args ...interface{}) error

Select executes select query

func Selectx

func Selectx(ctx context.Context, db pgxscan.Querier, dst interface{}, sqlizer sq.Sqlizer) error

Selectx executes select query with squirrel.Sqlizer

Types

type Executor

type Executor interface {
	Exec(ctx context.Context, sql string, arguments ...any) (pgconn.CommandTag, error)
}

Executor can execute sql query

type Querier

type Querier interface {
	Query(ctx context.Context, query string, args ...interface{}) (pgx.Rows, error)
}

Querier can execute sql query and get the pgx.Rows

type Storage

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

func New

func New(ctx context.Context) (*Storage, error)

func (*Storage) Close

func (s *Storage) Close()

func (*Storage) CreateAIAPILog

func (s *Storage) CreateAIAPILog(ctx context.Context, record *model.AIAPILog) error

CreateAIAPILog creates model.AIAPILogs

func (*Storage) CreateAuthDataTx

func (s *Storage) CreateAuthDataTx(ctx context.Context, tx Tx, record *model.AuthData) error

CreateAuthDataTx creates model.AuthData in transaction

func (*Storage) CreateChatBotDialog

func (s *Storage) CreateChatBotDialog(ctx context.Context, record *model.ChatBotDialog) error

CreateChatBotDialog creates model.ChatBotDialog

func (*Storage) CreateNutritionist

func (s *Storage) CreateNutritionist(ctx context.Context, record *model.Nutritionist) error

CreateNutritionist creates model.Nutritionist

func (*Storage) CreateUser

func (s *Storage) CreateUser(ctx context.Context, record *model.User) error

CreateUser creates model.User

func (*Storage) CreateUserTx

func (s *Storage) CreateUserTx(ctx context.Context, tx Tx, record *model.User) error

CreateUserTx creates model.User in transaction

func (*Storage) GetAuthDataBySourceIDAndType

func (s *Storage) GetAuthDataBySourceIDAndType(
	ctx context.Context,
	sourceID uuid.UUID,
	sourceType model.AuthDataSourceType,
) (*model.AuthData, error)

GetAuthDataBySourceIDAndType gets model.AuthData by source_id, source_type

func (*Storage) GetChatBotDialogByKeyFields

func (s *Storage) GetChatBotDialogByKeyFields(
	ctx context.Context, userTelegramID int64,
	kind model.ChatBotDialogKind, status model.ChatBotDialogStatus,
) (*model.ChatBotDialog, error)

GetChatBotDialogByKeyFields gets last model.ChatBotDialog by user_telegram_id, kind, status

func (*Storage) GetNutritionistByID

func (s *Storage) GetNutritionistByID(ctx context.Context, id uuid.UUID) (*model.Nutritionist, error)

GetNutritionistByID gets model.Nutritionist by id

func (*Storage) GetUserByEmail

func (s *Storage) GetUserByEmail(ctx context.Context, email string) (*model.User, error)

GetUserByEmail gets model.User by email

func (*Storage) GetUserByID

func (s *Storage) GetUserByID(ctx context.Context, id uuid.UUID) (*model.User, error)

GetUserByID gets model.User by id

func (*Storage) GetUserByTelegramID

func (s *Storage) GetUserByTelegramID(ctx context.Context, telegramID int64) (*model.User, error)

GetUserByTelegramID gets model.User by telegram_id

func (*Storage) UpdateAIAPILog

func (s *Storage) UpdateAIAPILog(ctx context.Context, record *model.AIAPILog) error

UpdateAIAPILog updates model.AIAPILog

func (*Storage) UpdateAuthDataPassword

func (s *Storage) UpdateAuthDataPassword(ctx context.Context, record *model.AuthData) error

UpdateAuthDataPassword updates password in model.AuthData

func (*Storage) UpdateChatBotDialog

func (s *Storage) UpdateChatBotDialog(ctx context.Context, record *model.ChatBotDialog) error

UpdateChatBotDialog updates model.ChatBotDialog

func (*Storage) UpdateChatBotDialogStatusTx

func (s *Storage) UpdateChatBotDialogStatusTx(ctx context.Context, tx Tx, status model.ChatBotDialogStatus, id uuid.UUID) error

UpdateChatBotDialogStatusTx updates status for model.ChatBotDialog in transaction

func (*Storage) UpdateNutritionist

func (s *Storage) UpdateNutritionist(ctx context.Context, record *model.Nutritionist) error

UpdateNutritionist updates model.Nutritionist

func (*Storage) UpdateUser

func (s *Storage) UpdateUser(ctx context.Context, record *model.User) error

UpdateUser updates model.User

func (*Storage) WithTransaction

func (s *Storage) WithTransaction(ctx context.Context, fn func(tx Tx) error) (err error)

WithTransaction executes function in transaction with default isolation level

func (*Storage) WithTx

func (s *Storage) WithTx(ctx context.Context, options pgx.TxOptions, fn func(tx Tx) error) (err error)

WithTx executes function in transaction

type Tx

type Tx pgx.Tx

Tx is pgx transaction interface

Jump to

Keyboard shortcuts

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