From 47250c6629416b628a19e5571ac89f7b4646418c Mon Sep 17 00:00:00 2001 From: Joram Wilander Date: Mon, 14 May 2018 10:24:58 -0400 Subject: Refactor context out of API packages (#8755) * Refactor context out of API packages * Update function names per feedback * Move webhook handlers to web and fix web tests * Move more webhook tests out of api package * Fix static handler --- api4/params.go | 197 --------------------------------------------------------- 1 file changed, 197 deletions(-) delete mode 100644 api4/params.go (limited to 'api4/params.go') diff --git a/api4/params.go b/api4/params.go deleted file mode 100644 index e8e3f25e7..000000000 --- a/api4/params.go +++ /dev/null @@ -1,197 +0,0 @@ -// Copyright (c) 2017-present Mattermost, Inc. All Rights Reserved. -// See License.txt for license information. - -package api4 - -import ( - "net/http" - "strconv" - "strings" - - "github.com/gorilla/mux" -) - -const ( - PAGE_DEFAULT = 0 - PER_PAGE_DEFAULT = 60 - PER_PAGE_MAXIMUM = 200 - LOGS_PER_PAGE_DEFAULT = 10000 - LOGS_PER_PAGE_MAXIMUM = 10000 -) - -type ApiParams struct { - UserId string - TeamId string - InviteId string - TokenId string - ChannelId string - PostId string - FileId string - Filename string - PluginId string - CommandId string - HookId string - ReportId string - EmojiId string - AppId string - Email string - Username string - TeamName string - ChannelName string - PreferenceName string - EmojiName string - Category string - Service string - JobId string - JobType string - ActionId string - RoleId string - RoleName string - Page int - PerPage int - LogsPerPage int - Permanent bool -} - -func ApiParamsFromRequest(r *http.Request) *ApiParams { - params := &ApiParams{} - - props := mux.Vars(r) - query := r.URL.Query() - - if val, ok := props["user_id"]; ok { - params.UserId = val - } - - if val, ok := props["team_id"]; ok { - params.TeamId = val - } - - if val, ok := props["invite_id"]; ok { - params.InviteId = val - } - - if val, ok := props["token_id"]; ok { - params.TokenId = val - } - - if val, ok := props["channel_id"]; ok { - params.ChannelId = val - } else { - params.ChannelId = query.Get("channel_id") - } - - if val, ok := props["post_id"]; ok { - params.PostId = val - } - - if val, ok := props["file_id"]; ok { - params.FileId = val - } - - params.Filename = query.Get("filename") - - if val, ok := props["plugin_id"]; ok { - params.PluginId = val - } - - if val, ok := props["command_id"]; ok { - params.CommandId = val - } - - if val, ok := props["hook_id"]; ok { - params.HookId = val - } - - if val, ok := props["report_id"]; ok { - params.ReportId = val - } - - if val, ok := props["emoji_id"]; ok { - params.EmojiId = val - } - - if val, ok := props["app_id"]; ok { - params.AppId = val - } - - if val, ok := props["email"]; ok { - params.Email = val - } - - if val, ok := props["username"]; ok { - params.Username = val - } - - if val, ok := props["team_name"]; ok { - params.TeamName = strings.ToLower(val) - } - - if val, ok := props["channel_name"]; ok { - params.ChannelName = strings.ToLower(val) - } - - if val, ok := props["category"]; ok { - params.Category = val - } - - if val, ok := props["service"]; ok { - params.Service = val - } - - if val, ok := props["preference_name"]; ok { - params.PreferenceName = val - } - - if val, ok := props["emoji_name"]; ok { - params.EmojiName = val - } - - if val, ok := props["job_id"]; ok { - params.JobId = val - } - - if val, ok := props["job_type"]; ok { - params.JobType = val - } - - if val, ok := props["action_id"]; ok { - params.ActionId = val - } - - if val, ok := props["role_id"]; ok { - params.RoleId = val - } - - if val, ok := props["role_name"]; ok { - params.RoleName = val - } - - if val, err := strconv.Atoi(query.Get("page")); err != nil || val < 0 { - params.Page = PAGE_DEFAULT - } else { - params.Page = val - } - - if val, err := strconv.ParseBool(query.Get("permanent")); err != nil { - params.Permanent = val - } - - if val, err := strconv.Atoi(query.Get("per_page")); err != nil || val < 0 { - params.PerPage = PER_PAGE_DEFAULT - } else if val > PER_PAGE_MAXIMUM { - params.PerPage = PER_PAGE_MAXIMUM - } else { - params.PerPage = val - } - - if val, err := strconv.Atoi(query.Get("logs_per_page")); err != nil || val < 0 { - params.LogsPerPage = LOGS_PER_PAGE_DEFAULT - } else if val > LOGS_PER_PAGE_MAXIMUM { - params.LogsPerPage = LOGS_PER_PAGE_MAXIMUM - } else { - params.LogsPerPage = val - } - - return params -} -- cgit v1.2.3-1-g7c22