api4

package
v3.7.5-rc2+incompatible Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Apr 26, 2017 License: AGPL-3.0, Apache-2.0 Imports: 21 Imported by: 14

Documentation

Index

Constants

View Source
const (
	PAGE_DEFAULT     = 0
	PER_PAGE_DEFAULT = 60
	PER_PAGE_MAXIMUM = 200
)
View Source
const (
	FILE_TEAM_ID = "noteam"
)

Variables

This section is empty.

Functions

func ApiHandler

func ApiHandler(h func(*Context, http.ResponseWriter, *http.Request)) http.Handler

func ApiHandlerTrustRequester

func ApiHandlerTrustRequester(h func(*Context, http.ResponseWriter, *http.Request)) http.Handler

func ApiSessionRequired

func ApiSessionRequired(h func(*Context, http.ResponseWriter, *http.Request)) http.Handler

func ApiSessionRequiredMfa

func ApiSessionRequiredMfa(h func(*Context, http.ResponseWriter, *http.Request)) http.Handler

func ApiSessionRequiredTrustRequester

func ApiSessionRequiredTrustRequester(h func(*Context, http.ResponseWriter, *http.Request)) http.Handler

func CheckBadRequestStatus

func CheckBadRequestStatus(t *testing.T, resp *model.Response)

func CheckErrorMessage

func CheckErrorMessage(t *testing.T, resp *model.Response, errorId string)

func CheckEtag

func CheckEtag(t *testing.T, data interface{}, resp *model.Response)

func CheckForbiddenStatus

func CheckForbiddenStatus(t *testing.T, resp *model.Response)

func CheckNoError

func CheckNoError(t *testing.T, resp *model.Response)

func CheckNotFoundStatus

func CheckNotFoundStatus(t *testing.T, resp *model.Response)

func CheckNotImplementedStatus

func CheckNotImplementedStatus(t *testing.T, resp *model.Response)

func CheckUnauthorizedStatus

func CheckUnauthorizedStatus(t *testing.T, resp *model.Response)

func CheckUserSanitization

func CheckUserSanitization(t *testing.T, user *model.User)

func GenerateTestChannelName

func GenerateTestChannelName() string

func GenerateTestEmail

func GenerateTestEmail() string

func GenerateTestId

func GenerateTestId() string

func GenerateTestTeamName

func GenerateTestTeamName() string

func GenerateTestUsername

func GenerateTestUsername() string

func Handle404

func Handle404(w http.ResponseWriter, r *http.Request)

func HandleEtag

func HandleEtag(etag string, routeName string, w http.ResponseWriter, r *http.Request) bool

func InitApi

func InitApi(full bool)

func InitChannel

func InitChannel()

func InitFile

func InitFile()

func InitPost

func InitPost()

func InitPreference

func InitPreference()

func InitRouter

func InitRouter()

func InitSystem

func InitSystem()

func InitTeam

func InitTeam()

func InitUser

func InitUser()

func InitWebhook

func InitWebhook()

func LinkUserToTeam

func LinkUserToTeam(user *model.User, team *model.Team)

func Logout

func Logout(c *Context, w http.ResponseWriter, r *http.Request)

func NewInvalidParamError

func NewInvalidParamError(parameter string) *model.AppError

func NewInvalidUrlParamError

func NewInvalidUrlParamError(parameter string) *model.AppError

func ReturnStatusOK

func ReturnStatusOK(w http.ResponseWriter)

func TearDown

func TearDown()

func VerifyUserEmail

func VerifyUserEmail(userId string)

Types

type ApiParams

type ApiParams struct {
	UserId         string
	TeamId         string
	ChannelId      string
	PostId         string
	FileId         string
	CommandId      string
	HookId         string
	EmojiId        string
	Email          string
	Username       string
	TeamName       string
	ChannelName    string
	PreferenceName string
	Category       string
	Page           int
	PerPage        int
}

func ApiParamsFromRequest

func ApiParamsFromRequest(r *http.Request) *ApiParams

type Context

type Context struct {
	Session   model.Session
	Params    *ApiParams
	Err       *model.AppError
	T         goi18n.TranslateFunc
	RequestId string
	IpAddress string
	Path      string
	// contains filtered or unexported fields
}

func (*Context) GetSiteURL

func (c *Context) GetSiteURL() string

func (*Context) IsSystemAdmin

func (c *Context) IsSystemAdmin() bool

func (*Context) LogAudit

func (c *Context) LogAudit(extraInfo string)

func (*Context) LogAuditWithUserId

func (c *Context) LogAuditWithUserId(userId, extraInfo string)

func (*Context) LogDebug

func (c *Context) LogDebug(err *model.AppError)

func (*Context) LogError

func (c *Context) LogError(err *model.AppError)

func (*Context) MfaRequired

func (c *Context) MfaRequired()

func (*Context) RemoveSessionCookie

func (c *Context) RemoveSessionCookie(w http.ResponseWriter, r *http.Request)

func (*Context) RequireCategory

func (c *Context) RequireCategory() *Context

func (*Context) RequireChannelId

func (c *Context) RequireChannelId() *Context

func (*Context) RequireChannelName

func (c *Context) RequireChannelName() *Context

func (*Context) RequireEmail

func (c *Context) RequireEmail() *Context

func (*Context) RequireFileId

func (c *Context) RequireFileId() *Context

func (*Context) RequirePostId

func (c *Context) RequirePostId() *Context

func (*Context) RequirePreferenceName

func (c *Context) RequirePreferenceName() *Context

func (*Context) RequireTeamId

func (c *Context) RequireTeamId() *Context

func (*Context) RequireTeamName

func (c *Context) RequireTeamName() *Context

func (*Context) RequireUserId

func (c *Context) RequireUserId() *Context

func (*Context) RequireUsername

func (c *Context) RequireUsername() *Context

func (*Context) SessionRequired

func (c *Context) SessionRequired()

func (*Context) SetInvalidParam

func (c *Context) SetInvalidParam(parameter string)

func (*Context) SetInvalidUrlParam

func (c *Context) SetInvalidUrlParam(parameter string)

func (*Context) SetPermissionError

func (c *Context) SetPermissionError(permission *model.Permission)

func (*Context) SetSiteURL

func (c *Context) SetSiteURL(url string)

type Routes

type Routes struct {
	Root    *mux.Router // ”
	ApiRoot *mux.Router // 'api/v4'

	Users          *mux.Router // 'api/v4/users'
	User           *mux.Router // 'api/v4/users/{user_id:[A-Za-z0-9]+}'
	UserByUsername *mux.Router // 'api/v4/users/username/{username:[A-Za-z0-9_-\.]+}'
	UserByEmail    *mux.Router // 'api/v4/users/email/{email}'

	Teams        *mux.Router // 'api/v4/teams'
	TeamsForUser *mux.Router // 'api/v4/users/{user_id:[A-Za-z0-9]+}/teams'
	Team         *mux.Router // 'api/v4/teams/{team_id:[A-Za-z0-9]+}'
	TeamByName   *mux.Router // 'api/v4/teams/name/{team_name:[A-Za-z0-9_-]+}'
	TeamMembers  *mux.Router // 'api/v4/teams/{team_id:[A-Za-z0-9_-]+}/members'
	TeamMember   *mux.Router // 'api/v4/teams/{team_id:[A-Za-z0-9_-]+}/members/{user_id:[A-Za-z0-9_-]+}'

	Channels                 *mux.Router // 'api/v4/channels'
	Channel                  *mux.Router // 'api/v4/channels/{channel_id:[A-Za-z0-9]+}'
	ChannelByName            *mux.Router // 'api/v4/teams/{team_id:[A-Za-z0-9]+}/channels/name/{channel_name:[A-Za-z0-9_-]+}'
	ChannelByNameForTeamName *mux.Router // 'api/v4/teams/name/{team_name:[A-Za-z0-9_-]+}/channels/name/{channel_name:[A-Za-z0-9_-]+}'
	ChannelsForTeam          *mux.Router // 'api/v4/teams/{team_id:[A-Za-z0-9]+}/channels'
	ChannelMembers           *mux.Router // 'api/v4/channels/{channel_id:[A-Za-z0-9]+}/members'
	ChannelMember            *mux.Router // 'api/v4/channels/{channel_id:[A-Za-z0-9]+}/members/{user_id:[A-Za-z0-9]+}'
	ChannelMembersForUser    *mux.Router // 'api/v4/users/{user_id:[A-Za-z0-9]+}/teams/{team_id:[A-Za-z0-9]+}/channels/members'

	Posts           *mux.Router // 'api/v4/posts'
	Post            *mux.Router // 'api/v4/posts/{post_id:[A-Za-z0-9]+}'
	PostsForChannel *mux.Router // 'api/v4/channels/{channel_id:[A-Za-z0-9]+}/posts'

	Files *mux.Router // 'api/v4/files'
	File  *mux.Router // 'api/v4/files/{file_id:[A-Za-z0-9]+}'

	Commands        *mux.Router // 'api/v4/commands'
	Command         *mux.Router // 'api/v4/commands/{command_id:[A-Za-z0-9]+}'
	CommandsForTeam *mux.Router // 'api/v4/teams/{team_id:[A-Za-z0-9]+}/commands'

	Hooks         *mux.Router // 'api/v4/hooks'
	IncomingHooks *mux.Router // 'api/v4/hooks/incoming'
	IncomingHook  *mux.Router // 'api/v4/hooks/incoming/{hook_id:[A-Za-z0-9]+}'
	OutgoingHooks *mux.Router // 'api/v4/hooks/outgoing'
	OutgoingHook  *mux.Router // 'api/v4/hooks/outgoing/{hook_id:[A-Za-z0-9]+}'

	OAuth *mux.Router // 'api/v4/oauth'

	Admin *mux.Router // 'api/v4/admin'

	System *mux.Router // 'api/v4/system'

	Preferences *mux.Router // 'api/v4/preferences'

	License *mux.Router // 'api/v4/license'

	Public *mux.Router // 'api/v4/public'

	Emojis *mux.Router // 'api/v4/emoji'
	Emoji  *mux.Router // 'api/v4/emoji/{emoji_id:[A-Za-z0-9]+}'

	Webrtc *mux.Router // 'api/v4/webrtc'
}
var BaseRoutes *Routes

type TestHelper

type TestHelper struct {
	Client        *model.Client4
	BasicUser     *model.User
	BasicUser2    *model.User
	TeamAdminUser *model.User
	BasicTeam     *model.Team
	BasicChannel  *model.Channel
	BasicChannel2 *model.Channel
	BasicPost     *model.Post

	SystemAdminClient *model.Client4
	SystemAdminUser   *model.User
}

func Setup

func Setup() *TestHelper

func (*TestHelper) CreateChannelWithClient

func (me *TestHelper) CreateChannelWithClient(client *model.Client4, channelType string) *model.Channel

func (*TestHelper) CreateClient

func (me *TestHelper) CreateClient() *model.Client4

func (*TestHelper) CreateMessagePost

func (me *TestHelper) CreateMessagePost(message string) *model.Post

func (*TestHelper) CreateMessagePostWithClient

func (me *TestHelper) CreateMessagePostWithClient(client *model.Client4, channel *model.Channel, message string) *model.Post

func (*TestHelper) CreatePost

func (me *TestHelper) CreatePost() *model.Post

func (*TestHelper) CreatePostWithClient

func (me *TestHelper) CreatePostWithClient(client *model.Client4, channel *model.Channel) *model.Post

func (*TestHelper) CreatePrivateChannel

func (me *TestHelper) CreatePrivateChannel() *model.Channel

func (*TestHelper) CreatePublicChannel

func (me *TestHelper) CreatePublicChannel() *model.Channel

func (*TestHelper) CreateTeam

func (me *TestHelper) CreateTeam() *model.Team

func (*TestHelper) CreateTeamWithClient

func (me *TestHelper) CreateTeamWithClient(client *model.Client4) *model.Team

func (*TestHelper) CreateUser

func (me *TestHelper) CreateUser() *model.User

func (*TestHelper) CreateUserWithClient

func (me *TestHelper) CreateUserWithClient(client *model.Client4) *model.User

func (*TestHelper) InitBasic

func (me *TestHelper) InitBasic() *TestHelper

func (*TestHelper) InitSystemAdmin

func (me *TestHelper) InitSystemAdmin() *TestHelper

func (*TestHelper) LoginBasic

func (me *TestHelper) LoginBasic()

func (*TestHelper) LoginBasic2

func (me *TestHelper) LoginBasic2()

func (*TestHelper) LoginBasic2WithClient

func (me *TestHelper) LoginBasic2WithClient(client *model.Client4)

func (*TestHelper) LoginBasicWithClient

func (me *TestHelper) LoginBasicWithClient(client *model.Client4)

func (*TestHelper) LoginSystemAdmin

func (me *TestHelper) LoginSystemAdmin()

func (*TestHelper) LoginSystemAdminWithClient

func (me *TestHelper) LoginSystemAdminWithClient(client *model.Client4)

func (*TestHelper) LoginTeamAdmin

func (me *TestHelper) LoginTeamAdmin()

func (*TestHelper) LoginTeamAdminWithClient

func (me *TestHelper) LoginTeamAdminWithClient(client *model.Client4)

func (*TestHelper) UpdateActiveUser

func (me *TestHelper) UpdateActiveUser(user *model.User, active bool)

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL