mirror of
https://github.com/superseriousbusiness/gotosocial.git
synced 2025-10-29 14:52:26 -05:00
[feature] Add list command to admin account (#1648)
* [feature] Add list command to admin account Relates to: #388 * Print booleans as yes/no too
This commit is contained in:
parent
9e1756ce8b
commit
7d09863393
5 changed files with 81 additions and 0 deletions
|
|
@ -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.
|
||||
|
|
|
|||
|
|
@ -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)
|
||||
|
|
|
|||
|
|
@ -25,6 +25,8 @@ import (
|
|||
|
||||
// User contains functions related to user getting/setting/creation.
|
||||
type User interface {
|
||||
// GetAllUsers returns all local user accounts, or an error if something goes wrong.
|
||||
GetAllUsers(ctx context.Context) ([]*gtsmodel.User, Error)
|
||||
// GetUserByID returns one user with the given ID, or an error if something goes wrong.
|
||||
GetUserByID(ctx context.Context, id string) (*gtsmodel.User, Error)
|
||||
// GetUserByAccountID returns one user by its account ID, or an error if something goes wrong.
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue