summaryrefslogtreecommitdiffstats
path: root/api4
diff options
context:
space:
mode:
Diffstat (limited to 'api4')
-rw-r--r--api4/api.go4
-rw-r--r--api4/data_retention.go30
-rw-r--r--api4/data_retention_test.go16
3 files changed, 50 insertions, 0 deletions
diff --git a/api4/api.go b/api4/api.go
index e9cf3054c..c712b67f2 100644
--- a/api4/api.go
+++ b/api4/api.go
@@ -80,6 +80,8 @@ type Routes struct {
Elasticsearch *mux.Router // 'api/v4/elasticsearch'
+ DataRetention *mux.Router // 'api/v4/data_retention'
+
Brand *mux.Router // 'api/v4/brand'
System *mux.Router // 'api/v4/system'
@@ -185,6 +187,7 @@ func Init(a *app.App, root *mux.Router, full bool) *API {
api.BaseRoutes.Reactions = api.BaseRoutes.ApiRoot.PathPrefix("/reactions").Subrouter()
api.BaseRoutes.Jobs = api.BaseRoutes.ApiRoot.PathPrefix("/jobs").Subrouter()
api.BaseRoutes.Elasticsearch = api.BaseRoutes.ApiRoot.PathPrefix("/elasticsearch").Subrouter()
+ api.BaseRoutes.DataRetention = api.BaseRoutes.ApiRoot.PathPrefix("/data_retention").Subrouter()
api.BaseRoutes.Emojis = api.BaseRoutes.ApiRoot.PathPrefix("/emoji").Subrouter()
api.BaseRoutes.Emoji = api.BaseRoutes.Emojis.PathPrefix("/{emoji_id:[A-Za-z0-9]+}").Subrouter()
@@ -208,6 +211,7 @@ func Init(a *app.App, root *mux.Router, full bool) *API {
api.InitCluster()
api.InitLdap()
api.InitElasticsearch()
+ api.InitDataRetention()
api.InitBrand()
api.InitJob()
api.InitCommand()
diff --git a/api4/data_retention.go b/api4/data_retention.go
new file mode 100644
index 000000000..da0d5812e
--- /dev/null
+++ b/api4/data_retention.go
@@ -0,0 +1,30 @@
+// Copyright (c) 2017-present Mattermost, Inc. All Rights Reserved.
+// See License.txt for license information.
+
+package api4
+
+import (
+ "net/http"
+
+ l4g "github.com/alecthomas/log4go"
+
+ "github.com/mattermost/mattermost-server/utils"
+)
+
+func (api *API) InitDataRetention() {
+ l4g.Debug(utils.T("api.data_retention.init.debug"))
+
+ api.BaseRoutes.DataRetention.Handle("/policy", api.ApiSessionRequired(getPolicy)).Methods("GET")
+}
+
+func getPolicy(c *Context, w http.ResponseWriter, r *http.Request) {
+
+ // No permission check required.
+
+ if policy, err := c.App.GetDataRetentionPolicy(); err != nil {
+ c.Err = err
+ return
+ } else {
+ w.Write([]byte(policy.ToJson()))
+ }
+}
diff --git a/api4/data_retention_test.go b/api4/data_retention_test.go
new file mode 100644
index 000000000..9a0b35ea6
--- /dev/null
+++ b/api4/data_retention_test.go
@@ -0,0 +1,16 @@
+// Copyright (c) 2017-present Mattermost, Inc. All Rights Reserved.
+// See License.txt for license information.
+
+package api4
+
+import (
+ "testing"
+)
+
+func TestDataRetentionGetPolicy(t *testing.T) {
+ th := Setup().InitBasic()
+ defer TearDown()
+
+ _, resp := th.Client.GetDataRetentionPolicy()
+ CheckNotImplementedStatus(t, resp)
+}