1
0
Fork 0
mirror of https://github.com/documize/community.git synced 2025-08-01 19:45:24 +02:00

Provide UI for managing integration config

Closes #110
This commit is contained in:
HarveyKandola 2018-08-08 14:57:56 +01:00
parent 4d1eb952b2
commit 7206f721f4
8 changed files with 783 additions and 697 deletions

View file

@ -97,12 +97,12 @@ func (h *Handler) Update(w http.ResponseWriter, r *http.Request) {
response.WriteJSON(w, org)
}
// GetSetting returns the requested organization level setting.
func (h *Handler) GetSetting(w http.ResponseWriter, r *http.Request) {
// GetInstanceSetting returns the requested organization level setting.
func (h *Handler) GetInstanceSetting(w http.ResponseWriter, r *http.Request) {
ctx := domain.GetRequestContext(r)
orgID := request.Param(r, "orgID")
if orgID != ctx.OrgID {
if orgID != ctx.OrgID || !ctx.Administrator {
response.WriteForbiddenError(w)
return
}
@ -113,27 +113,21 @@ func (h *Handler) GetSetting(w http.ResponseWriter, r *http.Request) {
response.WriteJSON(w, setting)
}
// SaveSetting saves org level setting.
func (h *Handler) SaveSetting(w http.ResponseWriter, r *http.Request) {
// SaveInstanceSetting saves org level setting.
func (h *Handler) SaveInstanceSetting(w http.ResponseWriter, r *http.Request) {
method := "org.SaveInstanceSetting"
ctx := domain.GetRequestContext(r)
method := "org.SaveSetting"
orgID := request.Param(r, "orgID")
if orgID != ctx.OrgID {
if orgID != ctx.OrgID || !ctx.Administrator {
response.WriteForbiddenError(w)
return
}
key := request.Query(r, "key")
if !ctx.Administrator {
response.WriteForbiddenError(w)
return
}
defer streamutil.Close(r.Body)
body, err := ioutil.ReadAll(r.Body)
if err != nil {
response.WriteServerError(w, method, err)
h.Runtime.Log.Error(method, err)
@ -145,3 +139,44 @@ func (h *Handler) SaveSetting(w http.ResponseWriter, r *http.Request) {
response.WriteEmpty(w)
}
// GetGlobalSetting returns the requested organization level setting.
func (h *Handler) GetGlobalSetting(w http.ResponseWriter, r *http.Request) {
ctx := domain.GetRequestContext(r)
if !ctx.Global {
response.WriteForbiddenError(w)
return
}
key := request.Query(r, "key")
setting, _ := h.Store.Setting.Get(key, "")
response.WriteJSON(w, setting)
}
// SaveGlobalSetting saves org level setting.
func (h *Handler) SaveGlobalSetting(w http.ResponseWriter, r *http.Request) {
method := "org.SaveGlobalSetting"
ctx := domain.GetRequestContext(r)
if !ctx.Global {
response.WriteForbiddenError(w)
return
}
key := request.Query(r, "key")
defer streamutil.Close(r.Body)
body, err := ioutil.ReadAll(r.Body)
if err != nil {
response.WriteServerError(w, method, err)
h.Runtime.Log.Error(method, err)
return
}
config := string(body)
h.Store.Setting.Set(key, config)
response.WriteEmpty(w)
}