diff options
author | Chris Duarte <csduarte@users.noreply.github.com> | 2018-03-22 06:53:43 -0700 |
---|---|---|
committer | Joram Wilander <jwawilander@gmail.com> | 2018-03-22 09:53:43 -0400 |
commit | 74e703f58daff2aded07a969410f988cff9ada9b (patch) | |
tree | 354150b3a53f00edea40d6488c4a6f0bacfde107 /api4/system.go | |
parent | 9d701c704416a1d8648dd2818a8a15c4da99b424 (diff) | |
download | chat-74e703f58daff2aded07a969410f988cff9ada9b.tar.gz chat-74e703f58daff2aded07a969410f988cff9ada9b.tar.bz2 chat-74e703f58daff2aded07a969410f988cff9ada9b.zip |
Timezone feature (#8185)
* Add supported timezones into config
Remove Timezone list creation in favor of timezone from configs
Add Timezone field to Users table
Clean up format of SupportedTimezones in config
* Remove unwanted change
* Add test for updating user timezone
* Add empty map[string]string if Timezone is null
* Add EnableTimezoneSelection config
* Revert back to map[string]string for ClientConfig
* Refactor SupportedTimezones into timezones.json
* Include timezones.json in TestConfigFlag
* Add timezone api endpoint
* Bump varchar size to 256 and setMaxSize in user_store
* Refactor LoadConfig to LoadConfig and LoadTimezoneConfig
* Remove unnecessary argument in LoadConfig, mail_test
* Add test for timezone endpoint
* Add license header
* Refactor timezones endpoint to system.go
* Add system base route to timezone endpoint
* db timezone upgrade in db v4.9
* Avoid saving SupportedTimezones to config.json
* Add timezonePath support in config
* Remove EnableTimezoneSelection from config
* Use return statement without return parameter
* Refactor test for SupportedTimezones
* Check for supportedTimezone != nil instead of using len
* Decouple SupportedTimezones out of Config
* Fix failing test
* Add LastTeamIconUpdate back in upgrade.go
* Write timezone config in config_flag_test
* Add code fallback for default timezone support
Diffstat (limited to 'api4/system.go')
-rw-r--r-- | api4/system.go | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/api4/system.go b/api4/system.go index 7b63afc0b..4ae8ee7b9 100644 --- a/api4/system.go +++ b/api4/system.go @@ -17,6 +17,8 @@ import ( func (api *API) InitSystem() { api.BaseRoutes.System.Handle("/ping", api.ApiHandler(getSystemPing)).Methods("GET") + api.BaseRoutes.System.Handle("/timezones", api.ApiSessionRequired(getSupportedTimezones)).Methods("GET") + api.BaseRoutes.ApiRoot.Handle("/config", api.ApiSessionRequired(getConfig)).Methods("GET") api.BaseRoutes.ApiRoot.Handle("/config", api.ApiSessionRequired(updateConfig)).Methods("PUT") api.BaseRoutes.ApiRoot.Handle("/config/reload", api.ApiSessionRequired(configReload)).Methods("POST") @@ -378,6 +380,18 @@ func getAnalytics(c *Context, w http.ResponseWriter, r *http.Request) { w.Write([]byte(rows.ToJson())) } +func getSupportedTimezones(c *Context, w http.ResponseWriter, r *http.Request) { + supportedTimezones := c.App.Timezones() + + if supportedTimezones != nil { + w.Write([]byte(model.TimezonesToJson(supportedTimezones))) + return + } + + emptyTimezones := make([]string, 0) + w.Write([]byte(model.TimezonesToJson(emptyTimezones))) +} + func testS3(c *Context, w http.ResponseWriter, r *http.Request) { cfg := model.ConfigFromJson(r.Body) if cfg == nil { |