diff options
Diffstat (limited to 'internal/db/bundb')
| -rw-r--r-- | internal/db/bundb/user.go | 14 | ||||
| -rw-r--r-- | internal/db/bundb/user_test.go | 6 | 
2 files changed, 20 insertions, 0 deletions
| diff --git a/internal/db/bundb/user.go b/internal/db/bundb/user.go index 68fdb0652..b5dae1573 100644 --- a/internal/db/bundb/user.go +++ b/internal/db/bundb/user.go @@ -122,6 +122,20 @@ func (u *userDB) GetUserByConfirmationToken(ctx context.Context, confirmationTok  	}, confirmationToken)  } +func (u *userDB) GetAllUsers(ctx context.Context) ([]*gtsmodel.User, db.Error) { +	var users []*gtsmodel.User +	q := u.conn. +		NewSelect(). +		Model(&users). +		Relation("Account") + +	if err := q.Scan(ctx); err != nil { +		return nil, u.conn.ProcessError(err) +	} + +	return users, nil +} +  func (u *userDB) PutUser(ctx context.Context, user *gtsmodel.User) db.Error {  	return u.state.Caches.GTS.User().Store(user, func() error {  		_, err := u.conn. diff --git a/internal/db/bundb/user_test.go b/internal/db/bundb/user_test.go index f2ce434c1..870a1af91 100644 --- a/internal/db/bundb/user_test.go +++ b/internal/db/bundb/user_test.go @@ -29,6 +29,12 @@ type UserTestSuite struct {  	BunDBStandardTestSuite  } +func (suite *UserTestSuite) TestGetAllUsers() { +	users, err := suite.db.GetAllUsers(context.Background()) +	suite.NoError(err) +	suite.Len(users, len(suite.testUsers)) +} +  func (suite *UserTestSuite) TestGetUser() {  	user, err := suite.db.GetUserByID(context.Background(), suite.testUsers["local_account_1"].ID)  	suite.NoError(err) | 
