diff options
author | hmhealey <harrisonmhealey@gmail.com> | 2015-10-13 15:18:01 -0400 |
---|---|---|
committer | hmhealey <harrisonmhealey@gmail.com> | 2015-10-13 15:36:58 -0400 |
commit | 97b2f6ffe7fa09a2188163740865322582b00b59 (patch) | |
tree | 69c11911d8c364b8d6bb31c2723a8f046b8b61e3 /api | |
parent | 2a39e8dbfab8506b09d0d030f87cac4c079b975a (diff) | |
download | chat-97b2f6ffe7fa09a2188163740865322582b00b59.tar.gz chat-97b2f6ffe7fa09a2188163740865322582b00b59.tar.bz2 chat-97b2f6ffe7fa09a2188163740865322582b00b59.zip |
Made further changes based on feedback
Diffstat (limited to 'api')
-rw-r--r-- | api/preference.go | 22 | ||||
-rw-r--r-- | api/preference_test.go | 10 |
2 files changed, 18 insertions, 14 deletions
diff --git a/api/preference.go b/api/preference.go index 2f5ba12dd..88cb132f8 100644 --- a/api/preference.go +++ b/api/preference.go @@ -14,9 +14,9 @@ func InitPreference(r *mux.Router) { l4g.Debug("Initializing preference api routes") sr := r.PathPrefix("/preferences").Subrouter() - sr.Handle("/save", ApiAppHandler(savePreferences)).Methods("POST") - sr.Handle("/{category:[A-Za-z0-9_]+}", ApiAppHandler(getPreferenceCategory)).Methods("GET") - sr.Handle("/{category:[A-Za-z0-9_]+}/{name:[A-Za-z0-9_]+}", ApiAppHandler(getPreference)).Methods("GET") + sr.Handle("/save", ApiUserRequired(savePreferences)).Methods("POST") + sr.Handle("/{category:[A-Za-z0-9_]+}", ApiUserRequired(getPreferenceCategory)).Methods("GET") + sr.Handle("/{category:[A-Za-z0-9_]+}/{name:[A-Za-z0-9_]+}", ApiUserRequired(getPreference)).Methods("GET") } func savePreferences(c *Context, w http.ResponseWriter, r *http.Request) { @@ -52,17 +52,21 @@ func getPreferenceCategory(c *Context, w http.ResponseWriter, r *http.Request) { } else { data := result.Data.(model.Preferences) - if len(data) == 0 { - if category == model.PREFERENCE_CATEGORY_DIRECT_CHANNEL_SHOW { - // add direct channels for a user that existed before preferences were added - data = addDirectChannels(c.Session.UserId, c.Session.TeamId) - } - } + data = transformPreferences(c, data, category) w.Write([]byte(data.ToJson())) } } +func transformPreferences(c *Context, preferences model.Preferences, category string) model.Preferences { + if len(preferences) == 0 && category == model.PREFERENCE_CATEGORY_DIRECT_CHANNEL_SHOW { + // add direct channels for a user that existed before preferences were added + preferences = addDirectChannels(c.Session.UserId, c.Session.TeamId) + } + + return preferences +} + func addDirectChannels(userId, teamId string) model.Preferences { var profiles map[string]*model.User if result := <-Srv.Store.User().GetProfiles(teamId); result.Err != nil { diff --git a/api/preference_test.go b/api/preference_test.go index d9fdc2877..318ce9582 100644 --- a/api/preference_test.go +++ b/api/preference_test.go @@ -71,13 +71,13 @@ func TestGetPreferenceCategory(t *testing.T) { user2 = Client.Must(Client.CreateUser(user2, "")).Data.(*model.User) store.Must(Srv.Store.User().VerifyEmail(user2.Id)) - category := model.PREFERENCE_CATEGORY_TEST + category := model.NewId() preferences1 := model.Preferences{ { UserId: user1.Id, Category: category, - Name: model.PREFERENCE_NAME_TEST, + Name: model.NewId(), }, { UserId: user1.Id, @@ -86,8 +86,8 @@ func TestGetPreferenceCategory(t *testing.T) { }, { UserId: user1.Id, - Category: model.PREFERENCE_CATEGORY_TEST, - Name: model.PREFERENCE_NAME_TEST, + Category: model.NewId(), + Name: model.NewId(), }, } @@ -113,7 +113,7 @@ func TestGetPreferenceCategory(t *testing.T) { } } -func TestGetDefaultDirectChannels(t *testing.T) { +func TestTransformPreferences(t *testing.T) { Setup() team := &model.Team{DisplayName: "Name", Name: "z-z-" + model.NewId() + "a", Email: "test@nowhere.com", Type: model.TEAM_OPEN} |