From 1f6c271b3bedd6656ae7155714423b1b39a669c1 Mon Sep 17 00:00:00 2001 From: Joram Wilander Date: Wed, 16 May 2018 13:43:22 -0400 Subject: MM-8708 Remove api package (#8784) * Remove api package * Remove api dependency from cmd package * Remove EnableAPIv3 setting * Update web tests * Add more websocket tests * Move some ws and oauth tests to api4 package * Move command tests into api4 package * Test fixes * Fix msg command test * Add some app file tests --- api/api.go | 131 ------------------------------------------------------------- 1 file changed, 131 deletions(-) delete mode 100644 api/api.go (limited to 'api/api.go') diff --git a/api/api.go b/api/api.go deleted file mode 100644 index 2b226bbeb..000000000 --- a/api/api.go +++ /dev/null @@ -1,131 +0,0 @@ -// Copyright (c) 2015-present Mattermost, Inc. All Rights Reserved. -// See License.txt for license information. - -package api - -import ( - "net/http" - - "github.com/gorilla/mux" - "github.com/mattermost/mattermost-server/app" - "github.com/mattermost/mattermost-server/mlog" - "github.com/mattermost/mattermost-server/model" - - _ "github.com/nicksnyder/go-i18n/i18n" -) - -type Routes struct { - Root *mux.Router // '' - ApiRoot *mux.Router // 'api/v3' - - Users *mux.Router // 'api/v3/users' - NeedUser *mux.Router // 'api/v3/users/{user_id:[A-Za-z0-9]+}' - - Teams *mux.Router // 'api/v3/teams' - NeedTeam *mux.Router // 'api/v3/teams/{team_id:[A-Za-z0-9]+}' - - Channels *mux.Router // 'api/v3/teams/{team_id:[A-Za-z0-9]+}/channels' - NeedChannel *mux.Router // 'api/v3/teams/{team_id:[A-Za-z0-9]+}/channels/{channel_id:[A-Za-z0-9]+}' - NeedChannelName *mux.Router // 'api/v3/teams/{team_id:[A-Za-z0-9]+}/channels/name/{channel_name:[A-Za-z0-9_-]+}' - - Posts *mux.Router // 'api/v3/teams/{team_id:[A-Za-z0-9]+}/channels/{channel_id:[A-Za-z0-9]+}/posts' - NeedPost *mux.Router // 'api/v3/teams/{team_id:[A-Za-z0-9]+}/channels/{channel_id:[A-Za-z0-9]+}/posts/{post_id:[A-Za-z0-9]+}' - - Commands *mux.Router // 'api/v3/teams/{team_id:[A-Za-z0-9]+}/commands' - Hooks *mux.Router // 'api/v3/teams/{team_id:[A-Za-z0-9]+}/hooks' - - TeamFiles *mux.Router // 'api/v3/teams/{team_id:[A-Za-z0-9]+}/files' - Files *mux.Router // 'api/v3/files' - NeedFile *mux.Router // 'api/v3/files/{file_id:[A-Za-z0-9]+}' - - OAuth *mux.Router // 'api/v3/oauth' - - Admin *mux.Router // 'api/v3/admin' - - General *mux.Router // 'api/v3/general' - - Preferences *mux.Router // 'api/v3/preferences' - - License *mux.Router // 'api/v3/license' - - Public *mux.Router // 'api/v3/public' - - Emoji *mux.Router // 'api/v3/emoji' - - Webrtc *mux.Router // 'api/v3/webrtc' -} - -type API struct { - App *app.App - BaseRoutes *Routes -} - -func Init(a *app.App, root *mux.Router) *API { - api := &API{ - App: a, - BaseRoutes: &Routes{}, - } - api.BaseRoutes.Root = root - api.BaseRoutes.ApiRoot = root.PathPrefix(model.API_URL_SUFFIX_V3).Subrouter() - api.BaseRoutes.Users = api.BaseRoutes.ApiRoot.PathPrefix("/users").Subrouter() - api.BaseRoutes.NeedUser = api.BaseRoutes.Users.PathPrefix("/{user_id:[A-Za-z0-9]+}").Subrouter() - api.BaseRoutes.Teams = api.BaseRoutes.ApiRoot.PathPrefix("/teams").Subrouter() - api.BaseRoutes.NeedTeam = api.BaseRoutes.Teams.PathPrefix("/{team_id:[A-Za-z0-9]+}").Subrouter() - api.BaseRoutes.Channels = api.BaseRoutes.NeedTeam.PathPrefix("/channels").Subrouter() - api.BaseRoutes.NeedChannel = api.BaseRoutes.Channels.PathPrefix("/{channel_id:[A-Za-z0-9]+}").Subrouter() - api.BaseRoutes.NeedChannelName = api.BaseRoutes.Channels.PathPrefix("/name/{channel_name:[A-Za-z0-9_-]+}").Subrouter() - api.BaseRoutes.Posts = api.BaseRoutes.NeedChannel.PathPrefix("/posts").Subrouter() - api.BaseRoutes.NeedPost = api.BaseRoutes.Posts.PathPrefix("/{post_id:[A-Za-z0-9]+}").Subrouter() - api.BaseRoutes.Commands = api.BaseRoutes.NeedTeam.PathPrefix("/commands").Subrouter() - api.BaseRoutes.TeamFiles = api.BaseRoutes.NeedTeam.PathPrefix("/files").Subrouter() - api.BaseRoutes.Files = api.BaseRoutes.ApiRoot.PathPrefix("/files").Subrouter() - api.BaseRoutes.NeedFile = api.BaseRoutes.Files.PathPrefix("/{file_id:[A-Za-z0-9]+}").Subrouter() - api.BaseRoutes.Hooks = api.BaseRoutes.NeedTeam.PathPrefix("/hooks").Subrouter() - api.BaseRoutes.OAuth = api.BaseRoutes.ApiRoot.PathPrefix("/oauth").Subrouter() - api.BaseRoutes.Admin = api.BaseRoutes.ApiRoot.PathPrefix("/admin").Subrouter() - api.BaseRoutes.General = api.BaseRoutes.ApiRoot.PathPrefix("/general").Subrouter() - api.BaseRoutes.Preferences = api.BaseRoutes.ApiRoot.PathPrefix("/preferences").Subrouter() - api.BaseRoutes.License = api.BaseRoutes.ApiRoot.PathPrefix("/license").Subrouter() - api.BaseRoutes.Public = api.BaseRoutes.ApiRoot.PathPrefix("/public").Subrouter() - api.BaseRoutes.Emoji = api.BaseRoutes.ApiRoot.PathPrefix("/emoji").Subrouter() - api.BaseRoutes.Webrtc = api.BaseRoutes.ApiRoot.PathPrefix("/webrtc").Subrouter() - - api.InitUser() - api.InitTeam() - api.InitChannel() - api.InitPost() - api.InitWebSocket() - api.InitFile() - api.InitCommand() - api.InitAdmin() - api.InitGeneral() - api.InitOAuth() - api.InitWebhook() - api.InitPreference() - api.InitLicense() - api.InitEmoji() - api.InitStatus() - api.InitWebrtc() - api.InitReaction() - - // 404 on any api route before web.go has a chance to serve it - root.Handle("/api/{anything:.*}", http.HandlerFunc(api.Handle404)) - - a.InitEmailBatching() - - if *a.Config().ServiceSettings.EnableAPIv3 { - mlog.Info("API version 3 is scheduled for deprecation. Please see https://api.mattermost.com for details.") - } - - return api -} - -func (api *API) Handle404(w http.ResponseWriter, r *http.Request) { - Handle404(api.App, w, r) -} - -func ReturnStatusOK(w http.ResponseWriter) { - m := make(map[string]string) - m[model.STATUS] = model.STATUS_OK - w.Write([]byte(model.MapToJson(m))) -} -- cgit v1.2.3-1-g7c22