Add RequestTrialLicense function to the plugin API (#17551)
* Add RequestTrialLicense function to the plugin API * Fix strings IDs Co-authored-by: Mattermod <mattermod@users.noreply.github.com>
Этот коммит содержится в:
коммит произвёл
GitHub
родитель
ee43bf9a84
Коммит
0bf7aed02e
@@ -1105,3 +1105,40 @@ func (api *PluginAPI) PublishPluginClusterEvent(ev model.PluginClusterEvent,
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
// RequestTrialLicense requests a trial license and installs it in the server
|
||||
func (api *PluginAPI) RequestTrialLicense(requesterID string, users int, termsAccepted bool, receiveEmailsAccepted bool) *model.AppError {
|
||||
if *api.app.Config().ExperimentalSettings.RestrictSystemAdmin {
|
||||
return model.NewAppError("RequestTrialLicense", "api.restricted_system_admin", nil, "", http.StatusForbidden)
|
||||
}
|
||||
|
||||
if !termsAccepted {
|
||||
return model.NewAppError("RequestTrialLicense", "api.license.request-trial.bad-request.terms-not-accepted", nil, "", http.StatusBadRequest)
|
||||
}
|
||||
|
||||
if users == 0 {
|
||||
return model.NewAppError("RequestTrialLicense", "api.license.request-trial.bad-request", nil, "", http.StatusBadRequest)
|
||||
}
|
||||
|
||||
requester, err := api.app.GetUser(requesterID)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
trialLicenseRequest := &model.TrialLicenseRequest{
|
||||
ServerID: api.app.TelemetryId(),
|
||||
Name: requester.GetDisplayName(model.SHOW_FULLNAME),
|
||||
Email: requester.Email,
|
||||
SiteName: *api.app.Config().TeamSettings.SiteName,
|
||||
SiteURL: *api.app.Config().ServiceSettings.SiteURL,
|
||||
Users: users,
|
||||
TermsAccepted: termsAccepted,
|
||||
ReceiveEmailsAccepted: receiveEmailsAccepted,
|
||||
}
|
||||
|
||||
if trialLicenseRequest.SiteURL == "" {
|
||||
return model.NewAppError("RequestTrialLicense", "api.license.request_trial_license.no-site-url.app_error", nil, "", http.StatusBadRequest)
|
||||
}
|
||||
|
||||
return api.app.Srv().RequestTrialLicense(trialLicenseRequest)
|
||||
}
|
||||
|
||||
Ссылка в новой задаче
Block a user