package permission // import "imuslab.com/arozos/mod/permission" FUNCTIONS func inSlice(slice []string, val string) bool Helper function func mv(r *http.Request, getParamter string, postMode bool) (string, error) func sendErrorResponse(w http.ResponseWriter, errMsg string) func sendJSONResponse(w http.ResponseWriter, json string) Send JSON response, with an extra json header func sendOK(w http.ResponseWriter) func sendTextResponse(w http.ResponseWriter, msg string) Send text response with given w and message as string TYPES type PermissionGroup struct { Name string IsAdmin bool DefaultStorageQuota int64 AccessibleModules []string StoragePool *storage.StoragePool } func (gp *PermissionGroup) AddModule(modulename string) func (gp *PermissionGroup) RemoveModule(modulename string) type PermissionHandler struct { database *db.Database PermissionGroups []PermissionGroup } func NewPermissionHandler(database *db.Database) (*PermissionHandler, error) func (h *PermissionHandler) GetUsersPermissionGroup(username string) ([]*PermissionGroup, error) Get the user permission groups func (h *PermissionHandler) GroupExists(groupName string) bool func (h *PermissionHandler) HandleAdminCheck(w http.ResponseWriter, r *http.Request) func (h *PermissionHandler) HandleGroupCreate(w http.ResponseWriter, r *http.Request) func (h *PermissionHandler) HandleGroupRemove(w http.ResponseWriter, r *http.Request) func (h *PermissionHandler) HandleListGroup(w http.ResponseWriter, r *http.Request) Handle group editing operations func (h *PermissionHandler) LoadPermissionGroupsFromDatabase() error func (h *PermissionHandler) NewPermissionGroup(name string, isadmin bool, moduleNames []string) *PermissionGroup