mirror of
https://github.com/openimsdk/open-im-server.git
synced 2026-05-03 16:45:59 +08:00
Merge remote-tracking branch 'origin/errcode' into errcode
This commit is contained in:
@@ -1,24 +1,69 @@
|
||||
package controller
|
||||
|
||||
import (
|
||||
"Open_IM/pkg/common/db/mysql"
|
||||
"Open_IM/pkg/common/db/relation"
|
||||
"context"
|
||||
"gorm.io/gorm"
|
||||
)
|
||||
|
||||
type UserModel struct {
|
||||
db *relation.User
|
||||
type UserInterface interface {
|
||||
Find(ctx context.Context, userIDs []string) (users []*relation.User, err error)
|
||||
Create(ctx context.Context, users []*relation.User) error
|
||||
Take(ctx context.Context, userID string) (user *relation.User, err error)
|
||||
Update(ctx context.Context, users []*relation.User) (err error)
|
||||
}
|
||||
|
||||
func NewGroupUser(ctx context.Context) *UserModel {
|
||||
var userModel UserModel
|
||||
userModel.db = relation.NewUserDB()
|
||||
return &userModel
|
||||
type UserController struct {
|
||||
database UserDatabaseInterface
|
||||
}
|
||||
|
||||
func (u *UserModel) Find(ctx context.Context, userIDs []string) (users []*relation.User, err error) {
|
||||
return u.db.Find(ctx, userIDs)
|
||||
func (u *UserController) Find(ctx context.Context, userIDs []string) (users []*relation.User, err error) {
|
||||
return u.database.Find(ctx, userIDs)
|
||||
}
|
||||
func (u *UserController) Create(ctx context.Context, users []*relation.User) error {
|
||||
return u.database.Create(ctx, users)
|
||||
}
|
||||
func (u *UserController) Take(ctx context.Context, userID string) (user *relation.User, err error) {
|
||||
return u.database.Take(ctx, userID)
|
||||
}
|
||||
func (u *UserController) Update(ctx context.Context, users []*relation.User) (err error) {
|
||||
return u.database.Update(ctx, users)
|
||||
}
|
||||
|
||||
func (u *UserModel) Create(ctx context.Context, users []*relation.User) error {
|
||||
return u.db.Create(ctx, users)
|
||||
func NewUserController(db *gorm.DB) UserInterface {
|
||||
controller := &UserController{database: newUserDatabase(db)}
|
||||
return controller
|
||||
}
|
||||
|
||||
type UserDatabaseInterface interface {
|
||||
Find(ctx context.Context, userIDs []string) (users []*relation.User, err error)
|
||||
Create(ctx context.Context, users []*relation.User) error
|
||||
Take(ctx context.Context, userID string) (user *relation.User, err error)
|
||||
Update(ctx context.Context, users []*relation.User) (err error)
|
||||
}
|
||||
|
||||
type UserDatabase struct {
|
||||
sqlDB *relation.User
|
||||
}
|
||||
|
||||
func newUserDatabase(db *gorm.DB) UserDatabaseInterface {
|
||||
sqlDB := relation.NewUserDB(db)
|
||||
database := &UserDatabase{
|
||||
sqlDB: sqlDB,
|
||||
}
|
||||
return database
|
||||
}
|
||||
|
||||
func (u *UserDatabase) Find(ctx context.Context, userIDs []string) (users []*relation.User, err error) {
|
||||
return u.sqlDB.Find(ctx, userIDs)
|
||||
}
|
||||
|
||||
func (u *UserDatabase) Create(ctx context.Context, users []*relation.User) error {
|
||||
return u.sqlDB.Create(ctx, users)
|
||||
}
|
||||
func (u *UserDatabase) Take(ctx context.Context, userID string) (user *relation.User, err error) {
|
||||
return u.sqlDB.Take(ctx, userID)
|
||||
}
|
||||
func (u *UserDatabase) Update(ctx context.Context, users []*relation.User) (err error) {
|
||||
return u.sqlDB.Update(ctx, users)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user