diff options
author | Stephen Kiers <stephen@stephenkiers.com> | 2018-03-09 05:48:30 -0700 |
---|---|---|
committer | Joram Wilander <jwawilander@gmail.com> | 2018-03-09 07:48:30 -0500 |
commit | 302dae5bb982aad14324a4df61a018557f3dd24e (patch) | |
tree | 8e1b8b52b3c717dd90ade42ad6dd1e3a265d9903 /app/user.go | |
parent | 31532f7feb4055f42538e23d48d4f0c941609db1 (diff) | |
download | chat-302dae5bb982aad14324a4df61a018557f3dd24e.tar.gz chat-302dae5bb982aad14324a4df61a018557f3dd24e.tar.bz2 chat-302dae5bb982aad14324a4df61a018557f3dd24e.zip |
MM-9274- Sort Users in Channel by status (#8181)
* sort by lastActivity
* added status ordering to Users
* sort offline before dnd
* remove data not needed
* added seperate call for when order=‘status’ is on GetUser request
* remove PrintLn
* styling fix
* remove mistake
* mistake 2
* better comment
* explicit if statemnt
* writing tests
* removed manually added mocks
* generated mock
* ICU-668 Added unit tests
* style fix
* sort by lastActivity
* added status ordering to Users
* sort offline before dnd
* remove data not needed
* added seperate call for when order=‘status’ is on GetUser request
* remove PrintLn
* styling fix
* remove mistake
* mistake 2
* better comment
* explicit if statemnt
* writing tests
* removed manually added mocks
* generated mock
* ICU-668 Added unit tests
* style fix
* reverse dnd and offline
* Fixed app.SaveStatusAndBroadcast
* Fixed incorrect merge
* Fixing incorrect merge again
Diffstat (limited to 'app/user.go')
-rw-r--r-- | app/user.go | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/app/user.go b/app/user.go index c303cbc68..dbce296d2 100644 --- a/app/user.go +++ b/app/user.go @@ -505,6 +505,14 @@ func (a *App) GetUsersInChannel(channelId string, offset int, limit int) ([]*mod } } +func (a *App) GetUsersInChannelByStatus(channelId string, offset int, limit int) ([]*model.User, *model.AppError) { + if result := <-a.Srv.Store.User().GetProfilesInChannelByStatus(channelId, offset, limit); result.Err != nil { + return nil, result.Err + } else { + return result.Data.([]*model.User), nil + } +} + func (a *App) GetUsersInChannelMap(channelId string, offset int, limit int, asAdmin bool) (map[string]*model.User, *model.AppError) { users, err := a.GetUsersInChannel(channelId, offset, limit) if err != nil { @@ -530,6 +538,15 @@ func (a *App) GetUsersInChannelPage(channelId string, page int, perPage int, asA return a.sanitizeProfiles(users, asAdmin), nil } +func (a *App) GetUsersInChannelPageByStatus(channelId string, page int, perPage int, asAdmin bool) ([]*model.User, *model.AppError) { + users, err := a.GetUsersInChannelByStatus(channelId, page*perPage, perPage) + if err != nil { + return nil, err + } + + return a.sanitizeProfiles(users, asAdmin), nil +} + func (a *App) GetUsersNotInChannel(teamId string, channelId string, offset int, limit int) ([]*model.User, *model.AppError) { if result := <-a.Srv.Store.User().GetProfilesNotInChannel(teamId, channelId, offset, limit); result.Err != nil { return nil, result.Err |