From 76bd1bb212177824379c485c553e54530a854009 Mon Sep 17 00:00:00 2001 From: George Goldberg Date: Mon, 2 Oct 2017 12:43:21 +0100 Subject: PLT-7705: API to get data retention policy. (#7539) * PLT-7705: API to get data retention policy. * Fix review comments. --- app/app.go | 21 +++++++++++++++------ app/data_retention.go | 18 ++++++++++++++++++ 2 files changed, 33 insertions(+), 6 deletions(-) create mode 100644 app/data_retention.go (limited to 'app') diff --git a/app/app.go b/app/app.go index 508c652c1..7974ab44f 100644 --- a/app/app.go +++ b/app/app.go @@ -34,6 +34,7 @@ type App struct { Brand einterfaces.BrandInterface Cluster einterfaces.ClusterInterface Compliance einterfaces.ComplianceInterface + DataRetention einterfaces.DataRetentionInterface Elasticsearch einterfaces.ElasticsearchInterface Ldap einterfaces.LdapInterface Metrics einterfaces.MetricsInterface @@ -103,10 +104,16 @@ func RegisterComplianceInterface(f func(*App) einterfaces.ComplianceInterface) { complianceInterface = f } -var jobsDataRetentionInterface func(*App) ejobs.DataRetentionInterface +var dataRetentionInterface func(*App) einterfaces.DataRetentionInterface -func RegisterJobsDataRetentionInterface(f func(*App) ejobs.DataRetentionInterface) { - jobsDataRetentionInterface = f +func RegisterDataRetentionInterface(f func(*App) einterfaces.DataRetentionInterface) { + dataRetentionInterface = f +} + +var jobsDataRetentionJobInterface func(*App) ejobs.DataRetentionJobInterface + +func RegisterJobsDataRetentionJobInterface(f func(*App) ejobs.DataRetentionJobInterface) { + jobsDataRetentionJobInterface = f } var jobsElasticsearchAggregatorInterface func(*App) ejobs.ElasticsearchAggregatorInterface @@ -183,9 +190,11 @@ func (a *App) initEnterprise() { a.Saml.ConfigureSP() }) } - - if jobsDataRetentionInterface != nil { - a.Jobs.DataRetention = jobsDataRetentionInterface(a) + if dataRetentionInterface != nil { + a.DataRetention = dataRetentionInterface(a) + } + if jobsDataRetentionJobInterface != nil { + a.Jobs.DataRetentionJob = jobsDataRetentionJobInterface(a) } if jobsElasticsearchAggregatorInterface != nil { a.Jobs.ElasticsearchAggregator = jobsElasticsearchAggregatorInterface(a) diff --git a/app/data_retention.go b/app/data_retention.go new file mode 100644 index 000000000..b931ca8b1 --- /dev/null +++ b/app/data_retention.go @@ -0,0 +1,18 @@ +// Copyright (c) 2017-present Mattermost, Inc. All Rights Reserved. +// See License.txt for license information. + +package app + +import ( + "net/http" + + "github.com/mattermost/mattermost-server/model" +) + +func (a *App) GetDataRetentionPolicy() (*model.DataRetentionPolicy, *model.AppError) { + if a.DataRetention == nil { + return nil, model.NewAppError("App.GetDataRetentionPolicy", "ent.data_retention.generic.license.error", nil, "", http.StatusNotImplemented) + } + + return a.DataRetention.GetPolicy() +} -- cgit v1.2.3-1-g7c22