github.com/masterhung0112/hk_server/v5@v5.0.0-20220302090640-ec71aef15e1c/api4/permission.go (about)

     1  // Copyright (c) 2015-present Mattermost, Inc. All Rights Reserved.
     2  // See LICENSE.txt for license information.
     3  
     4  package api4
     5  
     6  import (
     7  	"encoding/json"
     8  	"net/http"
     9  	"strings"
    10  
    11  	"github.com/masterhung0112/hk_server/v5/model"
    12  )
    13  
    14  func (api *API) InitPermissions() {
    15  	api.BaseRoutes.Permissions.Handle("/ancillary", api.ApiSessionRequired(appendAncillaryPermissions)).Methods("GET")
    16  }
    17  
    18  func appendAncillaryPermissions(c *Context, w http.ResponseWriter, r *http.Request) {
    19  	keys, ok := r.URL.Query()["subsection_permissions"]
    20  
    21  	if !ok || len(keys[0]) < 1 {
    22  		c.SetInvalidUrlParam("subsection_permissions")
    23  		return
    24  	}
    25  
    26  	permissions := strings.Split(keys[0], ",")
    27  	b, err := json.Marshal(model.AddAncillaryPermissions(permissions))
    28  	if err != nil {
    29  		c.SetJSONEncodingError()
    30  		return
    31  	}
    32  	w.Write(b)
    33  }