tx

package
v0.0.0-...-b89eba7 Latest Latest
Warning

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

Go to latest
Published: Sep 26, 2022 License: MIT Imports: 11 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	ErrAccountOverNum     = errors.New("账户数量超过限制")
	ErrAccountNameExists  = errors.New("账户名已存在")
	ErrAccountGroupLeader = errors.New("账户是群主")
)
View Source
var ErrApplicationExists = errors.New("申请已存在")

Functions

This section is empty.

Types

type SqlStore

type SqlStore struct {
	*db.Queries
	DB *pgxpool.Pool
}

func (*SqlStore) AcceptApplicationTx

func (store *SqlStore) AcceptApplicationTx(c context.Context, rdb *query.Queries, account1, account2 *db.GetAccountByIDRow) (*db.Message, error)

AcceptApplicationTx 接受申请并建立好友关系和双方关系设置并添加到redis

func (*SqlStore) AddSettingWithTx

func (store *SqlStore) AddSettingWithTx(c context.Context, rdb *query.Queries, relationID, accountID int64, isLeader bool) error

AddSettingWithTx 向数据库和redis中同时添加群员

func (*SqlStore) CreateAccountWithTx

func (store *SqlStore) CreateAccountWithTx(c context.Context, rdb *query.Queries, maxAccountNum int32, arg *db.CreateAccountParams) error

CreateAccountWithTx 检查数量,账户名后创建账户并建立和自己的关系

func (*SqlStore) CreateApplicationTx

func (store *SqlStore) CreateApplicationTx(c context.Context, arg *db.CreateApplicationParams) error

CreateApplicationTx 使用事务先判断是否存在申请,不存在则创建申请

func (*SqlStore) DeleteAccountWithTx

func (store *SqlStore) DeleteAccountWithTx(c context.Context, rdb *query.Queries, accountID int64) error

DeleteAccountWithTx 删除账户并删除与之相关的关系

func (*SqlStore) DeleteRelationWithTx

func (store *SqlStore) DeleteRelationWithTx(c context.Context, rdb *query.Queries, relationID int64) error

DeleteRelationWithTx 从数据库中删除关系并删除redis中的关系

func (*SqlStore) DeleteSettingWithTx

func (store *SqlStore) DeleteSettingWithTx(c context.Context, rdb *query.Queries, relationID int64, accountID int64) error

DeleteSettingWithTx 向数据库和redis中同时删除群员

func (*SqlStore) DissolveGroup

func (store *SqlStore) DissolveGroup(c context.Context, relationID int64) error

DissolveGroup 删除群关系并删除所有群员

func (*SqlStore) RevokeMsgWithTx

func (store *SqlStore) RevokeMsgWithTx(c context.Context, msgID int64, isTop, isPin bool) error

RevokeMsgWithTx 撤回消息,如果消息置顶或pin则统统取消

func (*SqlStore) TransferGroup

func (store *SqlStore) TransferGroup(c context.Context, relationID int64, fID int64, tID int64) error

TransferGroup 转让群

func (*SqlStore) UpdateMsgTopTrueByMsgIDWithTx

func (store *SqlStore) UpdateMsgTopTrueByMsgIDWithTx(c context.Context, relationID, msgID int64) error

UpdateMsgTopTrueByMsgIDWithTx 更新此消息置顶(会删除其他置顶)

func (*SqlStore) UploadAccountAvatar

func (store *SqlStore) UploadAccountAvatar(c context.Context, accountID int64, url, key string) error

UploadAccountAvatar 更新用户头像

func (*SqlStore) UploadGroupAvatar

func (store *SqlStore) UploadGroupAvatar(c context.Context, arg db.CreateFileParams) error

UploadGroupAvatar 创建群组头像文件

type TXer

type TXer interface {
	// CreateApplicationTx 先判断是否存在申请,不存在则创建申请
	CreateApplicationTx(c context.Context, arg *db.CreateApplicationParams) error
	// AcceptApplicationTx account1接受account2申请并建立好友关系和双方的关系设置同时发送消息通知并添加到redis
	AcceptApplicationTx(c context.Context, rdb *query.Queries, account1, account2 *db.GetAccountByIDRow) (*db.Message, error)
	// CreateAccountWithTx 创建账户并建立和自己的关系
	CreateAccountWithTx(c context.Context, rdb *query.Queries, maxAccountNum int32, arg *db.CreateAccountParams) error
	// DeleteAccountWithTx 删除账户并删除与之相关的好友关系
	DeleteAccountWithTx(c context.Context, rdb *query.Queries, accountID int64) error
	// UploadGroupAvatar 创建群组头像文件
	UploadGroupAvatar(c context.Context, arg db.CreateFileParams) error
	// UploadAccountAvatar 更新用户头像
	UploadAccountAvatar(c context.Context, accountID int64, url, key string) error
	// DissolveGroup 删除群关系并删除所有群员
	DissolveGroup(c context.Context, relationID int64) error
	// UpdateMsgTopTrueByMsgIDWithTx 更新此消息置顶(会删除其他置顶)
	UpdateMsgTopTrueByMsgIDWithTx(c context.Context, relationID, msgID int64) error
	// RevokeMsgWithTx 撤回消息,如果消息置顶或pin则统统取消
	RevokeMsgWithTx(c context.Context, msgID int64, isTop, isPin bool) error
	// DeleteRelationWithTx 从数据库中删除关系并删除redis中的关系
	DeleteRelationWithTx(c context.Context, rdb *query.Queries, relationID int64) error
	// AddSettingWithTx 向数据库和redis中同时添加群员
	AddSettingWithTx(c context.Context, rdb *query.Queries, relationID, accountID int64, isLeader bool) error
	// DeleteSettingWithTx 向数据库和redis中同时删除群员
	DeleteSettingWithTx(c context.Context, rdb *query.Queries, relationID int64, accountID int64) error
	// TransferGroup 转让群
	TransferGroup(c context.Context, relationID int64, fID int64, tID int64) error
}

Jump to

Keyboard shortcuts

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