mirror of
https://github.com/mattermost/mattermost.git
synced 2025-02-25 18:55:24 -06:00
MM-56147 Add GetPreferenceForUser plugin API (#25704)
* MM-56147 Add GetPreferenceForUser plugin API * Change return type to non-pointer for preference consistency * Fix merge
This commit is contained in:
@@ -270,6 +270,15 @@ func (api *PluginAPI) GetUsersInTeam(teamID string, page int, perPage int) ([]*m
|
||||
return api.app.GetUsersInTeam(options)
|
||||
}
|
||||
|
||||
func (api *PluginAPI) GetPreferenceForUser(userID, category, name string) (model.Preference, *model.AppError) {
|
||||
pref, err := api.app.GetPreferenceByCategoryAndNameForUser(api.ctx, userID, category, name)
|
||||
if err != nil {
|
||||
return model.Preference{}, err
|
||||
}
|
||||
|
||||
return *pref, nil
|
||||
}
|
||||
|
||||
func (api *PluginAPI) GetPreferencesForUser(userID string) ([]model.Preference, *model.AppError) {
|
||||
return api.app.GetPreferencesForUser(api.ctx, userID)
|
||||
}
|
||||
|
||||
@@ -163,6 +163,42 @@ func TestPublicFilesPathConfiguration(t *testing.T) {
|
||||
assert.Equal(t, publicFilesPath, publicFilesFolderInTest)
|
||||
}
|
||||
|
||||
func TestPluginAPIGetUserPreference(t *testing.T) {
|
||||
th := Setup(t).InitBasic()
|
||||
defer th.TearDown()
|
||||
api := th.SetupPluginAPI()
|
||||
|
||||
err := api.UpdatePreferencesForUser(th.BasicUser.Id, []model.Preference{
|
||||
{
|
||||
UserId: th.BasicUser.Id,
|
||||
Category: model.PreferenceCategoryDisplaySettings,
|
||||
Name: model.PreferenceNameUseMilitaryTime,
|
||||
Value: "true",
|
||||
},
|
||||
{
|
||||
UserId: th.BasicUser.Id,
|
||||
Category: "test_category",
|
||||
Name: "test_key",
|
||||
Value: "test_value",
|
||||
},
|
||||
})
|
||||
require.Nil(t, err)
|
||||
|
||||
preference, err := api.GetPreferenceForUser(th.BasicUser.Id, model.PreferenceCategoryDisplaySettings, model.PreferenceNameUseMilitaryTime)
|
||||
|
||||
require.Nil(t, err)
|
||||
assert.Equal(t, model.PreferenceCategoryDisplaySettings, preference.Category)
|
||||
assert.Equal(t, model.PreferenceNameUseMilitaryTime, preference.Name)
|
||||
assert.Equal(t, "true", preference.Value)
|
||||
|
||||
preference, err = api.GetPreferenceForUser(th.BasicUser.Id, "test_category", "test_key")
|
||||
|
||||
require.Nil(t, err)
|
||||
assert.Equal(t, "test_category", preference.Category)
|
||||
assert.Equal(t, "test_key", preference.Name)
|
||||
assert.Equal(t, "test_value", preference.Value)
|
||||
}
|
||||
|
||||
func TestPluginAPIGetUserPreferences(t *testing.T) {
|
||||
th := Setup(t)
|
||||
defer th.TearDown()
|
||||
|
||||
Reference in New Issue
Block a user