parent
2a76dc3ac8
commit
f38dc3b1f1
@ -1,60 +1,107 @@
|
||||
package controller
|
||||
|
||||
import (
|
||||
"Open_IM/pkg/common/db/cache"
|
||||
"Open_IM/pkg/common/db/relation"
|
||||
"context"
|
||||
"errors"
|
||||
"gorm.io/gorm"
|
||||
)
|
||||
|
||||
type FriendModel struct {
|
||||
db *relation.Friend
|
||||
cache *cache.GroupCache
|
||||
type FriendInterface interface {
|
||||
Create(ctx context.Context, friends []*relation.Friend) (err error)
|
||||
Delete(ctx context.Context, ownerUserID string, friendUserIDs string) (err error)
|
||||
UpdateByMap(ctx context.Context, ownerUserID string, args map[string]interface{}) (err error)
|
||||
Update(ctx context.Context, friends []*relation.Friend) (err error)
|
||||
UpdateRemark(ctx context.Context, ownerUserID, friendUserID, remark string) (err error)
|
||||
FindOwnerUserID(ctx context.Context, ownerUserID string) (friends []*relation.Friend, err error)
|
||||
FindFriendUserID(ctx context.Context, friendUserID string) (friends []*relation.Friend, err error)
|
||||
Take(ctx context.Context, ownerUserID, friendUserID string) (friend *relation.Friend, err error)
|
||||
FindUserState(ctx context.Context, userID1, userID2 string) (friends []*relation.Friend, err error)
|
||||
}
|
||||
|
||||
func (f *FriendModel) Create(ctx context.Context, friends []*relation.Friend) (err error) {
|
||||
return f.db.Create(ctx, friends)
|
||||
type FriendController struct {
|
||||
database FriendDatabaseInterface
|
||||
}
|
||||
|
||||
func (f *FriendModel) Delete(ctx context.Context, ownerUserID string, friendUserIDs string) (err error) {
|
||||
return f.db.Delete(ctx, ownerUserID, friendUserIDs)
|
||||
func NewFriendController(db *gorm.DB) *FriendController {
|
||||
return &FriendController{database: NewFriendDatabase(db)}
|
||||
}
|
||||
|
||||
func (f *FriendModel) UpdateByMap(ctx context.Context, ownerUserID string, args map[string]interface{}) (err error) {
|
||||
return f.db.UpdateByMap(ctx, ownerUserID, args)
|
||||
func (f *FriendController) Create(ctx context.Context, friends []*relation.Friend) (err error) {
|
||||
return f.database.Create(ctx, friends)
|
||||
}
|
||||
|
||||
func (f *FriendModel) Update(ctx context.Context, friends []*relation.Friend) (err error) {
|
||||
return f.db.Update(ctx, friends)
|
||||
func (f *FriendController) Delete(ctx context.Context, ownerUserID string, friendUserIDs string) (err error) {
|
||||
return f.database.Delete(ctx, ownerUserID, friendUserIDs)
|
||||
}
|
||||
|
||||
func (f *FriendModel) UpdateRemark(ctx context.Context, ownerUserID, friendUserID, remark string) (err error) {
|
||||
return f.db.UpdateRemark(ctx, ownerUserID, friendUserID, remark)
|
||||
func (f *FriendController) UpdateByMap(ctx context.Context, ownerUserID string, args map[string]interface{}) (err error) {
|
||||
return f.database.UpdateByMap(ctx, ownerUserID, args)
|
||||
}
|
||||
|
||||
func (f *FriendModel) FindOwnerUserID(ctx context.Context, ownerUserID string) (friends []*relation.Friend, err error) {
|
||||
return f.db.FindOwnerUserID(ctx, ownerUserID)
|
||||
func (f *FriendController) Update(ctx context.Context, friends []*relation.Friend) (err error) {
|
||||
return f.database.Update(ctx, friends)
|
||||
}
|
||||
|
||||
func (f *FriendModel) FindFriendUserID(ctx context.Context, friendUserID string) (friends []*relation.Friend, err error) {
|
||||
return f.db.FindFriendUserID(ctx, friendUserID)
|
||||
func (f *FriendController) UpdateRemark(ctx context.Context, ownerUserID, friendUserID, remark string) (err error) {
|
||||
return f.database.UpdateRemark(ctx, ownerUserID, friendUserID, remark)
|
||||
}
|
||||
func (f *FriendController) FindOwnerUserID(ctx context.Context, ownerUserID string) (friends []*relation.Friend, err error) {
|
||||
return f.database.FindOwnerUserID(ctx, ownerUserID)
|
||||
}
|
||||
func (f *FriendController) FindFriendUserID(ctx context.Context, friendUserID string) (friends []*relation.Friend, err error) {
|
||||
return f.database.FindFriendUserID(ctx, friendUserID)
|
||||
}
|
||||
func (f *FriendController) Take(ctx context.Context, ownerUserID, friendUserID string) (friend *relation.Friend, err error) {
|
||||
return f.database.Take(ctx, ownerUserID, friendUserID)
|
||||
}
|
||||
func (f *FriendController) FindUserState(ctx context.Context, userID1, userID2 string) (friends []*relation.Friend, err error) {
|
||||
return f.database.FindUserState(ctx, userID1, userID2)
|
||||
}
|
||||
|
||||
func (f *FriendModel) Take(ctx context.Context, ownerUserID, friendUserID string) (friend *relation.Friend, err error) {
|
||||
return f.db.Take(ctx, ownerUserID, friendUserID)
|
||||
type FriendDatabaseInterface interface {
|
||||
Create(ctx context.Context, friends []*relation.Friend) (err error)
|
||||
Delete(ctx context.Context, ownerUserID string, friendUserIDs string) (err error)
|
||||
UpdateByMap(ctx context.Context, ownerUserID string, args map[string]interface{}) (err error)
|
||||
Update(ctx context.Context, friends []*relation.Friend) (err error)
|
||||
UpdateRemark(ctx context.Context, ownerUserID, friendUserID, remark string) (err error)
|
||||
FindOwnerUserID(ctx context.Context, ownerUserID string) (friends []*relation.Friend, err error)
|
||||
FindFriendUserID(ctx context.Context, friendUserID string) (friends []*relation.Friend, err error)
|
||||
Take(ctx context.Context, ownerUserID, friendUserID string) (friend *relation.Friend, err error)
|
||||
FindUserState(ctx context.Context, userID1, userID2 string) (friends []*relation.Friend, err error)
|
||||
}
|
||||
|
||||
func (f *FriendModel) FindUserState(ctx context.Context, userID1, userID2 string) (friends []*relation.Friend, err error) {
|
||||
return f.db.FindUserState(ctx, userID1, userID2)
|
||||
type FriendDatabase struct {
|
||||
sqlDB *relation.Friend
|
||||
}
|
||||
|
||||
func (f *FriendModel) IsExist(ctx context.Context, ownerUserID, friendUserID string) (bool, error) {
|
||||
if _, err := f.Take(ctx, ownerUserID, friendUserID); err == nil {
|
||||
return true, nil
|
||||
} else if errors.Is(err, gorm.ErrRecordNotFound) {
|
||||
return false, nil
|
||||
} else {
|
||||
return false, err
|
||||
func NewFriendDatabase(db *gorm.DB) *FriendDatabase {
|
||||
sqlDB := relation.NewFriendDB(db)
|
||||
database := &FriendDatabase{
|
||||
sqlDB: sqlDB,
|
||||
}
|
||||
return database
|
||||
}
|
||||
|
||||
func (f *FriendDatabase) Create(ctx context.Context, friends []*relation.Friend) (err error) {
|
||||
return f.sqlDB.Create(ctx, friends)
|
||||
}
|
||||
func (f *FriendDatabase) Delete(ctx context.Context, ownerUserID string, friendUserIDs string) (err error) {
|
||||
return f.sqlDB.Delete(ctx, ownerUserID, friendUserIDs)
|
||||
}
|
||||
func (f *FriendDatabase) UpdateByMap(ctx context.Context, ownerUserID string, args map[string]interface{}) (err error) {
|
||||
return f.sqlDB.UpdateByMap(ctx, ownerUserID, args)
|
||||
}
|
||||
func (f *FriendDatabase) Update(ctx context.Context, friends []*relation.Friend) (err error) {
|
||||
return f.sqlDB.Update(ctx, friends)
|
||||
}
|
||||
func (f *FriendDatabase) UpdateRemark(ctx context.Context, ownerUserID, friendUserID, remark string) (err error) {
|
||||
return f.sqlDB.UpdateRemark(ctx, ownerUserID, friendUserID, remark)
|
||||
}
|
||||
func (f *FriendDatabase) FindOwnerUserID(ctx context.Context, ownerUserID string) (friends []*relation.Friend, err error) {
|
||||
return f.sqlDB.FindOwnerUserID(ctx, ownerUserID)
|
||||
}
|
||||
func (f *FriendDatabase) FindFriendUserID(ctx context.Context, friendUserID string) (friends []*relation.Friend, err error) {
|
||||
return f.sqlDB.FindFriendUserID(ctx, friendUserID)
|
||||
}
|
||||
func (f *FriendDatabase) Take(ctx context.Context, ownerUserID, friendUserID string) (friend *relation.Friend, err error) {
|
||||
return f.sqlDB.Take(ctx, ownerUserID, friendUserID)
|
||||
}
|
||||
func (f *FriendDatabase) FindUserState(ctx context.Context, userID1, userID2 string) (friends []*relation.Friend, err error) {
|
||||
return f.sqlDB.FindUserState(ctx, userID1, userID2)
|
||||
}
|
||||
|
Loading…
Reference in new issue