generated from VLADIMIR/template
add full auth
This commit is contained in:
@@ -1,5 +1,7 @@
|
||||
package repos
|
||||
|
||||
import "time"
|
||||
|
||||
type User struct {
|
||||
ID int
|
||||
Username string
|
||||
@@ -7,4 +9,5 @@ type User struct {
|
||||
PasswordHash string
|
||||
Roles []string
|
||||
IsActive bool
|
||||
CreatedAt time.Time
|
||||
}
|
||||
|
||||
@@ -137,3 +137,41 @@ func (s *UsersRepo) GetUserByID(
|
||||
|
||||
return user, nil
|
||||
}
|
||||
|
||||
func (s *UsersRepo) GetUsers(
|
||||
ctx context.Context,
|
||||
) ([]*repos.User, error) {
|
||||
rows, err := s.pool.Query(
|
||||
ctx,
|
||||
`SELECT id, username, email, roles, is_active, created_at
|
||||
FROM users
|
||||
ORDER BY created_at DESC`,
|
||||
)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
defer rows.Close()
|
||||
|
||||
var users []*repos.User
|
||||
for rows.Next() {
|
||||
user := &repos.User{}
|
||||
err := rows.Scan(
|
||||
&user.ID,
|
||||
&user.Username,
|
||||
&user.Email,
|
||||
&user.Roles,
|
||||
&user.IsActive,
|
||||
&user.CreatedAt,
|
||||
)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
users = append(users, user)
|
||||
}
|
||||
|
||||
if err := rows.Err(); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
return users, nil
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user