mirror of
https://github.com/gravitl/netmaker.git
synced 2025-09-06 05:04:27 +08:00
feat(go): add access token count to ReturnUser model;
This commit is contained in:
parent
7b970cbbb3
commit
8971ecd2e9
4 changed files with 25 additions and 0 deletions
|
@ -1,9 +1,11 @@
|
|||
package controller
|
||||
|
||||
import (
|
||||
"context"
|
||||
"encoding/json"
|
||||
"errors"
|
||||
"fmt"
|
||||
"github.com/gravitl/netmaker/db"
|
||||
"net/http"
|
||||
"reflect"
|
||||
"time"
|
||||
|
@ -584,6 +586,18 @@ func getUsers(w http.ResponseWriter, r *http.Request) {
|
|||
return
|
||||
}
|
||||
|
||||
for i, user := range users {
|
||||
// only setting num_access_tokens here, because only UI needs it.
|
||||
user.NumAccessTokens, err = (&schema.UserAccessToken{
|
||||
UserName: user.UserName,
|
||||
}).CountByUser(db.WithContext(context.TODO()))
|
||||
if err != nil {
|
||||
continue
|
||||
}
|
||||
|
||||
users[i] = user
|
||||
}
|
||||
|
||||
logic.SortUsers(users[:])
|
||||
logger.Log(2, r.Header.Get("user"), "fetched users")
|
||||
json.NewEncoder(w).Encode(users)
|
||||
|
|
|
@ -106,6 +106,7 @@ func GetUsers() ([]models.ReturnUser, error) {
|
|||
if err != nil {
|
||||
continue // get users
|
||||
}
|
||||
|
||||
users = append(users, user)
|
||||
}
|
||||
|
||||
|
|
|
@ -190,6 +190,7 @@ type ReturnUser struct {
|
|||
PlatformRoleID UserRoleID `json:"platform_role_id"`
|
||||
NetworkRoles map[NetworkID]map[UserRoleID]struct{} `json:"network_roles"`
|
||||
LastLoginTime time.Time `json:"last_login_time"`
|
||||
NumAccessTokens int `json:"num_access_tokens"`
|
||||
}
|
||||
|
||||
// UserAuthParams - user auth params struct
|
||||
|
|
|
@ -43,6 +43,15 @@ func (a *UserAccessToken) ListByUser(ctx context.Context) (ats []UserAccessToken
|
|||
return
|
||||
}
|
||||
|
||||
func (a *UserAccessToken) CountByUser(ctx context.Context) (int, error) {
|
||||
var count int64
|
||||
err := db.FromContext(ctx).Model(&UserAccessToken{}).
|
||||
Where("user_name = ?", a.UserName).
|
||||
Count(&count).
|
||||
Error
|
||||
return int(count), err
|
||||
}
|
||||
|
||||
func (a *UserAccessToken) Delete(ctx context.Context) error {
|
||||
return db.FromContext(ctx).Model(&UserAccessToken{}).Where("id = ?", a.ID).Delete(&a).Error
|
||||
}
|
||||
|
|
Loading…
Add table
Reference in a new issue